aboutsummaryrefslogtreecommitdiffstats
path: root/sway/config
blob: d06511ad93c298c6e2cbfe7fdff3078d9aac7919 (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
# Variables
# -------------------------
set $mod        Mod4
set $left       h
set $down       j
set $up         k
set $right      l
set $term       kitty
set $rofi_cmd   rofi -terminal '$term'
set $menu  $rofi_cmd -show combi -combi-modes drun

# Wallpaper
# -------------------------
output * bg ~/Wallpapers/wallpaper-01.jpg fill

# Idle Options
# -------------------------
# exec swayidle -w \
#      timeout 300 'swaylock -f -c 000000' \
#      timeout 600 'swaymsg "output * power off"' \
#      resume 'swaymsg "output * power on"' \
#      before-sleep 'swaylock -f -c 000000'

# Keymap
# -------------------------
input * {
        xkb_layout "gb(mac)"
}

# Key Bindings
# -------------------------
# --- Common ---
bindsym $mod+Return exec $term
bindsym $mod+Shift+q kill
bindsym $mod+d exec $menu
bindsym $mod+Shift+c reload
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'

# --- Focus ---
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right

# --- Move windows ---
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+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right

# --- Switch to workspace ---
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10

# --- Move focused window to workspace ---
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10

# --- Layout management ---
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

# --- Scratchpad ---
bindsym $mod+Shift+minus move scratchpad  # Send window to scratchpad
bindsym $mod+minus scratchpad show        # Show/hide scratchpad window

# --- Resizing tiles ---
bindsym $mod+r mode "resize"
mode "resize" {
    bindsym $right  resize shrink width 10px
    bindsym $up  resize grow height 10px
    bindsym $down    resize shrink height 10px
    bindsym $left resize grow width 10px

    bindsym Right   resize shrink width 10px
    bindsym Up   resize grow height 10px
    bindsym Down     resize shrink height 10px
    bindsym Left  resize grow width 10px

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

# config.d
# ---------------------------
include '$(/usr/libexec/sway/layered-include \
    "/usr/share/sway/config.d/*.conf" \
    "/etc/sway/config.d/*.conf" \
    "${XDG_CONFIG_HOME:-$HOME/.config}/sway/config.d/*.conf")'
git.ajschof.me — hosted by ajschofield — powered by cgit