summaryrefslogtreecommitdiff
path: root/.config/i3/config
blob: 57082485d02b72e3e36098f8f4378457e8af2522 (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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
#==========================================================
#
#   ██╗██████╗        ██████╗  █████╗ ██████╗ ███████╗
#   ██║╚════██╗      ██╔════╝ ██╔══██╗██╔══██╗██╔════╝
#   ██║ █████╔╝█████╗██║  ███╗███████║██████╔╝███████╗
#   ██║ ╚═══██╗╚════╝██║   ██║██╔══██║██╔═══╝ ╚════██║
#   ██║██████╔╝      ╚██████╔╝██║  ██║██║     ███████║
#   ╚═╝╚═════╝        ╚═════╝ ╚═╝  ╚═╝╚═╝     ╚══════╝
#
#   Please see https://i3wm.org/docs/userguide.html for a complete reference!
#==========================================================


# ======================== Startup ========================

# ============ Modkey ============
set $mod Mod4
set $term sakura
set $monlf eDP1
set $monrt HDMI-1-0
set $menu rofi -show drun -show-icons

# ============ Workspaces Setup ============
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 "10:十"

workspace $ws1 output $monlf
workspace $ws2 output $monlf
workspace $ws3 output $monlf
workspace $ws4 output $monlf
workspace $ws5 output $monlf
workspace $ws6 output $monrt
workspace $ws7 output $monrt
workspace $ws8 output $monrt
workspace $ws9 output $monrt
workspace $ws10 output $monrt

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

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

# ============ Colors ============
set_from_resource $accent 			accent			#285577
set_from_resource $border 			border			#285577
set_from_resource $inactive_border 	inactive_border	#5f676a
set_from_resource $unfocused_border	color0			#222222
set_from_resource $background		background		#285577
set_from_resource $text				foreground		#ffffff
set_from_resource $indicator		indicator		#2e9ef4
set_from_resource $sec_indicator 	sec_indicator
set_from_resource $urgent			alert			#900000

client.focused 			$border 			$background	$text	$indicator		$border
client.focused_inactive	$inactive_border	$background	$text	$sec_indicator	$inactive_border
client.unfocused       	$unfocused_border	$background	$text	$sec_indicator	$unfocused_border
client.urgent          	$urgent				$background	$text	$indicator		$urgent

font pango:JetBrains Mono 9
#for_window [class=".*"] border pixel 2
#gaps inner 5

# ============ Modes ============
bindsym $mod+r mode "resize"
#mode "resize" {
	#bindsym Left resize shrink width 5 px or 5 ppt
	#bindsym Down resize shrink height 5 px or 5 ppt
	#bindsym Up resize grow height 5 px or 5 ppt
	#bindsym Right resize grow width 5 px or 5 ppt
#
	#bindsym h resize shrink width 5 px or 5 ppt
	#bindsym j resize shrink height 5 px or 5 ppt
	#bindsym k resize grow height 5 px or 5 ppt
	#bindsym l resize grow width 5 px or 5 ppt
#
	#bindsym Return mode "default"
	#bindsym Escape mode "default"
	#bindsym $mod+r mode "default"
#}

bindsym $mod+s exec --no-startup-id "i3-big-swap.py"
# mode "settings"
#mode "settings" {
	#bindsym d exec dunstctl set-paused toggle
	#bindsym b exec bluetooth-notif --toggle
	#bindsym n exec networkmanager_dmenu, mode "default"
	#bindsym m exec pamixer -t
	#bindsym v exec pavucontrol
	#bindsym a exec --no-startup-id "audio-output.sh", mode "default"
	#bindsym o exec --no-startup-id "hdmi-xrandr", mode "default"
	#bindsym r exec --no-startup-id "record-screen.sh", mode "default"
	#bindsym S exec --no-startup-id "i3-big-swap.py", mode "default"
#
	#bindsym Escape mode "default"
#}

# ======================== Keybinds ========================
# ============ System Keybinds ============
bindsym $mod+Ctrl+c reload
bindsym $mod+Ctrl+r restart
bindsym $mod+q kill
bindsym $mod+Ctrl+Shift+q exec poweroff
bindsym $mod+Ctrl+Shift+e exit
bindsym $mod+Ctrl+Shift+r exec restart

bindsym $mod+u [urgent=latest] focus

#bindsym $mod+g gaps inner all toggle 5

bindsym $mod+Return exec $term
bindsym $mod+p exec $menu
#bindsym $mod+Shift+x exec dm-tool lock

floating_modifier $mod

#bindsym $mod+Escape exec "main-menu"

bindsym $mod+b split h
bindsym $mod+v split v
bindsym $mod+Tab split toggle
bindsym $mod+Escape workspace back_and_forth

bindsym $mod+t layout tabbed
bindsym $mod+w layout default
bindsym $mod+Shift+Tab layout toggle split

bindsym $mod+BackSpace focus mode_toggle
bindsym $mod+Shift+BackSpace floating toggle
bindsym $mod+Ctrl+BackSpace sticky toggle

bindsym $mod+f fullscreen toggle
bindsym $mod+a focus parent
bindsym $mod+d focus child

# ============ Navegation & Focus Keybinds ============
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right

bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right

bindsym $mod+Ctrl+h resize shrink width 5 px or 5 ppt
bindsym $mod+Ctrl+j resize shrink height 5 px or 5 ppt
bindsym $mod+Ctrl+k resize grow height 5 px or 5 ppt
bindsym $mod+Ctrl+l resize grow width 5 px or 5 ppt

bindsym $mod+Shift+minus move scratchpad
bindsym $mod+minus scratchpad show
bindsym $mod+tilda for_window [instace="dropdown_*"] scratchpad show
bindsym $mod+g [class="scrcpy"] scratchpad show

# ============ Funcion Keys ============
bindsym XF86AudioRaiseVolume exec --no-startup-id pamixer -i 5
bindsym XF86AudioLowerVolume exec --no-startup-id pamixer -d 5
bindsym XF86AudioMute exec --no-startup-id pamixer -t

bindsym XF86AudioPlay exec --no-startup-id "mpc toggle"
bindsym XF86AudioNext exec --no-startup-id "mpc next"
bindsym XF86AudioPrev exec --no-startup-id "mpc prev"

bindsym $mod+m mode "music"

mode "music" {
	bindsym a exec --no-startup-id "music album", mode "default"
	bindsym m exec --no-startup-id "music title", mode "default"
	bindsym s exec --no-startup-id "music artist", mode "default"

	bindsym Escape mode "default"
}

bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl s +5%
bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl s 5%-

# ============ User Keybinds ============
bindsym $mod+Shift+S exec --no-startup-id "pastedit -s"
bindsym $mod+Control+S exec --no-startup-id "pastedit"

# ============ System Application Startup ============
exec_always --no-startup-id "~/.local/bin/hdmi-xrandr --extend"
exec_always --no-startup-id "xwallpaper --zoom \"${HOME}/.config/wallpaper\""

exec --no-startup-id picom --experimental-backend &
#exec --no-startup-id sakura --class=weechat -x weechat
#exec --no-startup-id sakura --class=neomutt -x neomutt
#exec --no-startup-id discord &
#exec --no-startup-id steam &

# ============ User Application Startup ============
# ============ Window Rules ============
for_window [all] title_window_icon yes, title_window_icon padding 3px
for_window [class="Pavucontrol"] floating enable
for_window [title="Picture-in-Picture"] sticky enable
for_window [class="Dragon-drag-and-drop"] sticky enable
for_window [class=".*.exe"] floating enable
for_window [class="scrcpy"] floating enable, sticky enable, move scratchpad, scratchpad show

assign [class="leagueclient.exe"] $ws5
assign [class="leagueclientux.exe"] $ws5
assign [class="riotclientservices.exe"] $ws5
assign [class="neomutt"] $ws7
assign [class="weechat"] $ws8
assign [class="Steam"] $ws9
assign [class="discord"] $ws10

bar {
	status_command i3status
	strip_workspace_numbers yes
	position bottom
	colors {
		background $background
		statusline $text
		separator #ff0000
		# Category         Border            Background        Text
		focused_workspace  $accent           $accent           #000000
		active_workspace   $unfocused_border $unfocused_border $text
		inactive_workspace $background       $background       $text
		urgent_workspace   $urgent           $urgent           $text
		binding_mode       $background       $background       $text

	}
}