This page aims to setup a nice KDE Plasma5 desktop for someone who’s coming from Windows.

KDE Neon: Missing Software / Fixes

There are a few things missing from User Edition of KDE Neon for regular usage.

sudo apt install -y kubuntu-driver-manager # Proprietary/Nvidia Driver Installer
sudo apt install -y kdeplasma-addons # "Big Icons" Alt+Tab
sudo apt install -y libnotify-bin # notify-send (Dota 2 Notifications)
sudo apt install -y p7zip-full p7zip-rar # (.7z)
sudo apt install -y qapt-deb-installer # (.deb) GUI Installer
sudo apt install -y software-properties-common # add-apt-repository
sudo apt install -y unrar # (.rar)
sudo apt install -y kcron # Task Scheduler in System Settings

Kubuntu: Backports PPA

Kubuntu will usually only get bugfixes for a few months. By default, Kubuntu will not update from Plasma 5.15 to Plasma 5.16 which has new features. Kubuntu provides a backports PPA which will allow users to upgrade to the latest version of the Plasma desktop.

sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt update
sudo apt full-upgrade

Useful Software

sudo apt install -y clementine # Music Player (.mp3 SoundCloud)
sudo apt install -y mcomix # Image Viewer (.cbr .zip .rar)
sudo apt install -y gimp # Image Editor (.jpg .png)
sudo apt install -y htop # Command Line Task Manager
sudo apt install -y inkscape # Vector Image Editor (.svg)
sudo apt install -y krita # Digital Painting (.jpg .png)
sudo apt install -y scrot # Command Line Screen Capture
sudo apt install -y xbindkey # Remap Mouse Buttons / Keys
sudo apt install -y xdotool # Command Line Trigger Mouse/Keys
sudo apt install -y vlc # Video Player (.mp4 .mkv)

## Chrome
cd ~/Downloads
sudo dpkg -i google-chrome*.deb
# Set Chrome as the default browser for hexchat (TODO: xdg-mime)
gvfs-mime --set x-scheme-handler/http google-chrome.desktop
gvfs-mime --set x-scheme-handler/https google-chrome.desktop

## Calibre
# (Isolated install)
# Installs to ~/calibre-bin/
wget -nv -O- | python -c "import sys; main=lambda x,y:sys.stderr.write('Download failed\n'); exec(; main('~/calibre-bin', True)"

## Redshift (Redden the Screen / f.lux Alternative)
sudo apt install -y redshift
# Unlock Widgets > Right Click ☰ > Add Widgets
# Get New Widgets > Download New Widgets > Redshift Control
# System Tray Settings > General Tab > Enable Redshift

Windows Software Emulation

sudo apt install -y virtualbox-qt # Virtual Machine

Developer Software

sudo apt install -y cmake
sudo apt install -y curl
sudo apt install -y dolphin-plugins # Git Integration for Dolphin File Manager
sudo apt install -y pgadmin3 # DB Editor (PostgreSQL)
sudo apt install -y postgresql postgresql-contrib
sudo apt install -y python-pip python3-pip
sudo apt install -y sqliteman # DB Editor (.sqlite)

## Android Studio
# Via ubuntu-make:
# "umake android" is broken in 16.04
sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
sudo apt update
sudo apt install ubuntu-make
umake android # Prompts InstallDirectory + License
sudo apt install openjdk-8-jre
# Run with:
# JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ ~/.local/share/umake/android/android-studio/bin/

## Git
sudo apt install -y git
git config --global push.default matching

## Heroku
wget -O- | sh
heroku login # Prompts for Credentials

## NodeJS
curl -sL | sudo -E bash -
sudo apt install -y nodejs
sudo apt install -y build-essential

## Sublime Text
wget -qO - | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
sudo apt-get update
sudo apt-get install sublime-text
# To install Package Control:

Gaming Software

sudo apt install -y steam # Prompts with License Agreement

## Lutris (Launches Windows Games)
sudo add-apt-repository ppa:lutris-team/lutris
sudo apt update
sudo apt install -y lutris

LibreOffice (Microsoft Office/Word Substitute)

(Optional) If you want a more up to date version of libreoffice (v6.0) instead of the Long Term Support version (v5.1), setup the following ppa before installing LibreOffice.

