No description
Let the user execute custom commands on mode change, for example change wallpaper, terminal theme, etc. |
||
|---|---|---|
| .editorconfig | ||
| README.adoc | ||
| xfce4-night-mode-redshift.sh | ||
| xfce4-night-mode.sh | ||
= XFCE Night Mode Shell script that allows you to easily *switch between dark and light variants of the currently used themes*. When used as a https://docs.xfce.org/panel-plugins/xfce4-genmon-plugin[Generic Monitor (Genmon)] plugin, it will automatically switch at the times specified. image::https://i.imgur.com/UVSz6QB.gif[] *It is important to set the desired color schemes before use* (see Settings). * https://gitlab.com/bimlas/xfce4-night-mode (main repository) * https://github.com/bimlas/xfce4-night-mode (mirror, *please star if you like the plugin*) == Command line usage .... $ xfce4-night-mode.sh [day|night|toggle] .... *Parameters* `day`:: Use light variant `night`:: Use dark variant `toggle`:: Switch between light and dark variants Without parameters, it will use dark variant from sunset to sunrise according to the settings (see later). == Generic Monitor (Genmon) plugin usage * First you have to install `xfce4-genmon-plugin` package if it is not on your system * Add the monitor to the panel ** Right click on the panel ** Select _Panel -> Add new items_ ** Add _Generic Monitor_ plugin * Set up the generic monitor to use with night mode ** Right click on the newly added generic monitor -> _Properties_ ** Command: `/path/to/xfce4-night-mode.sh` ** Uncheck the checkbox of _Label_ ** Set _Period_ to `300` seconds (5 minutes) == Settings For settings, open the XFCE Settings Editor -> `night-mode` channel. To find out what values to enter, set the color schemes you want and copy them from the appropriate location: * GTK theme ** `xsettings/Net/ThemeName` * Icon theme ** `xsettings/Net/IconThemeName` * Cursor theme ** `xsettings/Gtk/CursorThemeName` * Window manager theme ** `xfwm4/general/theme` The specified `UserScript` will be executed when switching the mode, you can use this for example to change the theme of the terminal, set desktop wallpaper, etc. You can use the variable `XFCE_NIGHT_MODE` in your script if you want to use the same script in both cases, for example: .... #!/bin/bash notify-send --icon "dialog-info" "Mode: $XFCE_NIGHT_MODE" .... === Example `UserScript` ==== Change wallpaper First you have to find the property of the wallpaper (this could be different on multi-monitor setup) by executing the command below then changing the wallpaper in _Desktop_ setting. ``` xfconf-query --channel xfce4-desktop --monitor ``` You have to execute the command below to set up the wallpaper for this desktop. ``` xfconf-query --channel xfce4-desktop --property <property> --set </path/to/image.jpg> ``` ==== Change panel dark mode You have to execute the command below to change the panel mode opposite to the windows mode (light windows, dark panel). ``` xfconf-query --channel xfce4-panel --property /panels/dark-mode --set "$([ "$XFCE_NIGHT_MODE" = "day" ] && echo true || echo false)" ``` === Switch at a time specified by antoher program For example, to use http://jonls.dk/redshift/[Redshift] or another program to determine when it is night, use `xfce4-night-mode-redshift.sh` (or a modified version of it) instad of `xfce4-night-mode.sh` in "Generic Monitor plugin usage". == Changes === https://gitlab.com/bimlas/xfce4-night-mode/-/compare/v1.0.0\...v2.0.0[2.0.0] * Add options to change GTK, mouse, icon, and window manager theme ** *Breaking change*: You must set these before use