mirror of
https://github.com/rwinkhart/artix-install-script.git
synced 2026-08-28 04:46:27 -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]}
|
||||
swap=${args[8]}
|
||||
intel_vaapi_driver=${args[9]}
|
||||
res_x=${args[10]}
|
||||
res_y_half=${args[11]}
|
||||
|
||||
# configuring locale and clock Settings
|
||||
echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen
|
||||
@@ -114,28 +116,30 @@ chmod 755 /home/"$username"/{.config,.local/share}
|
||||
|
||||
## KDE Plasma
|
||||
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
|
||||
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/konsolerc -o /home/"$username"/.config/konsolerc
|
||||
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
|
||||
|
||||
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 "[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/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
|
||||
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
|
||||
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
|
||||
if [ "$formfactor" == 1 ]; then
|
||||
|
||||
Regular → Executable
+5
@@ -3,3 +3,8 @@ DefaultProfile=Custom.profile
|
||||
|
||||
[General]
|
||||
ConfigVersion=1
|
||||
|
||||
[MainWindow]
|
||||
MenuBar=Disabled
|
||||
State=AAAA/wAAAAD9AAAAAQAAAAAAAAAAAAAAAPwCAAAAAvsAAAAiAFEAdQBpAGMAawBDAG8AbQBtAGEAbgBkAHMARABvAGMAawAAAAAA/////wAAAXIA////+wAAABwAUwBTAEgATQBhAG4AYQBnAGUAcgBEAG8AYwBrAAAAAAD/////AAABEQD///8AAAOPAAAB1AAAAAQAAAAEAAAACAAAAAj8AAAAAQAAAAIAAAACAAAAFgBtAGEAaQBuAFQAbwBvAGwAQgBhAHIAAAAAAP////8AAAAAAAAAAAAAABwAcwBlAHMAcwBpAG8AbgBUAG8AbwBsAGIAYQByAAAAAAD/////AAAAAAAAAAA=
|
||||
ToolBarsMovable=Disabled
|
||||
|
||||
+10
-2
@@ -3,7 +3,7 @@
|
||||
loadkeys us
|
||||
echo ----------------------------------------------------------------------------------------------
|
||||
echo rwinkhart\'s artix install script
|
||||
echo last updated december 07, 2023 \(rev. H\)
|
||||
echo last updated december 19, 2023 \(rev. A\)
|
||||
echo ----------------------------------------------------------------------------------------------
|
||||
echo You will be asked some questions before installation.
|
||||
echo -e "----------------------------------------------------------------------------------------------\n"
|
||||
@@ -35,12 +35,20 @@ read -r -p "timezone: " timezone
|
||||
# start hardware detection
|
||||
pacman -Sy bc --noconfirm
|
||||
threadsminusone=$(echo "$(lscpu | grep 'CPU(s):' | awk 'FNR == 1 {print $2;}') - 1" | bc)
|
||||
|
||||
gpu=$(lspci | grep 'VGA compatible controller:' | awk 'FNR == 1 {print $5;}')
|
||||
if ! ([ "$gpu" == 'NVIDIA' ] || [ "$gpu" == 'Intel' ]); then
|
||||
gpu=AMD
|
||||
fi
|
||||
|
||||
ram=$(echo "$(< /proc/meminfo)" | grep 'MemTotal:' | awk '{print $2;}'); ram=$(echo "$ram / 1000000" | bc)
|
||||
|
||||
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
|
||||
|
||||
# start conditional questions
|
||||
@@ -174,7 +182,7 @@ for int in "${interfaces[@]}"; do
|
||||
done
|
||||
|
||||
# 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
|
||||
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