aerothemeplasma/INSTALL.md
2026-02-07 19:40:54 +01:00

21 KiB
Executable file

Installation

TABLE OF CONTENTS

  1. Prerequisites
  2. Getting started
  3. Using install scripts
  4. Manual installation
  5. Configuring AeroThemePlasma
  6. GTK
  7. Uninstalling AeroThemePlasma

Prerequisites

Before installing AeroThemePlasma, it's important to know which display server you're running on (Wayland or X11). This can be checked using Plasma's Info Center page in the settings. It's recommended to run AeroThemePlasma on X11 for now, as it's generally the more stable and feature rich experience (certain restrictions on the Wayland session make some effects and features impossible to achieve, this should hopefully be addressed in the future).

Arch Linux

Required packages:

pacman -S git cmake extra-cmake-modules ninja curl unzip qt6-virtualkeyboard qt6-multimedia qt6-5compat qt6-wayland plasma-wayland-protocols plasma5support kvantum sddm sddm-kcm base-devel

Since Plasma 6.4, the X11 session has been separated from the main codebase. On Arch Linux, additional dependencies for X11 include:

  • kwin-x11
  • plasma-x11-session

KSysGuard has been officially deprecated by KDE, however an unofficial port exists for Qt6, which can be installed using the AUR package on Arch-based distros.

Note: Dependencies for other distros besides Arch Linux have been provided by contributors and aren't updated frequently, which may result in incorrect or missing dependencies.

Fedora KDE

Required Packages:

dnf install plasma-workspace-devel unzip kvantum qt6-qtmultimedia-devel qt6-qt5compat-devel libplasma-devel qt6-qtbase-devel qt6-qtwayland-devel plasma-activities-devel kf6-kpackage-devel kf6-kglobalaccel-devel qt6-qtsvg-devel wayland-devel plasma-wayland-protocols kf6-ksvg-devel kf6-kcrash-devel kf6-kguiaddons-devel kf6-kcmutils-devel kf6-kio-devel kdecoration-devel kf6-ki18n-devel kf6-knotifications-devel kf6-kirigami-devel kf6-kiconthemes-devel cmake gmp-ecm-devel kf5-plasma-devel libepoxy-devel kwin-devel kf6-karchive kf6-karchive-devel plasma-wayland-protocols-devel qt6-qtbase-private-devel qt6-qtbase-devel kf6-knewstuff-devel kf6-knotifyconfig-devel kf6-attica-devel kf6-krunner-devel kf6-kdbusaddons-devel kf6-sonnet-devel plasma5support-devel plasma-activities-stats-devel polkit-qt6-1-devel qt-devel libdrm-devel kf6-kitemmodels-devel kf6-kstatusnotifieritem-devel kf6-frameworkintegration-devel

On Fedora, additional dependencies for X11 include:

  • kwin-x11
  • kwin-x11-devel

openSUSE Leap / Tumbleweed

Required packages:

zypper install cmake make ninja gcc gcc-c++ gmp-ecm-devel kf6-extra-cmake-modules qt6-base-devel qt6-quick-devel qt6-svg-devel qt6-quickcontrols2-devel kf6-kwindowsystem-devel kf6-karchive-devel kf6-kirigami-devel kf6-kbookmarks-devel kf6-kcodecs-devel kf6-kcolorscheme-devel kf6-kcompletion-devel kf6-kconfig-devel kf6-kconfigwidgets-devel kf6-kcoreaddons-devel kf6-kguiaddons-devel kf6-ki18n-devel kf6-kio-devel kf6-kitemviews-devel kf6-kjobwidgets-devel kf6-kservice-devel kf6-kwidgetsaddons-devel kf6-kxmlgui-devel kf6-solid-devel kf6-kglobalaccel-devel kf6-kiconthemes-devel kf6-knotifications-devel kf6-kpackage-devel kf6-ksvg-devel plasma6-activities-devel plasma-wayland-protocols qt6-wayland-devel qt6-quicktest-devel qt6-gui-private-devel kdecoration6-devel kf6-kcmutils-devel qt6-uitools-devel kf6-kcrash-devel libepoxy-devel kwin6-devel kwin6-x11-devel kf6-qqc2-desktop-style-devel knotifications-devel kf6-kauth-devel libplasma6-devel plasma5support6-devel plasma6-activities-stats-devel plasma6-workspace-devel

