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
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
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
# https://calibre-ebook.com/download_linux (Isolated install)
# Installs to ~/calibre-bin/
wget -nv -O- https://raw.githubusercontent.com/kovidgoyal/calibre/master/setup/linux-installer.py | python -c "import sys; main=lambda x,y:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); 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: http://askubuntu.com/a/677805/513249
# "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/studio.sh

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

## Heroku
# https://toolbelt.heroku.com/debian
wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh
heroku login # Prompts for Credentials

## NodeJS
# https://nodejs.org/en/download/package-manager/
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs
sudo apt install -y build-essential

## Sublime Text
# https://www.sublimetext.com/docs/3/linux_repositories.html
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://download.sublimetext.com/ 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: https://packagecontrol.io/installation

Gaming Software

sudo apt install -y steam # Prompts with License Agreement

## Lutris (Launches Windows Games)
# https://lutris.net/downloads/
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

Configuration

Autostarted Apps

Desktop

  • 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 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
      
  • 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”

  • 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
      

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.

    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”

Chrome

  • Overlay tabs on top of the title bar

    Button > Settings
    Appearance > Uncheck: Use system title bar and borders

  • Match Titlebar with Desktop Theme

    Breeze
    Breeze Dark: Chrome Theme

  • Enable Hardware Acceleration

    If you notice tearing while playing video, check chrome://gpu and see if it says hardware acceleration is unavailable. It’s very likely that it’s just that chrome doesn’t recognize that it can use your GPU.

    Original Article
    Go to chrome://flags#ignore-gpu-blacklist, search for “Override software rendering list”, enable it and restart Chrome.

  • Don't use native Linux notifications

    Since Chrome v64, Chrome now uses native notifications. If you prefer Chrome’s however, you can still use them.
    Go to chrome://flags#enable-native-notifications, search for “Enable native notifications”, disable it and restart Chrome.

Firefox

  • Use the KDE File selector dialog

    Make sure you have the xdg-desktop-portal-kde package installed.
    Right click the Firefox launcher in the app launcher > Edit Application
    Application tab > Command GTK_USE_PORTAL=1 /usr/lib/firefox/firefox %u

  • Install privacy addons
  • Open New Tab page on startup

    Type about:newtab into the addressbar, do not press enter.
    Select about:newtab and drag it onto the Home button.

  • Leaner New Tab page

    ☰ > Preferences > Home
    Uncheck: “Web Search”
    Uncheck: “Recommended by Pocket”
    Uncheck: “Highlights”
    Under “Top Sites” change to “4 rows”

  • Show bookmarks toolbar only on New Tab page

    ☰ > Customize
    Toolbars > Check: Bookmarks Toolbar
    Go to ~/.mozilla/firefox/ then open ab1c2d.default or whatever the folder name is.
    Create chrome/userChrome.css if it does not exist.
    Then paste the following CSS into userChrome.css.
    Restart firefox

  • Remove left tabbar padding when not maximized

    Go to ~/.mozilla/firefox/ then open ab1c2d.default or whatever the folder name is.
    Create chrome/userChrome.css if it does not exist.
    Then paste the following CSS into userChrome.css.
    Restart firefox

    .titlebar-placeholder[type="pre-tabs"] {
      display: none;
    }
      
  • Leaner toolbar area

    ☰ > Customize
    Density > Compact
    Drag the Home button from the toolbar into the main area.
    Drag the rectangle spacers to remove them as well.
    Right click the uBlock Origin icon > “Pin to Overflow Menu”
    Right click the “Save to Pocket” icon > “Remove from Address Bar”

  • Place close button next to tabs / don't use KDE's titlebar.

    ☰ > Customize
    Uncheck: “Title Bar”

  • Disable Pocket

    Go to about:config
    Search for extensions.pocket.enabled and set it to false

  • Disable `Ctrl+Tab`'s recently used order

    Go to about:config
    Search for browser.ctrlTab.recentlyUsedOrder and set it to false

  • Browse a website as 2nd User without logging out

    Install Mozilla’s Multi-Account Containers extension
    Right click the extension’s icon in the toolbar > Pin it to the overflow menu.
    You can easily open a new tab in a specific container by clicking and holding the “Open a new tab” button.

  • Quickly browse subreddits using custom search engines

    Create a new Bookmark with:
    Name: /r/
    URL: https://www.reddit.com/r/%S
    Keyword: r
    Now you can type r kde to visit /r/kde
    Note: Uppercase %S will not escape slashes so r kde/new works.
    Note: Use lowercase %s in searches like https://duckduckgo.com/?q=%s

  • 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 the Firefox default menu items we need to edit the userChrome.css as mentioned here.
    Go to ~/.mozilla/firefox/ then open ab1c2d.default or whatever the folder name is.
    Create chrome/userChrome.css if it does not exist.
    Then paste the following CSS into userChrome.css.
    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

  • First click UrlBar selects all + double click selects word

    Go to about:config
    Search for browser.urlbar.clickSelectsAll and set it to true
    Search for browser.urlbar.doubleClickSelectsAll and set it to false

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
    Ok
    File > Templates > Save As Template
    Name: Default
    Category: My Templates
    Check “Set as default template”

Steam

  • 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/path.sh. It’s easier to run this commands:

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

    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.

Clementine

  • Clean up UI

    Tools > Preferences
    Playback Tab > Uncheck: Show a glowing animation on the current track
    Search Tab > Uncheck: DigitallyImported, DropBox, Google Drive, Jazz
    Last.fm Tab > Uncheck: Show the “love” amd “ban” buttons
    Last.fm 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)

VirtualBox

  • 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.


Known Bugs