about summary refs log tree commit diff
path: root/modules/workstation/windowing/sway/config.in
blob: 95cdc124e50d9c3c892759130ed5ed852db8140a (plain) (blame)
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
set $mod Mod4
set $left h
set $down j
set $up k
set $right l

default_border pixel
default_floating_border normal

client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a00
client.unfocused        #333333 #222222 #888888 #292d2e #22222200

for_window [app_id="float"] floating enable
for_window [class="Tor Browser"] floating enable
for_window [class="XDvi"] floating enable
for_window [instance="xdvi"] floating enable
for_window [class="XDvi" instance="xdvi"] floating disable

# Stop the Firefox sharing indicator (that appears when on an
# audio/video call) tiling, or appearing in the center of the display,
# or being focused.
no_focus [title="Firefox - Sharing Indicator"]
for_window [title="Firefox - Sharing Indicator"] {
    floating enable
    sticky enable

    # I'd really like this to be at the top, horizontally centered.
    # Or maybe at the bottom right.  But there's not really a way to
    # do that in sway configuration, as far as I can tell.  I think
    # I'd need to exec a program that would measure the display size
    # and compute the coordinates or something.  That sounds horrible
    # and fragile, so top left it is.
    move position 0 0
}

input * natural_scroll enabled

bindsym $mod+Return exec alacritty
bindsym $mod+backslash exec firefox
bindsym $mod+BackSpace kill
bindsym $mod+d exec swaymsg exec "$(choosebin --tiebreak=begin,length,index)"

# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal

# reload the configuration file
bindsym $mod+Shift+c reload

# exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e 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 $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right

bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right

bindsym $mod+g exec swaymsg workspace "$(@choose_workspace@)"
bindsym $mod+Shift+g exec swaymsg move container to workspace "$(@choose_workspace@)"

bindsym $mod+b splith
bindsym $mod+v splitv

bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split

bindsym $mod+f fullscreen

bindsym $mod+Shift+space floating toggle
bindsym $mod+space focus mode_toggle

bindsym $mod+a focus parent

bindsym $mod+Shift+minus move scratchpad
bindsym $mod+minus scratchpad show

mode "resize" {
    bindsym $left resize shrink width 10px
    bindsym $down resize grow height 10px
    bindsym $up resize shrink height 10px
    bindsym $right resize grow width 10px

    bindsym Return mode "default"
    bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"

bar {
    position top

    status_command @status_command@

    colors {
        statusline #ffffff
        background #00000077
        inactive_workspace #33333377 #00000077 #FFFFFF77
    }
}

@extraConfig@