In openSUSE, additional dependencies for X11 include:

  • kwin6-x11-devel

Ubuntu 25.10

apt install build-essential cmake ninja-build curl libqt6virtualkeyboard6 libqt6multimedia6 libqt6core5compat6 libplasma5support6 libkdecorations3-dev libkf6colorscheme-dev libkf6i18n-dev libkf6iconthemes-dev libkf6kcmutils-dev libkirigami-dev libkf6kio-dev libkf6notifications-dev libkf6svg-dev libkf6crash-dev libkf6globalaccel-dev libplasma-dev libplasmaactivities-dev libxcb-composite0-dev libxcb-randr0-dev libxcb-shm0-dev libxcb-damage0-dev libepoxy-dev libqt6svg6-dev kwin-dev plasma-wayland-protocols libkf5qqc2desktopstyle-dev libkf6qqc2desktopstyle-dev libplasma5support-dev libkf6auth-dev libkf6newstuff-dev libkf6notifyconfig-dev libkf6attica-dev libkf6runner-dev libkf6dbusaddons-dev libkf6sonnet-dev libkf6xmlgui-dev libkf6coreaddons-dev libkf6widgetsaddons-dev libkf6guiaddons-dev qt6-base-dev qt6-5compat-dev qml-module-org-kde-qqc2desktopstyle libplasmaactivitiesstats-dev plasma-workspace-dev libkf6statusnotifieritem-dev qml-module-org-kde-kirigami-addons-sounds qml6-module-org-kde-kirigamiaddons-sounds

On Ubuntu, additional dependencies for X11 include:

  • kwin-x11
  • kwin-x11-dev

Getting started

To download this repository, clone it with git:

$ git clone https://gitgud.io/wackyideas/aerothemeplasma.git aerothemeplasma
$ cd aerothemeplasma

It's highly recommended to use git for downloading AeroThemePlasma as updating becomes much easier.

There are two ways to install AeroThemePlasma: Using the provided install scripts, and manual installation. In both cases, further configuration is required by the user.

Using install scripts

This is the recommended way of installing ATP. The install scripts compile and deploy the components required for ATP to work. Run the install scripts in the terminal:

$ bash compile.sh --ninja
$ bash install_plasmoids.sh --ninja
$ bash install_kwin_components.sh
$ bash install_plasma_components.sh
$ bash install_misc_components.sh

During execution, some scripts may require admin privileges or other prompts from the user. Do NOT run any of the provided install scripts with sudo or as root.

Wayland users need to additionally pass --wayland to compile.sh.

Install script details

You can also run the install scripts like this:

$ chmod +x compile.sh && ./compile.sh

You can additionally pass --ninja to any of the following scripts in order to build using Ninja instead of GNU Make, which is recommended to reduce build times:

  • compile.sh
  • install_plasmoids.sh
  • Any individual install.sh script

Other notable flags include:

  1. --skip-libplasma in compile.sh, which skips libplasma patches from being compiled and installed
  2. --skip-kpackages in install_plasmoids.sh, which skips installing the QML components of plasmoids

Note for Wayland users

The compile script must be run while passing the --wayland argument for KWin effects:

$ bash compile.sh --wayland --ninja

If compiling individual KWin effects by running their respective install.sh scripts, you can also pass the --wayland argument there:

$ bash install.sh --wayland --ninja

Updating AeroThemePlasma

Update the downloaded repository by pulling the new changes:

$ cd /path/to/aerothemeplasma
$ git pull

and re-run the install scripts:

$ bash compile.sh
$ bash install_plasmoids.sh
$ bash install_plasmoids.sh --no-compile # If there's no need to recompile the C++ parts of the plasmoids, you can pass this argument to speed things up
$ bash install_kwin_components.sh
$ bash install_plasma_components.sh
$ bash install_misc_components.sh # Usually not required to run again

Typically it's enough to run the first four scripts after ATP has been updated. It's highly recommended to check for new commits and read the extended descriptions in order to see what has actually changed and what's required when updating.

