]> git.lizzy.rs Git - i3-setup.git/blob - i3-config
Document wallpaper
[i3-setup.git] / i3-config
1 set $mod Mod4
2 floating_modifier $mod
3
4 font pango:Ubuntu 11
5
6 # startup
7 exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
8 exec --no-startup-id nm-applet
9 exec_always --no-startup-id feh --bg-fill $HOME/wallpaper.png
10 exec_always --no-startup-id killall -qw picom; picom -b
11
12 # audio keys
13 set $refresh_i3status killall -SIGUSR1 i3status
14 bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
15 bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
16 bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
17 bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
18
19 # applications
20 bindsym $mod+Return exec $HOME/.local/kitty.app/bin/kitty
21 bindsym $mod+Shift+f exec firefox
22 bindsym $mod+Shift+d exec discord
23 bindsym $mod+Shift+h exec hexchat
24 bindsym $mod+Shift+m exec element-desktop
25
26 # kill focused window
27 bindsym $mod+Shift+q kill
28
29 # start dmenu (a program launcher)
30 bindsym $mod+d exec dmenu_run
31
32 # gaps
33 for_window [class=".*"] border pixel 0
34 gaps inner 10
35 gaps outer 0
36 smart_borders on
37 smart_borders no_gaps
38
39 # Start i3bar to display a workspace bar (plus the system information i3status
40 # finds out, if available)
41 bar {
42         status_command i3status
43         height 25
44         position top
45         output primary
46 }
47
48 # split in horizontal orientation
49 bindsym $mod+h split h
50
51 # split in vertical orientation
52 bindsym $mod+v split v
53
54 # enter fullscreen mode for the focused container
55 bindsym $mod+f fullscreen toggle
56
57 # change container layout (stacked, tabbed, toggle split)
58 bindsym $mod+s layout stacking
59 bindsym $mod+w layout tabbed
60 bindsym $mod+e layout toggle split
61
62 # toggle tiling / floating
63 bindsym $mod+Shift+space floating toggle
64
65 # change focus between tiling / floating windows
66 bindsym $mod+space focus mode_toggle
67
68 # focus the parent container
69 bindsym $mod+a focus parent
70
71 # Define names for default workspaces for which we configure key bindings later on.
72 # We use variables to avoid repeating the names in multiple places.
73 set $ws1 "1"
74 set $ws2 "2"
75 set $ws3 "3"
76 set $ws4 "4"
77 set $ws5 "5"
78 set $ws6 "6"
79 set $ws7 "7"
80 set $ws8 "8"
81 set $ws9 "9"
82 set $ws10 "10"
83
84 # switch to workspace
85 bindsym $mod+1 workspace number $ws1
86 bindsym $mod+2 workspace number $ws2
87 bindsym $mod+3 workspace number $ws3
88 bindsym $mod+4 workspace number $ws4
89 bindsym $mod+5 workspace number $ws5
90 bindsym $mod+6 workspace number $ws6
91 bindsym $mod+7 workspace number $ws7
92 bindsym $mod+8 workspace number $ws8
93 bindsym $mod+9 workspace number $ws9
94 bindsym $mod+0 workspace number $ws10
95
96 # move focused container to workspace
97 bindsym $mod+Shift+1 move container to workspace number $ws1
98 bindsym $mod+Shift+2 move container to workspace number $ws2
99 bindsym $mod+Shift+3 move container to workspace number $ws3
100 bindsym $mod+Shift+4 move container to workspace number $ws4
101 bindsym $mod+Shift+5 move container to workspace number $ws5
102 bindsym $mod+Shift+6 move container to workspace number $ws6
103 bindsym $mod+Shift+7 move container to workspace number $ws7
104 bindsym $mod+Shift+8 move container to workspace number $ws8
105 bindsym $mod+Shift+9 move container to workspace number $ws9
106 bindsym $mod+Shift+0 move container to workspace number $ws10
107
108 # change focus
109 bindsym $mod+j focus left
110 bindsym $mod+k focus down
111 bindsym $mod+l focus up
112 bindsym $mod+odiaeresis focus right
113
114 # alternatively, you can use the cursor keys:
115 bindsym $mod+Left focus left
116 bindsym $mod+Down focus down
117 bindsym $mod+Up focus up
118 bindsym $mod+Right focus right
119
120 # move focused window
121 bindsym $mod+Shift+j move left
122 bindsym $mod+Shift+k move down
123 bindsym $mod+Shift+l move up
124 bindsym $mod+Shift+odiaeresis move right
125
126 # alternatively, you can use the cursor keys:
127 bindsym $mod+Shift+Left move left
128 bindsym $mod+Shift+Down move down
129 bindsym $mod+Shift+Up move up
130 bindsym $mod+Shift+Right move right
131
132 # reload the configuration file
133 bindsym $mod+Shift+c reload
134 # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
135 bindsym $mod+Shift+r restart
136 # exit i3 (logs you out of your X session)
137 # 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'"
138
139 bindsym $mod+r mode "resize"
140
141 # resize window (you can also use the mouse for that)
142 mode "resize" {
143         # These bindings trigger as soon as you enter the resize mode
144
145         # Pressing left will shrink the window’s width.
146         # Pressing right will grow the window’s width.
147         # Pressing up will shrink the window’s height.
148         # Pressing down will grow the window’s height.
149         bindsym j resize shrink width 10 px or 10 ppt
150         bindsym k resize grow height 10 px or 10 ppt
151         bindsym l resize shrink height 10 px or 10 ppt
152         bindsym odiaeresis resize grow width 10 px or 10 ppt
153
154         # same bindings, but for the arrow keys
155         bindsym Left resize shrink width 10 px or 10 ppt
156         bindsym Down resize grow height 10 px or 10 ppt
157         bindsym Up resize shrink height 10 px or 10 ppt
158         bindsym Right resize grow width 10 px or 10 ppt
159
160         # back to normal: Enter or Escape or $mod+r
161         bindsym Return mode "default"
162         bindsym Escape mode "default"
163         bindsym $mod+r mode "default"
164 }