summaryrefslogtreecommitdiff
path: root/base/config/i3/config.d/00_base_config
blob: 582bf71d32dd25dac3badc07f4ea867041f3d6d9 (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
#
# This is my base i3 config which is shared between all hosts.
#

set $mod Mod4           # Use the windows key to control i3.
floating_modifier $mod

## Visual Settings
font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
hide_edge_borders both

## Bindings to start programs
bindsym $mod+space exec i3-dmenu-desktop
bindsym $mod+Return exec i3-sensible-terminal

# kill focused window
bindsym $mod+Shift+Q kill


## Bindings to control windows

### Focus Commands
bindsym $mod+h         focus left
bindsym $mod+j         focus down
bindsym $mod+k         focus up
bindsym $mod+l         focus right
bindsym Mod1+Tab       focus right
bindsym Mod1+Shift+Tab focus left
bindsym $mod+a         focus parent
bindcode $mod+d        focus child

### Window Moving Commands
bindsym $mod+Shift+H   move left
bindsym $mod+Shift+J   move down
bindsym $mod+Shift+K   move up
bindsym $mod+Shift+L   move right

### Floating Windows
bindsym $mod+Shift+space  floating toggle
bindsym $mod+Tab          focus mode_toggle

## Layout Commands
bindsym $mod+s        layout stacking
bindsym $mod+w        layout tabbed
bindsym $mod+e        layout default
bindsym $mod+v        split v
bindsym $mod+Shift+V  split h
bindsym $mod+f        fullscreen


## Bindings to control workspaces

### Switch Workspaces
bindsym $mod+1     workspace number 1
bindsym $mod+2     workspace number 2
bindsym $mod+3     workspace number 3
bindsym $mod+4     workspace number 4
bindsym $mod+5     workspace number 5
bindsym $mod+6     workspace number 6
bindsym $mod+7     workspace number 7
bindsym $mod+8     workspace number 8
bindsym $mod+9     workspace number 9
bindsym $mod+0     workspace number 10
bindsym $mod+Left  workspace prev_on_output
bindsym $mod+Right workspace next_on_output

### Move container to workspace
bindsym $mod+Shift+exclam      move workspace number 1
bindsym $mod+Shift+at          move workspace number 2
bindsym $mod+Shift+numbersign  move workspace number 3
bindsym $mod+Shift+dollar      move workspace number 4
bindsym $mod+Shift+percent     move workspace number 5
bindsym $mod+Shift+asciicircum move workspace number 6
bindsym $mod+Shift+ampersand   move workspace number 7
bindsym $mod+Shift+asterisk    move workspace number 8
bindsym $mod+Shift+parenleft   move workspace number 9
bindsym $mod+Shift+parenright  move workspace number 10
bindsym $mod+Shift+Left        move workspace prev
bindsym $mod+Shift+Right       move workspace next

workspace_auto_back_and_forth yes

### Scratchpad
bindsym $mod+Shift+minus  move scratchpad
bindsym $mod+minus        scratchpad show


## Bindings to contorl the session
bindsym $mod+Shift+C     exec "make_i3_config > $HOME/.config/i3/config"; reload
bindsym $mod+Shift+R     restart
bindsym $mod+Shift+E     exit 
bindsym Control+mod1+l   exec xautolock -locknow


## Alternative modes

### Resize Mode
bindsym $mod+r mode "resize"
mode "resize" {
    bindsym h          resize shrink left  10 px or 10 ppt
    bindsym Shift+H    resize grow   left  10 px or 10 ppt
    bindsym j          resize shrink down  10 px or 10 ppt
    bindsym Shift+j    resize grow   down  10 px or 10 ppt 
    bindsym k          resize shrink up    10 px or 10 ppt
    bindsym Shift+K    resize grow   up    10 px or 10 ppt
    bindsym l          resize shrink right 10 px or 10 ppt
    bindsym Shift+L    resize grow   right 10 px or 10 ppt
    
    bindsym Return mode "default"
    bindsym Escape mode "default"
}


## i3bar Settings
bar {
    status_command conky-i3bar
    position top
    tray_output primary
    font xft:UbuntuMono 10
}


## Misc. Bindings

### Volume
bindsym $mod+Prior exec pactl set-sink-volume -- 0 "+2%"
bindsym $mod+Next  exec pactl set-sink-volume -- 0 "-2%"


## Specific Window Settings
for_window [class="Gcalctool"]        floating enable
for_window [class="Gnome-calculator"] floating enable