When doing a full system upgrade, KWin effects and libplasma modifications tend to stop working. Running compile.sh after a full system upgrade is required for them to work again (assuming no breaking upstream changes).

Manual installation

If installing ATP manually, the only script that should be run is the compile script as described previously.

After that, follow these steps:

Plasma components

  1. Move the folders desktoptheme, look-and-feel, plasmoids, layout-templates, shells into ~/.local/share/plasma. If the folder doesn't exist, create it. These folders contain the following:
    • Plasma Style
    • Global Theme (more accurately, just the lock screen)
    • Plasmoids
    • Plasma shell
    • Preset panel layout that can be applied from Edit mode

Note for SevenTasks:

SevenTasks relies on modifications found in misc/libplasma in order to work properly. Make sure that they're compiled and installed correctly before enabling SevenTasks.

  1. Compile all the C++ components found in the plasmoids/src directory like this for each source directory:
$ bash install.sh --ninja
  1. Move sddm/sddm-theme-mod to /usr/share/sddm/themes. Optionally, to enable the Vista start screen, set enableStartup=true in theme.conf.user
  2. Move sddm/entries/aerothemeplasma.desktop to /usr/share/wayland-sessions, and sddm/entries/aerothemeplasmax11.desktop to /usr/share/xsessions. This will install the SDDM entries required for ATP.
  3. Import and apply the color scheme through System Settings.

KWin components

  1. Move the smod folder to ~/.local/share, and/or /usr/share/ for a system-wide installation. This will install the resources required by many other components.
  2. Move effects, tabbox, outline, scripts to ~/.local/share/kwin.
  3. Run the following inside ~/.local/share/:
$ ln -s kwin kwin-x11
$ ln -s kwin kwin-wayland

Miscellaneous components

  1. Move the Kvantum folder (the one inside the kvantum folder) to ~/.config, then in Kvantum Manager select the theme.
  2. Unpack the sound archive and move the folders to ~/.local/share/sounds, then select the sound theme in System Settings.
  3. Unpack the icon archive and move the folder to ~/.local/share/icons, then select the icon theme in System Settings.
  4. Unpack the cursor archive and move the folder to /usr/share/icons, then follow this guide to install the cursor theme.
  5. Move the files located in mimetype into ~/.local/share/mime/packages and then run update-mime-database ~/.local/share/mime to fix DLLs and EXE files sharing the same icons.
  6. Segoe UI, Segoe UI Bold, Segoe UI Semibold and Segoe UI Italic are required for this theme and they should be installed as system-wide fonts.

If SDDM fails to pick up on the cursor theme, go to System Settings -> Startup and Shutdown -> Login Screen (SDDM), and click on Apply Plasma Settings to enforce your current cursor theme, and other relevant settings. Do this after installing everything else. If even that fails, change the default cursor theme in /usr/share/icons/default/index.theme to say aero-drop.

Font configuration

To enable full font hinting just for Segoe UI, move the fontconfig folder to ~/.config. This will enable full font hinting for Segoe UI while keeping slight font hinting for other fonts. Additionally, append QML_DISABLE_DISTANCEFIELD=1 into /etc/environment in order for this to be properly applied. While full font hinting makes the font rendering look sharper and somewhat closer to Windows 7's ClearType, on Linux this option causes noticeably faulty kerning. This has been a prominent issue for several years now and while the situation has improved from being unreadable to just being ugly, a complete solution for this doesn't seem to be coming anytime soon.

Custom branding

To install custom branding for the Info Center, move kcm-about-distrorc from the branding folder to ~/.config/kdedefaults/, then edit the file's LogoPath entry to point to the absolute path of kcminfo.png.

Plymouth theme

Optionally, install PlymouthVista which supports Windows 7 boot animations, and features a more detailed setup guide.

Polkit User Account Control modification

WARNING:

  1. Navigate to the uac-polkitagent folder, and run install.sh:
$ chmod +x install.sh && ./install.sh --ninja
  1. To remove the minimize and maximize buttons from the window, run add_rule.sh which will generate the appropriate KWin rule:
$ chmod +x add_rule.sh && ./add_rule.sh

