feat: use kitty auto dark mode added in 0.38.0

This commit is contained in:
grassblock 2025-01-01 11:23:15 +08:00
parent 4563589831
commit 2976fbab63
10 changed files with 63 additions and 18 deletions

View file

@ -1,11 +1,13 @@
# themes # themes
include ./themes.conf # outdated: https://sw.kovidgoyal.net/kitty/kittens/themes/#change-color-themes-automatically-when-the-os-switches-between-light-and-dark
# include ./current-theme.conf
# the old way # the old way
#include ./nord.conf #include ./nord.conf
# bg opacity & blur # bg opacity & blur
background_opacity 0.8 background_opacity 0.7
background_blur 16 background_blur 16
# fonts # fonts

View file

@ -0,0 +1 @@
/home/grassblock/.config/kitty/themes/nord-dark.conf

View file

@ -0,0 +1 @@
/home/grassblock/.config/kitty/themes/nord-light.conf

View file

@ -0,0 +1 @@
/home/grassblock/.config/kitty/themes/nord-dark.conf

View file

@ -1,6 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# add a detection to prevent exec scripts on every login
#if [[ "$(darkman get)" =~ "light" ]] ; then
# trigger a small, passive popup dialog to inform the user about darkman's activity # trigger a small, passive popup dialog to inform the user about darkman's activity
# reference https://wiki.archlinux.org/title/Desktop_notifications#Usage_in_programming # reference https://wiki.archlinux.org/title/Desktop_notifications#Usage_in_programming
notify-send --app-name="darkman" --urgency=low --icon=weather-clear-night "switching to dark mode" notify-send --app-name="darkman" --urgency=low --icon=weather-clear-night "switching to dark mode"
#fi

View file

@ -1,5 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# add a detection to prevent exec scripts on every login
#if [[ "$(darkman get)" =~ "light" ]] ; then
# Change the global Plasma Theme. On Manjaro you can use "org.manjaro.breath-dark.desktop" # Change the global Plasma Theme. On Manjaro you can use "org.manjaro.breath-dark.desktop"
# or you can create your own global Plasma Theme with the "Plasma Look And Feel Explorer". # or you can create your own global Plasma Theme with the "Plasma Look And Feel Explorer".
# Reference: https://userbase.kde.org/Plasma/Create_a_Global_Theme_Package # Reference: https://userbase.kde.org/Plasma/Create_a_Global_Theme_Package
@ -10,12 +12,6 @@
# Global Theme # Global Theme
lookandfeeltool -platform offscreen --apply "Utterly-Nord" lookandfeeltool -platform offscreen --apply "Utterly-Nord"
# Window decoration
# https://askubuntu.com/questions/1183294/switching-plasma-theme-from-the-command-line
kwriteconfig6 --file ~/.config/kwinrc --group org.kde.kdecoration2 --key library org.kde.klassy
kwriteconfig6 --file ~/.config/kwinrc --group org.kde.kdecoration2 --key theme Klassy
# Icon theme # Icon theme
/usr/lib/plasma-changeicons Papirus-Dark /usr/lib/plasma-changeicons Papirus-Dark
@ -26,9 +22,25 @@ flatpak run --command="gradience-cli" com.github.GradienceTeam.Gradience apply -
# https://reddit.com/r/kde/comments/f7wemr/how_change_application_style_without_system/ # https://reddit.com/r/kde/comments/f7wemr/how_change_application_style_without_system/
kwriteconfig6 --file kdeglobals --group KDE --key widgetStyle Lightly kwriteconfig6 --file kdeglobals --group KDE --key widgetStyle Lightly
# Window decoration
# https://askubuntu.com/questions/1183294/switching-plasma-theme-from-the-command-line
kwriteconfig6 --file ~/.config/kwinrc --group org.kde.kdecoration2 --key library org.kde.klassy
kwriteconfig6 --file ~/.config/kwinrc --group org.kde.kdecoration2 --key theme Klassy
# cursorTheme # cursorTheme
# https://askubuntu.com/questions/1025338/how-can-i-set-the-cursor-theme-on-kde-plasma-5-programmatically # https://askubuntu.com/questions/1025338/how-can-i-set-the-cursor-theme-on-kde-plasma-5-programmatically
kwriteconfig6 --file ~/.config/kcminputrc --group Mouse --key cursorTheme Bibata-Modern-Ice kwriteconfig6 --file ~/.config/kcminputrc --group Mouse --key cursorTheme Bibata-Modern-Ice
# make kwin to reload config
# https://invent.kde.org/plasma/kwin/-/blob/master/src/kcms/decoration/kwin-applywindowdecoration.cpp#L95
# https://develop.kde.org/docs/plasma/kwin/#installation
dbus-send --session --type=signal /Kwin org.kde.KWin.reloadConfig
qdbus org.kde.KWin /KWin org.kde.KWin.reconfigure
# notify # notify
notify-send --app-name="darkman" --urgency=low --icon=weather-clear "theme switch success. to make them fully take effect, please logout and login again." notify-send --app-name="darkman" --urgency=low --icon=weather-clear "theme switch success. to make them fully take effect, please logout and login again."
#else
# echo "The global theme has been already switched, skipping"
#fi

View file

