From 6a053095a04afb2a6d0a934d256d67bc1a811544 Mon Sep 17 00:00:00 2001 From: Simon Rieger Date: Tue, 9 May 2023 15:17:29 +0200 Subject: [PATCH] renew config --- .../{mimeapps.list => private_mimeapps.list} | 0 dot_config/sway/config.d/50-systemd-user.conf | 7 + dot_config/sway/executable_config | 448 ++++-------------- dot_zprofile | 10 +- dot_zshrc | 133 +----- 5 files changed, 118 insertions(+), 480 deletions(-) rename dot_config/{mimeapps.list => private_mimeapps.list} (100%) create mode 100644 dot_config/sway/config.d/50-systemd-user.conf diff --git a/dot_config/mimeapps.list b/dot_config/private_mimeapps.list similarity index 100% rename from dot_config/mimeapps.list rename to dot_config/private_mimeapps.list diff --git a/dot_config/sway/config.d/50-systemd-user.conf b/dot_config/sway/config.d/50-systemd-user.conf new file mode 100644 index 0000000..d75ccdb --- /dev/null +++ b/dot_config/sway/config.d/50-systemd-user.conf @@ -0,0 +1,7 @@ +# sway does not set DISPLAY/WAYLAND_DISPLAY in the systemd user environment +# See FS#63021 +# Adapted from xorg's 50-systemd-user.sh, which achieves a similar goal. + +exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP +exec hash dbus-update-activation-environment 2>/dev/null && \ + dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP diff --git a/dot_config/sway/executable_config b/dot_config/sway/executable_config index c737e81..1ff39ac 100644 --- a/dot_config/sway/executable_config +++ b/dot_config/sway/executable_config @@ -1,27 +1,14 @@ -# This file has been auto-generated by i3-config-wizard(1). -# It will not be overwritten, so edit it as you like. -# -# Should you change your keyboard layout some time, delete -# this file and re-run i3-config-wizard(1). -# - -# xmodmap -pke -# xev - -# i3 config file (v4) -# -# Please see https://i3wm.org/docs/userguide.html for a complete reference! - set $mod Mod1 +# https://man.archlinux.org/man/sway.5.en +# https://wiki.archlinux.org/title/Sway +# https://github.com/swaywm/sway/wiki +# https://github.com/swayos/swayos.github.io/blob/main/home/.config/sway/config + # Font for window titles. Will also be used by the bar unless a different font # is used in the bar {} block below. -#font pango:Noto Sans Bold 9 -#font pango:Droid Sans 9 -#font pango:FontAwesome 8, pango: Droid Sans Mono 8 -#font pango:System San Francisco Display 10 -#font pango:System San Francisco Display 6 -#font pango:monospace 8 +#font pango:monospace 12 +font pango:Terminus (TTF) Bold 12 set $bg-color #2f343f set $inactive-bg-color #2f343f @@ -29,11 +16,6 @@ set $text-color #f3f4f5 set $inactive-text-color #676E7D set $urgent-bg-color #E53935 -#font pango:Terminus (TTF) Bold 12 -#font pango:Hack Nerd Font 13 -#font pango:Hack 12 -font pango:monospace 12 - # window colors # border background text indicat> client.focused $bg-color $bg-color $text-color #00ff00 @@ -41,24 +23,9 @@ client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-col client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color #00ff00 client.urgent $urgent-bg-color $urgent-bg-color $text-color #00ff00 -# This font is widely installed, provides lots of unicode glyphs, right-to-left -# text rendering and scalability on retina/hidpi displays (thanks to pango). -#font pango:DejaVu Sans Mono 8 - -# Before i3 v4.8, we used to recommend this one as the default: -# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 -# The font above is very space-efficient, that is, it looks good, sharp and -# clear in small sizes. However, its unicode glyph coverage is limited, the old -# X core fonts rendering does not support right-to-left and this being a bitmap -# font, it doesn’t scale on retina/hidpi displays. - # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod -workspace_auto_back_and_forth yes -force_display_urgency_hint 0 ms -focus_on_window_activation urgent - # start a terminal bindsym $mod+Return exec wezterm @@ -66,23 +33,9 @@ bindsym $mod+Return exec wezterm bindsym $mod+Shift+q kill # Menu -#bindsym $mod+d exec rofi -show run -lines 3 -bw 1 -font "Cantarell 18" -opacity "75" bindsym $mod+d exec fuzzel bindsym $mod+Shift+d exec clipman pick --tool=CUSTOM --tool-args="fuzzel -d" bindsym $mod+y exec ~/.config/fuzzel/fuzzel-pass.sh -#bindsym $mod+shift+y exec passdmenu -P -x clipboard -#bindsym $mod+d exec wofi --show run --width 900 --height 200 -#bindsym $mod+d exec rofi -show run -lines 3 -eh 2 -width 100 -padding 800 -opacity "85" -bw 0 -bc "$bg-color" -bg "$bg-color" -fg "$text-color" -hlbg "$bg-color" -hlfg "#9575cd" -font "System San Francisco Display 18" - -#bindsym $mod+d exec --no-startup-id i3-dmenu-desktop --dmenu='rofi -i -dmenu -font "snap 12" -bg "#222222" -fg "#888888" -hlbg "#285577" -hlfg "#ffffff" -opacity 90 -m 0 -location 2' - -# start dmenu (a program launcher) -#bindsym $mod+d exec dmenu_run -#bindsym $mod+d exec j4-dmenu-desktop --dmenu='bemenu -i --nb "#3f3f3f" --nf "#dcdccc" --fn "pango:DejaVu Sans Mono 12"' --term='termite' -# There also is the (new) i3-dmenu-desktop which only displays applications -# shipping a .desktop file. It is a wrapper around dmenu, so you need that -# installed. -# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop # change focus bindsym $mod+j focus left @@ -131,22 +84,6 @@ 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: Terminals " -#set $ws2 "2: Browser " -#set $ws3 "3: Mail " -#set $ws4 "4: Office " -#set $ws5 "5: Music " -#set $ws6 "6: Speakprogram " -#set $ws7 "7: IDE " -#set $ws8 "8: Steam " -#set $ws9 "9: Chat " -#set $ws10 "10: Others " - bindsym --no-repeat $mod+1 workspace number 1; exec "echo 1 > /tmp/sov" bindsym --no-repeat $mod+2 workspace number 2; exec "echo 1 > /tmp/sov" bindsym --no-repeat $mod+3 workspace number 3; exec "echo 1 > /tmp/sov" @@ -158,6 +95,17 @@ bindsym --no-repeat $mod+8 workspace number 8; exec "echo 1 > /tmp/sov" bindsym --no-repeat $mod+9 workspace number 9; exec "echo 1 > /tmp/sov" bindsym --no-repeat $mod+0 workspace number 10; exec "echo 1 > /tmp/sov" +bindsym --no-repeat $mod+Ctrl+1 workspace number 11; exec "echo 1 > /tmp/sov" +bindsym --no-repeat $mod+Ctrl+2 workspace number 12; exec "echo 1 > /tmp/sov" +bindsym --no-repeat $mod+Ctrl+3 workspace number 13; exec "echo 1 > /tmp/sov" +bindsym --no-repeat $mod+Ctrl+4 workspace number 14; exec "echo 1 > /tmp/sov" +bindsym --no-repeat $mod+Ctrl+5 workspace number 15; exec "echo 1 > /tmp/sov" +bindsym --no-repeat $mod+Ctrl+6 workspace number 16; exec "echo 1 > /tmp/sov" +bindsym --no-repeat $mod+Ctrl+7 workspace number 17; exec "echo 1 > /tmp/sov" +bindsym --no-repeat $mod+Ctrl+8 workspace number 18; exec "echo 1 > /tmp/sov" +bindsym --no-repeat $mod+Ctrl+9 workspace number 19; exec "echo 1 > /tmp/sov" +bindsym --no-repeat $mod+Ctrl+0 workspace number 20; exec "echo 1 > /tmp/sov" + bindsym --release $mod+1 exec "echo 0 > /tmp/sov" bindsym --release $mod+2 exec "echo 0 > /tmp/sov" bindsym --release $mod+3 exec "echo 0 > /tmp/sov" @@ -169,6 +117,17 @@ bindsym --release $mod+8 exec "echo 0 > /tmp/sov" bindsym --release $mod+9 exec "echo 0 > /tmp/sov" bindsym --release $mod+0 exec "echo 0 > /tmp/sov" +bindsym --release $mod+Ctrl+1 exec "echo 0 > /tmp/sov" +bindsym --release $mod+Ctrl+2 exec "echo 0 > /tmp/sov" +bindsym --release $mod+Ctrl+3 exec "echo 0 > /tmp/sov" +bindsym --release $mod+Ctrl+4 exec "echo 0 > /tmp/sov" +bindsym --release $mod+Ctrl+5 exec "echo 0 > /tmp/sov" +bindsym --release $mod+Ctrl+6 exec "echo 0 > /tmp/sov" +bindsym --release $mod+Ctrl+7 exec "echo 0 > /tmp/sov" +bindsym --release $mod+Ctrl+8 exec "echo 0 > /tmp/sov" +bindsym --release $mod+Ctrl+9 exec "echo 0 > /tmp/sov" +bindsym --release $mod+Ctrl+0 exec "echo 0 > /tmp/sov" + bindsym $mod+Shift+1 move container to workspace number 1 bindsym $mod+Shift+2 move container to workspace number 2 bindsym $mod+Shift+3 move container to workspace number 3 @@ -180,94 +139,20 @@ bindsym $mod+Shift+8 move container to workspace number 8 bindsym $mod+Shift+9 move container to workspace number 9 bindsym $mod+Shift+0 move container to workspace number 10 -bindsym $mod+Ctrl+1 [workspace="1"] move workspace to output current -bindsym $mod+Ctrl+2 [workspace="2"] move workspace to output current -bindsym $mod+Ctrl+3 [workspace="3"] move workspace to output current -bindsym $mod+Ctrl+4 [workspace="4"] move workspace to output current -bindsym $mod+Ctrl+5 [workspace="5"] move workspace to output current -bindsym $mod+Ctrl+6 [workspace="6"] move workspace to output current -bindsym $mod+Ctrl+7 [workspace="7"] move workspace to output current -bindsym $mod+Ctrl+8 [workspace="8"] move workspace to output current -bindsym $mod+Ctrl+9 [workspace="9"] move workspace to output current -bindsym $mod+Ctrl+0 [workspace="10"] move workspace to output current - # reload the configuration file bindsym $mod+Shift+c reload # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) 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' - -# 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 odiaeresis 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" -# Start i3bar to display a workspace bar (plus the system information i3status -# finds out, if available) - -#client.focused #81a2be #81a2be #1d1f21 #282a2e -#client.focused_inactive #373b41 #373b41 #969896 #282a2e -#client.unfocused #282a2e #282a2e #969896 #282a2e -#client.urgent #373b41 #cc6666 #ffffff #cc6666 - -# Status-Bar -#exec_always --no-startup-id $HOME/.config/polybar/launch.sh --cuts - -# bar { -# swaybar_command /usr/bin/swaybar -# #font pango:Terminus (TTF) Bold 12 -# #font pango:Hack Nerd Font 13 -# font pango:Hack Bold 14 -# #font pango:DejaVu Sans Mono, FontAwesome 12 -# #font pango:MesloLGM Nerd Font Bold 13 - -# position top -# status_command i3status-rs ~/.config/i3status-rust/config.toml - -# # https://fontawesome.com/v4/cheatsheet/ -# separator_symbol  - -# colors { -# background $bg-color -# statusline #263238 -# separator #757575 - -# #colors outline background number -# active_workspace #009688 #009688 #eceff1 -# focused_workspace $bg-color $bg-color $text-color -# inactive_workspace $inactive-bg-color $inactive-bg-color $inactive-text-color -# urgent_workspace $urgent-bg-color $urgent-bg-color $text-color -# } -# } - - -# Read `man 5 sway-bar` for more information about this section. -bar { - swaybar_command waybar +mode "resize" { + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + bindsym Return mode "default" + bindsym Escape mode "default" } input * { @@ -276,7 +161,7 @@ input * { natural_scroll disabled middle_emulation enabled - # Flat or adaptative + # Flat (deactivated) or adaptative (activated) accel_profile adaptive # Between -1.0 and 1.0 @@ -294,10 +179,12 @@ seat seat0 xcursor_theme capitaine-cursors 16 # display resoulution output eDP-1 pos 0 0 res 1920x1080 +set $gnome-schema org.gnome.desktop.interface exec_always { - gsettings set org.gnome.desktop.interface cursor-theme capitaine-cursors - gsettings set org.gnome.desktop.interface gtk-theme Arc-Dark - gsettings set org.gnome.desktop.interface icon-theme Papirus-Dark + gsettings set $gnome-schema cursor-theme capitaine-cursors + gsettings set $gnome-schema gtk-theme Arc-Dark + gsettings set $gnome-schema icon-theme Papirus-Dark + gsettings set $gnome-schema font-name 'Cantarell 12' gsettings set org.gnome.desktop.wm.preferences theme "Arc-Dark" } @@ -340,131 +227,46 @@ bindsym $mod+t exec pcmanfm-qt bindsym $mod+shift+t exec thunderbird bindsym $mod+n exec wezterm start nmtui -#bindsym $mod+o exec termite -e /usr/bin/alsamixer -#bindsym $mod+y exec alacritty -e ncmpcpp - -# Alsa-Steuerung & Lautstärke einstellen -#bindsym $mod+i exec amixer set Speaker 5%+ -#bindsym $mod+u exec amixer set Speaker 5%- -bindsym $mod+i exec pamixer --allow-boost -i 5 -bindsym $mod+shift+i exec pamixer --allow-boost -d 5 -bindsym $mod+shift+v exec "if pamixer --get-mute; then pamixer --unmute; else pamixer --mute; fi" -#bindsym $mod+shift+v exec amixer set Speaker toggle -#bindsym $mod+shift+h exec amixer set Capture toggle - -# https://i3wm.org/docs/userguide.html#assign_workspace -# xprop - # Einstellungen für spezielle Programme (exact match instead of substring) # Remmina (swaymsg -t get_tree) -for_window [app_id="org.remmina.Remmina"] floating enable -for_window [app_id="org.remmina.Remmina"] resize set 1000 600 for_window [app_id="foot"] border pixel 1 for_window [app_id="iwgtk"] floating enable for_window [app_id="blueman-manager"] floating enable for_window [app_id="blueman-manager"] resize set 1000 600 -for_window [app_id="pavucontrol"] floating enable -for_window [app_id="pavucontrol"] resize set 1000 600 for_window [app_id="org.gnome.Nautilus"] floating enable -for_window [app_id="pcmanfm-qt"] floating enable -for_window [app_id="pcmanfm-qt"] resize set 1000 600 for_window [app_id="gnome-system-monitor"] floating enable; resize shrink down 100px; resize shrink up 100px for_window [app_id="wdisplays"] floating enable for_window [app_id="wdisplays"] resize set 1000 600 +for_window [app_id="pavucontrol"] floating enable +for_window [app_id="pavucontrol"] resize set 1000 600 for_window [app_id="pavucontrol-qt"] floating enable for_window [app_id="pavucontrol-qt"] resize set 1000 600 -for_window [app_id="lxqt-archiver"] floating enable -for_window [app_id="lxqt-archiver"] resize set 1000 600 +for_window [app_id="pcmanfm"] floating enable +for_window [app_id="pcmanfm"] resize set 1000 600 +for_window [app_id="pcmanfm-qt"] floating enable +for_window [app_id="pcmanfm-qt"] resize set 1000 600 for_window [app_id="imv"] floating enable for_window [app_id="pamac-manager"] floating enable -for_window [app_id="lxqt-policykit-agent"] floating enable +for_window [app_id="org.remmina.Remmina"] floating enable +for_window [app_id="org.remmina.Remmina"] resize set 1000 600 -for_window [class="(?i)vlc"] floating disable border none -for_window [class="(?i)virtualbox"] floating enable border normal -for_window [class="(?i)claws-mail"] floating enable border normal -for_window [class="mplayer"] floating disable border none -for_window [title="Wicd"] floating enable border normal -for_window [title="galculator"] floating enable border normal -for_window [title="Verbindungsinformationen"] floating enable border normal -for_window [title="Lautstärkeregler"] floating enable border normal -for_window [title="Freundesliste"] floating enable border normal - -# Einstellungen Fensterverhalten für bestimmte Programme im Terminal -for_window [class="Alpine"] floating enable border none -for_window [class="calcurse"] floating enable border none -for_window [class="newsbeuter"] floating enable border none -for_window [class="weechat"] floating enable border none - -# Starter für Progs im Terminal -bindsym $mod+F1 exec wezterm start arch-install -bindsym $mod+F2 exec wezterm start bashtop -bindsym $mod+F3 exec wezterm start nmtui - -# assign special properties -for_window [class="^Pavucontrol$"] floating enable -for_window [title="MonoDevelop External Console"] floating enable -for_window [class="^Shutter$"] floating enable -# Enables floating windows of the chrome extension "Videostream for Chromecast" -for_window [instance="^crx_cnciopoikihiagdjbjpnocolokfelagl$"] floating enable -# The Chrome "Page Unresponsive" dialog is not floating... -for_window [title="Page Unresponsive"] floating enable -# Share your screen from Google Cast extension -for_window [title="Share your screen - Google Cast"] floating enable -# TeamSpeak new features window -for_window [class="^TeamSpeak 3$" title="^New TeamSpeak Features"] floating enable -# Android Device Monitor startup window -for_window [class="^Monitor$" instance="^Monitor$" title="^Monitor$"] floating enable -# chromeIPass "No logins found." window -for_window [title="^chromeIPass$"] floating enable - -# Jetbrains -for_window [class="^com-intellij-updater-Runner$" title="^Update$"] floating enable -for_window [instance="^sun-awt-X11-XDialogPeer$" title="^Complete Installation$"] floating enable - -# Unity -for_window [class="^Unity$" title="^Starting Unity...$"] floating enable -for_window [class="^Unity$" title="^Hold On$"] floating enable -for_window [class="^Unity$" title="^Preparing Package$"] floating enable -for_window [class="^Unity$" title="^Importing Package$"] floating enable - -# https://github.com/ValveSoftware/steam-for-linux/issues/1040 -for_window [class="^Steam$" title="^Friends$"] floating enable -for_window [class="^Steam$" title="Steam - News"] floating enable -for_window [class="^Steam$" title=".* - Chat"] floating enable -for_window [class="^Steam$" title="^Settings$"] floating enable -for_window [class="^Steam$" title=".* - event started"] floating enable -for_window [class="^Steam$" title=".* CD key"] floating enable -for_window [class="^Steam$" title="^Steam - Self Updater$"] floating enable -for_window [class="^Steam$" title="^Screenshot Uploader$"] floating enable -for_window [class="^Steam$" title="^Steam Guard - Computer Authorization Required$"] floating enable -for_window [class="^Steam$" title="Steam-Bibliotheksordner$"] floating enable -for_window [class="^Steam$" title="Neuen Steam-Bibliotheksordner auswählen oder erstellen:$"] floating enable -for_window [title="^Steam Keyboard$"] floating enable -#for_window [title="^Steam$"] floating enable - -# There is no specific property for windows that should be floating (eg. the WM_NAME is the device name (PC1)) -for_window [class="^PacketTracer6$"] floating enable -for_window [class="^PacketTracer6$" title="PT Activity"] floating disable -for_window [class="^PacketTracer6$" title="Cisco Packet Tracer"] floating disable - -# Alsa-Steuerung & Lautstärke einstellen -bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle -bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% && pamixer --get-volume > /tmp/wob -bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% && pamixer --get-volume > /tmp/wob - -# Steuerung der Helligkeit bindsym XF86MonBrightnessDown exec brightnessctl set 5%- | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > /tmp/wob bindsym XF86MonBrightnessUp exec brightnessctl set +5% | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > /tmp/wob -# Touchpad controls -bindsym XF86TouchpadToggle exec /usr/bin/touchpad_toggle # toggle touchpad +bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle +bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle +bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% && pamixer --get-volume > /tmp/wob +bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% && pamixer --get-volume > /tmp/wob -# Media player controls -bindsym XF86AudioPlay exec playerctl play -bindsym XF86AudioPause exec playerctl pause +bindsym $mod+XF86AudioPlay exec "echo 1 > /tmp/vmp" +bindsym $mod+XF86AudioNext exec "echo 2 > /tmp/vmp" +bindsym $mod+XF86AudioPrev exec "echo 3 > /tmp/vmp" + +bindsym XF86AudioPlay exec playerctl play-pause bindsym XF86AudioNext exec playerctl next bindsym XF86AudioPrev exec playerctl previous +bindsym XF86Search exec fuzzel # monitor-picture # 1. Capture a Selection @@ -475,16 +277,22 @@ bindsym Shift+Print exec grim $(xdg-user-dir PICTURES)/$(date +'%Y-%m-%d-%H%M%S_ bindsym $mod+p exec wlogout -p layer-shell bindsym --no-repeat $mod+Shift+p exec "echo 2 > /tmp/wcp" +# swaylock +bindsym $mod+shift+x exec swaylock -c 000000 + +# 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' + # Power control script - a useful replacement for the normal i3 exiting keybind. # https://wiki.archlinux.org/index.php/i3#Shutdown.2C_reboot.2C_lock_screen set $mode_system System (1) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (d) shutdown mode "$mode_system" { - bindsym 1 exec --no-startup-id ~/.config/sway/swayexit lock, mode "default" - bindsym e exec --no-startup-id ~/.config/sway/swayexit logout, mode "default" - bindsym s exec --no-startup-id ~/.config/sway/swayexit suspend, mode "default" - bindsym h exec --no-startup-id ~/.config/sway/swayexit hibernate, mode "default" - bindsym r exec --no-startup-id ~/.config/sway/swayexit reboot, mode "default" - bindsym d exec --no-startup-id ~/.config/sway/swayexit shutdown, mode "default" + bindsym 1 exec ~/.config/sway/swayexit lock, mode "default" + bindsym e exec ~/.config/sway/swayexit logout, mode "default" + bindsym s exec ~/.config/sway/swayexit suspend, mode "default" + bindsym h exec ~/.config/sway/swayexit hibernate, mode "default" + bindsym r exec ~/.config/sway/swayexit reboot, mode "default" + bindsym d exec ~/.config/sway/swayexit shutdown, mode "default" # back to normal: Enter or Escape bindsym Return mode "default" bindsym Escape mode "default" @@ -495,10 +303,10 @@ bindsym $mod+x mode "$mode_system" # Set the shortcuts and what they do set $mode_display Ext Screen (v) eDP ON, (h) HDMI ON, (x) eDP OFF, (y) HDMI OFF mode "$mode_display" { - bindsym v exec --no-startup-id output eDP-1 enable && output eDP-1 pos 1920 0 res 1920x1080 - bindsym h exec --no-startup-id output HDMI-A-1 enable && output HDMI-A-1 pos 1920 0 res 1920x1080 - bindsym x exec --no-startup-id output eDP-1 disable - bindsym y exec --no-startup-id output HDMI-A-1 disable + bindsym v exec output eDP-1 enable && output eDP-1 pos 1920 0 res 1920x1080, mode "default" + bindsym h exec output HDMI-A-1 enable && output HDMI-A-1 pos 1920 0 res 1920x1080, mode "default" + bindsym x exec output eDP-1 disable, mode "default" + bindsym y exec output HDMI-A-1 disable, mode "default" # back to normal: Enter or Escape bindsym Return mode "default" @@ -513,48 +321,20 @@ workspace_auto_back_and_forth yes bindsym $mod+z workspace back_and_forth bindsym $mod+Shift+z move container to workspace back_and_forth; workspace back_and_forth -# volumeicon -#exec --no-startup-id volumeicon - # Networkmanager -exec --no-startup-id nm-applet +exec nm-applet # Bluetooth -exec --no-startup-id blueman-applet - -# Start xscreensaver -#exec --no-startup-id "xscreensaver -no-splash" - -# Start Pulseaudio Server -#already started -#exec --no-startup-id "pulseaudio --start" +exec blueman-applet # Start mako-notifyd Service -exec --no-startup-id "mako -c .config/mako/config" +exec "mako -c .config/mako/config" -# Start volumeicon tray paystray (pulseaudio) -#exec --no-startup-id "pasystray --notify=all" +# authentication manager https://wiki.archlinux.org/title/Polkit +exec /usr/bin/lxqt-policykit-agent -# imwheel faster scrolling (deactivated sound bug) -#exec --no-startup-id imwheel - -# authentication manager (https://wiki.archlinux.org/title/Polkit) -exec --no-startup-id /usr/bin/lxqt-policykit-agent - -# xfce4-power-manager -#exec --no-startup-id xfce4-power-manager - -# start gnome-keyring-daemon -#exec --no-startup-id /usr/bin/gnome-keyring-daemon --start --components=ssh,secrets,pkcs11 - -# notify service from smartphone -#exec --no-startup-id /opt/an2linuxserver/an2linuxserver.py - -# Adjust the color temperature of your screen according to your surroundings. -#exec gammastep - -# starting Steam -#exec --no-startup-id sleep 30 && steam-native +# Waybar +exec waybar # Clipboard Manager exec wl-paste -t text --watch clipman store @@ -568,19 +348,8 @@ exec rm -f /tmp/wob && mkfifo /tmp/wob && tail -f /tmp/wob | wob exec rm -f /tmp/sov && mkfifo /tmp/sov && tail -f /tmp/sov | sov -t 200 exec rm -f /tmp/wcp && mkfifo /tmp/wcp && tail -f /tmp/wcp | wcp -f 300x190 -m 20 -a rt -####### - -# swaylock -#convert image.jpg -resize $(xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/') RGB:- | i3lock --raw $(xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/'):rgb --image /dev/stdin -bindsym $mod+shift+x exec swaylock -c 000000 - -#bindsym $mod+shift+b exec xtrlock - - -### i3-gaps stuff ### - -# Necessary for i3-gaps to work properly (pixel can be any value) -for_window [class="^.*"] border pixel 3 +default_border none +default_floating_border normal # Smart Gaps smart_gaps on @@ -588,50 +357,9 @@ smart_gaps on # Smart Borders smart_borders on -# Set inner/outer gaps -gaps inner 12 -gaps outer -2 - -# Gaps mode -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+Shift+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" -} - -default_border none -default_floating_border normal +gaps inner 5 +gaps outer 0 +gaps top -5 #xwayland disable diff --git a/dot_zprofile b/dot_zprofile index 7104988..39d1c6d 100644 --- a/dot_zprofile +++ b/dot_zprofile @@ -1,6 +1,5 @@ if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then # First make sure dbus is started - if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then export DBUS_SESSION_BUS_ADDRESS="$(dbus-daemon --session --fork --print-address)" fi @@ -8,9 +7,10 @@ if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then # Set XDG_RUNTIME_DIR # Paragraph modified from https://wiki.gentoo.org/wiki/Sway - if [ -z "${XDG_RUNTIME_DIR}" ]; then - export XDG_RUNTIME_DIR="/tmp/${UID}-runtime-dir" - if ! [ -d "${XDG_RUNTIME_DIR}" ]; then + if test -z "${XDG_RUNTIME_DIR}"; then + UID="$(id -u)" + export XDG_RUNTIME_DIR=/tmp/"${UID}"-runtime-dir + if ! test -d "${XDG_RUNTIME_DIR}"; then mkdir "${XDG_RUNTIME_DIR}" chmod 0700 "${XDG_RUNTIME_DIR}" fi @@ -49,5 +49,7 @@ if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then #export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:~/.local/lib/ + #XDG_CURRENT_DESKTOP=sway dbus-run-session sway exec sway fi + diff --git a/dot_zshrc b/dot_zshrc index 384c339..f2452f6 100644 --- a/dot_zshrc +++ b/dot_zshrc @@ -1,124 +1,25 @@ -autoload -U promptinit; promptinit; +# needed for history and autosuggestions +export HISTFILE=~/.zhistory +export HISTSIZE=10000000 +export SAVEHIST=10000000 -autoload -U compinit -compinit -zstyle ':completion:*' menu yes select -zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' -zstyle ':completion:*' rehash true - -autoload -U select-word-style -select-word-style bash - -setopt auto_cd -setopt HIST_IGNORE_SPACE -setopt interactive_comments -setopt inc_append_history -setopt share_history -setopt AUTO_PUSHD -setopt PUSHD_IGNORE_DUPS -setopt PUSHD_SILENT - -for index ({1..9}) alias "$index"="cd +${index}"; unset index - -HISTFILE=~/.zsh_history -HISTSIZE=10000000 -SAVEHIST=10000000 - -bindkey "^[[H" beginning-of-line # HOME -bindkey "^[[F" end-of-line # END -bindkey "^[[3~" delete-char # DEL -bindkey -M emacs '\e#' pound-insert # ALT+# -bindkey '^R' history-incremental-pattern-search-backward - -mem() { - echo $(echo $(smem -t -P $1 | tail -n 1 | rev | cut -d ' ' -f 2 | rev) / 1024 | bc) MB +# make midnight commander colorful +export TERM=xterm-256color +# by default backspace deletes whole word +bindkey "^H" backward-delete-char +# up/down should search in history not step +bindkey '\e[A' history-beginning-search-backward +bindkey '\e[B' history-beginning-search-forward +# colored prompt +autoload -U colors && colors +PS1="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%/ %{$reset_color%}% " +# called when executing a command +function preexec { + print -Pn "\e]0;${(q)1}\e\\" } -alias eZ="vim ~/.zshrc" -alias eI="vim ~/.config/i3/config" -alias eW="vim ~/.config/wezterm/wezterm.lua" -alias eI="vim ~/.config/i3/config" -alias eV="vim ~/.vimrc" -alias eS="vim ~/.config/starship.toml" -alias wetter="curl http://v3.wttr.in/Hessen.sxl; sleep 5; curl http://v1.wttr.in/Hanau" -alias history="history 0" -alias etcher="usbimager" -alias ls='ls --color=auto' -alias s='the-way search' - -function deepl -{ - args="$*" - echo "$args" - echo "$args" | command deepl -s --to en -} - -alias deepl="noglob deepl" - -function rm -{ - /bin/rm $@ -I -} - -function ask -{ - args="$*" - ai ask "$args" -} - -alias ask="noglob ask" -alias chatgpt="noglob chatgpt --" -alias history="history | fzf" - -function imgcat() -{ - local CNT=0 - local IFS=$'\n' - local posY=$(($(echo -e "cols" | tput -S) / 2)) - local posX=$(($(echo -e "lines" | tput -S) / 4)) - - for i in $(find $1 -type f -exec file --mime-type {} \+ | awk -F: '{if ($2 ~/image\//) print $1}'); do - CNT=$((CNT+1)) - if test $(($CNT % 2)) -eq 0 && test "$2" != "-1"; then - printf "\033[${posX}A" - printf "\033[${posY}C" - echo -e "==== $(basename $i) ====" - printf "\033[${posY}C" - else - echo -e "==== $(basename $i) ====" - fi - - if echo "$i" | grep -e ".svg$" &> /dev/null; then - ffmpeg -i "$i" -vf scale=640:-1 -f image2pipe -vcodec png - 2> /dev/null | wezterm imgcat --height 20% - else - wezterm imgcat --height 20% "$i"; - fi - done -} - -function cmdsave() { - PREV=$(fc -lrn | head -n 1) - sh -c "the-way cmd `printf %q "$PREV"`" -} - -function cmdsearch() { - BUFFER=$(the-way search --stdout --languages="sh") - print -z $BUFFER -} - -export PATH="$PATH:$HOME/.local/bin:$HOME/repos/scripts/helper" -export PATH="$PATH:$HOME/.local/share/JetBrains/Toolbox/scripts" -export PNPM_HOME="$HOME/.local/share/pnpm" -export PATH="$PNPM_HOME:$PATH" - -export TERMINAL=wezterm -export EDITOR=vim - source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh source /usr/share/fzf/key-bindings.zsh -export EDITOR="vim" - eval "$(starship init zsh)" -