X-Git-Url: https://git.sev.monster/~sev/dotfiles.git/blobdiff_plain/d9362f346f3609007060bdec8ab6691a5537b0ad..fd602313db9bcb31d14d0e472828eeb4aa894859:/xdg/i3/config?ds=inline diff --git a/xdg/i3/config b/xdg/i3/config index d37b5d7..af19cae 100644 --- a/xdg/i3/config +++ b/xdg/i3/config @@ -1,48 +1,45 @@ -# i3 config file (v4) -# Please see http://i3wm.org/docs/userguide.html for a complete reference! -# Font for window titles. Will also be used by the bar unless a different font -# is used in the bar {} block below. +# master modifier key +set $mod Mod4 + +### important binds ### +# reload the configuration file +bindsym $mod+Shift+c reload +# restart i3 inplace +bindsym $mod+Shift+r restart +# exit i3 +bindsym $mod+Shift+e exec --no-startup-id i3-nagbar -t warning -m Exit? -b Yes 'i3-msg exit' -font pango:Dina, DejaVu Sans Mono, monospace 7 +### applications ### +# x220t bezel buttons +bindcode 198 exec --no-startup-id rotate set normal +bindcode 204 exec --no-startup-id rotate right -# 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 +# terminal +bindsym $mod+Return exec --no-startup-id i3-sensible-terminal -# 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 doesn’t scale on retina/hidpi displays. +# dmenu +bindsym $mod+d exec --no-startup-id $HOME/bin/dmenu_runsmart -p "%" -# Modifier key -set $mod Mod4 +# mpc +bindsym XF86AudioPlay exec --no-startup-id mpc -h /var/mpd/socket play +bindsym XF86AudioStop exec --no-startup-id mpc -h /var/mpd/socket pause +bindsym XF86AudioPrev exec --no-startup-id mpc -h /var/mpd/socket cdprev +bindsym XF86AudioNext exec --no-startup-id mpc -h /var/mpd/socket next -# use these keys for focus, movement, and resize directions + +### window management ### +# directional keys set $up k set $down j set $left h set $right l -# and arrow keys +# arrow keys for completeness set $up2 Up set $down2 Down set $left2 Left set $right2 Right -# use Mouse+$mod to drag floating windows to their wanted position -floating_modifier $mod - -# start a terminal -bindsym $mod+Return exec --no-startup-id i3-sensible-terminal - -# kill focused window -bindsym $mod+Shift+q kill - -# start dmenu -bindsym $mod+d exec --no-startup-id $HOME/bin/dmenu_runsmart -p "%" - # change focus bindsym $mod+$left focus left bindsym $mod+$down focus down @@ -52,7 +49,6 @@ bindsym $mod+$left2 focus left bindsym $mod+$down2 focus down bindsym $mod+$up2 focus up bindsym $mod+$right2 focus right - # move focused window bindsym $mod+Shift+$left move left bindsym $mod+Shift+$down move down @@ -65,10 +61,12 @@ bindsym $mod+Shift+$right2 move right # split in horizontal orientation bindsym $mod+i split h - # split in vertical orientation bindsym $mod+o split v +# mouse+$mod to drag floating windows +floating_modifier $mod + # enter fullscreen mode for the focused container bindsym $mod+f fullscreen toggle bindsym $mod+Shift+f fullscreen toggle global @@ -90,6 +88,9 @@ bindsym $mod+a focus parent # focus the child container bindsym $mod+z focus child +# kill focused window +bindsym $mod+Shift+q kill + # move the currently focused window to the scratchpad bindsym $mod+Shift+minus move scratchpad @@ -108,6 +109,8 @@ bindsym $mod+7 workspace 7 bindsym $mod+8 workspace 8 bindsym $mod+9 workspace 9 bindsym $mod+0 workspace 10 +# repeat workspace to go back +workspace_auto_back_and_forth yes # move focused container to workspace bindsym $mod+Shift+1 move container to workspace 1 @@ -121,59 +124,40 @@ 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 -# rename current window -bindsym $mod+t --no-startup-id xrename - -# reload the configuration file -bindsym $mod+Shift+c reload -# restart i3 inplace -bindsym $mod+Shift+r restart -# exit i3 -bindsym $mod+Shift+e exec --no-startup-id i3-nagbar -t warning -m Exit? -b Yes 'i3-msg exit' - -# x220t bezel buttons -bindcode 198 exec --no-startup-id rotate set normal -bindcode 204 exec --no-startup-id rotate right - -# volume buttons -bindsym XF86AudioMute exec --no-startup-id mixer vol 0 -bindsym XF86AudioLowerVolume exec --no-startup-id mixer vol -5 -bindsym XF86AudioRaiseVolume exec --no-startup-id mixer vol +5 - # move and resize [floating] windows mode "translate" { - bindsym $left resize shrink width 20 px - bindsym $down resize grow height 20 px - bindsym $up resize shrink height 20 px - bindsym $right resize grow width 20 px + bindsym $left resize shrink width 20 px + bindsym $down resize grow height 20 px + bindsym $up resize shrink height 20 px + bindsym $right resize grow width 20 px bindsym $left2 resize shrink width 20 px bindsym $down2 resize grow height 20 px bindsym $up2 resize shrink height 20 px bindsym $right2 resize grow width 20 px - bindsym Shift+$left move left 20 px - bindsym Shift+$down move down 20 px - bindsym Shift+$up move up 20 px - bindsym Shift+$right move right 20 px + bindsym Shift+$left move left 20 px + bindsym Shift+$down move down 20 px + bindsym Shift+$up move up 20 px + bindsym Shift+$right move right 20 px bindsym Shift+$left2 move left 20 px bindsym Shift+$down2 move down 20 px bindsym Shift+$up2 move up 20 px bindsym Shift+$right2 move right 20 px # smaller movements - bindsym Control+$left resize shrink width 1 px or 1 ppt - bindsym Control+$down resize grow height 1 px or 1 ppt - bindsym Control+$up resize shrink height 1 px or 1 ppt - bindsym Control+$right resize grow width 1 px or 1 ppt + bindsym Control+$left resize shrink width 1 px or 1 ppt + bindsym Control+$down resize grow height 1 px or 1 ppt + bindsym Control+$up resize shrink height 1 px or 1 ppt + bindsym Control+$right resize grow width 1 px or 1 ppt bindsym Control+$left2 resize shrink width 1 px or 1 ppt bindsym Control+$down2 resize grow height 1 px or 1 ppt bindsym Control+$up2 resize shrink height 1 px or 1 ppt bindsym Control+$right2 resize grow width 1 px or 1 ppt - bindsym Control+Shift+$left move left 1 px - bindsym Control+Shift+$down move down 1 px - bindsym Control+Shift+$up move up 1 px - bindsym Control+Shift+$right move right 1 px + bindsym Control+Shift+$left move left 1 px + bindsym Control+Shift+$down move down 1 px + bindsym Control+Shift+$up move up 1 px + bindsym Control+Shift+$right move right 1 px bindsym Control+Shift+$left2 move left 1 px bindsym Control+Shift+$down2 move down 1 px bindsym Control+Shift+$up2 move up 1 px @@ -192,56 +176,85 @@ mode "translate" { bindsym $mod+z focus child # back to normal: Enter, Escape, or original key - bindsym return mode default - bindsym escape mode default + bindsym Return mode default + bindsym Escape mode default bindsym $mod+r mode default } bindsym $mod+r mode "translate" + +### appearance ### +# font +font pango:Dina 7 + +# windows +for_window [class="Gsimplecal"] floating enable +for_window [class="XMixer"] floating enable + # borders hide_edge_borders smart -#new_window normal 1 new_window pixel 1 gaps inner 6 smart_gaps on -# misc -workspace_auto_back_and_forth yes -force_display_urgency_hint 2000 ms - # color definitions -# class border backgr. text indicator child_border -set $focused #cc6600 #aa5500 #eee8d5 #4466ff #cc6600 -set $inactive #884400 #221100 #93a1a1 #264bd2 #884400 -set $urgent #ff4444 #dc322f #000000 #4466ff #ff4444 -set $blue #4466ff #264bd2 #fdf6e3 #264db2 #4466ff - +# generic +set $bg #110800 +set $fg #93a1a1 +# focused +set $f_bdr #cc6600 +set $f_bg #aa5500 +set $f_fg #eee8d5 +set $f_ind #4466ff +set $f_chb #cc6600 +# inactive +set $i_bdr #884400 +set $i_bg #221100 +set $i_fg $fg +set $i_ind #264bd2 +set $i_chb #884400 +# urgent +set $u_bdr #ff4444 +set $u_bg #dc322f +set $u_fg #000000 +set $u_ind #4466ff +set $u_chb #ff4444 +# blue +set $b_bdr #4466ff +set $b_bg #268bd2 +set $b_fg #fdf6e3 +set $b_ind #264db2 +set $b_chb #4466ff + +# TODO: deprecate in favor of tint2 bar { position top + output LVDS1 tray_output primary status_command i3status separator_symbol "|" colors { - background #110800 - statusline #93a1a1 - separator #268bd2 + background $bg + statusline $fg + separator $b_ind # class border backgr. text - focused_workspace $focused - active_workspace $inactive - inactive_workspace $inactive - urgent_workspace $urgent - binding_mode $blue + focused_workspace $f_bdr $f_bg $f_fg + active_workspace $i_bdr $i_bg $i_fg + inactive_workspace $i_bdr $i_bg $i_fg + urgent_workspace $u_bdr $u_bg $u_fg + binding_mode $b_bdr $b_bg $b_fg } } -# colors +# apply colors # class border backgr. text indicator child_border -client.focused $focused -client.focused_inactive $inactive -client.unfocused $inactive -client.urgent $urgent -client.placeholder $blue - +client.focused $f_bdr $f_bg $f_fg $f_ind $f_chb +client.focused_inactive $i_bdr $i_bg $i_fg $i_ind $i_chb +client.unfocused $i_bdr $i_bg $i_fg $i_ind $i_chb +client.urgent $u_bdr $u_bg $u_fg $u_ind $u_chb +client.placeholder $b_bdr $b_bg $b_fg $b_ind $b_chb client.background #221100 +# keep urgent colors around longer +force_display_urgency_hint 2000 ms