diff --git a/INSTALL.md b/INSTALL.md index f3df26a9..b4a17460 100755 --- a/INSTALL.md +++ b/INSTALL.md @@ -14,8 +14,6 @@ It's necessary to have KDE Plasma already installed on your system (plasma-workspace and plasma-desktop) in order to get all the Plasma-specific dependencies for AeroThemePlasma. -Make sure that you're using SDDM instead of Plasma Login Manager, as Plasma Login Manager does _not_ support custom frontends like SDDM does. - ### Arch Linux Required packages: diff --git a/README.md b/README.md index ee7f2f16..0575dd4e 100644 --- a/README.md +++ b/README.md @@ -85,13 +85,7 @@ If you with to contribute in any way, please read [CONTRIBUTING](./CONTRIBUTING. Initially I wanted to make a Vista variant of AeroThemePlasma but [catpswin56](https://gitgud.io/catpswin56) beat me to it, use [VistaThemePlasma](https://gitgud.io/aeroshell/vtp/vistathemeplasma) if you want a Vista theme. ## Aero apps for AeroThemePlasma -To install most of these, the commands to run after cloning are: - -``` -cmake -DCMAKE_INSTALL_PREFIX=/usr -B build . -cmake --build build -sudo cmake --install build -``` +To install most of these, the commands to run after cloning are: `mkdir build; cd build; cmake .. -DCMAKE_INSTALL_PREFIX=/usr; sudo make install`. ### Complete re-creations - [Linux Explorer](https://github.com/actuallyaridan/linux-explorer) by ActuallyAridan diff --git a/deprecated/compile.sh b/deprecated/compile.sh new file mode 100755 index 00000000..3c94f555 --- /dev/null +++ b/deprecated/compile.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +# You can pass the following arguments to this script: +# --ninja Uses Ninja for faster compilation +# --wayland Tells the KWin build scripts to compile the C++ effects for Wayland + +CUR_DIR=$(pwd) +USE_SCRIPT="install.sh" + +# Sanity check to see if the proper tools are installed. +if [[ -z "$(command -v cmake)" ]]; then + echo "CMake not found. Stopping." + exit +fi +if [[ -z "$(command -v ninja)" ]]; then + if [[ -z "$(command -v make)" ]]; then + echo "Neither Ninja or GNU Make were found. Stopping" + exit + fi +fi + +# Compiles the libplasma patches required for other components of ATP. +# Requires a restart to be applied. +cd "$PWD/misc/libplasma" +sh $USE_SCRIPT $@ +cd "$CUR_DIR" +#echo "Compiling plasmoids..." + +#for filename in "$PWD/plasma/plasmoids/src/"*; do +# cd "$filename" +# echo "Compiling $(pwd)" +# sh $USE_SCRIPT +# echo "Done." +# cd "$CUR_DIR" +#done + +# Compiles the window decoration theme engine. +echo "Compiling SMOD decorations..." +cd "$PWD/kwin/decoration" +sh $USE_SCRIPT $@ +cd "$CUR_DIR" +echo "Done." + +# Compiles the settings KCM loader used for development and quick access of certain settings pages. +echo "Compiling KCM loader..." +cd "$PWD/plasma/aerothemeplasma-kcmloader" +sh $USE_SCRIPT $@ +cd "$CUR_DIR" +echo "Done." + +# Compiles all the KWin C++ effects, going folder by folder. +echo "Compiling KWin effects..." +for filename in "$PWD/kwin/effects_cpp/"*; do + cd "$filename" + echo "Compiling $(pwd)" + sh $USE_SCRIPT $@ + echo "Done." + cd "$CUR_DIR" +done diff --git a/deprecated/install_kwin_components.sh b/deprecated/install_kwin_components.sh new file mode 100755 index 00000000..7d083358 --- /dev/null +++ b/deprecated/install_kwin_components.sh @@ -0,0 +1,65 @@ +#!/bin/bash + +CUR_DIR=$(pwd) + +# Sanity check to see if the proper tools are installed. +if [[ -z "$(command -v kpackagetool6)" ]]; then + echo "kpackagetool6 not found. Stopping." + exit +fi + +# Function that installs/upgrades KDE packages. +# install_component $filename "Plasma/Shell" +function install_component { + COMPONENT=$(basename "$1") + INSTALLED=$(kpackagetool6 -l -t "$2" | grep $COMPONENT) + if [[ -z "$INSTALLED" ]]; then + echo "$COMPONENT isn't installed, installing normally..." + kpackagetool6 -t "$2" -i "$1" + else + echo "$COMPONENT found, upgrading..." + kpackagetool6 -t "$2" -u "$1" + fi + echo -e "\n" + cd "$CUR_DIR" +} + +# Installs the SMOD folder which contains resources used by other ATP components. +echo -e "Installing SMOD resources..." +pkexec cp -r "$PWD/kwin/smod" "/usr/share/" + +echo "Installing KWin effects (JS)..." +for filename in "$PWD/kwin/effects/"*; do + install_component "$filename" "KWin/Effect" +done +echo "Done." + +echo "Installing KWin scripts..." +for filename in "$PWD/kwin/scripts/"*; do + install_component "$filename" "KWin/Script" +done +echo "Done." + +echo "Installing KWin task switchers..." +for filename in "$PWD/kwin/tabbox/"*; do + install_component "$filename" "KWin/WindowSwitcher" +done +echo "Done." + +# Outline +echo "Installing outline..." +KWIN_DIR="$HOME/.local/share/kwin" +cp -r "$PWD/kwin/outline" "$KWIN_DIR" +echo "Done." + +# Use symlinks so the KWin components are visible under both Wayland and X11. +LOCAL_DIR="$HOME/.local/share" +cd "$LOCAL_DIR" +echo "Making kwin-x11 and kwin-wayland symlinks..." +ln -s kwin kwin-x11 +ln -s kwin kwin-wayland +echo "Done." + + + + diff --git a/deprecated/install_misc_components.sh b/deprecated/install_misc_components.sh new file mode 100755 index 00000000..915a5afe --- /dev/null +++ b/deprecated/install_misc_components.sh @@ -0,0 +1,124 @@ +#!/bin/bash + +CUR_DIR=$(pwd) + +# Sanity check to see if the proper tools are installed +if [[ -z "$(command -v tar)" ]]; then + echo "tar not found. Stopping." + exit +fi +if [[ -z "$(command -v unzip)" ]]; then + echo "unzip not found. Stopping." + exit +fi + +TMP_DIR="/tmp/atp" +mkdir -p "$TMP_DIR" + +# Installs the Kvantum theme. +echo "Installing Kvantum theme..." +KV_DIR="$HOME/.config" +cp -r "$PWD/misc/kvantum/Kvantum" "$KV_DIR" +echo "Done." + +# Installs the sound themes. +echo "Unpacking sound themes..." +SOUNDS_DIR="$HOME/.local/share/sounds" +mkdir -p "$SOUNDS_DIR" +tar -xf "$PWD/misc/sounds/sounds.tar.gz" --directory "$SOUNDS_DIR" +echo "Done." + +# Installs the icon theme. +echo "Unpacking icon theme..." +ICONS_DIR="$HOME/.local/share/icons" +mkdir -p "$ICONS_DIR" +tar -xf "$PWD/misc/icons/Windows 7 Aero.tar.gz" --directory "$ICONS_DIR" +echo "Done." + +# Installs the cursor theme. Requires admin privileges as this theme gets installed globally so SDDM can use it. +echo "Unpacking cursor theme..." +CURSOR_DIR="/usr/share/icons" +pkexec tar -xf "$PWD/misc/cursors/aero-drop.tar.gz" --directory "$CURSOR_DIR" +echo "Done." + +# Installs the modified mimetype associations. +echo "Installing mimetypes..." +MIMETYPE_DIR="$HOME/.local/share/mime/packages" +mkdir -p "$MIMETYPE_DIR" +for filename in "$PWD/misc/mimetype/"*; do + cp -r "$filename" "$MIMETYPE_DIR" +done +update-mime-database "$HOME/.local/share/mime" +echo "Done." + + +# Optional components +echo "Do you want to install a custom font configuration for Segoe UI fonts? (Recommended) (y/N)" +read answer +FONTCONF_DIR="$HOME/.config" + +if [ "$answer" != "${answer#[Yy]}" ] ;then + + # Installs custom fontconfig to tweak Segoe UI. + if test -f "$FONTCONF_DIR/fontconfig/fonts.conf"; then + echo "Backing up fonts.conf to fonts.conf.old" + cp -r "$FONTCONF_DIR/fontconfig/fonts.conf" "$FONTCONF_DIR/fontconfig/fonts.conf.old" + fi + echo "Installing custom font configuration..." + cp -r "$PWD/misc/fontconfig/" "$FONTCONF_DIR" + + # Defines QML_DISABLE_DISTANCEFIELD environment variable which generally enhances the font rendering. + HAS_VAR=$(grep "QML_DISABLE_DISTANCEFIELD" /etc/environment) + echo "Adding QML_DISABLE_DISTANCEFIELD=1 to /etc/environment" + if [[ -n "$HAS_VAR" ]]; then + echo "Variable already added, skipping..." + else + pkexec sh -c "echo \"QML_DISABLE_DISTANCEFIELD=1\" >> /etc/environment" + fi +fi +echo "Done." + +# Installs custom branding for the system settings info page. +echo "Do you want to install custom branding for Info Center? (y/N)" +read answer +BRANDING_DIR="$HOME/.config/kdedefaults" +mkdir -p "$BRANDING_DIR" + +if [ "$answer" != "${answer#[Yy]}" ] ;then + for filename in "$PWD/misc/branding/"*; do + cp -r "$filename" "$BRANDING_DIR" + done + kwriteconfig6 --file "$BRANDING_DIR/kcm-about-distrorc" --group General --key LogoPath "$BRANDING_DIR/kcminfo.png" +fi +echo "Done." + +# Installs the terminal font. +echo "Do you want to install the command prompt font (Terminal Vector)? (y/N)" +read answer +if [ "$answer" != "${answer#[Yy]}" ] ;then + curl -L https://www.yohng.com/files/TerminalVector.zip > "$TMP_DIR/TerminalVector.zip" + unzip "$TMP_DIR/TerminalVector.zip" -d "$TMP_DIR" + kfontinst "$TMP_DIR/TerminalVector.ttf" +fi +echo "Done." + +# Installs the Plymouth theme. +echo "Do you want to install the Plymouth theme? (y/N)" +read answer +if [ "$answer" != "${answer#[Yy]}" ] ;then + if [[ -z "$(command -v git)" ]]; then + echo "Git not found. Cannot install Plymouth theme automatically!" + echo "Please download the repository from https://github.com/furkrn/PlymouthVista as a zip file by clicking the green code button." + echo "Then extract the zip file and run './compile.sh ; sudo ./install.sh' from the extracted directory." + else + git clone https://github.com/furkrn/PlymouthVista + cd PlymouthVista + chmod +x ./compile.sh + chmod +x ./install.sh + ./compile.sh + pkexec --keep-cwd ./install.sh + echo "For more details, check out the project at https://github.com/furkrn/PlymouthVista" + fi +fi + +echo "Done." diff --git a/deprecated/install_plasma_components.sh b/deprecated/install_plasma_components.sh new file mode 100755 index 00000000..380dc795 --- /dev/null +++ b/deprecated/install_plasma_components.sh @@ -0,0 +1,68 @@ +#!/bin/bash + +CUR_DIR=$(pwd) + +# Sanity check to see if the proper tools are installed. +if [[ -z "$(command -v kpackagetool6)" ]]; then + echo "kpackagetool6 not found. Stopping." + exit +fi +if [[ -z "$(command -v cmake)" ]]; then + echo "CMake not found. Stopping." + exit +fi +if [[ -z "$(command -v tar)" ]]; then + echo "tar not found. Stopping." + exit +fi +if [[ -z "$(command -v sddmthemeinstaller)" ]]; then + echo "sddmthemeinstaller not found. Stopping." + exit +fi + +# Function that installs/upgrades KDE packages. +# install_component $filename "Plasma/Shell" +function install_component { + COMPONENT=$(basename "$1") + INSTALLED=$(kpackagetool6 -l -t "$2" | grep $COMPONENT) + if [[ -z "$INSTALLED" ]]; then + echo "$COMPONENT isn't installed, installing normally..." + kpackagetool6 -t "$2" -i "$1" + else + echo "$COMPONENT found, upgrading..." + kpackagetool6 -t "$2" -u "$1" + fi + echo -e "\n" + cd "$CUR_DIR" +} + + +# Installs the Global Theme (Look and feel). +install_component "$PWD/plasma/look-and-feel/authui7" "Plasma/LookAndFeel" +# Layout template +install_component "$PWD/plasma/layout-templates/io.gitgud.wackyideas.taskbar" "Plasma/LayoutTemplate" +# Plasma Style +install_component "$PWD/plasma/desktoptheme/Seven-Black" "Plasma/Theme" +# Shell +install_component "$PWD/plasma/shells/io.gitgud.wackyideas.desktop" "Plasma/Shell" + +# Installs the color scheme. +echo -e "Installing color scheme..." +COLOR_DIR="$HOME/.local/share/color-schemes" +mkdir -p "$COLOR_DIR" +cp "$PWD/plasma/color_scheme/Aero.colors" "$COLOR_DIR" +#plasma-apply-colorscheme Aero + +# Installs the SDDM theme, as well as the SDDM entries required for ATP. +echo -e "Installing login manager entries..." +cd "plasma/sddm/login-sessions" +sh install.sh +echo -e "Installing SDDM theme..." +cd "$CUR_DIR/plasma/sddm" +tar -zcvf "sddm-theme-mod.tar.gz" "sddm-theme-mod" +sddmthemeinstaller -i "sddm-theme-mod.tar.gz" +rm "sddm-theme-mod.tar.gz" + +#setsid plasmashell --replace & # Restart plasmashell and detach it from the script + + diff --git a/deprecated/install_plasmoids.sh b/deprecated/install_plasmoids.sh new file mode 100755 index 00000000..43316c5f --- /dev/null +++ b/deprecated/install_plasmoids.sh @@ -0,0 +1,76 @@ +#!/bin/bash + +# You can pass the following arguments to this script: +# --ninja Uses Ninja for faster compilation +# --no-compile Skips compilation entirely + +CUR_DIR=$(pwd) +USE_SCRIPT="install.sh" + +# Sanity check to see if the proper tools are installed. +if [[ -z "$(command -v kpackagetool6)" ]]; then + echo "kpackagetool6 not found. Stopping." + exit +fi + +if [[ -z "$(command -v cmake)" ]]; then + echo "CMake not found. Stopping." + exit +fi +if [[ -z "$(command -v ninja)" ]]; then + if [[ -z "$(command -v make)" ]]; then + echo "Neither Ninja or GNU Make were found. Stopping" + exit + fi +fi + +# Skips the build process of plasmoids that have C++ components +# Most of the time, recompiling isn't needed as most changes are done +# on the QML side. +if [[ $1 == '--no-compile' ]]; then + echo "Skipping compilation..." +else + echo "Compiling plasmoids..." + + for filename in "$PWD/plasma/plasmoids/src/"*; do + cd "$filename" + echo "Compiling $(pwd)" + sh $USE_SCRIPT $@ + echo "Done." + cd "$CUR_DIR" + done +fi + +# Installs or upgrades plasmoids using kpackagetool6 +function install_plasmoid { + PLASMOID=$(basename "$1") + if [[ $PLASMOID == 'src' ]]; then + echo "Skipping $PLASMOID" + return + fi + INSTALLED=$(kpackagetool6 -l -t "Plasma/Applet" | grep $PLASMOID) + if [[ -z "$INSTALLED" ]]; then + echo "$PLASMOID isn't installed, installing normally..." + kpackagetool6 -t "Plasma/Applet" -i "$1" + else + echo "$PLASMOID found, upgrading..." + kpackagetool6 -t "Plasma/Applet" -u "$1" + fi + echo -e "\n" + cd "$CUR_DIR" +} + +# KPackageTool will update plasmoids on the fly, and this results in +# the system tray forgetting the visibility status of upgraded plasmoids. +# As such, we need to first terminate plasmashell in order to retain +# saved configurations + +killall plasmashell + +for filename in "$PWD/plasma/plasmoids/"*; do + install_plasmoid "$filename" +done + +setsid plasmashell --replace & # Restart plasmashell and detach it from the script + +