Add configs for compton, dunst, i3, i3status, jami, and mpv
[~bandali/configs] / .config / i3 / config
CommitLineData
17d2cfa0
AB
1exec --no-startup-id ~/.local/bin/startup-progs
2
3# super
4set $mod Mod4
5# alt
6set $mod2 Mod1
7# hyper
8set $mod3 Mod3
9
10# window title and bar font (unless specified differently in 'bar {}'
11font pango:Source Code Pro 9.5
12# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
13
14# for dragging floating windows with mouse
15floating_modifier $mod
16
17# default tabbed
18workspace_layout tabbed
19
20# terminal
21bindsym $mod+Return exec urxvt
22bindsym $mod+Shift+Return exec urxvt -name floating
23for_window [class="URxvt" instance="floating"] floating enable
24
25# kill focused window (not necessarily its application)
26bindsym $mod+Shift+w kill
27# kill an application
28#bindsym --release $mod+Shift+x exec xkill
29
30# rofi launcher and pass
31bindsym $mod+space exec rofi -show run -display-run ' > ' -display-window ' 🗔 '
32bindsym $mod+backslash exec rofi -show window -display-run ' > ' -display-window ' 🗔 '
33bindsym $mod+Shift+space exec rofi-pass
34
35# brightness
36bindsym $mod+apostrophe exec rofi-light # rofi-based brightness chooser
37bindsym XF86MonBrightnessUp exec light -A 5 # increase screen brightness
38bindsym XF86MonBrightnessDown exec light -U 5 # decrease screen brightness
39
40# volume
41bindsym XF86AudioRaiseVolume exec pamixer --allow-boost --increase 5
42bindsym XF86AudioLowerVolume exec pamixer --allow-boost --decrease 5
43bindsym XF86AudioMute exec pamixer --toggle-mute
44bindsym XF86AudioMicMute exec pactl set-source-mute 1 toggle
45
46# window focus
47bindsym $mod+h focus left
48bindsym $mod+j focus down
49bindsym $mod+k focus up
50bindsym $mod+l focus right
51bindsym $mod+Left focus left
52bindsym $mod+Down focus down
53bindsym $mod+Up focus up
54bindsym $mod+Right focus right
55
56# window move
57bindsym $mod+Shift+h move left
58bindsym $mod+Shift+j move down
59bindsym $mod+Shift+k move up
60bindsym $mod+Shift+l move right
61bindsym $mod+Shift+Left move left
62bindsym $mod+Shift+Down move down
63bindsym $mod+Shift+Up move up
64bindsym $mod+Shift+Right move right
65
66# horizontal and vertical orientation
67bindsym $mod+shift+backslash split h
68bindsym $mod+minus split v
69
70# enter fullscreen mode for the focused container
71bindsym $mod+f fullscreen toggle
72
73# change container layout (stacked, tabbed, toggle split)
74bindsym $mod+s layout stacking
75bindsym $mod+w layout tabbed
76bindsym $mod+e layout toggle split
77
78# toggle tiling / floating
79bindsym $mod+Shift+f floating toggle
80# toggle tiling / floating focus
81bindsym $mod+grave focus mode_toggle
82
83# toggle sticky
84bindsym $mod+shift+s sticky toggle
85
86# focus parent / child
87bindsym $mod+a focus parent
88bindsym $mod+Shift+a focus child
89
90# switch to workspace
91bindsym $mod+1 workspace 1
92bindsym $mod+2 workspace 2
93bindsym $mod+3 workspace 3
94bindsym $mod+4 workspace 4
95bindsym $mod+5 workspace 5
96bindsym $mod+6 workspace 6
97bindsym $mod+7 workspace 7
98bindsym $mod+8 workspace 8
99bindsym $mod+9 workspace 9
100bindsym $mod+0 workspace 10
101bindsym $mod+bracketleft workspace prev
102bindsym $mod+bracketright workspace next
103
104# move focused container to workspace
105bindsym $mod+Shift+1 move container to workspace 1
106bindsym $mod+Shift+2 move container to workspace 2
107bindsym $mod+Shift+3 move container to workspace 3
108bindsym $mod+Shift+4 move container to workspace 4
109bindsym $mod+Shift+5 move container to workspace 5
110bindsym $mod+Shift+6 move container to workspace 6
111bindsym $mod+Shift+7 move container to workspace 7
112bindsym $mod+Shift+8 move container to workspace 8
113bindsym $mod+Shift+9 move container to workspace 9
114bindsym $mod+Shift+0 move container to workspace 10
115bindsym $mod+Shift+bracketleft move container to workspace prev
116bindsym $mod+Shift+bracketright move container to workspace next
117
118# bspwm-esque workspace switch and container move
119bindsym $mod2+bracketleft exec b-ws-util i3 switch prev
120bindsym $mod2+bracketright exec b-ws-util i3 switch next
121bindsym $mod2+Shift+bracketleft exec b-ws-util i3 move prev follow
122bindsym $mod2+Shift+bracketright exec b-ws-util i3 move next follow
123
124set $mode_system System (l)ock | (e)xit i3 | (s)uspend | (h)ibernate | (r)eboot | (S)hutdown
125mode "$mode_system" {
126 bindsym l exec i3lock, mode "default"
127 bindsym e exec i3-msg exit, mode "default"
128 bindsym s exec systemctl suspend, mode "default"
129 bindsym h exec systemctl hibernate, mode "default"
130 bindsym r exec systemctl reboot, mode "default"
131 bindsym Shift+s exec systemctl poweroff -i, mode "default"
132
133 bindsym Return mode "default"
134 bindsym Escape mode "default"
135 bindsym q mode "default"
136}
137
138bindsym $mod+Shift+c reload
139bindsym $mod+Shift+r restart
140bindsym $mod+Shift+e mode "$mode_system"
141
142# resize window (you can also use the mouse for that)
143mode "resize" {
144 # These bindings trigger as soon as you enter the resize mode
145
146 # Pressing left will shrink the window’s width.
147 # Pressing right will grow the window’s width.
148 # Pressing up will shrink the window’s height.
149 # Pressing down will grow the window’s height.
150 bindsym j resize shrink width 10 px or 10 ppt
151 bindsym k resize grow height 10 px or 10 ppt
152 bindsym l resize shrink height 10 px or 10 ppt
153 bindsym semicolon resize grow width 10 px or 10 ppt
154
155 # same bindings, but for the arrow keys
156 bindsym Left resize shrink width 10 px or 10 ppt
157 bindsym Down resize grow height 10 px or 10 ppt
158 bindsym Up resize shrink height 10 px or 10 ppt
159 bindsym Right resize grow width 10 px or 10 ppt
160
161 # back to normal: Enter or Escape
162 bindsym Return mode "default"
163 bindsym Escape mode "default"
164}
165bindsym $mod+r mode "resize"
166
167# application-specific window configurations
168for_window [class="mpv"] floating enable
169for_window [class="Mumble"] floating enable
170for_window [class="Nm-connection-editor"] floating enable
171for_window [class="Virt-manager"] floating enable
172
173# no title bars
174for_window [class="^.*"] border pixel 4
175
176# i3bar and system info from i3status
177bar {
178 status_command i3status | my-i3status
179 tray_output primary
180}