aboutsummaryrefslogtreecommitdiff
path: root/.config/sway/config
blob: c862d4fdfe8748b9f407e182a0d4a8f8df13f134 (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
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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
# Macbook (gentoo)
# Config for sway

default_border pixel 3
default_floating_border pixel 3
gaps inner 9

# class                 border  backgr. text    flag    child_border
client.focused          #ABE9B3 #ABE9B3 #1e1e2e #ABE9B3 #ABE9B3
client.unfocused        #988BA2 #988BA2 #1e1e2e #988BA2 #988BA2
client.urgent           #F28FAD #F28FAD #1e1e2e #F28FAD #F28FAD 

### Variables
set $mod Mod4
set $left h
set $down j
set $up k
set $right l
set $term alacritty
set $browser firefox-bin
set $screenshot grim -g "$(slurp)" - | wl-copy

# Set wallpaper
output * bg ~/.img/wallpaper/waves_mono.png fill

# Notification daemon
exec /usr/bin/mako

# Start pipewire
exec /usr/bin/gentoo-pipewire-launcher

### Input configuration (man 5 sway-input)
# You can get the names of your inputs by running: swaymsg -t get_inputs
input type:keyboard {
  xkb_layout us,ru
  xkb_options grp:alts_toggle
}

input "1452:588:bcm5974" {
	dwt enabled
	tap enabled
	middle_emulation enabled
}

# Apply GTK-3 themes
set $gnome-schema org.gnome.desktop.interface
exec_always {
  gsettings set $gnome-schema gtk-theme 'Catppuccin-blue'
  gsettings set $gnome-schema icon-theme 'catppuccin'
  gsettings set $gnome-schema cursor-theme 'Reimu'
}

### Key bindings
  # Applications
    bindsym $mod+f exec $browser
    bindsym $mod+t exec $term
    bindsym $mod+r exec wofi
    bindsym $mod+p exec $screenshot
    bindsym $mod+Shift+p exec grim -g "$(slurp)"
    bindsym $mod+q kill
    bindsym $mod+Escape exec swaylock

  # Drag floating windows by holding down $mod and left mouse button.
  # Resize them with right mouse button + $mod.
    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+Escape exec swaynag -t warning -m 'Are you sure you want to exit sway session?' -b 'Yes, exit sway' 'swaymsg exit'

  # Brightness (requires brightnessctl)
    bindsym XF86MonBrightnessDown exec brightnessctl -q set 10%-
    bindsym XF86MonBrightnessUp   exec brightnessctl -q set +10%
    bindsym XF86KbdBrightnessDown   exec brightnessctl -q --device='smc::kbd_backlight' set 10%-
    bindsym XF86KbdBrightnessUp     exec brightnessctl -q --device='smc::kbd_backlight' set +10%

  # Audio
    bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
    bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
    bindsym XF86AudioMute        exec pactl set-sink-mute   @DEFAULT_SINK@ toggle

  # Meida Controls (playerctl package)
    bindsym XF86AudioPlay  exec playerctl play-pause
    bindsym XF86AudioPause exec playerctl pause
    bindsym XF86AudioStop  exec playerctl stop
    bindsym XF86AudioNext  exec playerctl next
    bindsym XF86AudioPrev  exec playerctl previous

  ## Moving around:
  # Move your focus around (mod + hjkl)
    bindsym $mod+$left focus left
    bindsym $mod+$down focus down
    bindsym $mod+$up focus up
    bindsym $mod+$right focus right
  # Move the focused window with the same, but add Shift
    bindsym $mod+Shift+$left move left
    bindsym $mod+Shift+$down move down
    bindsym $mod+Shift+$up move up
    bindsym $mod+Shift+$right move right

  ## Workspaces:
  # 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 container 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 cotainer 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 stuff:
  # mod + b = split horizontally
  # mod + v = split vertically
    bindsym $mod+b splith
    bindsym $mod+v splitv

  # Switch the current container between different layout styles
    bindsym $mod+s layout stacking
    bindsym $mod+w layout tabbed
    bindsym $mod+e layout toggle split

  # Make the current focus fullscreen
    bindsym $mod+Shift+f fullscreen

  # Toggle the current focus between tiling and floating mode
  # Also used to bring windws from scratchpad back into tiling
    bindsym $mod+Shift+space floating toggle

  # Swap focus between the tiling area and the floating area
    bindsym $mod+space focus mode_toggle

  # Move focus to the parent container
    bindsym $mod+a focus parent

  # Sway has a "scratchpad", which is a bag of holding for windows.
  # You can send windows there and get them back later.

  # Move the currently focused window to the scratchpad
    bindsym $mod+n move scratchpad

  # Show the next scratchpad window or hide the focused scratchpad window.
    bindsym $mod+Shift+n scratchpad show

### Resizing containers:
mode "resize" {
    # left will shrink the containers width
    # right will grow the containers width
    # up will shrink the containers height
    # down will grow the containers height
    bindsym $left resize shrink width 10px
    bindsym $down resize grow height 10px
    bindsym $up resize shrink height 10px
    bindsym $right resize grow width 10px

    # Return to default mode
    bindsym Escape mode "default"
}

# Enter resize mode
bindsym $mod+Shift+r mode "resize"

### Status Bar:
bar {
	swaybar_command waybar
}

include /etc/sway/config.d/*n