summaryrefslogtreecommitdiff
path: root/.config/i3/config
diff options
context:
space:
mode:
Diffstat (limited to '.config/i3/config')
-rw-r--r--.config/i3/config644
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