aboutsummaryrefslogtreecommitdiff
path: root/i3/config
blob: 8b0e5632a3d69e76205b27236b7caf854a7c553b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# Use Mod4 as modifier
set $mod Mod4

# Use Verdana as the system font
font pango:Verdana 7

# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod

# Mod+Shift+r restarts i3wm
bindsym $mod+Shift+r restart

# Mod+Shift+q logs out of i3wm
bindsym $mod+Shift+q exit

# Mod+Enter starts a terminal
bindsym $mod+Return exec urxvtcd

# Mod+Shift+c kills the focussed window
bindsym $mod+Shift+c kill

# Mod+Shift+d runs Dmenu
bindsym $mod+d exec dmenu_run -fn 'terminus-iso8859-1-12' -nb "#111111" -nf "#eeeeee" -sb "#285577" -sf "#ffffff"

# Mod+Shift+h/j/k/l change focus in a Vimlike way
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right

# Mod+Shift+h/j/k/l move the window in a Vimlike way
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right

# Mod+slash locks the screen
bindsym $mod+slash exec xscreensaver-command -lock

# Mod+backslash splits horizontally
bindsym $mod+backslash split h

# Mod+minus splits vertically
bindsym $mod+minus split v

# Mod+f makes the focussed container fullscreen
bindsym $mod+f fullscreen

# Mod+s/w/e changes to stacking/tabbed/togglesplit layout
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split

# Mod+space toggles between tiled and floating
bindsym $mod+space floating toggle

# Mod+a/z switches focus between container parent and child
bindsym $mod+a focus parent
bindsym $mod+z focus child

# Mod+<n> switches to a 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

# Mod+Shift+<n> moves a container to a 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

# Mod+r resizes a container
bindsym $mod+r mode "resize"
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 Return mode "default"
    bindsym Escape mode "default"
}

# PrintScreen takes a screenshot of the whole display
bindsym Print exec sh -c 'mkdir -p "$HOME"/Screenshots && import "$HOME"/Screenshots/shot-"$(date +%Y%m%d%H%M%S)".png'

# Shift-PrintScreen selects and takes a screenshot of a section of the screen
bindsym --release Shift+Print exec sh -c 'mkdir -p "$HOME"/Screenshots && import "$HOME"/Screenshots/snap-"$(date +%Y%m%d%H%M%S)".png'

# Special modifier keys change volume
bindsym XF86AudioRaiseVolume exec amixer -q sset Master 5%+ unmute
bindsym XF86AudioLowerVolume exec amixer -q sset Master 5%- unmute
bindsym XF86AudioMute        exec amixer -q sset Master toggle

# Special modifier keys control ncmcpp
bindsym XF86AudioStop exec ncmpcpp stop
bindsym XF86AudioPlay exec ncmpcpp toggle
bindsym XF86AudioNext exec ncmpcpp next
bindsym XF86AudioPrev exec ncmpcpp prev

# Special modifier keys run calculator, Thunar, mutt, and Firefox
bindsym XF86Calculator exec xcalc
bindsym XF86Explorer   exec thunar
bindsym XF86Mail       exec urxvtcd -e mutt
bindsym XF86HomePage   exec firefox

# i3bar at bottom of screen
bar {
    font              pango:Verdana 7
    position          bottom
    status_command    i3status --config ~/.i3/status
    workspace_buttons yes

    colors {
        background #111111
        statusline #eeeeee

        focused_workspace  #ffffff #285577
        active_workspace   #ffffff #333333
        inactive_workspace #888888 #222222
        urgent_workspace   #ffffff #900000
    }
}