mirror of
https://github.com/Keyitdev/dotfiles.git
synced 2026-09-24 01:52:09 +00:00
296 lines
11 KiB
Plaintext
296 lines
11 KiB
Plaintext
# sway config file (v5)
|
||
|
||
output DP-4 mode 2560x1440@200Hz
|
||
output * bg ~/Pictures/wallpapers/background.png fill
|
||
|
||
input type:keyboard {
|
||
xkb_layout "pl"
|
||
}
|
||
|
||
set $mod Mod4
|
||
floating_modifier $mod
|
||
|
||
font pango:Open sans 11
|
||
|
||
# kinda overkill, just to make sure every app respect dark theme
|
||
exec_always {
|
||
#systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_RUNTIME_DIR
|
||
#dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
|
||
|
||
systemctl --user import-environment WAYLAND_DISPLAY DISPLAY SWAYSOCK XDG_RUNTIME_DIR XDG_SESSION_TYPE XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP DBUS_SESSION_BUS_ADDRESS
|
||
export GTK_THEME="gtk-dark-keyitdev:dark"
|
||
#exec --no-startup-id dbus-update-activation-environment --all
|
||
dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY SWAYSOCK XDG_RUNTIME_DIR XDG_SESSION_TYPE XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP DBUS_SESSION_BUS_ADDRESS
|
||
gsettings set org.gnome.desktop.interface gtk-theme 'gtk-dark-keyitdev:dark'
|
||
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
|
||
}
|
||
|
||
exec_always --no-startup-id sh -c 'pkill -x waybar; waybar'
|
||
exec_always --no-startup-id ~/system_monitor.sh &
|
||
exec_always --no-startup-id /usr/lib/mate-polkit/polkit-mate-authentication-agent-1 &
|
||
exec_always --no-startup-id dunst &
|
||
|
||
# 1st - lock
|
||
# 2nd - turn off screen
|
||
# 3rd - sleep
|
||
exec_always --no-startup-id killall swayidle; swayidle -w \
|
||
timeout 300 'swaymsg "output * power off"' \
|
||
resume 'swaymsg "output * power on"' \
|
||
timeout 1200 'lock' \
|
||
timeout 3600 'systemctl suspend'
|
||
# before-sleep 'lock'
|
||
|
||
# exec_always --no-startup-id asus_fan_listener &
|
||
# exec_always --no-startup-id battery_listener &
|
||
# bindsym Ctrl+F5 exec --no-startup-id asus_fan_toggle
|
||
|
||
bindsym --locked XF86AudioRaiseVolume exec --no-startup-id volume_control -s +5 -m 125 && volume_level
|
||
bindsym --locked XF86AudioLowerVolume exec --no-startup-id volume_control -s -5 -m 125 && volume_level
|
||
bindsym --locked XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && volume_mute
|
||
bindsym --locked XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && microphone_mute
|
||
bindsym --locked XF86MonBrightnessUp exec --no-startup-id brightness_control -s +2 && brightness_level
|
||
bindsym --locked XF86MonBrightnessDown exec --no-startup-id brightness_control -s -2 && brightness_level
|
||
bindsym --locked XF86ScreenSaver exec --no-startup-id swaymsg "output * dpms off"
|
||
bindsym --locked XF86TouchpadToggle exec --no-startup-id touchpad_toggle
|
||
bindsym --locked XF86AudioPlay exec playerctl play-pause
|
||
bindsym --locked XF86AudioPause exec playerctl play-pause
|
||
bindsym --locked XF86AudioPrev exec playerctl previous
|
||
bindsym --locked XF86AudioNext exec playerctl next
|
||
bindsym --locked XF86AudioStop exec playerctl stop
|
||
bindsym XF86Calculator exec --no-startup-id qalculate-gtk
|
||
# bindsym XF86RFKill
|
||
|
||
bindsym Pause exec screenshot -sa
|
||
bindsym Print exec screenshot -sf
|
||
|
||
# Run terminal (i3-sensible-terminal wannabe)
|
||
bindsym $mod+Return exec sh -c 'for terminal in "$TERMINAL" x-terminal-emulator kitty alacritty mate-terminal gnome-terminal terminator xfce4-terminal urxvt rxvt termit Eterm aterm uxterm xterm roxterm termite lxterminal terminology st qterminal lilyterm tilix terminix konsole guake tilda hyper wezterm rio; do if command -v "$terminal" > /dev/null 2>&1; then exec "$terminal" "$@"; fi; done'
|
||
|
||
# kill focused window
|
||
bindsym $mod+Shift+q kill
|
||
|
||
bindsym $mod+q exec --no-startup-id firefox-developer-edition
|
||
# bindsym $mod+w exec --no-startup-id code
|
||
bindsym $mod+w exec --no-startup-id "rofi -show vscode-recent -modi vscode-recent -no-default-config -config ~/.config/rofi/main.rasi -theme-str 'prompt { enabled: false; }'"
|
||
bindsym $mod+e exec --no-startup-id nemo
|
||
|
||
bindsym $mod+a exec --no-startup-id rofi -show drun -no-default-config -config ~/.config/rofi/dmenu.rasi
|
||
bindsym $mod+s exec --no-startup-id nemo ~/Pictures/screenshots/
|
||
bindsym $mod+d exec --no-startup-id rofi -show drun -no-default-config -config ~/.config/rofi/main.rasi
|
||
|
||
bindsym $mod+z exec --no-startup-id kitty -e ncmpcpp
|
||
bindsym $mod+x exec --no-startup-id rofi-powermenu
|
||
bindsym $mod+c exec --no-startup-id rofi-screenshot
|
||
|
||
bindsym $mod+i exec lock
|
||
|
||
bindsym $mod+b move workspace to output right
|
||
bindsym $mod+n exec "swaymsg output HDMI-A-1 enable; swaymsg output HDMI-A-1 pos 1920 0"
|
||
bindsym $mod+m exec "swaymsg output HDMI-A-1 disable"
|
||
|
||
bindsym ctrl+F1 exec --no-startup-id swaymsg "output * dpms off"
|
||
bindsym ctrl+F2 exec --no-startup-id swaymsg "output * dpms on"
|
||
bindsym ctrl+F4 exec --no-startup-id kitty
|
||
bindsym ctrl+F3 exec --no-startup-id dmenu_run
|
||
|
||
# bindsym $mod+d exec --no-startup-id dmenu_run
|
||
|
||
# change focus
|
||
bindsym $mod+j focus left
|
||
bindsym $mod+k focus down
|
||
bindsym $mod+l focus up
|
||
bindsym $mod+semicolon focus right
|
||
|
||
# alternatively, you can use the cursor keys:
|
||
bindsym $mod+Left focus left
|
||
bindsym $mod+Down focus down
|
||
bindsym $mod+Up focus up
|
||
bindsym $mod+Right focus right
|
||
|
||
# move focused window
|
||
bindsym $mod+Shift+j move left
|
||
bindsym $mod+Shift+k move down
|
||
bindsym $mod+Shift+l move up
|
||
bindsym $mod+Shift+semicolon move right
|
||
|
||
# alternatively, you can use the cursor keys:
|
||
bindsym $mod+Shift+Left move left
|
||
bindsym $mod+Shift+Down move down
|
||
bindsym $mod+Shift+Up move up
|
||
bindsym $mod+Shift+Right move right
|
||
|
||
# split in horizontal orientation
|
||
bindsym $mod+h split h
|
||
|
||
# split in vertical orientation
|
||
bindsym $mod+v split v
|
||
|
||
# enter fullscreen mode for the focused container
|
||
bindsym $mod+f fullscreen toggle
|
||
|
||
# change container layout (stacked, tabbed, toggle split)
|
||
# bindsym $mod+s layout stacking
|
||
# bindsym $mod+w layout tabbed
|
||
# bindsym $mod+e layout toggle split
|
||
|
||
# toggle tiling / floating
|
||
bindsym $mod+Shift+space floating toggle
|
||
|
||
# change focus between tiling / floating windows
|
||
bindsym $mod+space focus mode_toggle
|
||
|
||
# focus the parent container
|
||
# bindsym $mod+a focus parent
|
||
|
||
# focus the child container
|
||
# bindsym $mod+d focus child
|
||
|
||
# Define names for default workspaces for which we configure key bindings later on.
|
||
# We use variables to avoid repeating the names in multiple places.
|
||
set $ws1 "1"
|
||
set $ws2 "2"
|
||
set $ws3 "3"
|
||
set $ws4 "4"
|
||
set $ws5 "5"
|
||
set $ws6 "6"
|
||
set $ws7 "7"
|
||
set $ws8 "8"
|
||
set $ws9 "9"
|
||
set $ws10 "10"
|
||
|
||
# switch to workspace
|
||
bindsym $mod+1 workspace number $ws1
|
||
bindsym $mod+2 workspace number $ws2
|
||
bindsym $mod+3 workspace number $ws3
|
||
bindsym $mod+4 workspace number $ws4
|
||
bindsym $mod+5 workspace number $ws5
|
||
bindsym $mod+6 workspace number $ws6
|
||
bindsym $mod+7 workspace number $ws7
|
||
bindsym $mod+8 workspace number $ws8
|
||
bindsym $mod+9 workspace number $ws9
|
||
bindsym $mod+0 workspace number $ws10
|
||
|
||
# move focused container to workspace
|
||
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||
|
||
# reload the configuration file
|
||
bindsym $mod+Shift+c reload
|
||
|
||
# reload the configuration file
|
||
bindsym $mod+Shift+r reload
|
||
|
||
# exit sway
|
||
bindsym $mod+Shift+e exec "swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway?' -B 'Yes, exit sway' 'swaymsg exit'"
|
||
|
||
# resize window (you can also use the mouse for that)
|
||
mode "resize" {
|
||
# These bindings trigger as soon as you enter the resize mode
|
||
|
||
# Pressing left will shrink the window’s width.
|
||
# Pressing right will grow the window’s width.
|
||
# Pressing up will shrink the window’s height.
|
||
# Pressing down will grow the window’s height.
|
||
bindsym j resize shrink width 10 px or 10 ppt
|
||
bindsym k resize grow height 10 px or 10 ppt
|
||
bindsym l resize shrink height 10 px or 10 ppt
|
||
bindsym semicolon resize grow width 10 px or 10 ppt
|
||
|
||
# same bindings, but for the arrow keys
|
||
bindsym Left resize shrink width 10 px or 10 ppt
|
||
bindsym Down resize grow height 10 px or 10 ppt
|
||
bindsym Up resize shrink height 10 px or 10 ppt
|
||
bindsym Right resize grow width 10 px or 10 ppt
|
||
|
||
# back to normal: Enter or Escape or $mod+r
|
||
bindsym Return mode "default"
|
||
bindsym Escape mode "default"
|
||
bindsym $mod+r mode "default"
|
||
}
|
||
|
||
bindsym $mod+r mode "resize"
|
||
|
||
# Move the currently focused window to the scratchpad
|
||
bindsym $mod+Shift+minus move scratchpad
|
||
|
||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||
# If there are multiple scratchpad windows, this command cycles through them.
|
||
bindsym $mod+minus scratchpad show
|
||
|
||
|
||
|
||
### BODERS ###
|
||
|
||
hide_edge_borders none
|
||
|
||
#border width
|
||
default_border pixel 2
|
||
|
||
#border colors
|
||
client.focused #343746 #343746 #F8F8F2 #343746 #343746
|
||
client.focused_inactive #343746 #343746 #F8F8F2 #21222C #21222C
|
||
client.unfocused #343746 #343746 #F8F8F2 #21222C #21222C
|
||
|
||
### GAPS ###
|
||
|
||
# Set inner/outer gaps
|
||
gaps inner 8
|
||
gaps outer 0
|
||
|
||
# Smart gaps (gaps used if only more than one container on the workspace)
|
||
smart_gaps off
|
||
|
||
# Press $mod+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces.
|
||
set $mode_gaps Gaps: (o) outer, (i) inner
|
||
set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
|
||
set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
|
||
bindsym $mod+g mode "$mode_gaps"
|
||
|
||
mode "$mode_gaps" {
|
||
bindsym o mode "$mode_gaps_outer"
|
||
bindsym i mode "$mode_gaps_inner"
|
||
bindsym Return mode "default"
|
||
bindsym Escape mode "default"
|
||
}
|
||
mode "$mode_gaps_inner" {
|
||
bindsym plus gaps inner current plus 5
|
||
bindsym minus gaps inner current minus 5
|
||
bindsym 0 gaps inner current set 0
|
||
|
||
bindsym Shift+plus gaps inner all plus 5
|
||
bindsym Shift+minus gaps inner all minus 5
|
||
bindsym Shift+0 gaps inner all set 0
|
||
|
||
bindsym Return mode "default"
|
||
bindsym Escape mode "default"
|
||
}
|
||
mode "$mode_gaps_outer" {
|
||
bindsym plus gaps outer current plus 5
|
||
bindsym minus gaps outer current minus 5
|
||
bindsym 0 gaps outer current set 0
|
||
|
||
bindsym Shift+plus gaps outer all plus 5
|
||
bindsym Shift+minus gaps outer all minus 5
|
||
bindsym Shift+0 gaps outer all set 0
|
||
|
||
bindsym Return mode "default"
|
||
bindsym Escape mode "default"
|
||
}
|
||
|
||
### Windows ###
|
||
|
||
#for_window [app_id="qalculate-gtk"] floating enable, move position center, resize set 400 600
|
||
for_window [app_id="qalculate-gtk"] floating enable, sticky enable
|
||
|
||
for_window [app_id="Firefox Beta" title="Picture-in-Picture"] floating enable, sticky enable
|
||
for_window [app_id="firefox-developer-edition" title="Picture-in-Picture"] floating enable, sticky enable
|
||
for_window [app_id="firefox" title="Picture-in-Picture"] floating enable, sticky enable
|