From e3ad8501ed50167487441172b5666882d25269e9 Mon Sep 17 00:00:00 2001 From: Miquel Sabaté Solà Date: Thu, 3 Dec 2020 09:14:14 +0100 Subject: Improved locking of screen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Miquel Sabaté Solà --- .i3/config | 11 +++++------ bin/lock.sh | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 6 deletions(-) create mode 100755 bin/lock.sh diff --git a/.i3/config b/.i3/config index 8b37bfc..586eac5 100644 --- a/.i3/config +++ b/.i3/config @@ -59,8 +59,8 @@ bindsym $mod+v split v # enter fullscreen mode for the focused container bindsym $mod+f fullscreen -# Cool lock. Thanks franky! -bindsym $mod+l exec xlock -mode eyes +# Execute my own lock and setup xautolock for it. +bindsym $mod+l exec ~/bin/lock.sh # change container layout (stacked, tabbed, toggle split) bindsym $mod+s layout stacking @@ -149,10 +149,6 @@ bindsym $mod+Shift+z move container to workspace back_and_forth; workspace back_ # mouse and click to get focus if I'm using it. focus_follows_mouse no -# Bindings for specific applications. -bindsym $mod+Shift+f [class="Firefox"] focus -bindsym $mod+Shift+t [class="Tor"] focus - # Scrot bindsym Print exec scrot -u @@ -236,6 +232,9 @@ exec --no-startup-id xset b off exec --no-startup-id xset -dpms exec --no-startup-id xset s off +# Enforce mi layout on startup +exec --no-startup-id setxkbmap mi + # Network manager # NOTE: uncomment this if you are in a laptop # exec --no-startup-id nm-applet diff --git a/bin/lock.sh b/bin/lock.sh new file mode 100755 index 0000000..26397d5 --- /dev/null +++ b/bin/lock.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# Copyright (C) 2020 Miquel Sabaté Solà +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +icon="$HOME/doc/imatges/lock.png" +tmpbg='/tmp/screen.png' + +# Take a screenshot, then convert do fancy stuff to make it fuzzy, and then set +# the lock icon at the center + +scrot "$tmpbg" +convert "$tmpbg" -scale 10% -scale 1000% "$tmpbg" + +convert "$tmpbg" "$icon" -geometry +650+300 -composite -matte "$tmpbg" +# convert "$tmpbg" "$icon" -gravity center -composite -matte "$tmpbg" # NOTE: On the laptop + +i3lock -e -n -i "$tmpbg" + +# Turn the screen of after some delay. +sleep 60; pgrep i3lock && xset dpms force off -- cgit v1.2.3