a12b57314b7d61d206e33f257d3fe00e39ef818d
[distro-setup] / i3-sway / common.conf
1 ####### DO NOT EDIT LIVE CONFIG. generated from /a/bin/distro-setup/i3-sway/gen #######
2
3 # https://i3wm.org/docs/userguide.html#keybindings
4 #To get the current mapping of your keys, use xmodmap -pke. To
5 #interactively enter a key and see what keysym it is configured to, use
6 #xev.
7 set $mod Mod4
8
9 bindsym $mod+2 exec "pavucontrol"
10 # calling without -no-remote makes this to be the instance that links
11 # will open in from other applications.
12 bindsym $mod+3 exec "abrowser"
13 # calling just abrowser mysteriously stopped working,
14 # so I figured out this is how to get output, but then
15 # it suddenly started working again.
16 #bindsym $mod+3 exec "abrowser 2>&1 >/tmp/l"
17 #bindsym $mod+3 exec "abrowser -no-remote -P sfw"
18 bindsym $mod+4 exec "abrowser -no-remote -P firefox-main-profile"
19 bindsym $mod+5 exec "/usr/local/bin/start-tor-browser"
20 bindsym $mod+6 exec "/a/bin/redshift.sh"
21 # bindsym $mod+equal exec "t s w; t in"
22 # bindsym $mod+Home exec "t out"
23 # #bindsym $mod+End exec "t s x; t in"
24 # bindsym $mod+grave exec "t s lunch; t in; t out -a '45 minutes from now'"
25
26
27 bindsym $mod+equal focus parent
28 # move firefox to current workspace.
29 # https://i3wm.org/docs/userguide.html#keybindings
30 # get class with xprop, example output
31 # WM_CLASS(STRING) = "irssi", "URxvt"
32 # xprop |& grep WM_CLASS
33 bindsym $mod+w [class="abrowser"] move workspace current
34
35 bindsym $mod+e fullscreen toggle
36 bindsym $mod+r exec "/a/bin/ds/xl"
37 # todo, in newer i3, make this toggle split tabbed
38 bindsym $mod+t layout toggle split
39 #bindsym $mod+Shift+t move workspace to output up
40 bindsym $mod+Shift+t move workspace to output right
41 bindsym $mod+g layout tabbed
42
43 # Use Mouse+$mod to drag floating windows to their wanted position
44 floating_modifier $mod
45
46 bindsym $mod+u focus left
47 bindsym $mod+i focus right
48 bindsym $mod+o focus up
49 bindsym $mod+p focus down
50
51 bindsym $mod+Left move left
52 bindsym $mod+Right move right
53 bindsym $mod+Up move up
54 bindsym $mod+Down move down
55
56 # switch to workspace
57 bindsym $mod+Shift+a move container to workspace 4
58 bindsym $mod+a workspace 4
59 # move focused container to workspace
60 bindsym $mod+Shift+s move container to workspace 3
61 bindsym $mod+s workspace 3
62
63 bindsym $mod+Shift+d move container to workspace 2
64 bindsym $mod+d workspace 2
65
66 bindsym $mod+Shift+f move container to workspace 1
67 bindsym $mod+f workspace 1
68
69 bindsym $mod+Shift+z move container to workspace 5
70 bindsym $mod+z workspace 5
71
72 bindsym $mod+Shift+x move container to workspace 6
73 bindsym $mod+x workspace 6
74
75
76 # todo, in newer i3, make this split toggle
77 bindsym $mod+v split vertical
78 bindsym $mod+Shift+v split horizontal
79 # https://faq.i3wm.org/question/7662/reverse-perl-matches-in-criteria-in-i3-config.1.html
80 # I found their regex slightly wrong. This is a hacky way to
81 # ignore my irc emacs instances, their window titles
82 # are irc room names. Another way would be to hack on the
83 # window title, or xprop stuff, but I figure I'm switching
84 # to wayland soon, lets wait and see how things work there.
85 bindsym $mod+b [class="Emacs" title="^(?!#[a-zA-Z][a-zA-Z-]*$)"] move workspace current
86
87 bindsym $mod+c kill
88
89
90 bindsym $mod+Shift+Home move container to workspace 7
91 bindsym $mod+Home workspace 7
92 bindsym $mod+Shift+q move container to workspace 8
93 bindsym $mod+q workspace 8
94
95 bindsym $mod+Shift+8 move container to workspace 9
96 bindsym $mod+8 workspace 9
97 bindsym $mod+Shift+9 move container to workspace 10
98 bindsym $mod+9 workspace 10
99
100
101 # random keybind, feel free to change
102 bindsym $mod+Shift+m border toggle
103
104 # toggle tiling / floating
105 bindcode $mod+Shift+65 floating toggle
106
107 # change focus between tiling / floating windows
108 bindcode $mod+65 focus mode_toggle
109 # Use Mouse+$mod to drag floating windows to their wanted position
110 floating_modifier $mod
111
112 bindsym $mod+j exec emacsclient -c
113 bindsym $mod+k exec konsole
114 bindsym $mod+l exec dmenu_run
115 # note default is 27% on my system76. not sure if these
116 # keybinds will screw up other laptop brightness keys.
117 bindsym XF86MonBrightnessUp exec brightnessctl s +5%
118 bindsym XF86MonBrightnessDown exec brightnessctl s 5%-
119
120 # Font for window titles. Will also be used by the bar unless a different font
121 # is used in the bar {} block below.
122 font pango:monospace 8
123
124 # todo: only available in newer i3n
125 #hide_edge_borders smart
126
127 #exec --no-startup-id /usr/lib/x86_64-linux-gnu/libexec/kdeconnectd
128
129 # Start clipster daemon
130 #exec --no-startup-id /a/opt/clipster/clipster -d
131
132
133 # shortcut to selection widget (primary)
134 bindsym $mod+End exec /a/opt/clipster/clipster -sp
135
136 # file:///usr/share/doc/i3-wm/userguide.html#_border_style_for_new_windows
137 new_window none
138
139 # I dont see a way to make processing windows act like normal windows,
140 # this does it.
141 # https://unix.stackexchange.com/questions/450700/opening-a-programme-in-a-floating-window-in-i3
142 #
143 # This is the info for a processing window launched from the ide.
144 # I'm not sure I want it like this, so commenting it out for now.
145 #for_window [class="processing-core-PApplet" instance="processing-core-PApplet"] floating disable
146
147 # this is the processing window for my app named focus.
148 for_window [class="focus" instance="focus"] floating disable