sudo add-apt-repository ppa:libreoffice/ppa
sudo apt update

To install LibreOffice, we’ll use the gtk3 version and the breeze LibreOffice style. We also need the Calibri and Cambria font replacements otherwise Microsoft Office files will look weird. Lastly we should clean the icon cache to prevent issues when switching styles.

sudo apt install -y libreoffice libreoffice-gtk3 libreoffice-style-*
sudo apt install -y fonts-crosextra-carlito fonts-crosextra-caladea
rm ~/.cache/icon-cache.kcache


Autostarted Apps


  • Hide the ☰ button in the top corner

    Right Click the desktop wallpaper > Desktop/Folder View Settings
    Tweaks Tab > Uncheck: Show the desktop toolbox

  • Hide the ☰ button in the panel on the bottom right

    Right Click the ☰ button > Lock Widgets.

  • Always Hide System Tray Notification Icons

    Right Click the “Expand System Tray Triangle” > System Tray Settings.
    Entries Tab > Networks > Visibility: Hidden

  • Disable Icon in System Tray

    Right Click the “Expand System Tray Triangle” > System Tray Settings.
    General Tab > Extra Items > Uncheck: Clipboard, Battery

  • Classic “Start” Menu

    While the widgets are unlocked
    Right Click the “Start” menu > Alternatives > Application Menu

  • Don’t sort windows in Taskbar

    Right Click a Task > Task Manager Settings
    General Tab > Sorting: Manual
    General Tab > Uncheck: Keep Launchers Separate

  • Hide windows from other Desktops in Taskbar

    Right Click a Task > Task Manager Settings
    General Tab > Filters > Check: Current Desktop

  • Pin Apps to Taskbar

    Launch App
    Right Click app in Taskbar > Check: Show Launcher When Not Running

  • Hide audio indicator in window list

    Right Click a Task > Task Manager Settings
    General Tab > Uncheck: Mark applications that play audio

  • Disable Middle-Click Paste Notes Widget
    • Plasma 5.17 and below
      Right Click Panel > Lock Widgets
    • Plasma 5.18 and above
      While you can disable Middle-Click paste on the desktop in Desktop Settings, you cannot easily disable it for the panel. The easiest way prevent Middle-Click paste is running the following command to toggle locking widgets.
        qdbus org.kde.plasmashell /PlasmaShell evaluateScript "lockCorona(!locked)"

    If you want an easier way to toggle locking widgets in Plasma 5.18, install Win7ShowDesktop widget which has a “Lock Widgets” toggle in it’s right click menu.

  • Disable Top Left “Hot Corner”

    System Settings > Desktop Behaviour
    Screen Edges Tab > Top Left: No Action

  • Bind Ctrl+Alt+Left/Right to Switch Desktop

    System Settings > Desktop Behaviour
    Virtual Desktops Tab > Switching > Shortcuts
    Switch One Desktop Left: Ctrl+Alt+Left
    Switch One Desktop Right: Ctrl+Alt+Right
    Switch To Desktop 1, 2, …: None

  • Disable Switch Desktop when scrolling over desktop wallpaper

    Right Click the desktop wallpaper > Desktop/Folder View Settings
    Mouse Actions Tab > Remove: Vertical Scroll => Switch Desktop

  • Disable bouncing cursor when apps open

    System Settings > Applications
    Change “Bouncing” Cursor to “No Feedback”

  • Disable focus stealing prevention

    System Settings > Window Management
    Window Behaviour Tab > Focus Stealing Prevention: None

  • Fix Alt+Click in certain games/software

    Alt+Click+Drag is a standard keybinding for moving a window in Linux. It tends to conflict with software designed for Windows like Games. To fix, we’ll change it to Meta+Click+Drag.
    System Settings > Window Management
    Window Actions Tab > Inner Window, Titlebar, Frame > Modifier Key: Meta
    OR set Left button: “Nothing” to disable it completely.

  • “Normal” Alt+Tab popup

    System Settings > Window Management
    Task Switcher Tab > Click the “star icon”
    Install “Thumbnail Grid”, then close the installer window.
    Select “Thumbnail Grid” in the dropdown.

  • Show Alt+Tab popup as fast as possible

    Normally it will wait 90 milliseconds before trying to show the popup. This makes quick switches faster since it doesn’t need to draw anything.
    We need to set DelayTime=0 under the group [TabBox] in the file ~/.config/kwinrc, then reload kwin.
    It’s easier to use these commmands than doing it by hand.

    kwriteconfig5 --file ~/.config/kwinrc --group TabBox --key DelayTime 0
    qdbus org.kde.KWin /KWin reconfigure

    You can also disable the highlight window effect by going to:
    System Settings > Window Management > Task Switcher Tab
    Uncheck: Show selected window

  • Disable Lock Screen

    System Settings > Desktop Behaviour > Screen Locking Tab
    Uncheck: Lock screen automatically after __ min
    Uncheck: Lock screen on resume

  • Disable Logout/Shutdown Confirmation

    System Settings > Startup and Shutdown
    Desktop Session Tab > Uncheck: Confirm Logout

  • Windows Keybindings for moving windows

    System Settings > Shortcuts > Global Keyboard Shortcuts Tab
    KWin > Show Desktop: Win+M
    KWin > Maximize Window: Win+Up
    KWin > Minimize Window: Win+Down
    KWin > Quick Tile Window to the Left: Win+Left
    KWin > Quick Tile Window to the Right: Win+Right
    To open the “Start Menu” with the Windows key see the section below.

  • Present all windows with Win+Tab

    System Settings > Desktop Behavior
    Desktop Effects Tab > Check Present Windows
    Click the Gear Icon > Change the Ctrl+F10 shortcut to Meta+Tab
    Layout mode: “Natural” => “Flexible Grid”

  • Change titlebar height

    System Settings > Fonts
    Window title > Edit Font Size

  • Hide titlebars when maximized (like Ubuntu)

    We need to set BorderlessMaximizedWindows=true under the group [Windows] in the file ~/.config/kwinrc, then reload kwin.
    It’s easier to use these commmands than doing it by hand.

    kwriteconfig5 --file ~/.config/kwinrc --group Windows --key BorderlessMaximizedWindows true
    qdbus org.kde.KWin /KWin reconfigure
  • Launch app with discrete GPU

    Also known as using prime-run (PRIME wiki) or using the DRI_PRIME=1 environment variable.
    Open Application Launcher > Right Click app
    Application Tab > Advanced Options
    Discrete GPU > Check: Run using dedicated graphics card