Configuring AeroThemePlasma

  1. After installing everything, restart the computer. In SDDM, make sure to select the appropriate session (AeroThemePlasma (X11) or AeroThemePlasma (Wayland)).
  2. Apply the Global Theme after logging into the ATP session.
  3. Right click on the desktop and open "Desktop and Wallpaper", and select "Desktop (Win7)" under Layout, and apply the changes.
  4. In System Settings, apply the following settings:
  • In Window Behavior -> Titlebar Actions:
    • Mouse wheel: Do nothing
  • In Window Behavior -> Window Actions: (For Wayland users only)
    • Inactive Inner Window Actions, Left click: Activate, raise and pass click
  • In Window Behavior -> Task Switcher:
    • Main: Thumbnail Seven, Include "Show Desktop" entry
    • Alternative: Flip 3D, Forward shortcut: Meta+Tab
  • In Window Behavior -> KWin Scripts:
    • Enable Minimize All, SMOD Peek (Wayland users should keep SMOD Peek disabled as it doesn't work and can cause freezing)
  • In Window Behavior -> Desktop Effects, enable all effects in the AeroThemePlasma category. Additionally enable the "Desaturate Unresponsive Applications" effect.
  • In Window Behavior -> Desktop Effects, disable the following:
    • Background Contrast
    • Blur
    • Dialog Parent
    • Dim Inactive
    • Dim Screen for Administrator Mode (From Focus category)
  1. Configure KWin animations to the following:

animations

  1. In System Settings -> Colors & Themes -> Colors, set "Accent color from color scheme"
  2. In System Settings -> Session -> Desktop Session, uncheck the "Ask for confirmation" option.
  3. In System Settings -> Keyboard -> Shortcuts, under KWin, disable the "Peek at Desktop" shortcut, and remap the "MinimizeAll" to Meta+D
  4. In System Settings -> Colors & Themes -> Cursors -> Configure Launch Feedback, set Cursor feedback to "None"
  5. In System Settings -> Fonts, configure the fonts as shown here:

fonts

The following steps are optional:

  1. For Wine users it's recommended to install the VistaVG Ultimate msstyles theme.
  2. Add the following to ~/.bashrc to get bash to look more like the command prompt on Windows:
PS1='C:${PWD//\//\\\\}> '

echo -e "Microsoft Windows [Version 6.1.7600]\nCopyright (c) 2009 Microsoft Corporation.  All rights reserved.\n"
  1. In the terminal emulator of your choice (e.g Konsole), set the font to TerminalVector, size 9pt. Disable smooth font rendering and bold text, reduce the line spacing and margins to 0px, set the cursor shape to underline, and enable cursor blinking.

GTK

AeroThemePlasma officially doesn't have any kind of maintenance, development or support for GTK applications. Instead, check out Windows 7 Better by Gamer95875, which is the recommended set of themes that works best with AeroThemePlasma.

Uninstalling AeroThemePlasma

AeroThemePlasma provides an uninstall script that undoes much of what's installed on the system. The script assumes that all of the CMake build files are still present in the repo, most importantly the install_manifest.txt files generated as a result of installing compiled parts of ATP. If these files are missing from the repo, they need to be regenerated by once again rerunning the necessary scripts like this:

$ bash compile.sh --skip-libplasma [--wayland] [--ninja]
$ bash install_plasmoids.sh --skip-kpackages [--ninja]

Once this is done, the script is simply executed:

$ bash uninstall.sh

This should be run outside of the AeroThemePlasma session, preferrably in a regular Plasma session. The script will ask for confirmation to uninstall components of the system. Please check that none of the locations are ill-formed before accepting each prompt, especially those that require additional privileges to uninstall. In case this happens to you, report it as an issue ASAP.

Afterwards, libplasma and polkit-kde-agent should be reinstalled using your distro's package manager. For example, on Arch Linux:

sudo pacman -Sy libplasma polkit-kde-agent

Manual uninstallation

The script performs the following steps in order to uninstall ATP. Uninstalling ATP should be done outside of the ATP session itself. Log into the Plasma session before performing any of these steps.

CMake

  • Perform sudo make uninstall or sudo ninja uninstall in the following directories if applicable:
kwin/decoration/build
plasma/sddm/login-sessions/build
plasma/aerothemeplasma-kcmloader/build
plasma/plasmoids/src/systemtray_src/build
plasma/plasmoids/src/notifications_src/build
plasma/plasmoids/src/volume_src/build
plasma/plasmoids/src/sevenstart_src/build
plasma/plasmoids/src/seventasks_src/build
plasma/plasmoids/src/desktopcontainment/build
kwin/effects_cpp/kde-effects-aeroglassblur/build
kwin/effects_cpp/kwin-effect-smodsnap-v2/build
kwin/effects_cpp/smodglow/build
kwin/effects_cpp/aeroglide/build
kwin/effects_cpp/startupfeedback/build

# For Wayland builds
kwin/effects_cpp/kde-effects-aeroglassblur/build-wl
kwin/effects_cpp/kwin-effect-smodsnap-v2/build-wl
kwin/effects_cpp/smodglow/build-wl
kwin/effects_cpp/aeroglide/build-wl
kwin/effects_cpp/startupfeedback/build-wl

Plasmoids

  • Perform kpackagetool6 -t "Plasma/Applet" -r "plasmoid_id" for each plasmoid, replacing plasmoid_id with the following:
io.gitgud.wackyideas.battery
io.gitgud.wackyideas.desktopcontainment
io.gitgud.wackyideas.digitalclocklite
io.gitgud.wackyideas.keyboardlayout
io.gitgud.wackyideas.networkmanagement
io.gitgud.wackyideas.panel
io.gitgud.wackyideas.SevenStart
io.gitgud.wackyideas.seventasks
io.gitgud.wackyideas.volume
io.gitgud.wackyideas.win7showdesktop

Plasma components

  • Perform the following commands:
kpackagetool6 -t "Plasma/LookAndFeel" -r "authui7"
kpackagetool6 -t "Plasma/LayoutTemplate" -r "io.gitgud.wackyideas.taskbar"
kpackagetool6 -t "Plasma/Theme" -r "Seven-Black"
kpackagetool6 -t "Plasma/Shell" -r "io.gitgud.wackyideas.desktop"
  • Delete ~/.local/share/color-schemes/Aero.colors
  • Delete ~/.config/Kvantum/Windows7Aero
  • Delete the sound themes from ~/.local/share/sounds:
'Windows 7'
'Windows 7 Afternoon'
'Windows 7 Calligraphy'
'Windows 7 Characters'
'Windows 7 Cityscape'
'Windows 7 Delta'
'Windows 7 Festival'
'Windows 7 Garden'
'Windows 7 Heritage'
'Windows 7 Landscape'
'Windows 7 Quirky'
'Windows 7 Raga'
'Windows 7 Savanna'
'Windows 7 Sonata'
  • Delete the icon theme at ~/.local/share/icons/Windows 7 Aero
  • Delete the following files at ~/.local/share/mime/packages:
application-vnd.microsoft.portable-executable.xml 
application-x-ms-dll.xml 
application-x-msdownload.xml 
application-x-ms-ne-executable.xml

and run update-mime-database ~/.local/share/mime to refresh MIME associations

KWin components

  • Perform kpackagetool6 -t "KWin/Effect" -r "effect_id" for each effect, replacing effect_id with the following:
dimscreenaero
fadingpopupsaero
loginaero
seventasks-thumbnails
smodpeekeffect
squashaero
  • Perform the following:
kpackagetool6 -t "KWin/Script" -r "smodpeekscript"
kpackagetool6 -t "KWin/WindowSwitcher" -r "flip3d"
kpackagetool6 -t "KWin/WindowSwitcher" -r "thumbnail_seven"
  • Delete the outline at ~/.local/share/kwin/outline
  • Delete the symlinks ~/.local/share/kwin-x11 and ~/.local/share/kwin-wayland
  • Delete the branding at ~/.config/kdedefaults/kcm-about-distrorc and the logo (~/.config/kdedefaults/kcminfo.png)

Other components

  • Delete the cursor theme at /usr/share/icons/aero-drop
  • Delete the SDDM theme at /usr/share/sddm/themes/sddm-theme-mod
  • Delete the SMOD files at /usr/share/smod and ~/.local/share/smod
  • Delete /opt/aerothemeplasma