From 95568e0181a9a7eff46cabf1ee4ff73cce5c902b Mon Sep 17 00:00:00 2001 From: Lucien Cartier-Tilet Date: Thu, 5 Dec 2019 16:01:37 +0100 Subject: [PATCH] Fixed some configuration lines for i3 The focus_follows_mouse line had a typo which prevented the option to be off. The launch shortcut that use the variables were also broken, fixed that --- .config/i3/README.org | 80 +++++++---- .config/i3/config##yadm.j2 | 271 +++++++++++++++++++------------------ 2 files changed, 191 insertions(+), 160 deletions(-) diff --git a/.config/i3/README.org b/.config/i3/README.org index 8083917..5162a0f 100644 --- a/.config/i3/README.org +++ b/.config/i3/README.org @@ -101,6 +101,7 @@ :PROPERTIES: :CUSTOM_ID: h-27f4474a-e037-4e40-b33a-7fe34ca012e3 :HEADER-ARGS: :exports code :tangle config##yadm.j2 + :HEADER-ARGS:python: :exports none :tangle no :END: ** Global :PROPERTIES: @@ -123,9 +124,6 @@ call the terminal itself. If I ever need to move from my current terminal, I will just have to change the name of the executable here. - Finally, some variables hold some long strings for commands I don’t want to - have to type multiple times. - #+NAME: variable-table | variable | value | |-------------+--------------------------------------------------------------------------| @@ -136,34 +134,65 @@ | $left | Left | | $right | Right | | $term | st | - | $exiti3 | i3-nagbar -t warning -m 'Leave i3?' -b 'Yes' 'i3-msg exit' | + + #+NAME: variable-sh + | $exiti3 | i3-nagbar -t warning -m "Leave i3?" -b "Yes" "i3-msg exit" | | $lockscreen | Lucien Cartier-Tilet\n(Phuntsok Drak-pa)\n+33 (0)6 83 90 56 89 | - | $rofiexec | rofi -combi-modi window,drun -show combi -mohh combi -m -1 -show-icons | - | $gnus | emacsclient --create-frame --eval '(gnus)' -a nvim -n | - | $ec | emacsclient --create-frame -a nvim -n | + | $rofiexec | rofi -combi-modi 'window,drun' -show combi -mohh combi -m -1 -show-icons | + | $gnus | emacsclient --create-frame --eval "(gnus)" -n | + | $ec | emacsclient --create-frame -n | + | $walset | wal -i ~/Pictures/Wallpapers -o wal-set | Variables will be set like so. - #+BEGIN_SRC conf :tangle no :exports code + #+BEGIN_SRC conf :tangle no set $term st #+END_SRC #+NAME: generate-variables - #+BEGIN_SRC python :var variables=variable-table :exports none :tangle no + #+BEGIN_SRC python :var variables=variable-table :cache yes result = '' for line in variables: - result += "set {0} {1}\n".format(line[0], line[1]) + result += "set {0}\t{1}\n".format(line[0], line[1]) return result #+END_SRC + #+RESULTS[daefb71e1df094fad8f60b95c8b00730d5110ae3]: generate-variables + : set $mod Mod4 + : set $alt Mod1 + : set $up Up + : set $down Down + : set $left Left + : set $right Right + : set $term st + + Finally, some variables hold some long strings for commands I don’t want to + have to type multiple times. + #+NAME: generate-variables2 + #+BEGIN_SRC python :var variables=variable-sh :cache yes + result = '' + for line in variables: + result += "set {0}\t\"{1}\"\n".format(line[0], line[1]) + return result + #+END_SRC + + #+RESULTS[caa4fad487ab743e5398c357542b25eaa2b792cf]: generate-variables2 + : set $exiti3 "i3-nagbar -t warning -m "Leave i3?" -b "Yes" "i3-msg exit"" + : set $lockscreen "Lucien Cartier-Tilet\n(Phuntsok Drak-pa)\n+33 (0)6 83 90 56 89" + : set $rofiexec "rofi -combi-modi "window,drun" -show combi -mohh combi -m -1 -show-icons" + : set $gnus "emacsclient --create-frame --eval "(gnus)" -n" + : set $ec "emacsclient --create-frame -n" + : set $walset "wal -i ~/Pictures/Wallpapers -o wal-set" + Here is the configuration: #+BEGIN_SRC conf :noweb yes <> + <> #+END_SRC Now comes the font for the window tiles. Honestly, this setting is useless since we do not see it, but let’s set it anyway. #+BEGIN_SRC conf - font DejaVuSans:monospace 8 + font Fira Sans Book:style=Book:pixelsize=10 #+END_SRC ** Floating windows @@ -207,7 +236,7 @@ that the software mouse will most likely end up in another window I do not want to focus. #+BEGIN_SRC conf - focus_follow_mouse off + focus_follows_mouse no #+END_SRC ** Popup handling @@ -252,7 +281,7 @@ I also do not want to see any window border, so I will be turning this setting off. #+BEGIN_SRC conf - smart_borders off + smart_borders on #+END_SRC By the way, the default border is invisible, since it is zero pixels wide. @@ -265,7 +294,7 @@ between my containers. #+BEGIN_SRC conf gaps inner 20 - gaps outter -10 + gaps outer -10 #+END_SRC And I am not using i3-gaps-rounded for nothing: my containers that are not @@ -293,6 +322,7 @@ :PROPERTIES: :CUSTOM_ID: h-21870449-7730-4164-8add-167cb4e75218 :HEADER-ARGS: :exports code + :HEADER-ARGS:python: :exports none :tangle no :END: I decided to bind some windows to some workspaces in order to have a better organization of my desktop. @@ -317,7 +347,7 @@ #+END_SRC #+NAME: generate-workspaces - #+BEGIN_SRC python :var workspaces=assignment-table :exports none + #+BEGIN_SRC python :var workspaces=assignment-table results = '' for line in workspaces: results += 'assign [class="{0}"] {1}\n'.format(line[1],line[2]) @@ -358,7 +388,7 @@ #+BEGIN_SRC python :exports none :var table=[] :eval yes :tangle no results = '' for line in table: - results += "bindsym {0} {1}\n".format(line[0], line[1]) + results += "bindsym {0}\t{1}\n".format(line[0], line[1]) return results #+END_SRC @@ -400,9 +430,9 @@ shortcut for launching pywal, which will set one of my wallpapers as the wallpaper and will generate my system’s color configuration from it. #+NAME: wal-sh - | shortcut | command | what it does | - |-------------+------------------------------------------------+--------------------------------------------------------------| - | $mod+Ctrl+w | exec "wal -i ~/Pictures/Wallpapers -o wal-set" | Set a random wallpaper and generates a color profile from it | + | shortcut | command | what it does | + |-------------+--------------+--------------------------------------------------------------| + | $mod+Ctrl+w | exec $walset | Set a random wallpaper and generates a color profile from it | We also have some shortcuts to lock our screen, sleep, hibernate and shut down our computer. @@ -514,10 +544,10 @@ #+NAME: containers-move-sh | shortcut | command | what it does | |-------------------+--------------------------------+------------------------------------------------------------| - | $mod+Shift+$left | move container to output left | Moves the container to the screen left of the current one | - | $mod+Shift+$down | move container to output down | Moves the container to the screen down of the current one | - | $mod+Shift+$up | move container to output up | Moves the container to the screen above the current one | - | $mod+Shift+$right | move container to output right | Moves the container to the screen right of the current one | + | $mod+Ctrl+$left | move container to output left | Moves the container to the screen left of the current one | + | $mod+Ctrl+$down | move container to output down | Moves the container to the screen down of the current one | + | $mod+Ctrl+$up | move container to output up | Moves the container to the screen above the current one | + | $mod+Ctrl+$right | move container to output right | Moves the container to the screen right of the current one | You can also send containers to other workspaces by their number. #+NAME: containers-ws-sh @@ -691,8 +721,8 @@ |-------------------+-----------------------------------------------+------------------------------| | $mod+g | gaps inner current plus 5 | Increase the inner gap size | | $mod+Shift+g | gaps inner current minus 5 | Decrease the inner gap size | - | $mod+Ctrl+g | gaps outer current plus 5 | Increase the outter gap size | - | $mod+Ctrl+Shift+g | gaps outer current minus 5 | Decrease the outter gap size | + | $mod+Ctrl+g | gaps outer current plus 5 | Increase the outer gap size | + | $mod+Ctrl+Shift+g | gaps outer current minus 5 | Decrease the outer gap size | | $mod+$alt+g | gaps inner all set 20; gaps outer all set -10 | Reset gaps | Here is the corresponding configuration: diff --git a/.config/i3/config##yadm.j2 b/.config/i3/config##yadm.j2 index 268dfb1..0aa7842 100644 --- a/.config/i3/config##yadm.j2 +++ b/.config/i3/config##yadm.j2 @@ -1,25 +1,26 @@ # -*- mode: conf -*- -set $mod Mod4 -set $alt Mod1 -set $up Up -set $down Down -set $left Left -set $right Right -set $term st -set $exiti3 i3-nagbar -t warning -m 'Leave i3?' -b 'Yes' 'i3-msg exit' -set $lockscreen Lucien Cartier-Tilet\n(Phuntsok Drak-pa)\n+33 (0)6 83 90 56 89 -set $rofiexec rofi -combi-modi window,drun -show combi -mohh combi -m -1 -show-icons -set $gnus emacsclient --create-frame --eval '(gnus)' -a nvim -n -set $ec emacsclient --create-frame -a nvim -n +set $mod Mod4 +set $alt Mod1 +set $up Up +set $down Down +set $left Left +set $right Right +set $term st +set $exiti3 "i3-nagbar -t warning -m "Leave i3?" -b "Yes" "i3-msg exit"" +set $lockscreen "Lucien Cartier-Tilet\n(Phuntsok Drak-pa)\n+33 (0)6 83 90 56 89" +set $rofiexec "rofi -combi-modi 'window,drun' -show combi -mohh combi -m -1 -show-icons" +set $gnus "emacsclient --create-frame --eval "(gnus)" -n" +set $ec "emacsclient --create-frame -n" +set $walset "wal -i ~/Pictures/Wallpapers -o wal-set" -font DejaVuSans:monospace 8 +font Fira Sans Book:style=Book:pixelsize=10 floating_modifier $mod mouse_warping none -focus_follow_mouse off +focus_follows_mouse no popup_during_fullscreen leave_fullscreen @@ -27,12 +28,12 @@ workspace_auto_back_and_forth yes smart_gaps on -smart_borders off +smart_borders on default_border pixel 0 gaps inner 20 -gaps outter -10 +gaps outer -10 border_radius 5 @@ -60,146 +61,146 @@ assign [class="discord"] 10 workspace 10 output eDP-1 {% endif -%} -bindsym $mod+Return exec $term -bindsym $mod+$alt+Return split h;; exec $term -bindsym $mod+Shift+Return split v;; exec $term -bindsym $mod+$alt+m exec $term ssh Mila -bindsym $mod+$alt+n exec $term ssh Naro -bindsym $mod+Shift+h exec $term htop +bindsym $mod+Return exec $term +bindsym $mod+$alt+Return split h;; exec $term +bindsym $mod+Shift+Return split v;; exec $term +bindsym $mod+$alt+m exec $term ssh Mila +bindsym $mod+$alt+n exec $term ssh Naro +bindsym $mod+Shift+h exec $term htop -bindsym $mod+Shift+c exec yadm alt && i3-msg reload -bindsym $mod+Shift+r exec yadm alt && i3-msg restart -bindsym $mod+Shift+e exec $exiti3 -bindsym $mod+Ctrl+w exec "wal -i ~/Pictures/Wallpapers -o wal-set" -bindsym $mod+l i3lock -fol -bindsym $mod+$alt+h exec "systemctl suspend" -bindsym $mod+Ctrl+h exec "systemctl hibernate" -bindsym $mod+Shift+F4 exec poweroff +bindsym $mod+Shift+c exec yadm alt && i3-msg reload +bindsym $mod+Shift+r exec yadm alt && i3-msg restart +bindsym $mod+Shift+e exec $exiti3 +bindsym $mod+Ctrl+w exec $walset +bindsym $mod+l i3lock -fol +bindsym $mod+$alt+h exec "systemctl suspend" +bindsym $mod+Ctrl+h exec "systemctl hibernate" +bindsym $mod+Shift+F4 exec poweroff -bindsym $mod+h split h -bindsym $mod+v split v +bindsym $mod+h split h +bindsym $mod+v split v -bindsym $mod+$left focus left -bindsym $mod+$down focus down -bindsym $mod+$up focus up -bindsym $mod+$right focus right +bindsym $mod+$left focus left +bindsym $mod+$down focus down +bindsym $mod+$up focus up +bindsym $mod+$right focus right -bindsym $mod+1 workspace 1 -bindsym $mod+2 workspace 2 -bindsym $mod+3 workspace 3 -bindsym $mod+4 workspace 4 -bindsym $mod+5 workspace 5 -bindsym $mod+6 workspace 6 -bindsym $mod+7 workspace 7 -bindsym $mod+8 workspace 8 -bindsym $mod+9 workspace 9 -bindsym $mod+0 workspace 10 +bindsym $mod+1 workspace 1 +bindsym $mod+2 workspace 2 +bindsym $mod+3 workspace 3 +bindsym $mod+4 workspace 4 +bindsym $mod+5 workspace 5 +bindsym $mod+6 workspace 6 +bindsym $mod+7 workspace 7 +bindsym $mod+8 workspace 8 +bindsym $mod+9 workspace 9 +bindsym $mod+0 workspace 10 -bindsym $mod+Shift+$left move left -bindsym $mod+Shift+$down move down -bindsym $mod+Shift+$up move up -bindsym $mod+Shift+$right move right +bindsym $mod+Shift+$left move left +bindsym $mod+Shift+$down move down +bindsym $mod+Shift+$up move up +bindsym $mod+Shift+$right move right -bindsym $mod+Shift+$left move container to output left -bindsym $mod+Shift+$down move container to output down -bindsym $mod+Shift+$up move container to output up -bindsym $mod+Shift+$right move container to output right -bindsym $mod+Shift+1 move container to workspace 1 -bindsym $mod+Shift+2 move container to workspace 2 -bindsym $mod+Shift+3 move container to workspace 3 -bindsym $mod+Shift+4 move container to workspace 4 -bindsym $mod+Shift+5 move container to workspace 5 -bindsym $mod+Shift+6 move container to workspace 6 -bindsym $mod+Shift+7 move container to workspace 7 -bindsym $mod+Shift+8 move container to workspace 8 -bindsym $mod+Shift+9 move container to workspace 9 -bindsym $mod+Shift+0 move container to workspace 10 +bindsym $mod+Ctrl+$left move container to output left +bindsym $mod+Ctrl+$down move container to output down +bindsym $mod+Ctrl+$up move container to output up +bindsym $mod+Ctrl+$right move container to output right +bindsym $mod+Shift+1 move container to workspace 1 +bindsym $mod+Shift+2 move container to workspace 2 +bindsym $mod+Shift+3 move container to workspace 3 +bindsym $mod+Shift+4 move container to workspace 4 +bindsym $mod+Shift+5 move container to workspace 5 +bindsym $mod+Shift+6 move container to workspace 6 +bindsym $mod+Shift+7 move container to workspace 7 +bindsym $mod+Shift+8 move container to workspace 8 +bindsym $mod+Shift+9 move container to workspace 9 +bindsym $mod+Shift+0 move container to workspace 10 -bindsym $mod+Ctrl+Shift+$left move workspace to output left -bindsym $mod+Ctrl+Shift+$down move workspace to output down -bindsym $mod+Ctrl+Shift+$up move workspace to output up -bindsym $mod+Ctrl+Shift+$right move workspace to output right +bindsym $mod+Ctrl+Shift+$left move workspace to output left +bindsym $mod+Ctrl+Shift+$down move workspace to output down +bindsym $mod+Ctrl+Shift+$up move workspace to output up +bindsym $mod+Ctrl+Shift+$right move workspace to output right -bindsym $mod+q kill -bindsym $alt+F4 kill +bindsym $mod+q kill +bindsym $alt+F4 kill -bindsym $mod+f fullscreen toggle -bindsym $mod+r mode "resize" +bindsym $mod+f fullscreen toggle +bindsym $mod+r mode "resize" mode "resize" { - bindsym $right resize grow width 20 px or 10 ppt - bindsym r resize grow width 20 px or 10 ppt - bindsym $left resize shrink width 10 px or 5 ppt - bindsym c resize shrink width 10 px or 5 ppt - bindsym $down resize grow height 10 px or 5 ppt - bindsym t resize grow height 10 px or 5 ppt - bindsym $up resize shrink height 10 px or 5 ppt - bindsym s resize shrink height 10 px or 5 ppt - bindsym Return mode "default" - bindsym Escape mode "default" + bindsym $right resize grow width 20 px or 10 ppt + bindsym r resize grow width 20 px or 10 ppt + bindsym $left resize shrink width 10 px or 5 ppt + bindsym c resize shrink width 10 px or 5 ppt + bindsym $down resize grow height 10 px or 5 ppt + bindsym t resize grow height 10 px or 5 ppt + bindsym $up resize shrink height 10 px or 5 ppt + bindsym s resize shrink height 10 px or 5 ppt + bindsym Return mode "default" + bindsym Escape mode "default" } -bindsym $mod+Shift+space floating toggle -bindsym $mod+space focus mode_toggle -bindsym $mod+Ctrl+c move position center +bindsym $mod+Shift+space floating toggle +bindsym $mod+space focus mode_toggle +bindsym $mod+Ctrl+c move position center -bindsym $mod+Shift+s move scratchpad -bindsym $mod+s scratchpad show -bindsym $mod+Ctrl+s sticky toggle +bindsym $mod+Shift+s move scratchpad +bindsym $mod+s scratchpad show +bindsym $mod+Ctrl+s sticky toggle -bindsym $mod+g gaps inner current plus 5 -bindsym $mod+Shift+g gaps inner current minus 5 -bindsym $mod+Ctrl+g gaps outer current plus 5 -bindsym $mod+Ctrl+Shift+g gaps outer current minus 5 -bindsym $mod+$alt+g gaps inner all set 20; gaps outer all set -10 +bindsym $mod+g gaps inner current plus 5 +bindsym $mod+Shift+g gaps inner current minus 5 +bindsym $mod+Ctrl+g gaps outer current plus 5 +bindsym $mod+Ctrl+Shift+g gaps outer current minus 5 +bindsym $mod+$alt+g gaps inner all set 20; gaps outer all set -10 -bindsym $mod+Shift+d exec --no-startup-id j4-dmenu-desktop -bindsym $mod+d exec --no-startup-id $rofiexec +bindsym $mod+Shift+d exec --no-startup-id j4-dmenu-desktop +bindsym $mod+d exec --no-startup-id $rofiexec -bindsym $mod+c exec firefox -bindsym $mod+m exec $gnus -bindsym Ctrl+Shift+d exec discord-canary +bindsym $mod+c exec firefox +bindsym $mod+m exec $gnus +bindsym Ctrl+Shift+d exec discord-canary -bindsym Print exec --no-startup-id scrot -bindsym Ctrl+Print exec --no-startup-id "scrot -s" -bindsym Shift+Print exec --no-startup-id "scrot -d 3" +bindsym Print exec --no-startup-id scrot +bindsym Ctrl+Print exec --no-startup-id "scrot -s" +bindsym Shift+Print exec --no-startup-id "scrot -d 3" -bindsym XF86MonBrightnessUp exec xbacklight -inc 5 -bindsym $mod+$alt+Next exec xbacklight -inc 5 -bindsym XF86MonBrightnessDown exec xbacklight -dec 5 -bindsym $mod+$alt+Prev exec xbacklight -dec 5 +bindsym XF86MonBrightnessUp exec xbacklight -inc 5 +bindsym $mod+$alt+Next exec xbacklight -inc 5 +bindsym XF86MonBrightnessDown exec xbacklight -dec 5 +bindsym $mod+$alt+Prev exec xbacklight -dec 5 -bindsym XF86AudioNext exec mpc next -bindsym $alt+XF86AudioRaiseVolume exec mpc next -bindsym $mod+Next exec mpc next -bindsym XF86AudioPrev exec mpc prev -bindsym $alt+XF86AudioLowerVolume exec mpc prev -bindsym $mod+Prior exec mpc prev -bindsym XF86AudioPlay exec mpc toggle -bindsym $mod+p exec mpc toggle -bindsym $mod+$alt+p exec mpc stop -bindsym XF86AudioStop exec mpc stop -bindsym $alt+XF86AudioPlay exec mpc stop -bindsym $mod+$alt+7 exec mpc volume +5 -bindsym $mod+$alt+8 exec mpc volume -5 -bindsym $mod+Shift+n exec $term ncmpcpp -q -bindsym $mod+Shift+v exec $term ncmpcpp -qs visualizer -bindsym XF86AudioMute exec "amixer set Master 1+ toggle" -bindsym Ctrl+$mod+Prior exec "amixer -q set Master 2%+ unmute" -bindsym XF86AudioRaiseVolume exec "amixer -q set Master 2%+ unmute" -bindsym Ctrl+$mod+Next exec "amixer -q set Master 2%- unmute" -bindsym XF86AudioLowerVolume exec "amixer -q set Master 2%- unmute" +bindsym XF86AudioNext exec mpc next +bindsym $alt+XF86AudioRaiseVolume exec mpc next +bindsym $mod+Next exec mpc next +bindsym XF86AudioPrev exec mpc prev +bindsym $alt+XF86AudioLowerVolume exec mpc prev +bindsym $mod+Prior exec mpc prev +bindsym XF86AudioPlay exec mpc toggle +bindsym $mod+p exec mpc toggle +bindsym $mod+$alt+p exec mpc stop +bindsym XF86AudioStop exec mpc stop +bindsym $alt+XF86AudioPlay exec mpc stop +bindsym $mod+$alt+7 exec mpc volume +5 +bindsym $mod+$alt+8 exec mpc volume -5 +bindsym $mod+Shift+n exec $term ncmpcpp -q +bindsym $mod+Shift+v exec $term ncmpcpp -qs visualizer +bindsym XF86AudioMute exec "amixer set Master 1+ toggle" +bindsym Ctrl+$mod+Prior exec "amixer -q set Master 2%+ unmute" +bindsym XF86AudioRaiseVolume exec "amixer -q set Master 2%+ unmute" +bindsym Ctrl+$mod+Next exec "amixer -q set Master 2%- unmute" +bindsym XF86AudioLowerVolume exec "amixer -q set Master 2%- unmute" -bindsym $mod+Shift+p exec rofi-pass --type -bindsym $mod+Ctrl+Shift+p exec rofi-pass -bindsym $mod+Ctrl+m exec rofi-mount -bindsym $mod+Ctrl+u exec rofi-umount -bindsym $mod+$alt+e exec rofi-emoji -bindsym $mod+w exec wacom-setup +bindsym $mod+Shift+p exec rofi-pass --type +bindsym $mod+Ctrl+Shift+p exec rofi-pass +bindsym $mod+Ctrl+m exec rofi-mount +bindsym $mod+Ctrl+u exec rofi-umount +bindsym $mod+$alt+e exec rofi-emoji +bindsym $mod+w exec wacom-setup -bindsym $mod+e exec $ec -bindsym $mod+n exec nemo -bindsym $mod+$alt+c exec speedcrunch -bindsym $mod+F3 exec arandr +bindsym $mod+e exec $ec +bindsym $mod+n exec nemo +bindsym $mod+$alt+c exec speedcrunch +bindsym $mod+F3 exec arandr {% if YADM_HOSTNAME == 'Marpa' -%} bindsym $mod+Ctrl+p xrandr --output HDMI-1 --mode 1024x768 --right-of eDP-1