Skip to content

Commit 3b34583

Browse files
add numLock, recentFiles and windowButton for gnome, xfce and cinammon
1 parent 659a8bc commit 3b34583

3 files changed

Lines changed: 90 additions & 72 deletions

File tree

usr/share/biglinux/biglinux-settings/usability/numLock.sh

Lines changed: 46 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,19 @@ if [ "$1" == "check" ]; then
99
else
1010
echo "false"
1111
fi
12-
# elif [[ "$XDG_CURRENT_DESKTOP" == *"GNOME"* ]];then
13-
# if [[ "$someTest" == "true" ]];then
14-
# echo "true"
15-
# else
16-
# echo "false"
17-
# fi
18-
# elif [[ "$XDG_CURRENT_DESKTOP" == *"XFCE"* ]];then
19-
# if [[ "$someTest" == "true" ]];then
20-
# echo "true"
21-
# else
22-
# echo "false"
23-
# fi
12+
elif [[ "$XDG_CURRENT_DESKTOP" == *"GNOME"* ]];then
13+
numlock_state=$(gsettings get org.gnome.desktop.peripherals.keyboard numlock-state 2>/dev/null)
14+
if [[ "$numlock_state" == "true" ]]; then
15+
echo "true"
16+
else
17+
echo "false"
18+
fi
19+
elif [[ "$XDG_CURRENT_DESKTOP" == *"XFCE"* ]];then
20+
if [ -f "$HOME/.config/autostart/numlockx.desktop" ] && ! grep -q "Hidden=true" "$HOME/.config/autostart/numlockx.desktop" 2>/dev/null; then
21+
echo "true"
22+
else
23+
echo "false"
24+
fi
2425
elif [[ "$XDG_CURRENT_DESKTOP" == *"Cinnamon"* ]] || [[ "$XDG_CURRENT_DESKTOP" == *"X-Cinnamon"* ]];then
2526
recent_status=$(gsettings get org.cinnamon.desktop.peripherals.keyboard numlock-state)
2627
if [[ "$recent_status" == "true" ]]; then
@@ -36,31 +37,44 @@ if [ "$1" == "check" ]; then
3637
elif [ "$1" == "toggle" ]; then
3738
if [[ "$XDG_CURRENT_DESKTOP" == *"KDE"* ]] || [[ "$XDG_CURRENT_DESKTOP" == *"Plasma"* ]];then
3839
if [ "$2" == "true" ]; then
39-
pkexec kwriteconfig6 --group "General" --key "Numlock" --file "/etc/sddm.conf" "on"
40-
kwriteconfig6 --group "Keyboard" --key "NumLock" --file "$HOME/.config/kcminputrc" "0"
40+
pkexec kwriteconfig6 --group "General" --key "Numlock" --file "/etc/sddm.conf" "on"
41+
kwriteconfig6 --group "Keyboard" --key "NumLock" --file "$HOME/.config/kcminputrc" "0"
42+
else
43+
pkexec kwriteconfig6 --group "General" --key "Numlock" --file "/etc/sddm.conf" "off"
44+
kwriteconfig6 --group "Keyboard" --key "NumLock" --file "$HOME/.config/kcminputrc" "1"
45+
fi
46+
elif [[ "$XDG_CURRENT_DESKTOP" == *"GNOME"* ]];then
47+
if [[ "$2" == "true" ]];then
48+
gsettings set org.gnome.desktop.peripherals.keyboard remember-numlock-state true 2>/dev/null
49+
gsettings set org.gnome.desktop.peripherals.keyboard numlock-state true 2>/dev/null
50+
numlockx on 2>/dev/null
51+
else
52+
gsettings set org.gnome.desktop.peripherals.keyboard numlock-state false 2>/dev/null
53+
numlockx off 2>/dev/null
54+
fi
55+
elif [[ "$XDG_CURRENT_DESKTOP" == *"XFCE"* ]];then
56+
if [[ "$2" == "true" ]];then
57+
mkdir -p "$HOME/.config/autostart"
58+
cat > "$HOME/.config/autostart/numlockx.desktop" << 'EOF'
59+
[Desktop Entry]
60+
Type=Application
61+
Name=NumLock On
62+
Exec=numlockx on
63+
NoDisplay=true
64+
X-XFCE-Autostart-Override=true
65+
EOF
66+
numlockx on 2>/dev/null
4167
else
42-
pkexec kwriteconfig6 --group "General" --key "Numlock" --file "/etc/sddm.conf" "off"
43-
kwriteconfig6 --group "Keyboard" --key "NumLock" --file "$HOME/.config/kcminputrc" "1"
68+
rm -f "$HOME/.config/autostart/numlockx.desktop"
69+
numlockx off 2>/dev/null
4470
fi
45-
# elif [[ "$XDG_CURRENT_DESKTOP" == *"GNOME"* ]];then
46-
# if [[ "$2" == "true" ]];then
47-
# some command
48-
# else
49-
# some command
50-
# fi
51-
# elif [[ "$XDG_CURRENT_DESKTOP" == *"XFCE"* ]];then
52-
# if [[ "$2" == "true" ]];then
53-
# some command
54-
# else
55-
# some command
56-
# fi
5771
elif [[ "$XDG_CURRENT_DESKTOP" == *"Cinnamon"* ]] || [[ "$XDG_CURRENT_DESKTOP" == *"X-Cinnamon"* ]];then
5872
if [[ "$2" == "true" ]];then
59-
gsettings set org.cinnamon.desktop.peripherals.keyboard numlock-state true
60-
numlockx on
73+
gsettings set org.cinnamon.desktop.peripherals.keyboard numlock-state true
74+
numlockx on
6175
else
62-
gsettings set org.cinnamon.desktop.peripherals.keyboard numlock-state false
63-
numlockx off
76+
gsettings set org.cinnamon.desktop.peripherals.keyboard numlock-state false
77+
numlockx off
6478
fi
6579
fi
6680
exit $?

