User:Zren: Difference between revisions

    From KDE UserBase Wiki
    No edit summary
    No edit summary
     
    (7 intermediate revisions by the same user not shown)
    Line 1: Line 1:
    <h2><span id="Configuration" class="header-link">[[#Configuration|¶]]</span>Configuration</h2>
    This page aims to setup a nice KDE Plasma5 desktop for someone who's coming from Windows.


    <h2><span id="KDE_Neon:_Missing_Software_/_Fixes">[[#KDE_Neon:_Missing_Software_/_Fixes|KDE Neon: Missing Software / Fixes]]</span></h2>


    <h3><span id="Autostarted_Apps" class="header-link">[[#Autostarted_Apps|¶]]</span>Autostarted Apps</h3>
    There are a few things missing from User Edition of KDE Neon for regular usage.


    *<span id="cfg-1" class="header-link">[[#cfg-1|¶]]</span><b>Disable restoring session on Login (restarting apps open during Logout)</b>
    <syntaxhighlight lang="bash">
    System Settings > Startup & Shutdown<br />
    sudo apt install -y kdeplasma-addons # "Big Icons" Alt+Tab
    Desktop Session Tab > On Login: Check Start with an empty session<br />
    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)
    </syntaxhighlight>


    <h3><span id="Desktop" class="header-link">[[#Desktop|]]</span>Desktop</h3>
    <h2><span id="Useful_Software">[[#Useful_Software|Useful Software]]</span></h2>


    *<span id="cfg-2" class="header-link">[[#cfg-2|¶]]</span><b>Show the (<code>~/Desktop</code>) files/links on the desktop.</b>
    <syntaxhighlight lang="bash">
    Right Click the desktop wallpaper > Desktop Settings<br />
    sudo apt install -y clementine # Music Player (.mp3 SoundCloud)
    Wallpaper Tab > Layout: Folder View<br />
    sudo apt install -y comix # Image Viewer (.cbr .zip .rar)
    Icon Tab > Arrange In: Columns<br />
    sudo apt install -y gimp # Image Editor (.jpg .png)
    Icon Tab > Sorting: Unsorted<br />
    sudo apt install -y htop # Command Line Task Manager
    Icon Tab > Size: 4 (out of 6)<br />
    sudo apt install -y inkscape # Vector Image Editor (.svg)
    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)


    *<span id="cfg-3" class="header-link">[[#cfg-3|]]</span><b>Hide the ☰ button in the top corner</b>
    ## Chrome
    Right Click the desktop wallpaper > Desktop/Folder View Settings<br />
    cd ~/Downloads
    Tweaks Tab > Uncheck: Show the desktop toolbox<br />
    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
    </syntaxhighlight>
     
    <h3><span id="Windows_Software_Emulation">[[#Windows_Software_Emulation|Windows Software Emulation]]</span></h3>
     
    <syntaxhighlight lang="bash">
    sudo apt install -y virtualbox-qt # Virtual Machine
    </syntaxhighlight>
     
    <h3><span id="Developer_Software">[[#Developer_Software|Developer Software]]</span></h3>
     
    <syntaxhighlight lang="bash">
    sudo apt install -y cmake
    sudo apt install -y curl
    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_4.x | sudo -E bash -
    sudo apt install -y nodejs
    sudo apt install -y build-essential
     
    ## Sublime Text
    # http://askubuntu.com/questions/172698/how-do-i-install-sublime-text-2-3
    sudo add-apt-repository ppa:webupd8team/sublime-text-3
    sudo apt update
    sudo apt install -y sublime-text-installer
    # To install Package Control: https://packagecontrol.io/installation
    </syntaxhighlight>
     
    <h3><span id="Gaming_Software">[[#Gaming_Software|Gaming Software]]</span></h3>
     
    <syntaxhighlight lang="bash">
    sudo apt install -y steam # Prompts with License Agreement
    sudo apt install -y playonlinux
    </syntaxhighlight>
     
    <h3><span id="LibreOffice_(Microsoft_Office/Word_Substitute)">[[#LibreOffice_(Microsoft_Office/Word_Substitute)|LibreOffice (Microsoft Office/Word Substitute)]]</span></h3>
     
    (Optional) If you want a more up to date version of libreoffice (v5.4) vs the LTS version (v5.1), use the following ppa.
     
    <syntaxhighlight lang="bash">
    sudo add-apt-repository ppa:libreoffice/ppa
    sudo apt update
    </syntaxhighlight>
     
    Otherwise, install the gtk3 version (since it's designed for it) and the breeze style. We need the Calibri and Cambria replacement fonts otherwise Microsoft Office files will look weird. Lastly we should clean the icon cache just in case.
     
    <syntaxhighlight lang="bash">
    sudo apt install -y libreoffice libreoffice-gtk3 libreoffice-style-*
    sudo apt install -y fonts-crosextra-carlito fonts-crosextra-caladea
    rm ~/.cache/icon-cache.kcache
    </syntaxhighlight>
     
    <h2><span id="Configuration">[[#Configuration|Configuration]]</span></h2>
     
    <h3><span id="Autostarted_Apps">[[#Autostarted_Apps|Autostarted Apps]]</span></h3>
     
    ;<b><span id="cfg-1">[[#cfg-1|Disable restoring session on Login (restarting apps open during Logout)]]</span></b>
    :System Settings > Startup & Shutdown<br />
    :Desktop Session Tab > On Login: Check Start with an empty session<br />
     
    <h3><span id="Desktop">[[#Desktop|Desktop]]</span></h3>
     
    ;<b><span id="cfg-2">[[#cfg-2|Show the (<code>~/Desktop</code>) files/links on the desktop.]]</span></b>
    :Right Click the desktop wallpaper > Desktop Settings<br />
    :Wallpaper Tab > Layout: Folder View<br />
    :Icon Tab > Arrange In: Columns<br />
    :Icon Tab > Sorting: Unsorted<br />
    :Icon Tab > Size: 4 (out of 6)<br />
     
    ;<b><span id="cfg-3">[[#cfg-3|Hide the ☰ button in the top corner]]</span></b>
    :Right Click the desktop wallpaper > Desktop/Folder View Settings<br />
    :Tweaks Tab > Uncheck: Show the desktop toolbox<br />
     
    ;<b><span id="cfg-4">[[#cfg-4|Hide the ☰ button in the panel on the bottom right]]</span></b>
    :Right Click the ☰ button > Lock Widgets.<br />
     
    ;<b><span id="cfg-5">[[#cfg-5|Always Hide System Tray Notification Icons]]</span></b>
    :Right Click the “Expand System Tray Triangle” > System Tray Settings.<br />
    :Entries Tab > Networks > Visibility: Hidden<br />
     
    ;<b><span id="cfg-6">[[#cfg-6|Disable Icon in System Tray]]</span></b>
    :Right Click the “Expand System Tray Triangle” > System Tray Settings.<br />
    :General Tab > Extra Items > Uncheck: Clipboard, Battery<br />
     
    ;<b><span id="cfg-7">[[#cfg-7|Classic “Start” Menu]]</span></b>
    :While the widgets are unlocked<br />
    :Right Click the “Start” menu > Alternatives > Application Menu<br />
     
    ;<b><span id="cfg-8">[[#cfg-8|Don’t sort windows in Taskbar]]</span></b>
    :Right Click a Task > Task Manager Settings<br />
    :General Tab > Sorting: Manual<br />
    :General Tab > Uncheck: Keep Launchers Separate<br />
     
    ;<b><span id="cfg-9">[[#cfg-9|Hide windows from other Desktops in Taskbar]]</span></b>
    :Right Click a Task > Task Manager Settings<br />
    :General Tab > Filters > Check: Current Desktop<br />
     
    ;<b><span id="cfg-10">[[#cfg-10|Pin Apps to Taskbar]]</span></b>
    :Launch App<br />
    :Right Click app in Taskbar > Check: Show Launcher When Not Running<br />
     
    ;<b><span id="cfg-11">[[#cfg-11|Hide audio indicator in window list]]</span></b>
    :Right Click a Task > Task Manager Settings<br />
    :General Tab > Uncheck: Mark applications that play audio<br />
     
    ;<b><span id="cfg-12">[[#cfg-12|Disable Top Left “Hot Corner”]]</span></b>
    :System Settings > Desktop Behaviour<br />
    :Screen Edges Tab > Top Left: No Action<br />
     
    ;<b><span id="cfg-13">[[#cfg-13|Bind Ctrl+Alt+Left/Right to Switch Desktop]]</span></b>
    :System Settings > Desktop Behaviour<br />
    :Virtual Desktops Tab > Switching > Shortcuts<br />
    :Switch One Desktop Left: Ctrl+Alt+Left<br />
    :Switch One Desktop Right: Ctrl+Alt+Right<br />
    :Switch To Desktop 1, 2, …: None<br />
     
    ;<b><span id="cfg-14">[[#cfg-14|Disable Switch Desktop when scrolling over desktop wallpaper]]</span></b>
    :Right Click the desktop wallpaper > Desktop/Folder View Settings<br />
    :Mouse Actions Tab > Remove: Vertical Scroll => Switch Desktop<br />
     
    ;<b><span id="cfg-15">[[#cfg-15|Disable focus stealing prevention]]</span></b>
    :System Settings > Window Management<br />
    :Window Behaviour Tab > Focus Stealing Prevention: None<br />
     
    ;<b><span id="cfg-16">[[#cfg-16|“Normal” Alt+Tab popup]]</span></b>
    :System Settings > Window Management<br />
    :Task Switcher Tab > Click the "star icon"<br />
    :Install "[https://store.kde.org/p/1153173 Thumbnail Grid]", then close the installer window.<br />
    :Select "Thumbnail Grid" in the dropdown.<br />
     
    ;<b><span id="cfg-17">[[#cfg-17|Show Alt+Tab popup as fast as possible]]</span></b>
    :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.<br />
    :We need to set <code>DelayTime=0</code> under the group <code>[TabBox]</code> in the file <code>~/config/kwinrc</code>, then reload kwin.<br />
    :It's easier to use these commmands than doing it by hand.<br />
      <syntaxhighlight lang="bash">
    kwriteconfig5 --file ~/.config/kwinrc --group TabBox --key DelayTime 0
    qdbus org.kde.KWin /KWin reconfigure
      </syntaxhighlight>
     
    ;<b><span id="cfg-18">[[#cfg-18|Disable Lock Screen]]</span></b>
    :System Settings > Desktop Behaviour > Screen Locking Tab<br />
    :Uncheck: Lock screen automatically after __ min<br />
    :Uncheck: Lock screen on resume<br />
     
    ;<b><span id="cfg-19">[[#cfg-19|Disable Logout/Shutdown Confirmation]]</span></b>
    :System Settings > Startup and Shutdown<br />
    :Desktop Session Tab > Uncheck: Confirm Logout<br />
     
    ;<b><span id="cfg-20">[[#cfg-20|Windows Keybindings for moving windows]]</span></b>
    :System Settings > Shortcuts > Global Keyboard Shortcuts Tab<br />
    :KWin > Show Desktop: Win+M<br />
    :KWin > Maximize Window: Win+Up<br />
    :KWin > Minimize Window: Win+Down<br />
    :KWin > Quick Tile Window to the Left: Win+Left<br />
    :KWin > Quick Tile Window to the Right: Win+Right<br />
    :To open the “Start Menu” with the Windows key see the next item.<br />
     
    ;<b><span id="cfg-21">[[#cfg-21|Present all windows with Win+Tab]]</span></b>
    :System Settings > Desktop Behavior<br />
    :Desktop Effects Tab > Check Present Windows<br />
    :Click the Gear Icon > Change the Ctrl+F10 shortcut to Meta+Tab<br />
     
    ;<b><span id="cfg-22">[[#cfg-22|Open “Start Menu” with Windows/Meta key]]</span></b>
     
    :;<b>KDE 5.8.2</b><br />
    ::Feature has been added by default.<br />
    ::If it's not working, make sure your "Start Menu" has a global shortcut like Alt+F1 set (you can't assign it only to Meta, but it will open with Meta if another shortcut is assigned).<br />
    ::Right Click the KDE Icon > Application Menu Settings<br />
    ::Keyboard Shortcuts Tab > Shortcut: Alt+F1<br />
     
    :;<b><= KDE 5.7</b><br />
    ::<code>sudo apt install ksuperkey</code><br />
     
    :;<b><= KDE 5.7 (Or just use Win+Space)</b><br />
    ::Right Click the KDE Icon > Application Menu Settings<br />
    ::Keyboard Shortcuts Tab > Shortcut: Meta+Space<br />
     
    ;<b><span id="cfg-23">[[#cfg-23|Do not open the “Start Menu” with Windows/Meta key (KDE 5.8)]]</span></b>
    :We need to set <code>Meta=</code> under the group <code>[ModifierOnlyShortcuts]</code> in the file <code>~/config/kwinrc</code>, then reload kwin.<br />
    :It's easier to use these commmands than doing it by hand.<br />
      <syntaxhighlight lang="bash">
    kwriteconfig5 --file ~/.config/kwinrc --group ModifierOnlyShortcuts --key Meta ""
    qdbus org.kde.KWin /KWin reconfigure
      </syntaxhighlight>
     
    ;<b><span id="cfg-24">[[#cfg-24|Hide titlebars when maximized (like Ubuntu)]]</span></b>
    :We need to set <code>BorderlessMaximizedWindows=true</code> under the group <code>[Windows]</code> in the file <code>~/config/kwinrc</code>, then reload kwin.<br />
    :It's easier to use these commmands than doing it by hand.<br />
      <syntaxhighlight lang="bash">
    kwriteconfig5 --file ~/.config/kwinrc --group Windows --key BorderlessMaximizedWindows true
    qdbus org.kde.KWin /KWin reconfigure
      </syntaxhighlight>
     
    <h3><span id="Multi_Screen">[[#Multi_Screen|Multi Screen]]</span></h3>
     
    ;<b><span id="cfg-25">[[#cfg-25|Don't show <code>~/Desktop</code> folder on every screen (Workaround)]]</span></b>
    :Create <code>~/Desktop2</code>, <code>~/Desktop3</code>... for each screen.<br />
    :Right click wallpaper on screen 2 > Configure Desktop<br />
    :Location > Check: Specify a folder > <code>~/Desktop2</code><br />
     
    <h3><span id="Login_Screen_(SDDM)_/_Lock_Screen">[[#Login_Screen_(SDDM)_/_Lock_Screen|Login Screen (SDDM) / Lock Screen]]</span></h3>
     
    ;<b><span id="cfg-26">[[#cfg-26|Change Login Screen Wallpaper]]</span></b>
    :System Settings > Startup and Shutdown<br />
    :Login Screen (SDDM) Tab > Background > Load From File<br />
    :We should also change the lock screen.<br />
    :System Settings > Desktop Bahviour<br />
    :Screen Locking Tab > Wallpaper > Wallpaper Type: Image<br />
     
    <h3><span id="Dolphin_(File_Manager)">[[#Dolphin_(File_Manager)|Dolphin (File Manager)]]</span></h3>
     
    ;<b><span id="cfg-27">[[#cfg-27|Double Click to open files]]</span></b>
    :System Settings > Input Devices<br />
    :Mouse Tab > Icons: Double Click to open files and folders<br />
     
    ;<b><span id="cfg-28">[[#cfg-28|Always Show Hidden Files]]</span></b>
    :☰ Control > Adjust View Properties<br />
    :Check: Show hidden files<br />
    :Apply view properties to: All Folders<br />
    :Check: Use these view properties as default<br />
     
    ;<b><span id="cfg-29">[[#cfg-29|Browse (.zip / .tar.gz / .rar) with Dolphin]]</span></b>
    :☰ Control > Configure Dolphin<br />
    :Navigation Tab > Check: Open archives as folder<br />
     
    ;<b><span id="cfg-30">[[#cfg-30|Clean up Context Menu (Right Click Menu)]]</span></b>
    :☰ Control > Configure Dolphin<br />
    :Services Tab > Uncheck: “Copy To”, “Delete”, “File to activity”, “Send as Email”, “Send to IM”, “Send via Bluetooth”, “Send via KDE Connect”<br />
     
    ;<b><span id="cfg-31">[[#cfg-31|Show Terminal Panel]]</span></b>
    :☰ Control > Panels > Terminal (F4)<br />
     
    ;<b><span id="cfg-32">[[#cfg-32|Paste into Terminal Panel]]</span></b>
    :☰ Control > Configure Shortcuts<br />
    :Paste > Set Alternative (Defaulted to Shift+Insert) as “None”<br />
     
    <h3><span id="Chrome">[[#Chrome|Chrome]]</span></h3>
     
    ;<b><span id="cfg-33">[[#cfg-33|Overlay tabs on top of the title bar]]</span></b>
    :⋮Button > Settings<br />
    :Appearance > Uncheck: Use system title bar and borders<br />
     
    ;<b><span id="cfg-34">[[#cfg-34|Match Titlebar with Desktop Theme]]</span></b>
    :Breeze<br />
    :Breeze Dark: [https://chrome.google.com/webstore/detail/breeze-dark/nkhdomjgcjkhipblklfchdkojecapgmc Chrome Theme]<br />
     
    ;<b><span id="cfg-35">[[#cfg-35|Enable Hardware Acceleration]]</span></b>
    :If you notice tearing while playing video, check <code>chrome://gpu</code> 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.<br />
    :> [http://www.webupd8.org/2014/01/enable-hardware-acceleration-in-chrome.html Origional Article]<br />
    :Go to <code>chrome://flags#ignore-gpu-blacklist</code>, search for "Override software rendering list", enable it and restart Chrome.<br />
     
    ;<b><span id="cfg-36">[[#cfg-36|Don't use native Linux notifications]]</span></b>
    :Since Chrome v64, Chrome now uses native notifications. If you prefer Chrome's however, you can still use them.<br />
    :Go to <code>chrome://flags#enable-native-notifications</code>, search for "Enable native notifications", disable it and restart Chrome.<br />
     
    <h3><span id="Steam">[[#Steam|Steam]]</span></h3>
     
    ;<b><span id="cfg-37">[[#cfg-37|PixelVision2 Skin]]</span></b>
    :<code>cd ~/.steam/skins </code><br />
    :<code>git clone https://github.com/somini/Pixelvision2.git</code><br />
    :Steam > Settings<br />
    :Interface Tab > Select Skin: default skin => PixelVision2<br />
     
    ;<b><span id="cfg-38">[[#cfg-38|Hide “Big Picture”, etc in the System Tray Context Menu]]</span></b>
    :Steam > Settings > Interface Tab<br />
    :Set Taskbar Preferences > Only Check: Library, Exit Steam<br />
     
    ;<b><span id="cfg-39">[[#cfg-39|Hide “Friend is playing ___” Notifications]]</span></b>
    :Steam > Settings > Friends Tab<br />
    :Uncheck: When friend joins a game: display a notification<br />
     
    ;<b><span id="cfg-40">[[#cfg-40|Never Show Advertisement Popups]]</span></b>
    :Steam > Settings > Interface Tab<br />
    :Uncheck: Notify me about additions to my games and other releases<br />
     
    <h3><span id="Clementine">[[#Clementine|Clementine]]</span></h3>
     
    ;<b><span id="cfg-41">[[#cfg-41|Clean up UI]]</span></b>
    :Tools > Preferences<br />
    :Playback Tab > Uncheck: Show a glowing animation on the current track<br />
    :Search Tab > Uncheck: DigitallyImported, DropBox, Google Drive, Jazz<br />
    :Last.fm Tab > Uncheck: Show the “love” amd “ban” buttons<br />
    :Last.fm Tab > Uncheck: Show the scrobble button<br />
     
    ;<b><span id="cfg-42">[[#cfg-42|Don’t fade between songs]]</span></b>
    :Playback Tab > Uncheck: Fade out when stopping a track<br />
    :Playback Tab > Uncheck: Cross-fade when changing tracks manually<br />
     
    ;<b><span id="cfg-43">[[#cfg-43|Double Click song should play song now]]</span></b>
    :Behaviour > Using the menu to add a song will: Always start playing<br />
    :Behaviour > Double clicking a song will: Replace the playlist + Always start playing<br />
     
    <h3><span id="Gtk_Apps_(Gimp/Hexchat/etc)">[[#Gtk_Apps_(Gimp/Hexchat/etc)|Gtk Apps (Gimp/Hexchat/etc)]]</span></h3>
     
    ;<b><span id="cfg-44">[[#cfg-44|Fix white text on white bg tooltips]]</span></b>
    :System Settings > Colors<br />
    :Uncheck: Apply colors to non-Qt applications<br />
     
    <h1><span id="Known_Bugs">[[#Known_Bugs|Known Bugs]]</span></h1>
     
    ;<b><span id="cfg-45">[[#cfg-45|Tooltips broken in Chrome/Chromium (Fixed?)]]</span></b>
    :https://bugs.chromium.org/p/chromium/issues/detail?id=442111<br />

    Latest revision as of 05:00, 6 February 2018

    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 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)
    

    Useful Software

    sudo apt install -y clementine # Music Player (.mp3 SoundCloud)
    sudo apt install -y comix # 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 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 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_4.x | sudo -E bash -
    sudo apt install -y nodejs
    sudo apt install -y build-essential
    
    ## Sublime Text
    # http://askubuntu.com/questions/172698/how-do-i-install-sublime-text-2-3
    sudo add-apt-repository ppa:webupd8team/sublime-text-3
    sudo apt update
    sudo apt install -y sublime-text-installer
    # To install Package Control: https://packagecontrol.io/installation
    

    Gaming Software

    sudo apt install -y steam # Prompts with License Agreement
    sudo apt install -y playonlinux
    

    LibreOffice (Microsoft Office/Word Substitute)

    (Optional) If you want a more up to date version of libreoffice (v5.4) vs the LTS version (v5.1), use the following ppa.

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

    Otherwise, install the gtk3 version (since it's designed for it) and the breeze style. We need the Calibri and Cambria replacement fonts otherwise Microsoft Office files will look weird. Lastly we should clean the icon cache just in case.

    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

    Disable restoring session on Login (restarting apps open during Logout)
    System Settings > Startup & Shutdown
    Desktop Session Tab > On Login: Check Start with an empty session

    Desktop

    Show the (~/Desktop) files/links on the desktop.
    Right Click the desktop wallpaper > Desktop Settings
    Wallpaper Tab > Layout: Folder View
    Icon Tab > Arrange In: Columns
    Icon Tab > Sorting: Unsorted
    Icon Tab > Size: 4 (out of 6)
    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 focus stealing prevention
    System Settings > Window Management
    Window Behaviour Tab > Focus Stealing Prevention: None
    “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 next item.
    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
    Open “Start Menu” with Windows/Meta key
    KDE 5.8.2
    Feature has been added by default.
    If it's not working, make sure your "Start Menu" has a global shortcut like Alt+F1 set (you can't assign it only 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
    <= KDE 5.7
    sudo apt install ksuperkey
    <= KDE 5.7 (Or just use Win+Space)
    Right Click the KDE Icon > Application Menu Settings
    Keyboard Shortcuts Tab > Shortcut: Meta+Space
    Do not open the “Start Menu” with Windows/Meta key (KDE 5.8)
    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
    
    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
    

    Multi Screen

    Don't show ~/Desktop folder on every screen (Workaround)
    Create ~/Desktop2, ~/Desktop3... for each screen.
    Right click wallpaper on screen 2 > Configure Desktop
    Location > Check: Specify a folder > ~/Desktop2

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

    Steam

    PixelVision2 Skin
    cd ~/.steam/skins
    git clone https://github.com/somini/Pixelvision2.git
    Steam > Settings
    Interface Tab > Select Skin: default skin => PixelVision2
    Hide “Big Picture”, etc in the System Tray Context Menu
    Steam > Settings > Interface Tab
    Set Taskbar Preferences > Only Check: Library, Exit Steam
    Hide “Friend is playing ___” Notifications
    Steam > Settings > Friends Tab
    Uncheck: When friend joins a game: display a notification
    Never Show Advertisement Popups
    Steam > Settings > Interface Tab
    Uncheck: Notify me about additions to my games and other releases

    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)

    Fix white text on white bg tooltips
    System Settings > Colors
    Uncheck: Apply colors to non-Qt applications

    Known Bugs

    Tooltips broken in Chrome/Chromium (Fixed?)
    https://bugs.chromium.org/p/chromium/issues/detail?id=442111