From 9460180aa7f8e563d23d516d2bed5958777874eb Mon Sep 17 00:00:00 2001 From: exu Date: Thu, 23 Nov 2023 10:50:18 +0100 Subject: [PATCH] Change to waybar --- arch-config/.config/sway/config | 861 ++++++++++++++++---------------- 1 file changed, 431 insertions(+), 430 deletions(-) diff --git a/arch-config/.config/sway/config b/arch-config/.config/sway/config index fb757c84..b6a58665 100644 --- a/arch-config/.config/sway/config +++ b/arch-config/.config/sway/config @@ -1,430 +1,431 @@ -# Config for sway -# -# Read `man 5 sway` for a complete reference. - -# $Mod = WINDOWS key or Super key or Mod4 -# Mod1 = ALT key -# Control = CTRL key -# Shift = SHIFT key -# Escape = ESCAPE key -# Return = ENTER or RETURN key -# KP_Enter = Keypad Enter -# Pause = PAUSE key -# Print = PRINT key -# Tab = TAB key - -### Variables - -# Logo key. Use Mod1 for Alt. -set $mod Mod4 - -# Home row direction keys, like vim -set $left h -set $down j -set $up k -set $right l - -############################## -########### Input ############ -############################## -### Keyboard, Mouse and others configuration -# Keyboard config https://man.archlinux.org/man/xkeyboard-config.7 -# Sway input https://man.archlinux.org/man/sway-input.5 -### Input configuration -# -# Example configuration: -# -# input "2:14:SynPS/2_Synaptics_TouchPad" { -# dwt enabled -# tap enabled -# natural_scroll enabled -# middle_emulation enabled -# } -# -# You can get the names of your inputs by running: swaymsg -t get_inputs -# Read `man 5 sway-input` for more information about this section. - -# generic/general options -input * { - # Keyboard - xkb_layout "ch" - xkb_variant "" - xkb_model "pc105" - #xkb_options "grp:win_space_toggle" - # Touchpad - tap enabled - tap_button_map lrm - scroll_method two_finger - natural_scroll disabled -} - -# slightly decrease mouse speed -input "1133:16500:Logitech_G305" pointer_accel -0.3 - -############################## -########## Outputs ########### -############################## -# You can get the names of your outputs by running: swaymsg -t get_outputs -output "Acer Technologies XV272U V R307036FE4208" mode 2560x1440@170Hz -output "Acer Technologies XV272U V R307036FE4208" scale 1.2 -output "Acer Technologies XV272U V R307036FE4208" subpixel rgb -output "Acer Technologies XV272U V R307036FE4208" adaptive_sync on - -############################## -############ Idle ############ -############################## -# This will lock your screen after 300 seconds of inactivity, then turn off -# your displays after another 300 seconds, and turn your screens back on when -# resumed. It will also lock your screen before your computer goes to sleep. -# -c 000000 sets the color in RGB (no alpha supported) -# use -i to set an image -exec swayidle -w \ - timeout 300 'swaylock -f -e -i "$HOME/.cache/backgrounds/lockscreen"' \ - timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ - before-sleep 'swaylock -f -e -i "$HOME/.cache/backgrounds/lockscreen"' - -### Key bindings -# -# Basics: - -# Kill focused window -bindsym $mod+q kill -bindsym $mod+Shift+q kill - -# 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+r 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' - -# Window focus -# Move your focus around -bindsym $mod+$left focus left -bindsym $mod+$down focus down -bindsym $mod+$up focus up -bindsym $mod+$right focus right -# Or use $mod+[up|down|left|right] -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right focus right - -# Move windows -# 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 -# Ditto, with arrow 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 - -############################## -######### 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; workspace 1 -bindsym $mod+Shift+2 move container to workspace number 2; workspace 2 -bindsym $mod+Shift+3 move container to workspace number 3; workspace 3 -bindsym $mod+Shift+4 move container to workspace number 4; workspace 4 -bindsym $mod+Shift+5 move container to workspace number 5; workspace 5 -bindsym $mod+Shift+6 move container to workspace number 6; workspace 6 -bindsym $mod+Shift+7 move container to workspace number 7; workspace 7 -bindsym $mod+Shift+8 move container to workspace number 8; workspace 8 -bindsym $mod+Shift+9 move container to workspace number 9; workspace 9 -bindsym $mod+Shift+0 move container to workspace number 10; workspace 10 -# Note: workspaces can have any name you want, not just numbers. -# We just use 1-10 as the default. - -# next/previous workspace -bindsym $mod+Tab workspace next -bindsym $mod+Shift+Tab workspace prev - -# Layout stuff: -# -# You can "split" the current object of your focus with -# $mod+b or $mod+v, for horizontal and vertical splits -# respectively. -bindsym $mod+o split h -bindsym $mod+v split v - -# Switch the current container between different layout styles -bindsym $mod+s layout stacking -bindsym $mod+z layout tabbed -bindsym $mod+e layout toggle split - -# Make the current focus fullscreen -bindsym $mod+Shift+f fullscreen toggle - -# Toggle the current focus between tiling and floating mode -bindsym $mod+f floating toggle - -# Swap focus between the tiling area and the floating area -# TODO haven't ever used this afaik -#bindsym $mod+space focus mode_toggle - -# Move focus to the parent container -bindsym $mod+a focus parent - -# focus the child container -bindsym $mod+d focus child - - -# Scratchpad: -# -# 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+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 -# -# Resizing containers: -bindsym $mod+r mode "resize" - -mode "resize" { - # Resize windows with movement keys - bindsym $left resize shrink width 10ppt - bindsym Shift+$left resize shrink width 20ppt - bindsym $down resize shrink height 10ppt - bindsym Shift+$down resize shrink height 20ppt - bindsym $up resize grow height 10ppt - bindsym Shift+$up resize grow height 20ppt - bindsym $right resize grow width 10ppt - bindsym Shift+$right resize grow width 20ppt - - # Ditto, with arrow keys - bindsym Left resize shrink width 10ppt - bindsym Shift+Left resize shrink width 20ppt - bindsym Down resize shrink height 10ppt - bindsym Shift+Down resize shrink height 20ppt - bindsym Up resize grow height 10ppt - bindsym Shift+Up resize grow height 20ppt - bindsym Right resize grow width 10ppt - bindsym Shift+Right resize grow width 20ppt - - # Return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} - -# Screenlock, logout, reboot, shutdown... -# press $mod (super) and X to exit - check toolbar for next choices -bindsym $mod+x mode "$mode_system" - -set $mode_system System (l) lock, (e) logout, (r) reboot, (s) shutdown, (u) suspend -mode "$mode_system" { - bindsym l exec PLACEHOLDER, mode "default" - bindsym e exec PLACEHOLDER, mode "default" - bindsym r exec PLACEHOLDER, mode "default" - bindsym s exec PLACEHOLDER, mode "default" - bindsym u exec PLACEHOLDER, mode "default" - - # back to normal: Enter or Escape - bindsym Return mode "default" - bindsym Escape mode "default" -} - -# launch programs in the right workspaces -bindsym $mod+w mode "$layout" - -set $layout full (f) -mode "$layout" { - bindsym f exec PLACEHOLDER - - bindsym Return mode "default" - bindsym Escape mode "default" -} - -# detect XWayland windows and hightlight them differently -for_window [shell="xwayland"] title_format "[XWayland] %title" -#for_window [shell="xwayland"] client.focused #592c2c #592c2c #eeeeee #592c2c -#for_window [shell="xwayland"] client.unfocused #310202 #310202 #eeeeee #310202 -#for_window [shell="xwayland"] client.focused_inactive #310202 #310202 #eeeeee #310202 -#for_window [shell="xwayland"] client.urgent #a50909 #a50909 #eeeeee #a50909 - -# Font for window titles. Will also be used by the bar unless a different font -# is used in the bar {} block below. -# choose your font -font pango:Fira Mono 9 - -############################## -# Applications at boot # -############################## - -#Authentication dialog -exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & - -#nextcloud -exec --no-startup-id nextcloud - -# network -exec --no-startup-id nm-applet - -# num lock activated -exec_always --no-startup-id numlockx on - -#Corectrl -exec --no-startup-id corectrl - -# Protonmail Bridge -exec --no-startup-id protonmail-bridge -no-window - -# Start KopiaUI -exec --no-startup-id /opt/KopiaUI/kopia-ui - -# Easy Effects -exec --no-startup-id easyeffects --gapplication-service - -# activate flameshot -exec --no-startup-id flameshot & - -# notifications -# TODO - -# disk management -exec --no-startup-id udiskie --no-automount --tray & - -# kde connect -exec --no-startup-id kdeconnect-indicator & - -# Start sway-session.target for sway-specific stuff and import environment -exec_always "systemctl --user import-environment; systemctl --user start sway-session.target" - -############################## -# Keyboard shortcuts # -############################## - -# Your preferred application launcher -# Note: pass the final command to swaymsg so that the resulting window can be opened -# on the original workspace that the command was run on. -set $menu wofi --show drun | xargs swaymsg exec -- - -# Start your launcher -bindsym ctrl+mod1+a exec $menu - -# preferred terminal emulator -set $term kitty - -# terminal -bindsym ctrl+mod1+Return exec $term;focus - -# pavucontrol -bindsym control+mod1+u exec --no-startup-id pavucontrol;focus - -# joplin -bindsym control+mod1+n exec --no-startup-id joplin-desktop;focus - -# texteditor -bindsym ctrl+mod1+e exec --no-startup-id emacs;focus - -# file manager -bindsym ctrl+mod1+t exec --no-startup-id thunar;focus - -# libreoffice -bindsym ctrl+mod1+l exec --no-startup-id libreoffice;focus - -# browser -bindsym control+mod1+f exec --no-startup-id firefox;focus - -# jellyfin media player -bindsym ctrl+mod1+j exec --no-startup-id jellyfinmediaplayer;focus - -# mail -bindsym ctrl+mod1+b exec --no-startup-id thunderbird;focus - -# Screenshots -bindsym Print exec --no-startup-id flameshot gui -bindsym Control+Print exec --no-startup-id flameshot gui -d 2000 - -############################## -# Audio & Media Control # -############################## - -bindsym XF86AudioRaiseVolume exec --no-startup-id bash $HOME/scripts/dunst-volume.sh up -bindsym XF86AudioLowerVolume exec --no-startup-id bash $HOME/scripts/dunst-volume.sh down -bindsym XF86AudioMute exec --no-startup-id bash $HOME/scripts/dunst-volume.sh mute -bindsym XF86AudioPlay exec --no-startup-id ~/scripts/polybar/player-mpris-tail.py play-pause & -bindsym XF86AudioNext exec --no-startup-id ~/scripts/polybar/player-mpris-tail.py next & -bindsym XF86AudioPrev exec --no-startup-id ~/scripts/polybar/player-mpris-tail.py previous & -bindsym XF86AudioStop exec --no-startup-id playerctl stop - -############################## -# xbacklight # -############################## - -# TODO test -bindsym $mod+Shift+u exec --no-startup-id bash $HOME/scripts/dunst-backlight.sh up # increase screen brightness -bindsym $mod+Shift+d exec --no-startup-id bash $HOME/scripts/dunst-backlight.sh down # decrease screen brightness -bindsym XF86MonBrightnessUp exec --no-startup-id bash $HOME/scripts/dunst-backlight.sh up # increase screen brightness -bindsym XF86MonBrightnessDown exec --no-startup-id bash $HOME/scripts/dunst-backlight.sh down # decrease screen brightness - -############################## -# Borders # -############################## - -#default_border pixel 2 -default_border normal 2 - -############################## -####### window control ####### -############################## - -# Any application using gamescope (mainly games) -for_window [app_id="gamescope"] fullscreen enable - -######################################### -##### statusbar ##### -######################################### - -# -# Status Bar: -# -# Read `man 5 sway-bar` for more information about this section. -bar { - position bottom - - # When the status_command prints a new line to stdout, swaybar updates. - # The default just shows the current date and time. - status_command while date +'%H:%M | %Y-%m-%d %p'; do sleep 1; done - - colors { - statusline #ffffff - background #323232 - inactive_workspace #323232 #323232 #5c5c5c - } -} - -####################################### -##### inluce other configurations ##### -####################################### - -# include local configurations -include ./config.d/* - -# include system configurations -include @sysconfdir@/sway/config.d/* +# Config for sway +# +# Read `man 5 sway` for a complete reference. + +# $Mod = WINDOWS key or Super key or Mod4 +# Mod1 = ALT key +# Control = CTRL key +# Shift = SHIFT key +# Escape = ESCAPE key +# Return = ENTER or RETURN key +# KP_Enter = Keypad Enter +# Pause = PAUSE key +# Print = PRINT key +# Tab = TAB key + +### Variables + +# Logo key. Use Mod1 for Alt. +set $mod Mod4 + +# Home row direction keys, like vim +set $left h +set $down j +set $up k +set $right l + +############################## +########### Input ############ +############################## +### Keyboard, Mouse and others configuration +# Keyboard config https://man.archlinux.org/man/xkeyboard-config.7 +# Sway input https://man.archlinux.org/man/sway-input.5 +### Input configuration +# +# Example configuration: +# +# input "2:14:SynPS/2_Synaptics_TouchPad" { +# dwt enabled +# tap enabled +# natural_scroll enabled +# middle_emulation enabled +# } +# +# You can get the names of your inputs by running: swaymsg -t get_inputs +# Read `man 5 sway-input` for more information about this section. + +# generic/general options +input * { + # Keyboard + xkb_layout "ch" + xkb_variant "" + xkb_model "pc105" + #xkb_options "grp:win_space_toggle" + # Touchpad + tap enabled + tap_button_map lrm + scroll_method two_finger + natural_scroll disabled +} + +# slightly decrease mouse speed +input "1133:16500:Logitech_G305" pointer_accel -0.3 + +############################## +########## Outputs ########### +############################## +# You can get the names of your outputs by running: swaymsg -t get_outputs +output "Acer Technologies XV272U V R307036FE4208" mode 2560x1440@170Hz +output "Acer Technologies XV272U V R307036FE4208" scale 1.2 +output "Acer Technologies XV272U V R307036FE4208" subpixel rgb +output "Acer Technologies XV272U V R307036FE4208" adaptive_sync on + +############################## +############ Idle ############ +############################## +# This will lock your screen after 300 seconds of inactivity, then turn off +# your displays after another 300 seconds, and turn your screens back on when +# resumed. It will also lock your screen before your computer goes to sleep. +# -c 000000 sets the color in RGB (no alpha supported) +# use -i to set an image +exec swayidle -w \ + timeout 300 'swaylock -f -e -i "$HOME/.cache/backgrounds/lockscreen"' \ + timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ + before-sleep 'swaylock -f -e -i "$HOME/.cache/backgrounds/lockscreen"' + +### Key bindings +# +# Basics: + +# Kill focused window +bindsym $mod+q kill +bindsym $mod+Shift+q kill + +# 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+r 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' + +# Window focus +# Move your focus around +bindsym $mod+$left focus left +bindsym $mod+$down focus down +bindsym $mod+$up focus up +bindsym $mod+$right focus right +# Or use $mod+[up|down|left|right] +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# Move windows +# 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 +# Ditto, with arrow 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 + +############################## +######### 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; workspace 1 +bindsym $mod+Shift+2 move container to workspace number 2; workspace 2 +bindsym $mod+Shift+3 move container to workspace number 3; workspace 3 +bindsym $mod+Shift+4 move container to workspace number 4; workspace 4 +bindsym $mod+Shift+5 move container to workspace number 5; workspace 5 +bindsym $mod+Shift+6 move container to workspace number 6; workspace 6 +bindsym $mod+Shift+7 move container to workspace number 7; workspace 7 +bindsym $mod+Shift+8 move container to workspace number 8; workspace 8 +bindsym $mod+Shift+9 move container to workspace number 9; workspace 9 +bindsym $mod+Shift+0 move container to workspace number 10; workspace 10 +# Note: workspaces can have any name you want, not just numbers. +# We just use 1-10 as the default. + +# next/previous workspace +bindsym $mod+Tab workspace next +bindsym $mod+Shift+Tab workspace prev + +# Layout stuff: +# +# You can "split" the current object of your focus with +# $mod+b or $mod+v, for horizontal and vertical splits +# respectively. +bindsym $mod+o split h +bindsym $mod+v split v + +# Switch the current container between different layout styles +bindsym $mod+s layout stacking +bindsym $mod+z layout tabbed +bindsym $mod+e layout toggle split + +# Make the current focus fullscreen +bindsym $mod+Shift+f fullscreen toggle + +# Toggle the current focus between tiling and floating mode +bindsym $mod+f floating toggle + +# Swap focus between the tiling area and the floating area +# TODO haven't ever used this afaik +#bindsym $mod+space focus mode_toggle + +# Move focus to the parent container +bindsym $mod+a focus parent + +# focus the child container +bindsym $mod+d focus child + + +# Scratchpad: +# +# 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+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 +# +# Resizing containers: +bindsym $mod+r mode "resize" + +mode "resize" { + # Resize windows with movement keys + bindsym $left resize shrink width 10ppt + bindsym Shift+$left resize shrink width 20ppt + bindsym $down resize shrink height 10ppt + bindsym Shift+$down resize shrink height 20ppt + bindsym $up resize grow height 10ppt + bindsym Shift+$up resize grow height 20ppt + bindsym $right resize grow width 10ppt + bindsym Shift+$right resize grow width 20ppt + + # Ditto, with arrow keys + bindsym Left resize shrink width 10ppt + bindsym Shift+Left resize shrink width 20ppt + bindsym Down resize shrink height 10ppt + bindsym Shift+Down resize shrink height 20ppt + bindsym Up resize grow height 10ppt + bindsym Shift+Up resize grow height 20ppt + bindsym Right resize grow width 10ppt + bindsym Shift+Right resize grow width 20ppt + + # Return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} + +# Screenlock, logout, reboot, shutdown... +# press $mod (super) and X to exit - check toolbar for next choices +bindsym $mod+x mode "$mode_system" + +set $mode_system System (l) lock, (e) logout, (r) reboot, (s) shutdown, (u) suspend +mode "$mode_system" { + bindsym l exec PLACEHOLDER, mode "default" + bindsym e exec PLACEHOLDER, mode "default" + bindsym r exec PLACEHOLDER, mode "default" + bindsym s exec PLACEHOLDER, mode "default" + bindsym u exec PLACEHOLDER, mode "default" + + # back to normal: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} + +# launch programs in the right workspaces +bindsym $mod+w mode "$layout" + +set $layout full (f) +mode "$layout" { + bindsym f exec PLACEHOLDER + + bindsym Return mode "default" + bindsym Escape mode "default" +} + +# detect XWayland windows and hightlight them differently +for_window [shell="xwayland"] title_format "[XWayland] %title" +#for_window [shell="xwayland"] client.focused #592c2c #592c2c #eeeeee #592c2c +#for_window [shell="xwayland"] client.unfocused #310202 #310202 #eeeeee #310202 +#for_window [shell="xwayland"] client.focused_inactive #310202 #310202 #eeeeee #310202 +#for_window [shell="xwayland"] client.urgent #a50909 #a50909 #eeeeee #a50909 + +# Font for window titles. Will also be used by the bar unless a different font +# is used in the bar {} block below. +# choose your font +font pango:Fira Mono 9 + +############################## +# Applications at boot # +############################## + +#Authentication dialog +exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & + +#nextcloud +exec --no-startup-id nextcloud + +# network +exec --no-startup-id nm-applet + +# num lock activated +exec_always --no-startup-id numlockx on + +#Corectrl +exec --no-startup-id corectrl + +# Protonmail Bridge +exec --no-startup-id protonmail-bridge -no-window + +# Start KopiaUI +exec --no-startup-id /opt/KopiaUI/kopia-ui + +# Easy Effects +exec --no-startup-id easyeffects --gapplication-service + +# activate flameshot +exec --no-startup-id flameshot & + +# notifications +# TODO + +# disk management +exec --no-startup-id udiskie --no-automount --tray & + +# kde connect +exec --no-startup-id kdeconnect-indicator & + +# Start sway-session.target for sway-specific stuff and import environment +exec_always "systemctl --user import-environment; systemctl --user start sway-session.target" + +############################## +# Keyboard shortcuts # +############################## + +# Your preferred application launcher +# Note: pass the final command to swaymsg so that the resulting window can be opened +# on the original workspace that the command was run on. +set $menu wofi --show drun | xargs swaymsg exec -- + +# Start your launcher +bindsym ctrl+mod1+a exec $menu + +# preferred terminal emulator +set $term kitty + +# terminal +bindsym ctrl+mod1+Return exec $term;focus + +# pavucontrol +bindsym control+mod1+u exec --no-startup-id pavucontrol;focus + +# joplin +bindsym control+mod1+n exec --no-startup-id joplin-desktop;focus + +# texteditor +bindsym ctrl+mod1+e exec --no-startup-id emacs;focus + +# file manager +bindsym ctrl+mod1+t exec --no-startup-id thunar;focus + +# libreoffice +bindsym ctrl+mod1+l exec --no-startup-id libreoffice;focus + +# browser +bindsym control+mod1+f exec --no-startup-id firefox;focus + +# jellyfin media player +bindsym ctrl+mod1+j exec --no-startup-id jellyfinmediaplayer;focus + +# mail +bindsym ctrl+mod1+b exec --no-startup-id thunderbird;focus + +# Screenshots +bindsym Print exec --no-startup-id flameshot gui +bindsym Control+Print exec --no-startup-id flameshot gui -d 2000 + +############################## +# Audio & Media Control # +############################## + +bindsym XF86AudioRaiseVolume exec --no-startup-id bash $HOME/scripts/dunst-volume.sh up +bindsym XF86AudioLowerVolume exec --no-startup-id bash $HOME/scripts/dunst-volume.sh down +bindsym XF86AudioMute exec --no-startup-id bash $HOME/scripts/dunst-volume.sh mute +bindsym XF86AudioPlay exec --no-startup-id ~/scripts/polybar/player-mpris-tail.py play-pause & +bindsym XF86AudioNext exec --no-startup-id ~/scripts/polybar/player-mpris-tail.py next & +bindsym XF86AudioPrev exec --no-startup-id ~/scripts/polybar/player-mpris-tail.py previous & +bindsym XF86AudioStop exec --no-startup-id playerctl stop + +############################## +# xbacklight # +############################## + +# TODO test +bindsym $mod+Shift+u exec --no-startup-id bash $HOME/scripts/dunst-backlight.sh up # increase screen brightness +bindsym $mod+Shift+d exec --no-startup-id bash $HOME/scripts/dunst-backlight.sh down # decrease screen brightness +bindsym XF86MonBrightnessUp exec --no-startup-id bash $HOME/scripts/dunst-backlight.sh up # increase screen brightness +bindsym XF86MonBrightnessDown exec --no-startup-id bash $HOME/scripts/dunst-backlight.sh down # decrease screen brightness + +############################## +# Borders # +############################## + +#default_border pixel 2 +default_border normal 2 + +############################## +####### window control ####### +############################## + +# Any application using gamescope (mainly games) +for_window [app_id="gamescope"] fullscreen enable + +######################################### +##### statusbar ##### +######################################### + +# +# Status Bar: +# +# Read `man 5 sway-bar` for more information about this section. +bar swaybar_command waybar +#bar { +# position bottom + + # When the status_command prints a new line to stdout, swaybar updates. + # The default just shows the current date and time. +# status_command while date +'%H:%M | %Y-%m-%d %p'; do sleep 1; done + +# colors { +# statusline #ffffff +# background #323232 +# inactive_workspace #323232 #323232 #5c5c5c +# } +#} + +####################################### +##### inluce other configurations ##### +####################################### + +# include local configurations +include ./config.d/* + +# include system configurations +include @sysconfdir@/sway/config.d/*