usr/share/biglinux/biglinux-settings/usability/recentFiles.sh

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,20 @@ if [ "$1" == "check" ]; then
2020
else
2121
echo "false"
2222
fi
23-
# elif [[ "$XDG_CURRENT_DESKTOP" == *"GNOME"* ]];then
24-
# if [[ "$someTest" == "true" ]];then
25-
# echo "true"
26-
# else
27-
# echo "false"
28-
# fi
29-
# elif [[ "$XDG_CURRENT_DESKTOP" == *"XFCE"* ]];then
30-
# if [[ "$someTest" == "true" ]];then
31-
# echo "true"
32-
# else
33-
# echo "false"
34-
# fi
23+
elif [[ "$XDG_CURRENT_DESKTOP" == *"GNOME"* ]];then
24+
remember=$(gsettings get org.gnome.desktop.privacy remember-recent-files 2>/dev/null)
25+
if [[ "$remember" == "true" ]]; then
26+
echo "true"
27+
else
28+
echo "false"
29+
fi
30+
elif [[ "$XDG_CURRENT_DESKTOP" == *"XFCE"* ]];then
31+
recent_enabled=$(xfconf-query -c xfce4-session -p /general/SaveOnExit 2>/dev/null)
32+
if [[ "$recent_enabled" == "true" ]]; then
33+
echo "true"
34+
else
35+
echo "false"
36+
fi
3537
elif [[ "$XDG_CURRENT_DESKTOP" == *"Cinnamon"* ]] || [[ "$XDG_CURRENT_DESKTOP" == *"X-Cinnamon"* ]];then
3638
recent_status=$(gsettings get org.cinnamon.desktop.privacy remember-recent-files)
3739
if [[ "$recent_status" == "true" ]]; then
@@ -51,23 +53,23 @@ elif [ "$1" == "toggle" ]; then
5153
else
5254
$PWD/usability/recentFilesRun.sh "disable" #"$USER" "$DISPLAY" "$XAUTHORITY" "$DBUS_SESSION_BUS_ADDRESS" "$LANG" "$LANGUAGE"
5355
fi
54-
# elif [[ "$XDG_CURRENT_DESKTOP" == *"GNOME"* ]];then
55-
# if [ "$2" == "true" ]; then
56-
# some command
57-
# else
58-
# some command
59-
# fi
60-
# elif [[ "$XDG_CURRENT_DESKTOP" == *"XFCE"* ]];then
61-
# if [ "$2" == "true" ]; then
62-
# some command
63-
# else
64-
# some command
65-
# fi
56+
elif [[ "$XDG_CURRENT_DESKTOP" == *"GNOME"* ]];then
57+
if [ "$2" == "true" ]; then
58+
gsettings set org.gnome.desktop.privacy remember-recent-files true
59+
else
60+
gsettings set org.gnome.desktop.privacy remember-recent-files false
61+
fi
62+
elif [[ "$XDG_CURRENT_DESKTOP" == *"XFCE"* ]];then
63+
if [ "$2" == "true" ]; then
64+
xfconf-query -c xfce4-session -p /general/SaveOnExit -s true 2>/dev/null
65+
else
66+
xfconf-query -c xfce4-session -p /general/SaveOnExit -s false 2>/dev/null
67+
fi
6668
elif [[ "$XDG_CURRENT_DESKTOP" == *"Cinnamon"* ]] || [[ "$XDG_CURRENT_DESKTOP" == *"X-Cinnamon"* ]];then
6769
if [ "$2" == "true" ]; then
68-
gsettings set org.cinnamon.desktop.privacy remember-recent-files true
70+
gsettings set org.cinnamon.desktop.privacy remember-recent-files true
6971
else
70-
gsettings set org.cinnamon.desktop.privacy remember-recent-files false
72+
gsettings set org.cinnamon.desktop.privacy remember-recent-files false
7173
fi
7274
fi
7375
exit $?

