From b59b0c52e11f8f0e03cfbd0ad35eb7a2597018eb Mon Sep 17 00:00:00 2001 From: q3aql Date: Sun, 12 Dec 2021 17:54:28 +0100 Subject: [PATCH] Dotfiles config update (2021-12-12) --- .config/sway/config | 8 +-- .config/sway/down-screen.sh | 40 +++++++++------ .config/sway/startwlrrandr.sh | 17 +++---- .config/sway/startwlrscreensaver.sh | 76 +++++++++++++++++++++++++++++ README-i3-i3blocks.md | 2 +- README-i3-polybar.md | 2 +- README-i3.md | 2 +- README-sway.md | 20 ++++++-- 8 files changed, 131 insertions(+), 36 deletions(-) create mode 100755 .config/sway/startwlrscreensaver.sh diff --git a/.config/sway/config b/.config/sway/config index 406f620..8191491 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -40,8 +40,8 @@ exec --no-startup-id ~/.config/sway/startwlrrandr.sh & # Configure wallpaper exec --no-startup-id "swaybg -i ~/wallpapers/dark-city.jpg -m fill" -# Configure xscreensaver (don't work on Wayland) -exec --no-startup-id "sleep 5 && xscreensaver &" +# Start Screensaver (Also Super+Ctrl+Shift+l to poweroff/start screen) +exec --no-startup-id ~/.config/sway/startwlrscreensaver.sh # Clipboard (Diodon) exec --no-startup-id diodon & @@ -118,14 +118,14 @@ bindsym $mod+Ctrl+Shift+l exec --no-startup-id $swaylockwall # close session #bindsym Mod1+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" -bindsym Mod1+Shift+e exec "swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'swaymsg exit'" +bindsym Mod1+Shift+e exec "swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit Sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'" # shutdown / restart / suspend... set $mode_system System (l) lock, (e) logout, (r) reboot, (CTRL+s) shutdown mode "$mode_system" { bindsym l exec --no-startup-id $swaylockwall, mode "default" - bindsym e exec --no-startup-id i3-msg exit, mode "default" + bindsym e exec --no-startup-id swaymsg exit, mode "default" bindsym r exec --no-startup-id /sbin/reboot, mode "default" bindsym Ctrl+s exec --no-startup-id /sbin/poweroff, mode "default" diff --git a/.config/sway/down-screen.sh b/.config/sway/down-screen.sh index bf8ed78..c646fc5 100755 --- a/.config/sway/down-screen.sh +++ b/.config/sway/down-screen.sh @@ -1,19 +1,29 @@ #!/bin/bash -############################################################### -# down-daemon (down-screen) - Daemon to shutdown the screen # -# Date: 19-11-2020 # -# Author: q3aql # -# Contact: q3aql@duck.com # -############################################################### -VERSION="1.0" -M_DATE="191120" +###################################################### +# down-screen - Script for sleep and resume monitors # +# Date: 12-12-2021 # +# Author: q3aql # +# Contact: q3aql@duck.com # +###################################################### -# Variable -endProcess=0 +# Load script for sleep and resume monitors +LoadScriptScreensaver="${HOME}/.config/sway/startwlrscreensaver.sh" -# Run screensaver -sleep 3 -echo "* Forcing screen to shutdown..." -#xset dpms force off -xscreensaver-command -prev +# Create or read init file +stateFile="${HOME}/.config/sway/screen-state" +if [ -f ${stateFile} ] ; then + echo "Screen State file detected" +else + echo "resume" > ${stateFile} +fi + +# Boot parameters +current_state=$(cat ${stateFile}) +if [ "${current_state}" == "resume" ] ; then + bash "${LoadScriptScreensaver}" sleep + echo "sleep" > ${stateFile} +elif [ "${current_state}" == "sleep" ] ; then + bash "${LoadScriptScreensaver}" resume + echo "resume" > ${stateFile} +fi diff --git a/.config/sway/startwlrrandr.sh b/.config/sway/startwlrrandr.sh index e7e63d2..1a7499e 100755 --- a/.config/sway/startwlrrandr.sh +++ b/.config/sway/startwlrrandr.sh @@ -1,15 +1,12 @@ #!/bin/bash -scan_rel=0 +# Ignore sleep when run script from startwlrscreensaver.sh +if [ "${1}" == "screensaver" ] ; then + echo "Load monitor configuration quickly" +else + sleep 2 +fi -sleep 2 -#while [ ${scan_rel} -eq 0 ] ; do - # Primer monitor - #wlr-randr --output DP-1 --custom-mode 1280x1024@75Hz --pos 288,0 - # Segundo monitor - #wlr-randr --output DP-2 --custom-mode 1280x1024@75Hz --transform 90 --pos 1568,0 - #sleep 2 -#done -sleep 2 +# Configuration for your monitor(s). Use wlr-randr and/or wdisplays for help wlr-randr --output DP-1 --custom-mode 1280x1024@75Hz --pos 288,0 wlr-randr --output DP-2 --custom-mode 1280x1024@75Hz --transform 90 --pos 1568,0 diff --git a/.config/sway/startwlrscreensaver.sh b/.config/sway/startwlrscreensaver.sh new file mode 100755 index 0000000..fcaef62 --- /dev/null +++ b/.config/sway/startwlrscreensaver.sh @@ -0,0 +1,76 @@ +#!/bin/bash + +# Basic configuration variables +ScreensaverTime="900" # 15 minutes +monitorOne="DP-1" # First monitor +monitorTwo="DP-2" # Second monitor +monitorThree="" # Third monitor + +# Load script for load monitors config quickly from resume +LoadConfigResume="${HOME}/.config/sway/startwlrrandr.sh" + +# Function for sleep monitors +function sleepMonitors() { + # Check monitor 3 + if [ -z "${monitorThree}" ] ; then + echo "Monitor 3 is empty or disabled" + else + echo "Sleep monitor 3" + wlr-randr --output ${monitorThree} --off + fi + # Check monitor 2 + if [ -z "${monitorTwo}" ] ; then + echo "Monitor 2 is empty or disabled" + else + echo "Sleep monitor 2" + wlr-randr --output ${monitorTwo} --off + fi + # Check monitor 1 + if [ -z "${monitorOne}" ] ; then + echo "Monitor 1 is empty or disabled" + else + echo "Sleep monitor 1" + wlr-randr --output ${monitorOne} --off + fi +} + +# Function for resume monitors +function resumeMonitors() { + # Check monitor 3 + if [ -z "${monitorThree}" ] ; then + echo "Monitor 3 is empty or disabled" + else + echo "Resume monitor 3" + wlr-randr --output ${monitorThree} --on + fi + # Check monitor 2 + if [ -z "${monitorTwo}" ] ; then + echo "Monitor 2 is empty or disabled" + else + echo "Resume monitor 2" + wlr-randr --output ${monitorTwo} --on + fi + # Check monitor 1 + if [ -z "${monitorOne}" ] ; then + echo "Monitor 1 is empty or disabled" + else + echo "Resume monitor 1" + wlr-randr --output ${monitorOne} --on + fi + # Load monitors config quickly + bash ${LoadConfigResume} screensaver +} + +# Boot parameters +if [ -z "${1}" ] ; then + # Kill previous process + echo "Trying to kill previous process" + killall -9 swayidle + # Init swayidle command + swayidle timeout ${ScreensaverTime} "bash ${0} sleep" resume "bash ${0} resume" +elif [ "${1}" == "sleep" ] ; then + sleepMonitors +elif [ "${1}" == "resume" ] ; then + resumeMonitors +fi + diff --git a/README-i3-i3blocks.md b/README-i3-i3blocks.md index 07694e3..ae4ee98 100644 --- a/README-i3-i3blocks.md +++ b/README-i3-i3blocks.md @@ -135,7 +135,7 @@ My list of extra combinations: - Volume-Down = Volume -5 - VolumeMute = Mute Volume - Super + Ctrl + Shift + e = Poweroff screen - - Super + Shit + e = Logout + - Super + Shift + e = Logout - Super + Backspace = Open menu Logout/Lock/Reboot/Shutdown ### External links: diff --git a/README-i3-polybar.md b/README-i3-polybar.md index 6da4b4b..cdc9f07 100644 --- a/README-i3-polybar.md +++ b/README-i3-polybar.md @@ -124,7 +124,7 @@ My list of extra combinations: - Volume-Down = Volume -5 - VolumeMute = Mute Volume - Super + Ctrl + Shift + e = Poweroff screen - - Super + Shit + e = Logout + - Super + Shift + e = Logout - Super + Backspace = Open menu Logout/Lock/Reboot/Shutdown ### External links: diff --git a/README-i3.md b/README-i3.md index 66d849c..ababdf9 100644 --- a/README-i3.md +++ b/README-i3.md @@ -123,7 +123,7 @@ My list of extra combinations: - Volume-Down = Volume -5 - VolumeMute = Mute Volume - Super + Ctrl + Shift + e = Poweroff screen - - Super + Shit + e = Logout + - Super + Shift + e = Logout - Super + Backspace = Open menu Logout/Lock/Reboot/Shutdown ### External links: diff --git a/README-sway.md b/README-sway.md index 70fdce6..c9d1b99 100644 --- a/README-sway.md +++ b/README-sway.md @@ -74,12 +74,24 @@ dotfiles - My tiling sway configuration (for Devuan/Debian) * Use the command `wlr-randr` for show your config & edit the file `~/.config/sway/startwlrrandr.sh`: ```shell - sleep 2 wlr-randr --output DP-1 --custom-mode 1280x1024@75Hz --pos 288,0 wlr-randr --output DP-2 --custom-mode 1280x1024@75Hz --transform 90 --pos 1568,0 ```` - * **`Wallpaper:`** + * **`Screensaver:`** + + * The configuration file use my monitor configuration and set the time in 15 minutes: + * Use the command `wlr-randr` for show your monitors & edit the file `~/.config/sway/startwlrscreensaver.sh`: + + ```shell + # Basic configuration variables + ScreensaverTime="900" # 15 minutes + monitorOne="DP-1" # First monitor + monitorTwo="DP-2" # Second monitor + monitorThree="" # Third monitor + ```` + + * **`Wallpaper:`** * By default, the config load wallpaper on `~/wallpapers/dark-city.jpg`: * Edit `~/.config/sway/config` for set your favorite wallpaper: @@ -123,8 +135,8 @@ My list of extra combinations: - Volume-Up = Volume +5 - Volume-Down = Volume -5 - VolumeMute = Mute Volume - - Super + Ctrl + Shift + e = Poweroff screen - - Super + Shit + e = Logout + - Super + Ctrl + Shift + l = Poweroff/Start screen (Screensaver step needed) + - Super + Shift + e = Logout - Super + Backspace = Open menu Logout/Reboot/Shutdown ### External links: