##############################################################################
# Adamat's i3 configuration. #
##############################################################################
# Modifier key is Super
set $mod Mod4
set $alt Mod1
#
# Outputs (nouveau)
set $out_l VGA-1
set $out_r HDMI-1
# Outputs (nvidia)
#set $out_l VGA-0
#set $out_r HDMI-0
font pango:Cantarell 9
# Draw background using feh
#exec --no-startup-id "~/.fehbg"
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec exec mate-terminal
# kill focused window
bindsym $mod+Shift+Q kill
# start dmenu (a program launcher)
bindsym $mod+d exec --no-startup-id ~/.local/bin/dmenu_run_i3
bindsym $mod+Shift+D exec --no-startup-id j4-dmenu-desktop
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right 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
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+z split h
# split in vertical orientation
bindsym $mod+v split v
# 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+t layout tabbed
bindsym $mod+n layout toggle split
# toggle tiling / floating
bindsym $mod+slash floating toggle
# change focus between tiling / floating windows
bindsym $mod+equal focus mode_toggle
# focus the parent container
bindsym $mod+comma focus parent
# focus the child container
bindsym $mod+period focus child
# default workspace placement
workspace 1 output $out_r
workspace 5 output $out_l
# switch to workspace
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+bracketleft workspace prev_on_output
bindsym $mod+bracketright workspace next_on_output
bindsym $mod+$alt+h focus output $out_l
bindsym $mod+$alt+l focus output $out_r
bindsym $mod+grave workspace back_and_forth
# move focused container to workspace
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+Shift+bracketleft move container to workspace prev_on_output
bindsym $mod+Shift+bracketright move container to workspace next_on_output
bindsym $mod+Shift+$alt+h move container to output $out_l
bindsym $mod+Shift+$alt+l move container to output $out_r
bindsym $mod+Shift+grave move container to workspace back_and_forth
#kill workspace
bindsym $mod+Shift+backslash focus parent, focus parent, focus parent, focus parent, focus parent, focus parent, focus parent, focus parent, focus parent, focus parent, kill
#scratchpad
bindsym $mod+w move scratchpad
bindsym $mod+m scratchpad show
# 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+X 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'"
# resize window (you can also use the mouse for that)
mode "resize" {
bindsym h resize shrink 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 grow width 10 px or 10 ppt
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
bindsym $mod+r mode "default"
bindsym Return mode "default"
bindsym Escape mode "default"
}
set $workspace_mode "mv workspace; rename: [i0-9], output:[hl]"
mode --pango_markup $workspace_mode {
bindsym 1 rename workspace to 1, mode "default"
bindsym 2 rename workspace to 2, mode "default"
bindsym 3 rename workspace to 3, mode "default"
bindsym 4 rename workspace to 4, mode "default"
bindsym 5 rename workspace to 5, mode "default"
bindsym 6 rename workspace to 6, mode "default"
bindsym 7 rename workspace to 7, mode "default"
bindsym 8 rename workspace to 8, mode "default"
bindsym 9 rename workspace to 9, mode "default"
bindsym 0 rename workspace to 10, mode "default"
bindsym i exec --no-startup-id i3-input -F 'rename workspace to "%s"' -P "New workspace name: ", mode "default"
bindsym h move workspace to output $out_l, mode "default"
bindsym l move workspace to output $out_r, mode "default"
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+BackSpace mode "default"
}
bindsym $mod+r mode "resize"
bindsym $mod+BackSpace mode $workspace_mode
bar {
position top
i3bar_command exec i3bar
status_command exec i3blocks
font pango:Cantarell, Awesome 9
tray_padding 0
tray_output primary
tray_output $out_r
tray_output $out_l
}
bindsym $mod+y bar mode toggle
# Marks
set $mymark "⌘G"
bindsym $mod+c mark --add --toggle $mymark
bindsym $mod+g [con_mark=$mymark] focus
bindsym $mod+Shift+M exec --no-startup-id i3-input -l 1 -P 'mark: ' -F 'mark --add --toggle "%s"'
bindsym $mod+Shift+G exec --no-startup-id i3-input -l 1 -P 'goto: ' -F '[con_mark="%s"] focus'
bindsym $mod+x swap container with mark $mymark
# Volume keys
# Warning: Not sure about respecting active sink
bindsym XF86AudioRaiseVolume exec --no-startup-id "amixer sset Master 5%+ unmute ; pkill -SIGRTMIN+10 i3blocks"
bindsym XF86AudioLowerVolume exec --no-startup-id "amixer sset Master 5%- unmute ; pkill -SIGRTMIN+10 i3blocks"
bindsym XF86AudioMute exec --no-startup-id "amixer sset Master toggle ; pkill -SIGRTMIN+10 i3blocks"
bindsym XF86AudioMicMute exec --no-startup-id "amixer sset 'Capture' toggle"
# Display switch key
#bindsym XF86Display exec lxrandr
#bindsym shift+XF86Display exec --no-startup-id xrandr --auto
# Sreen brightness keys
#bindsym XF86MonBrightnessUp exec --no-startup-id "bash -c 'eval pkexec /usr/lib/gnome-settings-daemon/gsd-backlight-helper --set-brightness $[`/usr/lib/gnome-settings-daemon/gsd-backlight-helper --get-brightness` + 15]' ; pkill -SIGRTMIN+11 i3blocks"
#bindsym XF86MonBrightnessDown exec --no-startup-id "bash -c 'eval pkexec /usr/lib/gnome-settings-daemon/gsd-backlight-helper --set-brightness $[`/usr/lib/gnome-settings-daemon/gsd-backlight-helper --get-brightness` - 15]' ; pkill -SIGRTMIN+11 i3blocks"
# Background programs
exec --no-startup-id exec mate-settings-daemon
exec --no-startup-id exec mate-polkit
exec --no-startup-id exec nm-applet
exec --no-startup-id exec dunst
#exec --no-startup-id "exec redshift -l 49.1:16.76 -t 6000:4000"
# Window rules
for_window [instance="Navigator"] border none
for_window [class="Zenity_panel"] move position mouse
for_window [class="Zenity_panel"] move down 22px
for_window [window_role="popup_"] floating toggle
# Power management from keyboard
set $LockBG ~/Obrázky/Wallpapers/high_tide_by_kefka-resized.jpg
bindsym $mod+Shift+colon exec --no-startup-id "i3lock -f -c 222222 && sleep 1 && xset dpms force standby"
bindsym XF86Sleep exec --no-startup-id "i3lock -f -c 222222 && systemctl suspend"
bindsym shift+XF86Sleep exec --no-startup-id "i3lock -f -c 222222 && systemctl hibernate"
# Window management with mouse
bindsym --release button2 kill
bindsym --whole-window $mod+button2 kill
bindsym button3 floating toggle
#bindsym --whole-window $mod+button3 floating toggle
# workaround kvůli NumLocku https://github.com/i3/i3/issues/2523
bindsym --release Mod2+button2 kill
bindsym Mod2+button3 floating toggle
bindsym $mod+b border toggle
bindsym $mod+p sticky toggle
# Small floating terminal
bindsym $mod+Shift+Return exec mate-terminal --role=popup_term --geometry=60x10
bindsym $mod+minus exec mate-terminal --role=popup_term --geometry=60x10
# F-keys
bindsym $mod+F1 exec exec mate-terminal -e vim
bindsym $mod+F2 exec exec pcmanfm
bindsym $mod+F3 exec exec gnome-calculator
bindsym $mod+F4 exec exec mate-terminal -e "sudo aptitude"
bindsym $mod+F5 exec exec mate-system-monitor
bindsym $mod+F11 exec lxrandr
bindsym $mod+shift+F11 exec --no-startup-id xrandr --auto
# Rhythmbox controls
bindsym $mod+Mod1+Right exec --no-startup-id rhythmbox-client --next
bindsym $mod+Mod1+Left exec --no-startup-id rhythmbox-client --previous
bindsym $mod+Mod1+Up exec --no-startup-id rhythmbox-client --play-pause
bindsym $mod+Mod1+Down exec --no-startup-id rhythmbox-client --stop
bindsym $mod+space exec --no-startup-id i3-input -P "i3> "
# Ehm...
bindsym $mod+apostrophe [title="(Anonymní prohlížení)"] kill
new_window normal 2
new_float normal 3
hide_edge_borders smart
workspace_auto_back_and_forth no
mouse_warping none
# class border backgr. text indicator child_border
#client.focused #4c7899 #285577 #ffffff #2e9ef4 #285577
#client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
#client.unfocused #333333 #222222 #888888 #292d2e #222222
#client.urgent #2f343a #900000 #ffffff #900000 #900000
#client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
#client.background #ffffff