-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathi3config-recursive
158 lines (139 loc) · 5.54 KB
/
i3config-recursive
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
# vim: filetype=config fdm=marker sw=4 ts=4 commentstring=#\ %s
# Modifiers {{{
set $shift Shift
set $ctrl Control
set $meta Mod4
set $alt Mod1
# }}}
# Direction keys {{{
set $up k
set $down j
set $left h
set $right l
# }}}
# Colors {{{
# class border backgr. text indicator child_border
# client.focused #4c7899 #285577 #ffffff #2e9ef4 #285577
client.focused #00ff00 #007000 #ffffff #ffff00 #007000
# client.focused #ee4400 #ff0000 #ffffff #ffff00 #ff0000
client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
client.unfocused #333333 #222222 #888888 #292d2e #222222
client.urgent #2f343a #900000 #ffffff #900000 #900000
client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
client.background #ffffff
# }}}
# Font {{{
set $font "pango:DejaVu Sans Mono 9"
# set $font "pango:DejaVu Sans Mono 100"
# set $font pango:monospace 10
# set $font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# set $font pango:Noto Sans Mono 10
font $font
# set $i3input i3-input -f "$font"
# TODO: make eval on right side of set work
set $i3input i3-input -f "pango:DejaVu Sans Mono 10"
# set $i3input i3-input -f "pango:DejaVu Sans Mono 50"
# }}}
# Default applications {{{
set $browser google-chrome-stable
set $terminal kitty -o allow_remote_control=socket-only --listen-on unix:/tmp/kittyctrl --single-instance
set $terminal_tmux kitty -o allow_remote_control=socket-only --listen-on unix:/tmp/kittyctrl --single-instance zsh -ic 'tmm'
set $lock_now ~/bin/i3lock-wrapper.sh
# }}}
# Options {{{
for_window [class="scrcpy"] move left, resize shrink width 700
# for_window [class="scrcpy"] resize set 40 0
# for_window [class="Arandr"] floating enable, resize set 400 400
for_window [class="XEyes"] floating enable, border none
# for_window [class="XEyes"] floating enable, resize set 350 200, border none
for_window [class="Pavucontrol"] floating enable, resize set 600 750
# for_window [class="Pidgin" window_role="buddy_list"] floating enable, resize set 540 260
for_window [class="jetbrains-studio" title="Breakpoints"] floating disable
for_window [class="jetbrains-studio" title="Change Signature"] floating disable
for_window [class="jetbrains-studio" title="Settings"] floating disable
# WM_NAME(STRING) = "Breakpoints" WM_CLASS(STRING) = "jetbrains-studio", "jetbrains-studio"
for_window [class="copyq" floating] floating disable
# assign [class="copyq"] $WS_LOG
# for_window [con_mark=""] title_format "T: <b>%title</b> (%class - %instance)"
hide_edge_borders none
floating_minimum_size 200 x 200
floating_modifier $alt
focus_follows_mouse yes
focus_wrapping yes # focus_wrapping force
force_display_urgency_hint 666 ms
no_focus [window_role="pop-up"]
popup_during_fullscreen leave_fullscreen # ignore, smart
show_marks yes
workspace_auto_back_and_forth yes
workspace_layout default # default, stacking, tabbed
# }}}
# Key bindings {{{
set $mode_i3 "[i3: b:border h:hide, i:float, m:scratchpad, r:rename ws, s:toggle bar, t:tag, y:sticky]"
set $mode_move "[move: hjkl]"
set $mode_resize "[resize: hjkl+shift/ctrl]"
set $mode_manipulate "[manipulate: hjkl+shift/ctrl]"
set $mode_system "[system: l:lock, s:suspend, S:lock&suspend, h:hibernate]"
set $mode_wallpaper "[walpaper: n:next, p:previous, d:disable, e:enable, f:favorite]"
set $mode_return mode "default"
set $step_size 20 px
# Mode "system" {{{
bindsym $meta+o mode $mode_system
mode $mode_system {
bindsym $meta+o exec notify-send "i3: Leaving recursive mode", exec ln -sf ~/.dotfiles/i3config-full ~/.config/i3/config, reload, reload $mode_return
}
# }}}
# }}}
# Bars {{{
bar {
position top
font $font
status_command ~/bin/i3status_wrapper
tray_output primary
tray_padding 3 px
separator_symbol "|"
strip_workspace_numbers no
strip_workspace_name no
binding_mode_indicator yes
workspace_buttons yes
# mode dock
# hidden_state show
colors {
background #000000
statusline #ffffff
separator #709099
}
}
# WS_QEMU {{{
set $WS_QEMU "qemu"
assign [class="qemu-system-x86_64"] $WS_QEMU
assign [title="Emulator"] $WS_QEMU
# for_window [title="Emulator"] floating enable
for_window [title="Emulator"] floating disable
# }}}
# }}}
# Autostart {{{
exec_always --no-startup-id xset -b -c r rate 200 140 dpms 0 0 2400 s off
exec_always --no-startup-id setxkbmap -layout us,de -option grp:alt_caps_toggle
exec_always --no-startup-id xmodmap -e "keycode 94 = asciitilde asciitilde asciitilde asciitilde"
# exec_always --no-startup-id systemctl is-active --user --quiet dunst.service || dunst
bindsym $ctrl+$shift+space exec dunstctl close
bindsym $ctrl+$shift+1 exec dunstpaused
bindsym $ctrl+$shift+2 exec dunstpause
bindsym $ctrl+$shift+3 exec dunstctl history-pop
# xautolock's hotcorner seem to get confused when switching monitor setup
# exec_always --no-startup-id xautolock -time 9 -corners '--++' -cornerdelay 1 -cornerredelay 60 -locker i3lock-wrapper.sh -detectsleep
exec_always --no-startup-id nm-applet
exec_always --no-startup-id pa-applet
exec_always --no-startup-id killall unclutter ; unclutter --ignore-scrolling --fork --timeout 5
exec_always --no-startup-id copyq
# exec_always --no-startup-id firewall-applet
exec_always --no-startup-id xsetroot -solid black
# exec_always --no-startup-id variety --next
# exec_always --no-startup-id blueman-tray
exec_always --no-startup-id blueman-applet
exec_always --no-startup-id pgrep -x firewall-applet || firewall-applet
exec_always --no-startup-id xsetroot -solid black
# exec_always --no-startup-id variety --next
exec_always --no-startup-id blueman-tray
exec_always --no-startup-id notify-send "i3config loaded."
# }}}