mirror of
https://github.com/Keyitdev/dotfiles.git
synced 2026-09-24 01:52:09 +00:00
Major Update: created v5 (switching from x11 to wayland). Changed i3 to sway in this commit.
This commit is contained in:
@@ -0,0 +1,295 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user