Up until now compiling libplasma modifications was rather violent as it would cause both plasmashell and kwin to crash (the latter is potentially destructive if running a Wayland session), leaving the user with a potentially unstable state where plasmashell will start to crashloop until the entire system reboots. With this commit, the replacement of patched library files is deferred until the system restarts, by using a temporary systemd service that performs the replacement of files before Plasma starts, leading to no crashes during the install or update process.
12 KiB
Installation
TABLE OF CONTENTS
- Prerequisites
- Getting started
- Compiling
- Plasma components
- KWin components
- Miscellaneous components
- Configuring AeroThemePlasma
Prerequisites
NOTE: Dependencies for other disros besides Arch Linux have been provided by contributors and aren't updated frequently, which may result in incorrect or missing dependencies.
Arch Linux
Required packages:
pacman -S git cmake extra-cmake-modules ninja qt6-virtualkeyboard qt6-multimedia qt6-5compat plasma-wayland-protocols plasma5support kvantum base-devel
Note:
Since Plasma 6.4, the X11 session has been separated from the main codebase. On Arch Linux, additional dependencies for X11 include:
kwin-x11plasma-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.
Fedora KDE
Required Packages:
dnf install plasma-workspace-devel 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
Note:
On Fedora, additional dependencies for X11 include:
kwin-x11kwin-x11-devel
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.
Compiling
To build the components that need to be compiled (KWin effects, Decoration theme, etc.), run compile.sh:
$ chmod +x compile.sh && ./compile.sh
or
$ sh compile.sh
You can additionally pass --ninja to any of the following scripts in order to build using Ninja, which is recommended to reduce build times:
compile.shinstall_plasmoids.sh- Any individual
install.shscript
Example:
$ sh compile.sh --ninja
Note for Wayland users:
The compile script must be run while passing the --wayland argument for KWin effects:
$ ./compile.sh --wayland --ninja
$ sh compile.sh --wayland --ninja # Or like this
If compiling individual KWin effects by running their respective install.sh scripts, you can also pass the --wayland argument there:
$ ./install.sh --wayland --ninja
$ sh install.sh --wayland --ninja # Or like this
Updating AeroThemePlasma
Whenever a new update is released, update the downloaded repository by pulling the new changes:
$ cd /path/to/aerothemeplasma
$ git pull
and re-run the install scripts:
$ sh compile.sh
$ sh install_plasmoids.sh
$ sh install_plasmoids.sh --no-compile # If there's no need to recompile the C++ parts of the plasmoids, you can just run this
$ sh install_kwin_components.sh
$ sh install_plasma_components.sh
$ sh 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, although it's recommended to check new commits to see what has actually changed.
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).
Plasma components
This section relates to the directories found in the plasma folder.
Install scripts
- Run the following scripts:
$ chmod +x install_plasmoids.sh && ./install_plasmoids.sh --ninja
$ chmod +x install_plasma_components.sh && ./install_plasma_components.sh # Requires authorization for SMOD resources and SDDM themes
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.
Manual
-
Move the
smodfolder to~/.local/share, or/usr/share/for a system-wide installation. This will install the resources required by many other components in this project. -
Move the folders
desktoptheme,look-and-feel,plasmoids,layout-templates,shellsinto~/.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
-
Move
sddm-theme-modto/usr/share/sddm/themes. Optionally, to enable the Vista start screen, setenableStartup=trueintheme.conf.user -
Import and apply the color scheme through System Settings.
KWin components
Install scripts
- Run the following script:
$ chmod +x install_kwin_components.sh && ./install_kwin_components.sh
Manual
This section relates to the directories found in the kwin folder.
- Move
effects,tabbox,outline,scriptsto~/.local/share/kwin. - Run the following inside
~/.local/share/:
$ ln -s kwin kwin-x11
$ ln -s kwin kwin-wayland
- In System Settings, apply the following settings:
- In Window Behavior -> Titlebar Actions:
- Mouse wheel: Do nothing
- In Window Behavior -> Task Switcher:
- Main: Thumbnail Seven, Include "Show Desktop" entry
- Alternative: Flip Switch, 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 the following:
- Aero Glass Blur
- Desaturate Unresponsive Applications
- SMOD Glow
- SMOD Snap
- Dim Screen for Administrator Mode
- Animations for SevenTasks Thumbnails
- In Window Behavior -> Desktop Effects, disable the following:
- Background Contrast
- Blur
- Maximize
- Dialog Parent
- Dim Inactive
- Configure KWin animations to the following:
Miscellaneous components
Install scripts
- Run the following script:
$ chmod +x install_misc_components.sh && ./install_misc_components.sh
This section relates to the directories found in the misc folder.
- Move the
Kvantumfolder (the one inside thekvantumfolder) to~/.config, then in Kvantum Manager select the theme. - Unpack the sound archive and move the folders to
~/.local/share/sounds, then select the sound theme in System Settings. - Unpack the icon archive and move the folder to
~/.local/share/icons, then select the icon theme in System Settings. - Unpack the cursor archive and move the folder to
/usr/share/icons, then follow this guide to install the cursor theme. - Move the files located in
mimetypeinto~/.local/share/mime/packagesand then runupdate-mime-database ~/.local/share/mimeto fix DLLs and EXE files sharing the same icons. - 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.
Plymouth theme
Optionally, install PlymouthVista which supports Windows 7 boot animations, and features a more detailed setup guide.
Polkit User Account Control modification
WARNING:
Installing random modifications to programs that deal with privilege escalation (giving sudo or root access to users) from unknown or untrustworthy sources is reckless and a giant security risk. Even though this modification to KDE's polkit authentication UI is purely cosmetic, it's generally not recommended to modify sensitive applications such as this. If you don't know what you're doing, or do not trust the modified source code, do not install this particular component of AeroThemePlasma.
- Navigate to the
uac-polkitagentfolder, and runinstall.sh:
$ chmod +x install.sh && ./install.sh --ninja
- To remove the minimize and maximize buttons from the window, run
add_rule.shwhich will generate the appropriate KWin rule:
$ chmod +x add_rule.sh && ./add_rule.sh
Configuring AeroThemePlasma
- Apply the Global Theme after installing everything. Make sure to restart KDE Plasma and KWin as well, by restarting your session.
- On a fresh KDE install, remove the default panel and add the "AeroThemePlasma Taskbar" panel using Edit mode. You can also manually configure the panel for a finer setup.
- Right click on the desktop and open "Desktop and Wallpaper", and select "Desktop (Win7)" under Layout, and apply the changes.
- In System Settings -> Colors & Themes -> Colors, set "Accent color from color scheme"
- In System Settings -> Session -> Desktop Session, uncheck the "Ask for confirmation" option.
- In System Settings -> Keyboard -> Shortcuts, under KWin, disable the "Peek at Desktop" shortcut, and remap the "MinimizeAll" to Meta+D
- In System Settings -> Colors & Themes -> Cursors -> Configure Launch Feedback, set Cursor feedback to "None"
- In System Settings -> Fonts, configure the fonts as shown here:
The following steps are optional:
- To enable full font hinting just for Segoe UI, move the
fontconfigfolder to~/.config. This will enable full font hinting for Segoe UI while keeping slight font hinting for other fonts. Additionally, appendQML_DISABLE_DISTANCEFIELD=1into/etc/environmentin 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. - For Wine users it's recommended to install the VistaVG Ultimate msstyles theme.
- To install custom branding at the Info Center, move
kcm-about-distrorcfrom thebrandingfolder to~/.config/kdedefaults/, then edit the file'sLogoPathentry to point to the absolute path ofkcminfo.png. - Add the following to
~/.bashrcto 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"
- 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.
