aboutsummaryrefslogtreecommitdiff
path: root/sway-config
blob: 2a20096314718cd2366888bda2f30effa720e399 (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
set $mod Mod4
set $menu dmenu_path | dmenu | xargs swaymsg exec --
floating_modifier $mod

set $workspace_www 1:www
set $workspace_mail 2:mail
set $workspace_editor 3:editor
set $workspace_terminals 4:terminals

assign [app_id="thunderbird"] workspace $workspace_mail
assign [app_id="telegramdesktop"] workspace $workspace_mail
assign [app_id="firefox"] workspace $workspace_www

exec ~/.swayrc.d/00-mailnotify
exec ~/.swayrc.d/00-xkbmap
exec ~/.swayrc.d/03-mako
#exec ~/.swayrc.d/04-foot
exec ~/.swayrc.d/05-redshift
#exec ~/.swayrc.d/06-oguri

# Main hotkeys
bindsym --to-code $mod+Return          exec foot
bindsym --to-code $mod+r               exec $menu
bindsym --to-code $mod+c               kill
bindsym --to-code Mod1+Shift+r         reload
bindsym --to-code $mod+Shift+q         exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit'
bindsym --to-code $mod+l               exec lock
bindsym --release Print exec "grim /home/zar/screenshot.png"
bindsym --release Shift+Print exec 'grim -g "$(slurp)" - | wl-copy'
bindsym --release Ctrl+Print exec 'grim -g "$(slurp)" - | swappy -f -'
bindsym XF86AudioRaiseVolume exec "amixer sset Master '5%+'"
bindsym XF86AudioLowerVolume exec "amixer sset Master '5%-'"
bindsym XF86AudioMute exec "amixer set Headphone toggle; amixer set Speaker toggle; amixer set Master on"

# Workspaces
bindsym --to-code $mod+1               workspace $workspace_www
bindsym --to-code $mod+2               workspace $workspace_mail
bindsym --to-code $mod+3               workspace $workspace_editor
bindsym --to-code $mod+4               workspace $workspace_terminals
bindsym --to-code $mod+5               workspace 5
bindsym --to-code $mod+6               workspace 6
bindsym --to-code $mod+7               workspace 7
bindsym --to-code $mod+8               workspace 8
bindsym --to-code $mod+9               workspace 9
bindsym --to-code $mod+0               workspace 10
bindsym --to-code $mod+Left            workspace prev
bindsym --to-code $mod+Right           workspace next

bindsym --to-code $mod+Mod1+1          move container to workspace $workspace_www
bindsym --to-code $mod+Mod1+2          move container to workspace $workspace_mail
bindsym --to-code $mod+Mod1+3          move container to workspace $workspace_editor
bindsym --to-code $mod+Mod1+4          move container to workspace $workspace_terminals
bindsym --to-code $mod+Mod1+5          move container to workspace 5
bindsym --to-code $mod+Mod1+6          move container to workspace 6
bindsym --to-code $mod+Mod1+7          move container to workspace 7
bindsym --to-code $mod+Mod1+8          move container to workspace 8
bindsym --to-code $mod+Mod1+9          move container to workspace 9
bindsym --to-code $mod+Mod1+0          move container to workspace 10

# Layout
bindsym --to-code $mod+s               layout stacking
bindsym --to-code $mod+e               layout toggle split
bindsym --to-code $mod+h               split h
bindsym --to-code $mod+v               split v
bindsym --to-code $mod+f               fullscreen

# Focus
bindsym --to-code Mod1+Up              focus up
bindsym --to-code Mod1+Down            focus down
bindsym --to-code Mod1+Left            focus left
bindsym --to-code Mod1+Right           focus right
bindsym --to-code $mod+Up              focus up
bindsym --to-code $mod+Down            focus down
bindsym --to-code $mod+a               focus parent
bindsym --to-code $mod+space           floating toggle

# Moving
bindsym --to-code $mod+Shift+Left      move left
bindsym --to-code $mod+Shift+Down      move down
bindsym --to-code $mod+Shift+Up        move up
bindsym --to-code $mod+Shift+Right     move right

# Resize
mode "resize" {
  bindsym Left               resize shrink width 1 px or 1 ppt
  bindsym Down               resize grow height 1 px or 1 ppt
  bindsym Up                 resize shrink height 1 px or 1 ppt
  bindsym Right              resize grow width 1 px or 1 ppt

  bindsym Return             mode "default"
  bindsym Escape             mode "default"
}

mode "focus" {
  bindsym Left               focus left; mode "default"
  bindsym Down               focus down; mode "default"
  bindsym Up                 focus up; mode "default"
  bindsym Right              focus right; mode "default"
}

bindsym $mod+x               mode "resize"
bindsym Control+b            mode "focus"

bar {
    swaybar_command waybar
}

# Style
# class                 border  backgr. text    indicator child_border
client.focused          #222222 #222222 #ffffff #2e9ef4   #285577
client.focused_inactive #222222 #222222 #ffffff #484e50   #5f676a
client.unfocused        #222222 #222222 #888888 #292d2e   #222222
client.urgent           #222222 #222222 #ffffff #900000   #900000
client.background       #ffffff
default_border none
font pango:Monaco 7

input * {
    xkb_layout "birman-us,birman-ru"
    xkb_options "grp:caps_toggle,grp_led:scroll,lv3:ralt_switch_multikey"
}

output * bg /home/zar/.dotfiles/wallpapers/girl.png fill
#xwayland disable