Windows/Meta Key

  • Open “Start Menu” with Windows/Meta key

    Feature has been added by default since Plasma 5.8.
    If it’s not working, make sure your “Start Menu” widget has a global shortcut like Alt+F1 set (you can’t assign it directly to Meta, but it will open with Meta if another shortcut is assigned).
    Right Click the KDE Icon > Application Menu Settings
    Keyboard Shortcuts Tab > Shortcut: Alt+F1

    kwriteconfig5 --file ~/.config/kwinrc --group ModifierOnlyShortcuts --key Meta "org.kde.lattedock,/Latte,org.kde.LatteDock,activateLauncherMenu"
    qdbus org.kde.KWin /KWin reconfigure

    If you wish to revert what the Meta key opens because you changed it to open KRunner or a Latte Dock widget, run the following:

    kwriteconfig5 --file ~/.config/kwinrc --group ModifierOnlyShortcuts --key Meta "org.kde.plasmashell,/PlasmaShell,org.kde.PlasmaShell,activateLauncherMenu"
    qdbus org.kde.KWin /KWin reconfigure
  • Do not open the "Start Menu" with Windows/Meta key

    We need to set Meta= under the group [ModifierOnlyShortcuts] in the file ~/.config/kwinrc, then reload kwin.
    It’s easier to use these commmands than doing it by hand.

    kwriteconfig5 --file ~/.config/kwinrc --group ModifierOnlyShortcuts --key Meta ""
    qdbus org.kde.KWin /KWin reconfigure
  • Open KRunner with Windows/Meta key

    We need to set Meta= under the group [ModifierOnlyShortcuts] in the file ~/.config/kwinrc, then reload kwin.
    It’s easier to use these commmands than doing it by hand.
    Plasma 5.18 and above:

    kwriteconfig5 --file ~/.config/kwinrc --group ModifierOnlyShortcuts --key Meta "org.kde.kglobalaccel,/component/krunner_desktop,org.kde.kglobalaccel.Component,invokeShortcut,_launch"
    qdbus org.kde.KWin /KWin reconfigure

    Plasma 5.17 and below:

    kwriteconfig5 --file ~/.config/kwinrc --group ModifierOnlyShortcuts --key Meta "org.kde.kglobalaccel,/component/krunner,org.kde.kglobalaccel.Component,invokeShortcut,run command"
    qdbus org.kde.KWin /KWin reconfigure

