summaryrefslogtreecommitdiff
path: root/.config/i3/config
blob: 64e80731d035306ace5e95f9647edfad00280ec5 (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
135
# i3 config file (v4)
# Please see https://i3wm.org/docs/userguide.html for a complete reference!

# ----- Definitions --------------------------------------------------------------------------------
gaps inner 0
gaps outer 0
set $mod Mod4

font pango:monospace 8

bindsym $mod+Return  exec i3-sensible-terminal
bindsym $mod+Shift+q kill
bindsym $mod+d       exec dmenu_run

floating_modifier $mod
#for_window [class="^.*"] border pixel 1

# ----- Startup ------------------------------------------------------------------------------------
exec_always --no-startup-id xwallpaper --stretch ~/.config/wall
exec        --no-startup-id xcompmgr -c -o.60
exec        --no-startup-id mpd
exec        --no-startup-id redshift -c ~/.config/redshift/redshift.config
exec        --no-startup-id pipewire

# ----- Container Management -----------------------------------------------------------------------
bindsym $mod+j         focus left
bindsym $mod+Left      focus left
bindsym $mod+k         focus down
bindsym $mod+Down      focus down
bindsym $mod+l         focus up
bindsym $mod+Up        focus up
bindsym $mod+semicolon focus right
bindsym $mod+Right     focus right

bindsym $mod+Shift+j         move left
bindsym $mod+Shift+Left      move left
bindsym $mod+Shift+k         move down
bindsym $mod+Shift+Down      move down
bindsym $mod+Shift+l         move up
bindsym $mod+Shift+Up        move up
bindsym $mod+Shift+semicolon move right
bindsym $mod+Shift+Right     move right

bindsym $mod+h split h
bindsym $mod+v split v

bindsym $mod+f fullscreen toggle

bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split

bindsym $mod+Shift+space floating toggle

bindsym $mod+space focus mode_toggle

bindsym $mod+a focus parent

# ----- Workspace Management -----------------------------------------------------------------------
set $ws1  "1"
set $ws2  "2"
set $ws3  "3"
set $ws4  "4"
set $ws5  "5"
set $ws6  "6"
set $ws7  "7"
set $ws8  "8"
set $ws9  "9"
set $ws10 "0"

bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10

bindsym $mod+Shift+1 move container to workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10

# ----- Lifecycle Management -----------------------------------------------------------------------
bindsym $mod+Shift+c reload
bindsym $mod+Shift+r restart
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"

# ----- XF86 ---------------------------------------------------------------------------------------
bindsym XF86AudioMute         exec --no-startup-id amixer -qM sset Master toggle
bindsym XF86AudioLowerVolume  exec --no-startup-id amixer -qM sset Master 5%-
bindsym XF86AudioRaiseVolume  exec --no-startup-id amixer -qM sset Master 5%+
bindsym XF86AudioNext         exec --no-startup-id mpc next
bindsym XF86AudioPrev         exec --no-startup-id mpc prev
bindsym XF86AudioPlay         exec --no-startup-id mpc toggle
bindsym XF86AudioStop         exec --no-startup-id mpc toggle
bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 15
bindsym XF86MonBrightnessUp   exec --no-startup-id xbacklight -inc 15

# ----- Screenshots --------------------------------------------------------------------------------
bindsym Print       exec --no-startup-id scrot    # Print whole screen.
bindsym Shift+Print exec --no-startup-id scrot -u # Print currently focused window.

# ----- Resizing -----------------------------------------------------------------------------------
bindsym $mod+r mode "resize"
mode "resize" {
        bindsym j         resize shrink width  10 px or 10 ppt
        bindsym Left      resize shrink width  10 px or 10 ppt
        bindsym k         resize grow   height 10 px or 10 ppt
        bindsym Down      resize grow   height 10 px or 10 ppt
        bindsym l         resize shrink height 10 px or 10 ppt
        bindsym Up        resize shrink height 10 px or 10 ppt
        bindsym semicolon resize grow   width  10 px or 10 ppt
        bindsym Right     resize grow   width  10 px or 10 ppt

        bindsym Return mode "default"
        bindsym Escape mode "default"
        bindsym $mod+r mode "default"
}

# ----- i3bar --------------------------------------------------------------------------------------
bar {
        status_command i3status
	position top
}