dotfiles/i3/conf/common/base

205 lines
6.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
# {{{ FONT }}}
font pango:Hack 8
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8
# Before i3 v4.8, we used to recommend this one as the default:
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# The font above is very space-efficient, that is, it looks good, sharp and
# clear in small sizes. However, its unicode glyph coverage is limited, the old
# X core fonts rendering does not support right-to-left and this being a bitmap
# font, it doesnt scale on retina/hidpi displays.
# {{{ USBGUARD APPLET }}}
for_window [class="usbguard-applet-qt"] floating enable
for_window [class="usbguard-applet-qt"] border normal 2
# {{{ DROPDOWN TERMINAL }}}
for_window [instance="dropdown"] floating enable
for_window [instance="dropdown"] resize set 1024 768
for_window [instance="dropdown"] move scratchpad
for_window [instance="dropdown"] border pixel 1
exec --no-startup-id $TERMINAL -name dropdown
# {{{ TOGGL }}}
for_window [class="Toggl Desktop"] floating enable
for_window [class="Toggl Desktop"] border pixel 1
for_window [class="Toggl Desktop"] move scratchpad
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# {{{ KEYBINDINGS }}}
# start a terminal
bindsym $mod+Return exec $TERMINAL
bindsym $mod+Shift+Return exec $TERMINAL -name forced_term
# kill focused window
bindsym $mod+Shift+q kill
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# Change split orientation
bindsym $mod+v split v
bindsym $mod+Shift+v split h
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
# bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Ctrl+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
bindsym $mod+Shift+a focus child
# switch to workspace
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
# Urgent window
bindsym $mod+x [urgent=latest] focus
# MEDIA KEYS
bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set Master 1%+
bindsym XF86AudioLowerVolume exec --no-startup-id amixer set Master 1%-
bindsym Ctrl+XF86AudioRaiseVolume exec --no-startup-id amixer set Master 10%+
bindsym Ctrl+XF86AudioLowerVolume exec --no-startup-id amixer set Master 10%-
bindsym XF86AudioMute exec --no-startup-id amixer set Master toggle
bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause
bindsym XF86AudioNext exec --no-startup-id playerctl next
bindsym XF86AudioPrev exec --no-startup-id playerctl previous
bindsym XF86AudioStop exec --no-startup-id playerctl stop
# Screensaver || ThinkVantage
bindsym XF86ScreenSaver exec xautolock -locknow
bindsym XF86Battery exec xautolock -locknow
bindsym XF86Launch1 exec "xautolock -locknow; sync; systemctl suspend-then-hibernate"
# Lock screen
bindsym $mod+Ctrl+l exec "xautolock -locknow; sleep 1; xset dpms force off"
# Screenshot
bindsym Print exec ~/.config/i3/scripts/screenshot.sh
# {{{ RESIZE MODE }}}
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
bindsym h resize grow width 10 px or 10 ppt
bindsym j resize grow height 10 px or 10 ppt
bindsym k resize shrink height 10 px or 10 ppt
bindsym l resize shrink width 10 px or 10 ppt
# back to normal: Enter or Escape or $mod+r
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
# {{{ GAPS MODE }}}
mode "gaps" {
bindsym h gaps outer all plus 5
bindsym j gaps inner all plus 5
bindsym k gaps inner all minus 5
bindsym l gaps outer all minus 5
bindsym i gaps inner all set $gap_inner
bindsym o gaps outer all set $gap_outer
bindsym u gaps inner all set 0
bindsym p gaps outer all set 0
bindsym Shift+h gaps outer current plus 5
bindsym Shift+j gaps inner current plus 5
bindsym Shift+k gaps inner current minus 5
bindsym Shift+l gaps outer current minus 5
bindsym Shift+i gaps inner current set $gap_inner
bindsym Shift+o gaps outer current set $gap_outer
bindsym Shift+u gaps inner current set 0
bindsym Shift+p gaps outer current set 0
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+g mode "gaps"
# {{{ GAPS }}}
gaps inner $gap_inner
gaps outer $gap_outer
# {{{ NO BORDERS }}}
default_border none
default_floating_border normal