diff --git a/roles/i3/files/config b/roles/i3/files/config index 390f39e..393d371 100644 --- a/roles/i3/files/config +++ b/roles/i3/files/config @@ -17,7 +17,7 @@ exec --no-startup-id dex --autostart --environment i3 # xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the # screen before suspend. Use loginctl lock-session to lock your screen. -exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork +exec --no-startup-id xss-lock --transfer-sleep-lock -- ~/.config/i3/scripts/lock.sh # NetworkManager is the most popular way to manage wireless networks on Linux, # and nm-applet is a desktop environment-independent system tray GUI for it. @@ -142,8 +142,7 @@ bar { focus_follows_mouse no -bindsym $mod+Escape exec i3lock - +# Screen picker set $mode_screen Screen layout: [h]ome [m]obile bindsym $mod+s mode "$mode_screen" mode "$mode_screen" { @@ -153,3 +152,16 @@ mode "$mode_screen" { bindsym Escape mode "default" bindsym Return mode "default" } + +# Session options +set $mode_session Session option: [l]ock [r]eboot [s]uspend [p]oweroff +bindsym $mod+Escape mode "$mode_session" +mode "$mode_session" { + bindsym l exec --no-startup-id "loginctl lock-session", mode "default" + bindsym r exec --no-startup-id "systemctl reboot", mode "default" + bindsym s exec --no-startup-id "systemctl suspend", mode "default" + bindsym p exec --no-startup-id "systemctl poweroff", mode "default" + + bindsym Escape mode "default" + bindsym Return mode "default" +} diff --git a/roles/i3/files/scripts/lock.sh b/roles/i3/files/scripts/lock.sh new file mode 100755 index 0000000..dbf3d76 --- /dev/null +++ b/roles/i3/files/scripts/lock.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +SCREEN_RESOLUTION="$(xdpyinfo | grep dimensions | cut -d' ' -f7)" +BGCOLOR="000000" +convert "/home/pim/Pictures/wallpapers/orphans.png" -gravity Center -background \#$BGCOLOR -resize "$SCREEN_RESOLUTION" RGB:- | i3lock --raw "$SCREEN_RESOLUTION":rgb -c $BGCOLOR -i /dev/stdin --nofork diff --git a/roles/i3/tasks/main.yml b/roles/i3/tasks/main.yml index 935b35f..0fd30da 100644 --- a/roles/i3/tasks/main.yml +++ b/roles/i3/tasks/main.yml @@ -7,6 +7,7 @@ - i3lock - rofi - nitrogen + - xss-lock - name: Create i3 config directory file: path: ~/.config/i3 diff --git a/roles/system/tasks/main.yml b/roles/system/tasks/main.yml index 187f944..e805ed8 100644 --- a/roles/system/tasks/main.yml +++ b/roles/system/tasks/main.yml @@ -15,6 +15,7 @@ - wireshark - units - unrar + - vim - name: Install .gitconfig template: src: "{{ role_path }}/templates/.gitconfig.j2"