Login Screen (SDDM) / Lock Screen

  • Change Login Screen Wallpaper

    System Settings > Startup and Shutdown
    Login Screen (SDDM) Tab > Background > Load From File
    We should also change the lock screen.
    System Settings > Desktop Bahviour
    Screen Locking Tab > Wallpaper > Wallpaper Type: Image

Dolphin (File Manager)

  • Double Click to open files
    • Plasma 5.13
      System Settings > Desktop Behavior > Workspace
      Click Behavior: Double Click to open files and folders
    • <= Plasma 5.12
      System Settings > Input Devices
      Mouse Tab > Icons: Double Click to open files and folders
  • Always Show Hidden Files

    ☰ Control > Adjust View Properties
    Check: Show hidden files
    Apply view properties to: All Folders
    Check: Use these view properties as default

  • Browse (.zip / .tar.gz / .rar) with Dolphin

    ☰ Control > Configure Dolphin
    Navigation Tab > Check: Open archives as folder

  • Clean up Context Menu (Right Click Menu)

    ☰ Control > Configure Dolphin
    Services Tab > Uncheck: “Copy To”, “Delete”, “File to activity”, “Send as Email”, “Send to IM”, “Send via Bluetooth”, “Send via KDE Connect”

  • Show Terminal Panel

    ☰ Control > Panels > Terminal (F4)

  • Paste into Terminal Panel

    ☰ Control > Configure Shortcuts
    Paste > Set Alternative (Defaulted to Shift+Insert) as “None”

  • Disable File Indexing (Baloo)

    Some user may want to disable the indexing when:

    • For some users, the baloo_file process can slow down the system.
    • The ~/.local/share/baloo/index can use over a Gigabyte of space.
      Run balooctl indexSize to break the database usage down.

    System Settings > Search
    Uncheck: Enable File Search

LibreOffice Writer

LibreOffice Calc

  • Set Default Font Size/Family/CellPadding

    Styles > Manage Styles
    Right click Default > Modify
    Font > Family: Noto Sans (Office uses Carlito/Calibri)
    Font > Size: 12 (Office uses 11)
    Borders > Padding: 1.00mm
    File > Templates > Save As Template
    Name: Default
    Category: My Templates
    Check “Set as default template”


  • Hide “Big Picture”, etc in the System Tray Context Menu

    Steam > Settings > Interface Tab
    Set Taskbar Preferences > Only Check: Library, Friends, Exit Steam

  • Cleanup Friends List

    Steam > Friends > View Friends List
    Click on the Cog / Settings Icon
    Ignore ‘Away’ status when sorting friends: On
    Compact Favorites Area: On
    Compact Friends List: On
    Append nickname to friend’s name: On
    Hide offline friends in custom categories: On

  • Hide “Friend is playing ____” Notifications

    Steam > Friends > View Friends List
    Click on the Cog / Settings Icon
    Notifications > Uncheck: When friend joins a game
    Notifications > Uncheck: When comes online

  • Never Show Advertisement Popups

    Steam > Settings > Interface Tab
    Uncheck: Notify me about additions to my games and other releases

  • Startup in Tray

    Find Steam in the App Launcher widget
    Right Click Steam > Edit Application
    Application Tab > Command: /usr/bin/steam -silent %U
    If you added Steam to the autostarted apps, you will need to edit the command there as well.
    Relevant bug report.

  • Close Steam to Tray

    We need to launch steam using STEAM_FRAME_FORCE_CLOSE=1 steam as mentioned in this bug report, but editing every single game shortcut that Steam generates is a hassel. So we’ll set a session environment variable by adding export STEAM_FRAME_FORCE_CLOSE=1 to ~/.config/plasma-workspace/env/ It’s easier to run this commands:

    echo 'export STEAM_FRAME_FORCE_CLOSE=1' >> ~/.config/plasma-workspace/env/

    Then logout and back in so that your “panel” is launched with the session variable so that it can pass it to Steam when Steam is launched from the app launcher or desktop shortcut.


  • Clean up UI

    Tools > Preferences
    Playback Tab > Uncheck: Show a glowing animation on the current track
    Search Tab > Uncheck: DigitallyImported, DropBox, Google Drive, Jazz Tab > Uncheck: Show the “love” amd “ban” buttons Tab > Uncheck: Show the scrobble button

  • Don’t fade between songs

    Playback Tab > Uncheck: Fade out when stopping a track
    Playback Tab > Uncheck: Cross-fade when changing tracks manually

  • Double Click song should play song now

    Behaviour > Using the menu to add a song will: Always start playing
    Behaviour > Double clicking a song will: Replace the playlist + Always start playing

