diff --git a/arch-config/.config/sway/config b/arch-config/.config/sway/config index b6a58665..d080fce3 100644 --- a/arch-config/.config/sway/config +++ b/arch-config/.config/sway/config @@ -1,431 +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 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/* +# 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/* diff --git a/arch-config/.config/waybar/config.json b/arch-config/.config/waybar/config.json index fef0889d..97454c38 100644 --- a/arch-config/.config/waybar/config.json +++ b/arch-config/.config/waybar/config.json @@ -1,68 +1,68 @@ -{ - "layer": "top", - "position": "bottom", - "height": 25, - "spacing": 10, - - "modules-left": ["wlr/workspaces", "sway/window", "sway/mode"], - "modules-center": ["clock"], - "modules-right": ["mpris", "idle_inhibitor", "battery", "tray"], - - "wlr/workspaces": { - "format": "{name}: {icon}", - "format-icons": { - "urgent": "", - "active": "", - "default": "" - }, - "sort-by-number": true - }, - "sway/window": { - "max-length": 40 - }, - "sway/mode": { - "tooltip": false - }, - "mpris": { - "format": "{status_icon} {dynamic}", - "format-paused": "{status_icon} {dynamic}", - "status-icons": { - "playing": "▶", - "paused": "⏸" - } - }, - "battery": { - "bat": "BAT0", - "states": { - "warning": 30, - "critical": 15 - }, - "format": "{capacity}% {icon}", - "format-charging": "{capacity}% ", - "format-plugged": "{capacity}% ", - "format-alt": "{time} {icon}", - "format-icons": ["", "", "", "", ""] - }, - "clock": { - "timezone": "Europe/Zurich", - "tooltip-format": "{:%Y %B}\n{calendar}", - "format-alt": "{:%Y-%m-%d}" - }, - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "", - "deactivated": "" - } - }, - "tray": { - "icon-size": 21, - "spacing": 10 - }, - "custom/mpris": { - "exec": "~/.scripts/polybar/player-mpris-tail.py -f '{icon} {:artist:t10:{artist}:}{:artist: - :}{:t25:{title}:}'", - "on-click": "~/.scripts/polybar/player-mpris-tail.py play-pause &", - "on-click-middle": "~/.scripts/polybar/player-mpris-tail.py next &", - "on-click-right": "~/.scripts/polybar/player-mpris-tail.py previous &" - } -} +{ + "layer": "top", + "position": "bottom", + "height": 25, + "spacing": 10, + + "modules-left": ["wlr/workspaces", "sway/window", "sway/mode"], + "modules-center": ["clock"], + "modules-right": ["mpris", "idle_inhibitor", "battery", "tray"], + + "wlr/workspaces": { + "format": "{name}: {icon}", + "format-icons": { + "urgent": "", + "active": "", + "default": "" + }, + "sort-by-number": true + }, + "sway/window": { + "max-length": 40 + }, + "sway/mode": { + "tooltip": false + }, + "mpris": { + "format": "{status_icon} {dynamic}", + "format-paused": "{status_icon} {dynamic}", + "status-icons": { + "playing": "▶", + "paused": "⏸" + } + }, + "battery": { + "bat": "BAT0", + "states": { + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + "format-icons": ["", "", "", "", ""] + }, + "clock": { + "timezone": "Europe/Zurich", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + "icon-size": 21, + "spacing": 10 + }, + "custom/mpris": { + "exec": "~/.scripts/polybar/player-mpris-tail.py -f '{icon} {:artist:t10:{artist}:}{:artist: - :}{:t25:{title}:}'", + "on-click": "~/.scripts/polybar/player-mpris-tail.py play-pause &", + "on-click-middle": "~/.scripts/polybar/player-mpris-tail.py next &", + "on-click-right": "~/.scripts/polybar/player-mpris-tail.py previous &" + } +} diff --git a/arch-config/.mozilla/firefox/default-release/chrome/icons/send.svg b/arch-config/.mozilla/firefox/default-release/chrome/icons/send.svg index 573ed559..939a0300 100644 --- a/arch-config/.mozilla/firefox/default-release/chrome/icons/send.svg +++ b/arch-config/.mozilla/firefox/default-release/chrome/icons/send.svg @@ -1,44 +1,44 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/arch-config/scripts/in_path/sc-manga-update b/arch-config/scripts/in_path/sc-manga-update index a3549de5..d23d9d75 100755 --- a/arch-config/scripts/in_path/sc-manga-update +++ b/arch-config/scripts/in_path/sc-manga-update @@ -1,62 +1,62 @@ -#!/bin/bash -set -euo pipefail - -user=exu -server=172.18.50.100 -port=22 -sshkeypath=$HOME/.ssh/id_ed25519 -# don't transfer to the storage box directly, leads to mangled file names -# see: https://serverfault.com/a/765951 - -# unlock ssh key -if ! ssh-add -T "${sshkeypath}.pub" &>/dev/null; then - ssh-add -q "$sshkeypath" -fi - -# transfer to kavita -# books -echo Kavita books upload -rsync -urtzv --progress --delete --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/Unterhaltung/ ${user}@${server}:/mnt/books/kavita/books/ -# manga -echo Kavita manga upload -rsync -urtzv --progress --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/Manga/ ${user}@${server}:/mnt/books/kavita/manga/ -# guides -echo Kavita guides upload -rsync -urtzv --progress --delete --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/Guides/ ${user}@${server}:/mnt/books/kavita/guides/ -# Tech -echo Kavita tech upload -rsync -urtzv --progress --delete --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/Tech/ ${user}@${server}:/mnt/books/kavita/tech/ -# other -echo Kavita other upload -rsync -urtzv --progress --delete --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/other/ ${user}@${server}:/mnt/books/kavita/other/ - -# download from kavita -# books -#echo Downloading books -#rsync -ur --progress --bwlimit=3M -e "ssh -i $sshkeypath -p $port" ${user}@${server}:/mnt/books/kavita/books/ /home/marc/Nextcloud/Books/Unterhaltung/ -# manga -echo Kavita manga download -rsync -urtzv --progress --bwlimit=3M -e "ssh -i $sshkeypath -p $port" ${user}@${server}:/mnt/books/kavita/manga/ /home/marc/Nextcloud/Books/Manga/ -# Tech -#echo Downloading tech -#rsync -ur --progress --bwlimit=3M -e "ssh -i $sshkeypath -p $port" ${user}@${server}:/mnt/books/kavita/tech/ /home/marc/Nextcloud/Books/Tech/ -# other -#echo Downloading other -#rsync -ur --progress --bwlimit=3M -e "ssh -i $sshkeypath -p $port" ${user}@${server}:/mnt/books/kavita/other/ /home/marc/Nextcloud/Books/other/ - -# transfer to kavita-nightly -# books -echo Kavita Nightly books upload -rsync -urtzv --progress --delete --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/Unterhaltung/ ${user}@${server}:/mnt/books/kavita-nightly/books/ -# manga -echo Kavita Nightly manga upload -rsync -urtzv --progress --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/Manga/ ${user}@${server}:/mnt/books/kavita-nightly/manga/ -# guides -echo Kavita guides upload -rsync -urtzv --progress --delete --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/Guides/ ${user}@${server}:/mnt/books/kavita-nightly/guides/ -# Tech -echo Kavita Nightly tech upload -rsync -urtzv --progress --delete --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/Tech/ ${user}@${server}:/mnt/books/kavita-nightly/tech/ -# other -echo Kavita Nightly other upload -rsync -urtzv --progress --delete --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/other/ ${user}@${server}:/mnt/books/kavita-nightly/other/ +#!/bin/bash +set -euo pipefail + +user=exu +server=172.18.50.100 +port=22 +sshkeypath=$HOME/.ssh/id_ed25519 +# don't transfer to the storage box directly, leads to mangled file names +# see: https://serverfault.com/a/765951 + +# unlock ssh key +if ! ssh-add -T "${sshkeypath}.pub" &>/dev/null; then + ssh-add -q "$sshkeypath" +fi + +# transfer to kavita +# books +echo Kavita books upload +rsync -urtzv --progress --delete --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/Unterhaltung/ ${user}@${server}:/mnt/books/kavita/books/ +# manga +echo Kavita manga upload +rsync -urtzv --progress --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/Manga/ ${user}@${server}:/mnt/books/kavita/manga/ +# guides +echo Kavita guides upload +rsync -urtzv --progress --delete --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/Guides/ ${user}@${server}:/mnt/books/kavita/guides/ +# Tech +echo Kavita tech upload +rsync -urtzv --progress --delete --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/Tech/ ${user}@${server}:/mnt/books/kavita/tech/ +# other +echo Kavita other upload +rsync -urtzv --progress --delete --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/other/ ${user}@${server}:/mnt/books/kavita/other/ + +# download from kavita +# books +#echo Downloading books +#rsync -ur --progress --bwlimit=3M -e "ssh -i $sshkeypath -p $port" ${user}@${server}:/mnt/books/kavita/books/ /home/marc/Nextcloud/Books/Unterhaltung/ +# manga +echo Kavita manga download +rsync -urtzv --progress --bwlimit=3M -e "ssh -i $sshkeypath -p $port" ${user}@${server}:/mnt/books/kavita/manga/ /home/marc/Nextcloud/Books/Manga/ +# Tech +#echo Downloading tech +#rsync -ur --progress --bwlimit=3M -e "ssh -i $sshkeypath -p $port" ${user}@${server}:/mnt/books/kavita/tech/ /home/marc/Nextcloud/Books/Tech/ +# other +#echo Downloading other +#rsync -ur --progress --bwlimit=3M -e "ssh -i $sshkeypath -p $port" ${user}@${server}:/mnt/books/kavita/other/ /home/marc/Nextcloud/Books/other/ + +# transfer to kavita-nightly +# books +echo Kavita Nightly books upload +rsync -urtzv --progress --delete --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/Unterhaltung/ ${user}@${server}:/mnt/books/kavita-nightly/books/ +# manga +echo Kavita Nightly manga upload +rsync -urtzv --progress --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/Manga/ ${user}@${server}:/mnt/books/kavita-nightly/manga/ +# guides +echo Kavita guides upload +rsync -urtzv --progress --delete --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/Guides/ ${user}@${server}:/mnt/books/kavita-nightly/guides/ +# Tech +echo Kavita Nightly tech upload +rsync -urtzv --progress --delete --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/Tech/ ${user}@${server}:/mnt/books/kavita-nightly/tech/ +# other +echo Kavita Nightly other upload +rsync -urtzv --progress --delete --bwlimit=3M -e "ssh -i $sshkeypath -p $port" /home/marc/Nextcloud/Books/other/ ${user}@${server}:/mnt/books/kavita-nightly/other/ diff --git a/arch-setup/packages/officialpkgs.txt b/arch-setup/packages/officialpkgs.txt index 6c42ae8d..c02fd6d8 100644 --- a/arch-setup/packages/officialpkgs.txt +++ b/arch-setup/packages/officialpkgs.txt @@ -1,150 +1,150 @@ -mako -waybar -otf-font-awesome -acpilight -age -alsa-utils -amd-ucode -arandr -bandwhich -base-devel -brotli -btrfs-progs -catfish -cmake -cmake -cronie -dconf-editor -dhclient -dnsutils -dosfstools -dunst -e2fsprogs -easyeffects -easyeffects -exfatprogs -f2fs-tools -fakeroot -feh -ffmpeg -firewalld -fish -flameshot -foliate -font-manager -freetype2 -fwupd -fwupd-efi -gdm -git -git-lfs -gnome-firmware -gnome-keyring -gsettings-desktop-schemas -gtk-engine-murrine -gvfs -gvfs-mtp -gvfs-nfs -gvfs-smb -htop -hunspell -hunspell -hunspell-de -hunspell-en_gb -hunspell-en_us -hyphen -hyphen-de -hyphen-en -intel-media-driver -intel-ucode -jre-openjdk -kcm-wacomtablet -kdeconnect -kitty -lib32-mesa -lib32-vulkan-intel -lib32-vulkan-radeon -libaacs -libbluray -libcdio -libdvdcss -libdvdnav -libdvdread -libnotify -libreoffice-fresh -libreoffice-fresh-de -libsecret -libva-intel-driver -libva-mesa-driver -libva-utils -lsp-plugins-lv2 -man-db -mesa -mesa-vdpau -mythes-de -mythes-en -nemo -nemo-fileroller -nemo-preview -nemo-share -neovim -nextcloud-client -notification-daemon -noto-fonts -noto-fonts-cjk -noto-fonts-emoji -ntfs-3g -obs-studio -okular -openresolv -os-prober -os-prober -p7zip -pacman-contrib -pavucontrol -phonon-qt5-gstreamer -picom -piper -pipewire -pipewire-alsa -pipewire-jack -pipewire-pulse -playerctl -polkit-gnome -python-dbus -python-gobject -python-pip -qt5-imageformats -rebuild-detector -reflector -restic -rsync -seahorse -smartmontools -stress -system-config-printer -thunar -thunar-archive-plugin -thunderbird -tmux -traceroute -transmission-remote-gtk -ttf-fira-code -ttf-fira-sans -udiskie -unace -unrar -unzip -util-linux -vdpauinfo -vnstat -vulkan-intel -vulkan-radeon -webkit2gtk -wget -whois -wireguard-tools -wireplumber -wofi -xdg-user-dirs -xfsprogs +acpilight +age +alsa-utils +amd-ucode +arandr +bandwhich +base-devel +brotli +btrfs-progs +catfish +cmake +cmake +cronie +dconf-editor +dhclient +dnsutils +dosfstools +dunst +e2fsprogs +easyeffects +easyeffects +exfatprogs +f2fs-tools +fakeroot +feh +ffmpeg +firewalld +fish +flameshot +foliate +font-manager +freetype2 +fwupd +fwupd-efi +gdm +git +git-lfs +gnome-firmware +gnome-keyring +gsettings-desktop-schemas +gtk-engine-murrine +gvfs +gvfs-mtp +gvfs-nfs +gvfs-smb +htop +hunspell +hunspell +hunspell-de +hunspell-en_gb +hunspell-en_us +hyphen +hyphen-de +hyphen-en +intel-media-driver +intel-ucode +jre-openjdk +kcm-wacomtablet +kdeconnect +kitty +lib32-mesa +lib32-vulkan-intel +lib32-vulkan-radeon +libaacs +libbluray +libcdio +libdvdcss +libdvdnav +libdvdread +libnotify +libreoffice-fresh +libreoffice-fresh-de +libsecret +libva-intel-driver +libva-mesa-driver +libva-utils +lsp-plugins-lv2 +mako +man-db +mesa +mesa-vdpau +mythes-de +mythes-en +nemo +nemo-fileroller +nemo-preview +nemo-share +neovim +nextcloud-client +notification-daemon +noto-fonts +noto-fonts-cjk +noto-fonts-emoji +ntfs-3g +obs-studio +okular +openresolv +os-prober +os-prober +otf-font-awesome +p7zip +pacman-contrib +pavucontrol +phonon-qt5-gstreamer +picom +piper +pipewire +pipewire-alsa +pipewire-jack +pipewire-pulse +playerctl +polkit-gnome +python-dbus +python-gobject +python-pip +qt5-imageformats +rebuild-detector +reflector +restic +rsync +seahorse +smartmontools +stress +system-config-printer +thunar +thunar-archive-plugin +thunderbird +tmux +traceroute +transmission-remote-gtk +ttf-fira-code +ttf-fira-sans +udiskie +unace +unrar +unzip +util-linux +vdpauinfo +vnstat +vulkan-intel +vulkan-radeon +waybar +webkit2gtk +wget +whois +wireguard-tools +wireplumber +wofi +xdg-user-dirs +xfsprogs