diff options
Diffstat (limited to '.config/i3/config')
-rw-r--r-- | .config/i3/config | 644 |
1 files changed, 644 insertions, 0 deletions
diff --git a/.config/i3/config b/.config/i3/config new file mode 100644 index 0000000..47a3b3e --- /dev/null +++ b/.config/i3/config @@ -0,0 +1,644 @@ +# i3 config file (v4) +# Please see http://i3wm.org/docs/userguide.html for a complete reference! + + + + +################## +### Autostart: ### +################## + +# exec --no-startup-id sh ~/.xprofile +# exec_always xrdb ~/.Xresources + +# important for fonts and anti aliasing +# exec --no-startup-id xsettingsd & + +# pulseaudio system tray +# exec --no-startup-id pasystray + +exec st -c dropdown_tmuxdd -e tmux + +################################ +### Commonly Used Variables: ### +################################ +# - Below defined are some of the very common variables that users like to customise +# - For Keybindings search: Commonly Used Keybindings in this document +# - Make sure that you give the absolute path to the binary / program / executable +# - You may specify any additional arguments required by the binary / executable + +### Wallpaper: ### +# - You need to specify homescreen wallpaper using azote +set $lockScreenWallpaper '/usr/share/wallpapers/garuda-wallpapers/Garuda-Desert.png' +set $homeScreenWallpaper '/usr/share/wallpapers/garuda-wallpapers/background.jpg' + +### Applications: ### +set $preferredTerminalEmulator $TERMINAL +set $preferredBrowser torbrowser open +set $preferredFileManager thunar +set $preferredMailClient $MAIL +set $preferredTextEditor $EDITOR +set $preferredScreenCaptureTool flameshot gui + +### Movement keys ### +set $left h +set $down j +set $up k +set $right l + +# set modifier +set $super Mod4 +set $alt Mod1 + + + + +########################################### +### Commonly Used Application Keybinds: ### +########################################### + +bindsym $super+F2 exec --no-startup-id dmenu-unicode +bindsym $super+Shift+F2 exec --no-startup-id dmenu-unicode get-code +bindsym $super+F3 exec --no-startup-id st -c "dropdown_sender" -e fsend +bindsym $super+F4 exec --no-startup-id passmenu +bindsym $super+Shift+F4 exec --no-startup-id passmenu --type +bindsym $super+F5 exec --no-startup-id dmenu-zeal +bindsym $super+F7 exec --no-startup-id sh -c 'find ~/.librewolf -mindepth 1 -maxdepth 1 -type d -name '????????.*' -printf "%f\n" | cut -d. -f2- | dmenu -p "LibreWolf Profile" | xargs -I{} setsid -f librewolf -P "{}"' +bindsym $super+b exec --no-startup-id librewolf-open +bindsym $super+c exec --no-startup-id edit-graphical-buffer +bindsym $super+x exec --no-startup-id toggle-xeyes +bindsym $super+i exec --no-startup-id sh -c 'xdotool type "$(grep -v "^#\|^\s*$" ~/Documents/Notes/bookmarks.txt | tac | dmenu -i -l 50 | cut -d\ -f1)"' +bindsym $super+Shift+z exec --no-startup-id dmenu-zeal +bindsym $super+Shift+b exec --no-startup-id librewolf-open "$(xprint)" +bindsym $super+period exec --no-startup-id sh -c 'xdotool click --clearmodifiers 1 && xdotool keyup super' +bindsym $super+slash exec --no-startup-id sh -c 'xdotool click --clearmodifiers 3 && xdotool keyup super' +bindsym $super+comma exec --no-startup-id scrcpy-k +bindsym $super+$alt+s exec --no-startup-id sh -c 'bm="$(xprint)" && echo "$bm" >> ~/Documents/Notes/bookmarks.txt && notify-send " Bookmark added" "$bm" || notify-send "❌ Failed to add bookmark" "$bm"' + +bindsym $super+$alt+F1 exec --no-startup-id _macro_F1 +bindsym $super+$alt+F2 exec --no-startup-id _macro_F2 +bindsym $super+$alt+F3 exec --no-startup-id _macro_F3 +bindsym $super+$alt+F4 exec --no-startup-id _macro_F4 +bindsym $super+$alt+F5 exec --no-startup-id _macro_F5 +bindsym $super+$alt+F6 exec --no-startup-id _macro_F6 +bindsym $super+$alt+F7 exec --no-startup-id _macro_F7 +bindsym $super+$alt+F8 exec --no-startup-id _macro_F8 +bindsym $super+$alt+F9 exec --no-startup-id _macro_F9 +bindsym $super+$alt+F10 exec --no-startup-id _macro_F10 +bindsym $super+$alt+F11 exec --no-startup-id _macro_F11 +bindsym $super+$alt+F12 exec --no-startup-id _macro_F12 + +### Screen Capturing & Print Screen: ### + +bindsym $super+F9 exec $preferredScreenCaptureTool +bindsym Print exec --no-startup-id flameshot screen +bindsym Ctrl+Print exec --no-startup-id $preferredScreenCaptureTool + +### Start a Terminal Emulator: ### +# - You can change the preferredTerminalEmulator variable +# - $TERMINAL & xfce4-terminal can also be started using their individual keybindings + +bindsym $super+Return exec --no-startup-id $preferredTerminalEmulator +bindsym $super+t exec --no-startup-id xfce4-terminal + +font pango: source code pro 16 + +# Use Mouse+$super to drag floating windows to their wanted position +floating_modifier $super + + +# hide/unhide i3status bar +bindsym $super+m bar mode toggle + +# start dmenu (a program launcher) +set $i3dmenu i3-dmenu-desktop --dmenu="dmenu -i" + +bindsym $super+Shift+d exec --no-startup-id $i3dmenu +bindsym $super+d exec --no-startup-id dmenu_run + + + + +################### +### Media Keys: ### +################### + +# Screen brightness controls +set $brightnessUp brightness up +set $brightnessDown brightness down +# set $brightnessUp brightnessctl set +5% && notify-send -r 4023423 "brightness: $(( $(brightnessctl g) / 1200 ))%" +# set $brightnessDown brightnessctl set 5%- && notify-send -r 4023423 "brightness: $(( $(brightnessctl g) / 1200 ))%" + +# Use pactl to adjust volume in PulseAudio. +set $refresh_i3status killall -SIGUSR1 i3status +set $raiseVolume volctl up && pkill -SIGRTMIN+4 i3block +set $lowerVolume volctl down && pkill -SIGRTMIN+4 i3block +# pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status +# pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status +set $muteOutput pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status +set $muteInput pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status + +# music control +set $nextAudio playerctl next +set $prevAudio playerctl previous +set $playAudio playerctl play-pause +set $stopAudio playerctl stop + +bindsym XF86MonBrightnessUp exec $brightnessUp +bindsym XF86MonBrightnessDown exec $brightnessDown + +bindsym XF86AudioRaiseVolume exec --no-startup-id $raiseVolume +bindsym XF86AudioLowerVolume exec --no-startup-id $lowerVolume +bindsym XF86AudioMute exec --no-startup-id $muteOutput +bindsym XF86AudioMicMute exec --no-startup-id $muteInput +#change volume +#bindsym XF86AudioRaiseVolume exec pulseaudio-ctl up +#bindsym XF86AudioLowerVolume exec pulseaudio-ctl down +#bindsym XF86AudioMute exec pulseaudio-ctl mute + +bindsym XF86AudioNext exec $nextAudio +bindsym XF86AudioPrev exec $prevAudio +bindsym XF86AudioPlay exec $playAudio +bindsym XF86AudioStop exec $stopAudio + + +bindsym $super+Ctrl+Right exec $brightnessUp +bindsym $super+Ctrl+Left exec $brightnessDown + +bindsym $super+Ctrl+Up exec --no-startup-id $raiseVolume +bindsym $super+Ctrl+Down exec --no-startup-id $lowerVolume +bindsym $super+Ctrl+Insert exec --no-startup-id $muteOutput +bindsym $super+Ctrl+Del exec --no-startup-id $muteInput + +bindsym $super+Ctrl+Next exec $nextAudio +bindsym $super+Ctrl+Prior exec $prevAudio +bindsym $super+Ctrl+Home exec $playAudio +bindsym $super+Ctrl+End exec $stopAudio + + +# bindsym XF86TouchpadToggle exec ~/bin/toggletouchpad.sh +bindsym XF86PowerOff exec --no-startup-id notify-send "Power Off" +bindsym XF86PowerDown exec --no-startup-id notify-send "Power Down" + +# Print screen +bindsym $super+Print --release exec --no-startup-id i3-scrot -w +bindsym $super+Shift+Print --release exec --no-startup-id i3-scrot -s + + + + +######################### +### window management ### +######################### + +# kill focused window +bindsym $super+q kill + +# split in horizontal orientation +# bindsym $super+apostrophe split h +# split in vertical orientation +# bindsym $super+v split v + +bindsym $super+apostrophe split toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $super+s layout stacking +bindsym $super+w layout tabbed +bindsym $super+e layout toggle split # try 'layout default' here + +# enter fullscreen mode for the focused container +bindsym $super+f fullscreen toggle +bindsym $super+Shift+f fullscreen toggle global +# change focus between tiling / floating windows +bindsym $super+space focus mode_toggle +# toggle tiling / floating +bindsym $super+Shift+space floating toggle +# toggle sticky +bindsym $super+Shift+s sticky toggle + +# focus the parent container +bindsym $super+a focus parent +# focus the child container +bindsym $super+Shift+a focus child + +# move the currently focused window to the scratchpad +bindsym $super+Shift+minus move scratchpad +# Show the next scratchpad window or hide the focused scratchpad window. +# If there are multiple scratchpad windows, this command cycles through them. +bindsym $super+minus scratchpad show + +# reload the configuration file +bindsym $super+Shift+c reload +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $super+Shift+r restart +bindsym $super+Shift+e exec --no-startup-id $TERMINAL -e nvim ~/.config/i3/config + +# resize window (you can also use the mouse for that) +mode "resize" { + bindsym $left resize shrink width 30 px or 5 ppt + bindsym $down resize grow height 30 px or 5 ppt + bindsym $up resize shrink height 30 px or 5 ppt + bindsym $right resize grow width 30 px or 5 ppt + + bindsym Left resize shrink width 1 px or 1 ppt + bindsym Down resize grow height 1 px or 1 ppt + bindsym Up resize shrink height 1 px or 1 ppt + bindsym Right resize grow width 1 px or 1 ppt + + bindsym Return mode "default" + bindsym Escape mode "default" + +} +bindsym $super+r mode "resize" + + +# change focus +bindsym $super+$left focus left +bindsym $super+$down focus down +bindsym $super+$up focus up +bindsym $super+$right focus right + +# alternatively, you can use the cursor keys: +bindsym $super+Left focus left +bindsym $super+Down focus down +bindsym $super+Up focus up +bindsym $super+Right focus right + +# move focused window +bindsym $super+Shift+$left move container left 30 +bindsym $super+Shift+$down move container down 30 +bindsym $super+Shift+$up move container up 30 +bindsym $super+Shift+$right move container right 30 + +# alternatively, you can use the cursor keys: +bindsym $super+Shift+Left move left +bindsym $super+Shift+Down move down +bindsym $super+Shift+Up move up +bindsym $super+Shift+Right move right + + +################## +### Workspaces ### +################## + +# navigate workspaces +bindsym $super+bracketleft workspace $ws1 +bindsym $super+n workspace next +bindsym $super+p workspace prev +bindsym $super+bracketright workspace $ws10 + +bindsym $super+Home workspace $ws1 +bindsym $super+Prior workspace prev +bindsym $super+Next workspace next +bindsym $super+End workspace $ws10 + +bindsym $super+Tab workspace back_and_forth +bindsym $super+Shift+Tab move container to workspace back_and_forth; workspace back_and_forth +bindsym $super+$alt+Tab move container to workspace back_and_forth + +bindsym $super+o focus output right +bindsym $super+Shift+o move container to output right; focus output right +bindsym $super+$alt+o move container to output right +bindsym $super+semicolon workspace back_and_forth +bindsym $super+Shift+semicolon move container to workspace back_and_forth; focus output right +bindsym $super+$alt+semicolon move container to workspace back_and_forth + +bindsym $super+Ctrl+semicolon workspace back_and_forth +bindsym $super+Ctrl+Shift+semicolon move container to workspace back_and_forth; workspace back_and_forth +bindsym $super+Ctrl+$alt+semicolon move container to workspace back_and_forth + + +# move containers +bindsym $super+Shift+bracketleft move container to workspace $ws1 ; workspace $ws1 +bindsym $super+Shift+n move container to workspace next ; workspace next +bindsym $super+Shift+p move container to workspace prev ; workspace prev +bindsym $super+Shift+bracketright move container to workspace $ws10; workspace $ws10 + +bindsym $super+Shift+Home move container to workspace $ws1 ; workspace $ws1 +bindsym $super+Shift+Prior move container to workspace prev ; workspace prev +bindsym $super+Shift+Next move container to workspace next ; workspace next +bindsym $super+Shift+End move container to workspace $ws10; workspace $ws10 + + +# send containers +bindsym $super+$alt+bracketleft move container to workspace $ws1 +bindsym $super+$alt+n move container to workspace next +bindsym $super+$alt+p move container to workspace prev +bindsym $super+$alt+bracketright move container to workspace $ws10 + +bindsym $super+$alt+Home move container to workspace $ws1 +bindsym $super+$alt+Prior move container to workspace prev +bindsym $super+$alt+Next move container to workspace next +bindsym $super+$alt+End move container to workspace $ws10 + + +# set $ws1 " 1 " +# set $ws2 " 2 " +# set $ws3 " 3 " +# set $ws4 " 4 " +# set $ws5 " 5 " +# set $ws6 " 6 " +# set $ws7 " 7 " +# set $ws8 " 8 " +# set $ws9 " 9 " +# set $ws10 " 10 " + +set $ws1 "1:" +set $ws2 "2:" +set $ws3 "3:" +set $ws4 "4:" +set $ws5 "5:" +set $ws6 "6:" +set $ws7 "7:" +set $ws8 "8:" +set $ws9 "9:" +set $ws10 "10:" + + +# switch to workspace +bindsym $super+1 workspace $ws1 +bindsym $super+2 workspace $ws2 +bindsym $super+3 workspace $ws3 +bindsym $super+4 workspace $ws4 +bindsym $super+5 workspace $ws5 +bindsym $super+6 workspace $ws6 +bindsym $super+7 workspace $ws7 +bindsym $super+8 workspace $ws8 +bindsym $super+9 workspace $ws9 +bindsym $super+0 workspace $ws10 + + +# Move to workspace with focused container +bindsym $super+Shift+1 move container to workspace $ws1; workspace $ws1 +bindsym $super+Shift+2 move container to workspace $ws2; workspace $ws2 +bindsym $super+Shift+3 move container to workspace $ws3; workspace $ws3 +bindsym $super+Shift+4 move container to workspace $ws4; workspace $ws4 +bindsym $super+Shift+5 move container to workspace $ws5; workspace $ws5 +bindsym $super+Shift+6 move container to workspace $ws6; workspace $ws6 +bindsym $super+Shift+7 move container to workspace $ws7; workspace $ws7 +bindsym $super+Shift+8 move container to workspace $ws8; workspace $ws8 +bindsym $super+Shift+9 move container to workspace $ws9; workspace $ws9 +bindsym $super+Shift+0 move container to workspace $ws10; workspace $ws10 + + +# move focused container to workspace +bindsym $super+$alt+1 move container to workspace $ws1 +bindsym $super+$alt+2 move container to workspace $ws2 +bindsym $super+$alt+3 move container to workspace $ws3 +bindsym $super+$alt+4 move container to workspace $ws4 +bindsym $super+$alt+5 move container to workspace $ws5 +bindsym $super+$alt+6 move container to workspace $ws6 +bindsym $super+$alt+7 move container to workspace $ws7 +bindsym $super+$alt+8 move container to workspace $ws8 +bindsym $super+$alt+9 move container to workspace $ws9 +bindsym $super+$alt+0 move container to workspace $ws10 + + +workspace $ws1 output "eDP-1-1" +workspace $ws2 output "eDP-1-1" +workspace $ws3 output "eDP-1-1" +workspace $ws4 output "eDP-1-1" +workspace $ws5 output "eDP-1-1" + +workspace $ws6 output "HDMI-0" +workspace $ws7 output "HDMI-0" +workspace $ws8 output "HDMI-0" +workspace $ws9 output "HDMI-0" +workspace $ws10 output "HDMI-0" +workspace "12: W " output "HDMI-0" + + +#################### +### Window rules ### +#################### + +# assign [class="Tor Browser"] $ws6 +# assign [class="librewolf"] $ws7 +# assign [class="Zeal"] $ws8 + +# window rules, you can find the window class using xprop +for_window [class=".*"] border pixel 4 +assign [class=URxvt] 1 +for_window [class=Viewnior|feh|Audacious|File-roller|Lxappearance|Lxtask|Pavucontrol|upgrade2ultimate.sh] floating enable +for_window [class=URxvt|firedragon|Geany|Evince|Soffice|libreoffice*|mpv|Ghb|Xfburn|Gimp*|Inkscape|Vlc|Lxappearance|Audacity] focus +for_window [class=Xfburn|GParted|System-config-printer.py|Lxtask|Pavucontrol|Exo-helper*|Lxrandr|Arandr] focus + +# Open specific applications in floating mode +for_window [title="alsamixer"] floating enable border pixel 1 +for_window [class="calamares"] floating enable border normal +for_window [class="Clipgrab"] floating enable +for_window [title="File Transfer*"] floating enable +for_window [class="bauh"] floating enable +for_window [class="Galculator"] floating enable border pixel 1 +for_window [class="GParted"] floating enable border normal +for_window [title="i3_help"] floating enable sticky enable border normal +for_window [class="Lightdm-settings"] floating enable +for_window [class="Lxappearance"] floating enable border normal +for_window [class="Garuda Settings Manager"] floating enable border normal +for_window [title="MuseScore: Play Panel"] floating enable +for_window [class="azote"] floating enable sticky enable border normal +for_window [class="Oblogout"] fullscreen enable +for_window [class="octopi"] floating enable +for_window [title="About Pale Moon"] floating enable +for_window [class="Pamac-manager"] floating enable +for_window [class="Pamac-updater"] floating enable +for_window [class="Pavucontrol"] floating enable +for_window [class="Qtconfig-qt4"] floating enable border normal +for_window [class="qt5ct"] floating enable sticky enable border normal +#for_window [title="sudo"] floating enable border normal +for_window [class="Simple-scan"] floating enable border normal +for_window [class="(?i)System-config-printer.py"] floating enable border normal +for_window [class="Skype"] floating enable border normal +for_window [class="Timeshift-gtk"] floating enable border normal +for_window [class="(?i)virtualbox"] floating enable border normal +for_window [class="Xfburn"] floating enable +for_window [class="garuda-welcome"] floating enable +for_window [class="Artha"] floating enable +for_window [class="Tk"] floating enable border normal +for_window [title="Swing"] floating enable move position center +for_window [class="copyq"] floating enable +for_window [class="tabbed"] floating enable border normal +for_window [class="Yad"] floating enable border normal +for_window [class="Dialog"] move position center +for_window [class="KeePassXC"] move position center +for_window [class="sun-applet-Main"] floating enable move position center +for_window [window_type='dialog'] move position center +for_window [title="Android Emulator - *"] floating enable border none sticky enable +for_window [title="Emulator"] floating enable border none sticky enable +for_window [class="mpv"] floating enable +# for_window [class="Zeal"] floating enable move position below + +# #---Dropdown Windows---# # +# General dropdown window traits. The order can matter. +for_window [class="dropdown_*|tridactyl_*"] floating enable +for_window [class="dropdown_*|tridactyl_*"] move scratchpad +for_window [class="dropdown_*|tridactyl_*"] sticky enable +for_window [class="dropdown_*|tridactyl_*"] scratchpad show +for_window [class="dropdown_*"] move position center +for_window [class="dropdown_tmuxdd"] scratchpad hide +# for_window [class="dropdown_tmuxdd"] resize set 625 450 +# for_window [class="dropdown_dropdowncalc"] resize set 800 300 +# for_window [class="dropdown_tmuxdd"] border pixel 3 +# for_window [class="dropdown_dropdowncalc"] border pixel 2 + +# setup xeyes rules +for_window [class="XEyes"] floating enable +for_window [class="XEyes"] sticky enable +for_window [class="XEyes"] border pixel 0 +for_window [class="XEyes"] resize set 500 400 +for_window [class="XEyes"] move position 700 300 +# for_window [class="XEyes"] resize set 125 100 +# for_window [class="XEyes"] move position 1789 6 + +# colour of border, background, text, indicator, and child_border +client.focused #bf616a #2f343f #d8dee8 #bf616a #d8dee8 +client.focused_inactive #2f343f #2f343f #d8dee8 #2f343f #2f343f +client.unfocused #2f343f #2f343f #d8dee8 #2f343f #2f343f +client.urgent #2f343f #2f343f #d8dee8 #2f343f #2f343f +client.placeholder #2f343f #2f343f #d8dee8 #2f343f #2f343f +client.background #2f343f + + +# change borders ?Convert this into a mode +# bindsym $super+u border none +# bindsym $super+y border pixel 1 +# bindsym $super+i border normal + + +# panel +# Start i3bar to display a workspace bar + +bar { + output primary + status_command exec i3blocks + bindsym --release button3 exec jgmenu --at-pointer + workspace_min_width 40 + strip_workspace_numbers yes + #strip_workspace_name yes|no + # defaults + #colors { + #background #2f343f + #statusline #FFFFFF + #separator #666666 + + #focused_workspace #4C7899 #285577 #FFFFFF + #active_workspace #333333 #222222 #FFFFFF + #inactive_workspace #333333 #222222 #888888 + #urgent_workspace #2F343A #900000 #FFFFFF + ##binding_mode #2F343A #900000 #FFFFFF + ## colour of border, background, and text + #} + colors { + background #2f343f + statusline #EEEEEE + separator #666666 + + focused_workspace #2f343f #2f343f #CCFFFF + active_workspace #2f343f #2f343f #EEEEEE + inactive_workspace #2f343f #2f343f #888888 + urgent_workspace #AAFFFF #2f343f #AAFFFF + #binding_mode #2f343f #2f343f #EEEEEE + # colour of border, background, and text + } +} + + +bar { + output nonprimary + bindsym --release button3 exec jgmenu --at-pointer + workspace_min_width 40 + strip_workspace_numbers yes + #strip_workspace_name yes|no + colors { + background #2f343f + statusline #EEEEEE + separator #666666 + + focused_workspace #2f343f #2f343f #AAFFFF + active_workspace #2f343f #2f343f #CCCCCC + inactive_workspace #2f343f #2f343f #888888 + urgent_workspace #AACCFF #2f343f #AACCFF + #binding_mode #2f343f #2f343f #EEEEEE + # colour of border, background, and text + } +} + +############################# +### settings for i3-gaps: ### +############################# + +# Set inner/outer gaps +gaps inner 0 +gaps outer -2 + +# Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size. +# gaps inner|outer current|all set|plus|minus <px> +# gaps inner all set 10 +# gaps outer all plus 5 + +# Smart gaps (gaps used if only more than one container on the workspace) +smart_gaps on + +# Smart borders (draw borders around container only if it is not the only container on this workspace) +# on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0) +smart_borders on + +# Press $super+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces. +set $mode_gaps Gaps: (o) outer, (i) inner +set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global) +set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global) +bindsym $super+Shift+g mode "$mode_gaps" + +mode "$mode_gaps" { + bindsym o mode "$mode_gaps_outer" + bindsym i mode "$mode_gaps_inner" + bindsym Return mode "default" + bindsym Escape mode "default" +} +mode "$mode_gaps_inner" { + bindsym plus gaps inner current plus 5 + bindsym minus gaps inner current minus 5 + bindsym 0 gaps inner current set 0 + + bindsym Shift+plus gaps inner all plus 5 + bindsym Shift+minus gaps inner all minus 5 + bindsym Shift+0 gaps inner all set 0 + + bindsym Return mode "default" + bindsym Escape mode "default" +} +mode "$mode_gaps_outer" { + bindsym plus gaps outer current plus 5 + bindsym minus gaps outer current minus 5 + bindsym 0 gaps outer current set 0 + + bindsym Shift+plus gaps outer all plus 5 + bindsym Shift+minus gaps outer all minus 5 + bindsym Shift+0 gaps outer all set 0 + + bindsym Return mode "default" + bindsym Escape mode "default" +} + +# Set shut down, restart and locking features +bindsym $super+BackSpace mode "$mode_system" +set $mode_system (l)ock (e)xit switch_(u)ser (s)uspend (h)ibernate (r)eboot (Shift+s)hutdown +mode "$mode_system" { + bindsym l exec --no-startup-id i3exit lock, mode "default" + bindsym e exec --no-startup-id i3exit logout, mode "default" + bindsym u exec --no-startup-id i3exit switch_user, mode "default" + bindsym s exec --no-startup-id i3exit suspend, mode "default" + bindsym h exec --no-startup-id i3exit hibernate, mode "default" + bindsym r exec --no-startup-id i3exit reboot, mode "default" + bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default" + + # exit system mode: "Enter" or "Escape" + bindsym Return mode "default" + bindsym Escape mode "default" +} +# TODO: create your own i3exit script as ?syst-power + +# Lock screen +bindsym $super+Escape exec i3lock -t -i $lockScreenWallpaper + +# exec_always xrandr --output eDP-1-1-1 --auto --primary |