usr/share/biglinux/biglinux-settings/usability/windowButtonOnLeftSide.sh

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@ if [ "$1" == "check" ]; then
99
else
1010
echo "false"
1111
fi
12-
# elif [[ "$XDG_CURRENT_DESKTOP" == *"GNOME"* ]];then
13-
# if [[ "$(LANG=C some Command)" == "true" ]];then #or if some Command &>/dev/null;then # if command response exit 0
14-
# echo "true"
15-
# else
16-
# echo "false"
17-
# fi
12+
elif [[ "$XDG_CURRENT_DESKTOP" == *"GNOME"* ]];then
13+
current=$(gsettings get org.gnome.desktop.wm.preferences button-layout 2>/dev/null)
14+
if [[ "$current" == *"close,minimize,maximize:"* ]]; then
15+
echo "true"
16+
else
17+
echo "false"
18+
fi
1819
elif [[ "$XDG_CURRENT_DESKTOP" == *"XFCE"* ]];then
1920
if [ -n "$(grep SHMC $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml)" ];then
2021
echo "true"
@@ -50,16 +51,17 @@ elif [ "$1" == "toggle" ]; then
5051
kwriteconfig6 --group "org.kde.kdecoration2" --key "ButtonsOnRight" --file "$HOME/.config/kwinrc" "IAX"
5152
qdbus org.kde.KWin /KWin org.kde.KWin.reconfigure
5253
fi
53-
# elif [[ "$XDG_CURRENT_DESKTOP" == *"GNOME"* ]];then
54-
# if [ "$2" == "true" ]; then
55-
# some command
56-
# else
57-
# some command
58-
# fi
59-
elif [ -n "$(grep SHMC $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml)" ];then
54+
elif [[ "$XDG_CURRENT_DESKTOP" == *"GNOME"* ]];then
55+
if [ "$2" == "true" ]; then
56+
gsettings set org.gnome.desktop.wm.preferences button-layout "close,minimize,maximize:"
57+
else
58+
gsettings set org.gnome.desktop.wm.preferences button-layout ":minimize,maximize,close"
59+
fi
60+
elif [[ "$XDG_CURRENT_DESKTOP" == *"XFCE"* ]];then
6061
if [ "$2" == "true" ]; then
61-
xfconf-query -c xfwm4 -p /general/button_layout -s "CMH|SO"
62+
xfconf-query -c xfwm4 -p /general/button_layout -s "CMH|SO"
6263
else
64+
xfconf-query -c xfwm4 -p /general/button_layout -s "O|SHMC"
6365
fi
6466
export TEXTDOMAINDIR="/usr/share/locale"
6567
export TEXTDOMAIN=biglinux-settings

0 commit comments

Comments
 (0)