]> git.donarmstrong.com Git - x_base.git/blob - .config/i3/config_base
686deaa35ecc4e2be2bbd9c721dd8c027c295c8c
[x_base.git] / .config / i3 / config_base
1 # -*- mode: conf -*-
2 # i3 config file (v4)
3 #
4 # Please see http://i3wm.org/docs/userguide.html for a complete reference!
5
6 set $mod Mod4
7
8 # Font for window titles. Will also be used by the bar unless a different font
9 # is used in the bar {} block below.
10 #font pango:monospace 8
11
12 # This font is widely installed, provides lots of unicode glyphs, right-to-left
13 # text rendering and scalability on retina/hidpi displays (thanks to pango).
14 font pango:DejaVu Sans Mono 8
15
16 # Before i3 v4.8, we used to recommend this one as the default:
17 # font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
18 # The font above is very space-efficient, that is, it looks good, sharp and
19 # clear in small sizes. However, its unicode glyph coverage is limited, the old
20 # X core fonts rendering does not support right-to-left and this being a bitmap
21 # font, it doesn’t scale on retina/hidpi displays.
22
23 # Use Mouse+$mod to drag floating windows to their wanted position
24 floating_modifier $mod
25
26 # start a terminal
27 bindsym $mod+Return exec i3-sensible-terminal
28
29 # kill focused window
30 bindsym $mod+Shift+q kill
31
32 # start dmenu (a program launcher)
33 # bindsym $mod+d exec dmenu_run
34 # There also is the (new) i3-dmenu-desktop which only displays applications
35 # shipping a .desktop file. It is a wrapper around dmenu, so you need that
36 # installed.
37 bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
38
39 # change focus
40 bindsym $mod+j focus left
41 bindsym $mod+k focus down
42 bindsym $mod+l focus up
43 bindsym $mod+semicolon focus right
44
45 # alternatively, you can use the cursor keys:
46 bindsym $mod+Left focus left
47 bindsym $mod+Down focus down
48 bindsym $mod+Up focus up
49 bindsym $mod+Right focus right
50
51 # move focused window
52 bindsym $mod+Shift+j move left
53 bindsym $mod+Shift+k move down
54 bindsym $mod+Shift+l move up
55 bindsym $mod+Shift+semicolon move right
56
57 # alternatively, you can use the cursor keys:
58 bindsym $mod+Shift+Left move left
59 bindsym $mod+Shift+Down move down
60 bindsym $mod+Shift+Up move up
61 bindsym $mod+Shift+Right move right
62
63 # move focused window
64 bindsym $mod+Control+Shift+j move container to output left
65 bindsym $mod+Control+Shift+k move container to output down
66 bindsym $mod+Control+Shift+l move container to output up
67 bindsym $mod+Control+Shift+semicolon move container to output right
68
69 bindsym $mod+Control+Shift+Left move container to output left
70 bindsym $mod+Control+Shift+Down move container to output down
71 bindsym $mod+Control+Shift+Up move container to output up
72 bindsym $mod+Control+Shift+Right move container to output right
73
74 # alternatively, you can use the cursor keys:
75 bindsym $mod+Control+j move workspace to output left
76 bindsym $mod+Control+k move workspace to output down
77 bindsym $mod+Control+l move workspace to output up
78 bindsym $mod+Control+semicolon move workspace to output right
79
80 bindsym $mod+Control+Left move workspace to output left
81 bindsym $mod+Control+Down move workspace to output down
82 bindsym $mod+Control+Up move workspace to output up
83 bindsym $mod+Control+Right move workspace to output right
84
85 # split in horizontal orientation
86 bindsym $mod+h split h
87
88 # split in vertical orientation
89 bindsym $mod+v split v
90
91 # enter fullscreen mode for the focused container
92 bindsym $mod+f fullscreen toggle
93
94 # change container layout (stacked, tabbed, toggle split)
95 bindsym $mod+s layout stacking
96 bindsym $mod+w layout tabbed
97 bindsym $mod+e layout toggle split
98
99 # toggle tiling / floating
100 bindsym $mod+Shift+space floating toggle
101
102 # change focus between tiling / floating windows
103 bindsym $mod+space focus mode_toggle
104
105 # focus the parent container
106 bindsym $mod+a focus parent
107
108 # focus the child container
109 #bindsym $mod+d focus child
110
111 # switch to workspace
112 bindsym $mod+1 workspace "1: emacs"
113 bindsym $mod+2 workspace "2: mutt"
114 bindsym $mod+3 workspace "3: browser"
115 bindsym $mod+4 workspace 4
116 bindsym $mod+5 workspace 5
117 bindsym $mod+6 workspace 6
118 bindsym $mod+7 workspace 7
119 bindsym $mod+8 workspace 8
120 bindsym $mod+9 workspace 9
121 bindsym $mod+0 workspace 10
122
123 # move focused container to workspace
124 bindsym $mod+Shift+1 move container to workspace "1: emacs"
125 bindsym $mod+Shift+2 move container to workspace "2: mutt"
126 bindsym $mod+Shift+3 move container to workspace "3: browser"
127 bindsym $mod+Shift+4 move container to workspace 4
128 bindsym $mod+Shift+5 move container to workspace 5
129 bindsym $mod+Shift+6 move container to workspace 6
130 bindsym $mod+Shift+7 move container to workspace 7
131 bindsym $mod+Shift+8 move container to workspace 8
132 bindsym $mod+Shift+9 move container to workspace 9
133 bindsym $mod+Shift+0 move container to workspace 10
134
135 # reload the configuration file
136 bindsym $mod+Shift+c exec "sh -c '[ -x ~/.config/i3/build_config.sh ] && ~/.config/i3/build_config.sh; i3-msg reload'"
137 # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
138 bindsym $mod+Shift+r restart
139 # exit i3 (logs you out of your X session)
140 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'"
141
142 # resize window (you can also use the mouse for that)
143 mode "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 }
165
166 bindsym $mod+r mode "resize"
167
168 # media keys
169 bindsym XF86AudioRaiseVolume exec --no-startup-id sh -c "pactl set-sink-volume `pacmd list-sinks | awk -F': ' '/* index/{print $2}'` +5%" #increase sound volume
170 bindsym XF86AudioLowerVolume exec --no-startup-id sh -c "pactl set-sink-volume `pacmd list-sinks | awk -F': ' '/* index/{print $2}'` -5%" #decrease sound volume
171 bindsym XF86AudioMute exec --no-startup-id sh -c "pactl set-sink-mute `pacmd list-sinks | awk -F': ' '/* index/{print $2}'` toggle" # mute sound
172 bindsym XF86AudioMicMute exec --no-startup-id sh -c "pactl set-source-mute `pacmd list-sinks | awk -F': ' '/* index/{print $2}'` toggle" # mute mic
173
174 # brightness
175 bindsym XF86MonBrightnessUp exec xbacklight -inc 5 # increase screen brightness
176 bindsym XF86MonBrightnessDown exec xbacklight -dec 5 # decrease screen brightness
177
178 # seach/tools/wlan/display
179 bindsym XF86WLAN exec sh -c 'if /usr/sbin/rfkill list|grep -q "blocked: yes"; then /usr/sbin/rfkill unblock all; else /usr/sbin/rfkill block all; fi;' 
180 #bindsym XF86Display exec presentation_mode
181
182 # Start i3bar to display a workspace bar (plus the system information i3status
183 # finds out, if available)
184 bar {
185         status_command i3status
186         tray_output primary
187 }