@ -1,7 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# add a detection to prevent exec scripts on every login
#if [[ "$(darkman get)" =~ "light" ]] ; then
# GTK apps are not affected by the Plasma Global Theme, which only applies to Qt based programs. # GTK apps are not affected by the Plasma Global Theme, which only applies to Qt based programs.
# GTK themes can be installed here: Global Theme > Application Style > Configure GNOME/GTK Application Style. # GTK themes can be installed here: Global Theme > Application Style > Configure GNOME/GTK Application Style.
# Reference: https://wiki.archlinux.org/title/Uniform_look_for_Qt_and_GTK_applications # Reference: https://wiki.archlinux.org/title/Uniform_look_for_Qt_and_GTK_applications
dbus-send --session --dest=org.kde.GtkConfig --type=method_call /GtkConfig org.kde.GtkConfig.setGtkTheme "string:Nordic-bluish-dark" dbus-send --session --dest=org.kde.GtkConfig --type=method_call /GtkConfig org.kde.GtkConfig.setGtkTheme "string:Nordic-bluish-dark"
#else
# echo "The GTK theme has been already switched, skipping"
#fi

View file

@ -1,6 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# add a detection to prevent exec scripts on every login
#if [[ "$(darkman get)" =~ "dark" ]]; then
# trigger a small, passive popup dialog to inform the user about darkman's activity # trigger a small, passive popup dialog to inform the user about darkman's activity
# reference https://wiki.archlinux.org/title/Desktop_notifications#Usage_in_programming # reference https://wiki.archlinux.org/title/Desktop_notifications#Usage_in_programming
notify-send --app-name="darkman" --urgency=low --icon=weather-clear "switching to light mode" notify-send --app-name="darkman" --urgency=low --icon=weather-clear "switching to light mode"
#fi

View file

@ -1,5 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# add a detection to prevent exec scripts on every login
#if [[ "$(darkman get)" =~ "dark" ]] ; then
# Change the global Plasma Theme. On Manjaro you can use "org.manjaro.breath-light.desktop" # Change the global Plasma Theme. On Manjaro you can use "org.manjaro.breath-light.desktop"
# or you can create your own global Plasma Theme with the "Plasma Look And Feel Explorer". # or you can create your own global Plasma Theme with the "Plasma Look And Feel Explorer".
# Reference: https://userbase.kde.org/Plasma/Create_a_Global_Theme_Package # Reference: https://userbase.kde.org/Plasma/Create_a_Global_Theme_Package
@ -10,12 +12,6 @@
# Global Theme # Global Theme
lookandfeeltool -platform offscreen --apply "Utterly-Nord-Light" lookandfeeltool -platform offscreen --apply "Utterly-Nord-Light"
# Window decoration
# https://askubuntu.com/questions/1183294/switching-plasma-theme-from-the-command-line
kwriteconfig6 --file ~/.config/kwinrc --group org.kde.kdecoration2 --key library org.kde.klassy
kwriteconfig6 --file ~/.config/kwinrc --group org.kde.kdecoration2 --key theme Klassy
# Icon theme # Icon theme
/usr/lib/plasma-changeicons Papirus-Light /usr/lib/plasma-changeicons Papirus-Light
@ -25,5 +21,20 @@ flatpak run --command="gradience-cli" com.github.GradienceTeam.Gradience apply -
# application style # application style
kwriteconfig6 --file kdeglobals --group KDE --key widgetStyle Lightly kwriteconfig6 --file kdeglobals --group KDE --key widgetStyle Lightly
# Window decoration
# https://askubuntu.com/questions/1183294/switching-plasma-theme-from-the-command-line
kwriteconfig6 --file ~/.config/kwinrc --group org.kde.kdecoration2 --key library org.kde.klassy
kwriteconfig6 --file ~/.config/kwinrc --group org.kde.kdecoration2 --key theme Klassy
# make kwin to reload config
# https://invent.kde.org/plasma/kwin/-/blob/master/src/kcms/decoration/kwin-applywindowdecoration.cpp#L95
# https://develop.kde.org/docs/plasma/kwin/#installation
dbus-send --session --type=signal /Kwin org.kde.KWin.reloadConfig
qdbus org.kde.KWin /KWin org.kde.KWin.reconfigure
# notify # notify
notify-send --app-name="darkman" --urgency=low --icon=weather-clear "theme switch success. to make them fully take effect, please logout and login again." notify-send --app-name="darkman" --urgency=low --icon=weather-clear "theme switch success. to make them fully take effect, please logout and login again."
#else
# echo "The global theme has been already switched,skipping"
#fi

View file

@ -1,7 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# add a detection to prevent exec scripts on every login
#if [[ "$(darkman get)" =~ "dark" ]] ; then
# GTK apps are not affected by the Plasma Global Theme, which only applies to Qt based programs. # GTK apps are not affected by the Plasma Global Theme, which only applies to Qt based programs.
# GTK themes can be installed here: Global Theme > Application Style > Configure GNOME/GTK Application Style. # GTK themes can be installed here: Global Theme > Application Style > Configure GNOME/GTK Application Style.
# Reference: https://wiki.archlinux.org/title/Uniform_look_for_Qt_and_GTK_applications # Reference: https://wiki.archlinux.org/title/Uniform_look_for_Qt_and_GTK_applications
dbus-send --session --dest=org.kde.GtkConfig --type=method_call /GtkConfig org.kde.GtkConfig.setGtkTheme "string:Graphite-Light-nord" dbus-send --session --dest=org.kde.GtkConfig --type=method_call /GtkConfig org.kde.GtkConfig.setGtkTheme "string:Graphite-Light-nord"
#else
# echo "The GTK theme has been already switched, skipping"
#fi