mirror of
https://github.com/rwinkhart/artix-install-script.git
synced 2026-09-05 08:27:16 -04:00
Implement script and accompanying window rule to make Konsole act as drop-down, replace Yakuake
This commit is contained in:
+12
-8
@@ -12,6 +12,8 @@ userpassword=${args[6]}
|
|||||||
timezone=${args[7]}
|
timezone=${args[7]}
|
||||||
swap=${args[8]}
|
swap=${args[8]}
|
||||||
intel_vaapi_driver=${args[9]}
|
intel_vaapi_driver=${args[9]}
|
||||||
|
res_x=${args[10]}
|
||||||
|
res_y_half=${args[11]}
|
||||||
|
|
||||||
# configuring locale and clock Settings
|
# configuring locale and clock Settings
|
||||||
echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen
|
echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen
|
||||||
@@ -114,28 +116,30 @@ chmod 755 /home/"$username"/{.config,.local/share}
|
|||||||
|
|
||||||
## KDE Plasma
|
## KDE Plasma
|
||||||
if [ "$formfactor" == 1 ] || [ "$formfactor" == 2 ] || [ "$formfactor" == 3 ]; then
|
if [ "$formfactor" == 1 ] || [ "$formfactor" == 2 ] || [ "$formfactor" == 3 ]; then
|
||||||
pacman -S plasma-desktop plasma-wayland-session plasma-wayland-protocols kscreen kwallet-pam kdeplasma-addons spectacle gwenview plasma-nm plasma-pa breeze-gtk kde-gtk-config kio-extras khotkeys kwalletmanager yakuake ark kate bluedevil dolphin qt5-imageformats pipewire pipewire-pulse pipewire-jack pipewire-alsa wireplumber wayland-protocols polkit bluez-openrc --needed --noconfirm
|
pacman -S plasma-desktop plasma-wayland-session plasma-wayland-protocols kscreen kwallet-pam kdeplasma-addons spectacle gwenview plasma-nm plasma-pa breeze-gtk kde-gtk-config kio-extras khotkeys kwalletmanager ark kate bluedevil dolphin qt5-imageformats pipewire pipewire-pulse pipewire-jack pipewire-alsa wireplumber wayland-protocols polkit bluez-openrc --needed --noconfirm
|
||||||
|
curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/programs/konquake/konquake.sh -o /usr/local/bin/konquake
|
||||||
curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/pam-login -o /etc/pam.d/login
|
curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/pam-login -o /etc/pam.d/login
|
||||||
mkdir -p /home/"$username"/.local/share/konsole
|
mkdir -p /home/"$username"/.local/share/konsole
|
||||||
curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/konsole-profile -o /home/"$username"/.local/share/konsole/Custom.profile
|
curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/konsole-profile -o /home/"$username"/.local/share/konsole/Custom.profile
|
||||||
curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/konsolerc -o /home/"$username"/.config/konsolerc
|
curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/konsolerc -o /home/"$username"/.config/konsolerc
|
||||||
curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/kwinrc -o /home/"$username"/.config/kwinrc
|
curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/kwinrc -o /home/"$username"/.config/kwinrc
|
||||||
chown -R "$username":users /home/"$username"/.config/kwinrc /home/"$username"/.config/konsolerc /home/"$username"/.local/share/konsole
|
curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/plasma-org.kde.plasma.desktop-appletsrc -o /home/"$username"/.config/plasma-org.kde.plasma.desktop-appletsrc
|
||||||
|
echo -e "[PlasmaRunnerManager]\nmigrated=true\n\n[Plugins]\nbaloosearchEnabled=false" > /home/"$username"/.config/krunnerrc
|
||||||
|
echo -e "[Basic Settings]\nIndexing-Enabled=false" > /home/"$username"/.config/baloofilerc
|
||||||
|
echo -e "[General]\nloginMode=emptySession" > /home/"$username"/.config/ksmserverrc
|
||||||
|
echo -e "[1]\nDescription=konquake\nnoborder=true\nnoborderrule=2\nplacement=6\nplacementrule=2\nsize=3840,1080\nsizerule=3\ntitle=konquake session\ntitlematch=2\ntypes=1\nwmclass=konsole org.kde.konsole\nwmclasscomplete=true\nwmclassmatch=1\n\n[2]\nDescription=konsole\nsize=$res_x,$res_y_half\nsizerule=3\ntypes=1\nwmclass=konsole org.kde.konsole\nwmclasscomplete=true\nwmclassmatch=1\n\n[General]\ncount=2\nrules=1,2" > /home/"$username"/.config/kwinrulesrc
|
||||||
|
chmod 755 /usr/local/bin/konquake
|
||||||
|
chown -R "$username":users /home/"$username"/.config/kwinrc /home/"$username"/.config/konsolerc /home/"$username"/.local/share/konsole /home/"$username"/.config/plasma-org.kde.plasma.desktop-appletsrc /home/"$username"/.config/krunnerrc /home/"$username"/.config/baloofilerc /home/"$username"/.config/ksmserverrc /home/"$username"/.config/kwinrulesrc
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir /home/"$username"/.config/autostart
|
mkdir /home/"$username"/.config/autostart
|
||||||
echo -e "[Desktop Entry]\nCategories=Qt;KDE;System;TerminalEmulator;\nComment=A drop-down terminal emulator based on KDE Konsole technology.\nDBusActivatable=true\nExec=yakuake\nGenericName=Drop-down Terminal\nIcon=yakuake\nName=Yakuake\nTerminal=false\nType=Application\nX-DBUS-ServiceName=org.kde.yakuake\nX-DBUS-StartupType=Unique\nX-KDE-StartupNotify=false" > /home/"$username"/.config/autostart/org.kde.yakuake.desktop
|
|
||||||
echo -e "[Desktop Entry]\nExec=/usr/local/bin/pipewire-start.sh\nIcon=\nName=pipewire-start\nPath=\nTerminal=False\nType=Application" > /home/"$username"/.config/autostart/pipewire.desktop
|
echo -e "[Desktop Entry]\nExec=/usr/local/bin/pipewire-start.sh\nIcon=\nName=pipewire-start\nPath=\nTerminal=False\nType=Application" > /home/"$username"/.config/autostart/pipewire.desktop
|
||||||
echo -e "[PlasmaRunnerManager]\nmigrated=true\n\n[Plugins]\nbaloosearchEnabled=false" > /home/"$username"/.config/krunnerrc
|
|
||||||
echo -e "[Basic Settings]\nIndexing-Enabled=false" > /home/"$username"/.config/baloofilerc
|
|
||||||
echo -e "[General]\nloginMode=emptySession" > /home/"$username"/.config/ksmserverrc
|
|
||||||
curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/config-files/plasma-org.kde.plasma.desktop-appletsrc -o /home/"$username"/.config/plasma-org.kde.plasma.desktop-appletsrc
|
|
||||||
curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/programs/powerset/powerset.sh -o /usr/local/bin/powerset.sh
|
curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/programs/powerset/powerset.sh -o /usr/local/bin/powerset.sh
|
||||||
curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/programs/pipewire-start/pipewire-start.sh -o /usr/local/bin/pipewire-start.sh
|
curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/programs/pipewire-start/pipewire-start.sh -o /usr/local/bin/pipewire-start.sh
|
||||||
curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/programs/zsh-histclean/histclean -o /usr/local/bin/histclean
|
curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/programs/zsh-histclean/histclean -o /usr/local/bin/histclean
|
||||||
echo -e "#!/bin/sh\nfstrim -Av &" > /etc/local.d/trim.start
|
echo -e "#!/bin/sh\nfstrim -Av &" > /etc/local.d/trim.start
|
||||||
chmod 755 /usr/local/bin/powerset.sh /usr/local/bin/pipewire-start.sh /usr/local/bin/histclean /etc/local.d/trim.start
|
chmod 755 /usr/local/bin/powerset.sh /usr/local/bin/pipewire-start.sh /usr/local/bin/histclean /etc/local.d/trim.start
|
||||||
chown -R "$username":users /home/"$username"/.config/autostart /home/"$username"/.config/plasma-org.kde.plasma.desktop-appletsrc /home/"$username"/.config/krunnerrc /home/"$username"/.config/baloofilerc /home/"$username"/.config/ksmserverrc
|
chown -R "$username":users /home/"$username"/.config/autostart /home/"$username"/.config/krunnerrc /home/"$username"/.config/baloofilerc /home/"$username"/.config/ksmserverrc
|
||||||
|
|
||||||
# asus g14 2020 configuration
|
# asus g14 2020 configuration
|
||||||
if [ "$formfactor" == 1 ]; then
|
if [ "$formfactor" == 1 ]; then
|
||||||
|
|||||||
Regular → Executable
+5
@@ -3,3 +3,8 @@ DefaultProfile=Custom.profile
|
|||||||
|
|
||||||
[General]
|
[General]
|
||||||
ConfigVersion=1
|
ConfigVersion=1
|
||||||
|
|
||||||
|
[MainWindow]
|
||||||
|
MenuBar=Disabled
|
||||||
|
State=AAAA/wAAAAD9AAAAAQAAAAAAAAAAAAAAAPwCAAAAAvsAAAAiAFEAdQBpAGMAawBDAG8AbQBtAGEAbgBkAHMARABvAGMAawAAAAAA/////wAAAXIA////+wAAABwAUwBTAEgATQBhAG4AYQBnAGUAcgBEAG8AYwBrAAAAAAD/////AAABEQD///8AAAOPAAAB1AAAAAQAAAAEAAAACAAAAAj8AAAAAQAAAAIAAAACAAAAFgBtAGEAaQBuAFQAbwBvAGwAQgBhAHIAAAAAAP////8AAAAAAAAAAAAAABwAcwBlAHMAcwBpAG8AbgBUAG8AbwBsAGIAYQByAAAAAAD/////AAAAAAAAAAA=
|
||||||
|
ToolBarsMovable=Disabled
|
||||||
|
|||||||
+10
-2
@@ -3,7 +3,7 @@
|
|||||||
loadkeys us
|
loadkeys us
|
||||||
echo ----------------------------------------------------------------------------------------------
|
echo ----------------------------------------------------------------------------------------------
|
||||||
echo rwinkhart\'s artix install script
|
echo rwinkhart\'s artix install script
|
||||||
echo last updated december 07, 2023 \(rev. H\)
|
echo last updated december 19, 2023 \(rev. A\)
|
||||||
echo ----------------------------------------------------------------------------------------------
|
echo ----------------------------------------------------------------------------------------------
|
||||||
echo You will be asked some questions before installation.
|
echo You will be asked some questions before installation.
|
||||||
echo -e "----------------------------------------------------------------------------------------------\n"
|
echo -e "----------------------------------------------------------------------------------------------\n"
|
||||||
@@ -35,12 +35,20 @@ read -r -p "timezone: " timezone
|
|||||||
# start hardware detection
|
# start hardware detection
|
||||||
pacman -Sy bc --noconfirm
|
pacman -Sy bc --noconfirm
|
||||||
threadsminusone=$(echo "$(lscpu | grep 'CPU(s):' | awk 'FNR == 1 {print $2;}') - 1" | bc)
|
threadsminusone=$(echo "$(lscpu | grep 'CPU(s):' | awk 'FNR == 1 {print $2;}') - 1" | bc)
|
||||||
|
|
||||||
gpu=$(lspci | grep 'VGA compatible controller:' | awk 'FNR == 1 {print $5;}')
|
gpu=$(lspci | grep 'VGA compatible controller:' | awk 'FNR == 1 {print $5;}')
|
||||||
if ! ([ "$gpu" == 'NVIDIA' ] || [ "$gpu" == 'Intel' ]); then
|
if ! ([ "$gpu" == 'NVIDIA' ] || [ "$gpu" == 'Intel' ]); then
|
||||||
gpu=AMD
|
gpu=AMD
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ram=$(echo "$(< /proc/meminfo)" | grep 'MemTotal:' | awk '{print $2;}'); ram=$(echo "$ram / 1000000" | bc)
|
ram=$(echo "$(< /proc/meminfo)" | grep 'MemTotal:' | awk '{print $2;}'); ram=$(echo "$ram / 1000000" | bc)
|
||||||
|
|
||||||
interfaces=(/sys/class/net/*)
|
interfaces=(/sys/class/net/*)
|
||||||
|
|
||||||
|
res_detect=$(</sys/class/graphics/fb0/modes)
|
||||||
|
res_detect="${res_detect:2:${#res_detect}-5}"
|
||||||
|
res_x=$(printf "$res_detect" | cut -d 'x' -f1)
|
||||||
|
res_y_half=$(echo "$(echo "$res_detect" | cut -d 'x' -f2) / 2" | bc)
|
||||||
# stop hardware detection
|
# stop hardware detection
|
||||||
|
|
||||||
# start conditional questions
|
# start conditional questions
|
||||||
@@ -174,7 +182,7 @@ for int in "${interfaces[@]}"; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# create array of variables to pass to part 2
|
# create array of variables to pass to part 2
|
||||||
var_export=($formfactor $threadsminusone $gpu $boot $disk0 $username $userpassword $timezone $swap $intel_vaapi_driver)
|
var_export=($formfactor $threadsminusone $gpu $boot $disk0 $username $userpassword $timezone $swap $intel_vaapi_driver $res_x $res_y_half)
|
||||||
|
|
||||||
# download and initiate part 2
|
# download and initiate part 2
|
||||||
curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/chrootInstall.sh -o /mnt/chrootInstall.sh
|
curl https://raw.githubusercontent.com/rwinkhart/artix-install-script/main/chrootInstall.sh -o /mnt/chrootInstall.sh
|
||||||
|
|||||||
Executable
+32
@@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# set KONQUAKE_ID and KONQUAKE_STATUS
|
||||||
|
[ -f /tmp/konquakerc ] && . /tmp/konquakerc || { KONQUAKE_ID=1; KONQUAKE_STATUS=1; }
|
||||||
|
|
||||||
|
# if KONQUAKE_ID is associated with konsole
|
||||||
|
if [ "$(ps -p $KONQUAKE_ID -o comm=)" = 'konsole' ]; then
|
||||||
|
# toggle konsole window
|
||||||
|
if [ $KONQUAKE_STATUS -eq 0 ]; then
|
||||||
|
# set custom window title (to match window rule)
|
||||||
|
dbus-send --type=method_call --dest=org.kde.konsole-$KONQUAKE_ID /konsole/MainWindow_1 org.qtproject.Qt.QWidget.setWindowTitle string:konquake\ session
|
||||||
|
# show konsole window
|
||||||
|
dbus-send --type=method_call --dest=org.kde.konsole-$KONQUAKE_ID /konsole/MainWindow_1 org.qtproject.Qt.QWidget.show
|
||||||
|
KONQUAKE_STATUS=1
|
||||||
|
else
|
||||||
|
# hide konsole window
|
||||||
|
dbus-send --type=method_call --dest=org.kde.konsole-$KONQUAKE_ID /konsole/MainWindow_1 org.qtproject.Qt.QWidget.hide
|
||||||
|
KONQUAKE_STATUS=0
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
konsole -e zsh -c "printf $'\033]30;'konquake\ session$'\007' && exec zsh" &
|
||||||
|
# update KONQUAKE_ID for newest konsole instance
|
||||||
|
KONQUAKE_ID=$!
|
||||||
|
sleep .2
|
||||||
|
# hide konsole window
|
||||||
|
dbus-send --type=method_call --dest=org.kde.konsole-$KONQUAKE_ID /konsole/MainWindow_1 org.qtproject.Qt.QWidget.hide
|
||||||
|
# show konsole window
|
||||||
|
dbus-send --type=method_call --dest=org.kde.konsole-$KONQUAKE_ID /konsole/MainWindow_1 org.qtproject.Qt.QWidget.show
|
||||||
|
fi
|
||||||
|
|
||||||
|
# update /tmp/konquakerc with status information
|
||||||
|
printf "export KONQUAKE_ID=$KONQUAKE_ID\nexport KONQUAKE_STATUS=$KONQUAKE_STATUS" > /tmp/konquakerc
|
||||||
Reference in New Issue
Block a user