Gtk Apps (Gimp/Hexchat/etc)


  • Prevent Windows/Meta Key from opening the host App Menu

    Run the Virtual Machine.
    Press the host key (Right Ctrl)
    Press Alt+F3 > More Actions > Special Application Settings
    Window Matching Tab > Window class: [Exact Match] virtualbox machine
    Appearances & Fixes Tab > Check “Ignore Global Shortcuts”
    Change “Do Not Affect” to “Force”, then select “Yes”.

    Note that this also disables Spectable’s screenshot global shortcuts while the VM window is focused.



Firefox (userChrome.css)

A firefox user can change the look of the browser by editing a css file.
Checkout /r/FirefoxCSS/ for help.

  1. In FireFox v69 and later, we need to go to about:config and change toolkit.legacyUserProfileCustomizations.stylesheets to true.
  2. Then navigate to ~/.mozilla/firefox/, inside will be a randomly generated folder similar to abcdef12.default which you should enter.
  3. Inside the "default" folder, create a new folder called chrome, then create a file called userChrome.css.
  4. You can now edit ~/.mozilla/firefox/abcdef12.default/chrome/userChrome.css, and changes will be applied upon restarting Firefox.
  • Show bookmarks toolbar only on hover

    ☰ > Customize
    Toolbars > Check: Bookmarks Toolbar
    Then paste the following CSS into userChrome.css (instructions) and restart firefox.

    #PersonalToolbar {
      visibility: collapse !important;
      display: block;
      position: absolute !important;
      z-index: 1;
      width: 100%;
      box-shadow: 0 6px 6px -6px #000;
    #nav-bar:focus-within + #PersonalToolbar,
    #navigator-toolbox:hover #PersonalToolbar {
      visibility: visible !important;
  • Remove left tabbar padding when not maximized

    Then paste the following CSS into userChrome.css (instructions) and restart firefox.

    .titlebar-placeholder[type="pre-tabs"] { display: none; } /* Firefox 64 */
    .titlebar-spacer[type="pre-tabs"] { width: 0 !important; } /* Firefox 65+ */
  • Cleanup right click menu (aka contextmenu)

    Click on µBlock > Click Settings Icon to open the dashboard
    Uncheck: Make use of context menu where appropriate
    To hide Firefox’s default menu items, this mozilla forum thread mentions we need to edit userChrome.css. So paste the following CSS into userChrome.css (instructions) and restart firefox.

    #contentAreaContextMenu #context-openlinkincurrent,
    #contentAreaContextMenu #context-openlinkinusercontext-menu,
    #contentAreaContextMenu #context-bookmarklink,
    #contentAreaContextMenu #context-selectall,
    #contentAreaContextMenu #context-sendlinktodevice,
    #contentAreaContextMenu #context-sendpagetodevice,
    #contentAreaContextMenu #context-sep-sendlinktodevice,
    #contentAreaContextMenu #context-sep-sendpagetodevice,
    #contentAreaContextMenu #context-viewpartialsource-selection {
      display: none !important;

    If you’re not a web developer, you can hide “Take a screenshot” by going to about:config
    Search for extensions.screenshots.disabled and set it to true

Known Bugs