mirror of
				https://gitea.blesmrt.net/mikaela/shell-things.git
				synced 2025-10-26 23:07:22 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			540 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			540 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # Packages expected (just break line-length!):
 | ||
| # Debian: i3 suckless-tools j4-dmenu-desktop gnome-screenshot i3lock sudo hibernate playerctl galculator network-manager-gnome redshift-gtk x11-xserver-utils feh rofi libnotify-bin xcompmgr konsole fonts-dejavu dbus-x11 arandr numlockx fcitx-bin fcitx-mozc conky-all flatpak apparmor-notify caffeine kdocker mumble audacious telegram-desktop steam htop kdeconnect nextcloud-client parcimonie lxqt-powermanagement kteatime hsetroot tmux
 | ||
| # ALSA: alsa-utils apulse coreutils pnmixer
 | ||
| #	 NOTE! apulse is a wrapper and `apulse` is put in front of pulseaudio
 | ||
| #	 requiring app. See also (shell-things) rc/asoundrc for USB headset and
 | ||
| #	 similar.
 | ||
| # pulseaudio: pulseaudio-utils pasystray pulsemixer pavucontrol pulseeffects
 | ||
| # insync: https://www.insynchq.com/downloads
 | ||
| # Mullvad: https://mullvad.net/download
 | ||
| #
 | ||
| # Fedora: i3 gnome-screenshot i3lock sudo playerctl galculator network-manager-applet redshift-gtk feh rofi libnotify dbus-x11 arandr numlockx fcitx conky kdocker caffeine kdocker mumble audacious htop kdeconnectd nextcloud-client parcimonie.sh lxqt-powermanagement kteatime tmux coreutils blueman-applet
 | ||
| #
 | ||
| # i3status command below expects locale fi_FI.utf8
 | ||
| #
 | ||
| # Debian theming: lxappearance gtk-chtheme qt4-qtconfig qt5ct
 | ||
| # https://askubuntu.com/a/600946
 | ||
| # + ~/.xprofile specifies GTK_THEME which hopefully gets detected/understood
 | ||
| #	by browsers etc.
 | ||
| #
 | ||
| # YES! This file is a monster and there really are that many weird
 | ||
| # packages!
 | ||
| #
 | ||
| # HIDPI text scaling:
 | ||
| # % gsettings set org.gnome.desktop.interface scaling-factor 2
 | ||
| # https://wiki.archlinux.org/index.php/HiDPI#GNOME
 | ||
| #
 | ||
| # Search also for CHANGEME near the bottom
 | ||
| 
 | ||
| #Super
 | ||
| set $mod Mod4
 | ||
| 
 | ||
| # Stop repeating the same thing everywhere!
 | ||
| set $SHELL /bin/zsh
 | ||
| set $TERMINAL mate-terminal --hide-menubar
 | ||
| set $TEXTEDITOR pluma
 | ||
| # For use without display managers. All display managers seem to be
 | ||
| # horrible, LightDM user switching is insecure, GDM depends on GNOME, SDDM
 | ||
| # doesn't support `passwd -de`
 | ||
| # i3lock options: black colour, cursor (that does nothing)
 | ||
| # show failed attempts.
 | ||
| set $ScreenLockCmd i3lock -c 000000 -p win -f
 | ||
| # tiling png background image
 | ||
| #set $ScreenLockCmd i3lock -t -i ~/.i3lockbackground.png -p win -f
 | ||
| #set $ScreenLockCmd i3lock-fancy
 | ||
| 
 | ||
| # Font for window titles. Will also be used by the bar unless a different
 | ||
| # font is used in the bar {} block below.
 | ||
| #font pango:monospace 8
 | ||
| 
 | ||
| # This font is widely installed, provides lots of unicode glyphs, right-to-left
 | ||
| # text rendering and scalability on retina/hidpi displays (thanks to pango).
 | ||
| # NOTE! Bigger font than 8 is too big for Kincarron
 | ||
| #						 7 is too big for Sedric with dpi scaling 144
 | ||
| #font pango:DejaVu Sans Mono Book 7
 | ||
| font pango:OpenDyslexic 9
 | ||
| 
 | ||
| # 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
 | ||
| 
 | ||
| # start a terminal
 | ||
| #bindsym $mod+Return exec i3-sensible-terminal
 | ||
| bindsym $mod+Return exec $TERMINAL -e $SHELL
 | ||
| # kill focused window
 | ||
| bindsym $mod+Shift+q kill
 | ||
| 
 | ||
| # start dmenu (a program launcher)
 | ||
| #bindsym $mod+d exec dmenu_run
 | ||
| # wrapper around dmenu supporting .desktop (flatpak)
 | ||
| bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
 | ||
| # j4-dmenu-desktop is supposedly more than 25 times faster
 | ||
| #bindsym $mod+d exec --no-startup-id j4-dmenu-desktop --display-binary --no-generic --dmenu="rofi -dmenu -i" --term="$TERMINAL"
 | ||
| # PowerToys Run compatibility
 | ||
| #bindsym Mod1+space exec --no-startup-id j4-dmenu-desktop --display-binary --no-generic --dmenu="rofi -dmenu -i" --term="$TERMINAL"
 | ||
| bindsym Mod1+space exec --no-startup-id i3-dmenu-desktop
 | ||
| 
 | ||
| # for j4-dmenu-desktop daemon mode (unreleased version)
 | ||
| # https://github.com/enkore/j4-dmenu-desktop/pull/80/commits/87f6b8b03dabbd83ad0f5d889a75da1b99cdff03
 | ||
| #exec --no-startup-id j4-dmenu-desktop --display-binary --no-generic --dmenu="rofi -dmenu -i" --term=$TERMINAL --wait-on=~/.config/j4ddfifo
 | ||
| #bindsym $mod+d exec --no-startup-id echo > ~/.config/j4ddfifo
 | ||
| 
 | ||
| # change focus
 | ||
| bindsym $mod+j focus left
 | ||
| bindsym $mod+k focus down
 | ||
| bindsym $mod+l focus up
 | ||
| bindsym $mod+odiaeresis focus right
 | ||
| 
 | ||
| # alternatively, you can use the cursor keys:
 | ||
| bindsym $mod+Left focus left
 | ||
| bindsym $mod+Down focus down
 | ||
| bindsym $mod+Up focus up
 | ||
| bindsym $mod+Right focus right
 | ||
| 
 | ||
| # move focused window
 | ||
| bindsym $mod+Shift+j move left
 | ||
| bindsym $mod+Shift+k move down
 | ||
| bindsym $mod+Shift+l move up
 | ||
| bindsym $mod+Shift+odiaeresis move right
 | ||
| 
 | ||
| # alternatively, you can use the cursor keys:
 | ||
| bindsym $mod+Shift+Left move left
 | ||
| bindsym $mod+Shift+Down move down
 | ||
| bindsym $mod+Shift+Up move up
 | ||
| bindsym $mod+Shift+Right move right
 | ||
| 
 | ||
| # split in horizontal orientation
 | ||
| bindsym $mod+h split h
 | ||
| 
 | ||
| # split in vertical orientation
 | ||
| bindsym $mod+v split v
 | ||
| 
 | ||
| # enter fullscreen mode for the focused container
 | ||
| bindsym $mod+f fullscreen toggle
 | ||
| 
 | ||
| # change container layout (stacked, tabbed, toggle split)
 | ||
| bindsym $mod+s layout stacking
 | ||
| bindsym $mod+w layout tabbed
 | ||
| bindsym $mod+e layout toggle split
 | ||
| 
 | ||
| # toggle tiling / floating
 | ||
| bindsym $mod+Shift+f floating toggle
 | ||
| 
 | ||
| # change focus between tiling / floating windows
 | ||
| bindsym $mod+space focus mode_toggle
 | ||
| 
 | ||
| # focus the parent container
 | ||
| bindsym $mod+a focus parent
 | ||
| 
 | ||
| # focus the child container
 | ||
| #bindsym $mod+d focus child
 | ||
| 
 | ||
| # Tabbed uses less space and may show me when I have too many windows in a
 | ||
| # single workspace
 | ||
| workspace_layout tabbed
 | ||
| 
 | ||
| # Centerize window titles
 | ||
| title_align center
 | ||
| 
 | ||
| # Define names for default workspaces for which we configure key bindings later on.
 | ||
| # We use variables to avoid repeating the names in multiple places.
 | ||
| set $ws1 "1"
 | ||
| set $ws2 "2"
 | ||
| set $ws3 "3"
 | ||
| set $ws4 "4"
 | ||
| set $ws5 "5"
 | ||
| set $ws6 "6"
 | ||
| set $ws7 "7"
 | ||
| set $ws8 "8"
 | ||
| set $ws9 "9"
 | ||
| set $ws10 "10"
 | ||
| 
 | ||
| # switch to workspace
 | ||
| bindsym $mod+1 workspace $ws1
 | ||
| bindsym $mod+2 workspace $ws2
 | ||
| bindsym $mod+3 workspace $ws3
 | ||
| bindsym $mod+4 workspace $ws4
 | ||
| bindsym $mod+5 workspace $ws5
 | ||
| bindsym $mod+6 workspace $ws6
 | ||
| bindsym $mod+7 workspace $ws7
 | ||
| bindsym $mod+8 workspace $ws8
 | ||
| bindsym $mod+9 workspace $ws9
 | ||
| bindsym $mod+0 workspace $ws10
 | ||
| bindsym $mod+Prior workspace previous
 | ||
| bindsym $mod+Next workspace next
 | ||
| 
 | ||
| # move focused container to workspace
 | ||
| bindsym $mod+Shift+1 move container to workspace $ws1
 | ||
| bindsym $mod+Shift+2 move container to workspace $ws2
 | ||
| bindsym $mod+Shift+3 move container to workspace $ws3
 | ||
| bindsym $mod+Shift+4 move container to workspace $ws4
 | ||
| bindsym $mod+Shift+5 move container to workspace $ws5
 | ||
| bindsym $mod+Shift+6 move container to workspace $ws6
 | ||
| bindsym $mod+Shift+7 move container to workspace $ws7
 | ||
| bindsym $mod+Shift+8 move container to workspace $ws8
 | ||
| bindsym $mod+Shift+9 move container to workspace $ws9
 | ||
| bindsym $mod+Shift+0 move container to workspace $ws10
 | ||
| bindsym $mod+Shift+Prior move container to workspace previous
 | ||
| bindsym $mod+Shift+Next move container to workspace next
 | ||
| 
 | ||
| # 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 restart
 | ||
| # exit i3 (logs you out of your X session)
 | ||
| bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the EXIT shortcut. Do you really want to EXIT i3? This will end your X session (and should throw you to TTY login prompt or something is WRONG!).' -B 'Yes, EXIT i3' 'i3-msg 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"
 | ||
| 
 | ||
| # Selenized black from https://github.com/jan-warchol/selenized/blob/master/other-apps/i3/i3-selenized-black.conf
 | ||
| # When there are two definitions of which one is commented and 000000 is
 | ||
| # uncommented, I have adjusted to AMOLED black.
 | ||
| ##set $bg #181818
 | ||
| set $bg #000000
 | ||
| ##set $black #252525
 | ||
| ##set $br_black #3b3b3b
 | ||
| set $black #000000
 | ||
| set $br_black #000000
 | ||
| set $white #777777
 | ||
| set $fg #b9b9b9
 | ||
| set $br_white #dedede
 | ||
| #
 | ||
| set $red #ed4a46
 | ||
| set $green #70b433
 | ||
| set $yellow #dbb32d
 | ||
| set $blue #368aeb
 | ||
| set $magenta #eb6eb7
 | ||
| set $cyan #3fc5b7
 | ||
| set $orange #e67f43
 | ||
| set $violet #a580e2
 | ||
| #
 | ||
| set $br_red #ff5e56
 | ||
| set $br_green #83c746
 | ||
| set $br_yellow #efc541
 | ||
| set $br_blue #4f9cfe
 | ||
| set $br_magenta #ff81ca
 | ||
| set $br_cyan #56d8c9
 | ||
| set $br_orange #fa9153
 | ||
| set $br_violet #b891f5
 | ||
| 
 | ||
| # Selenized light from https://github.com/jan-warchol/selenized/blob/master/other-apps/i3/i3-selenized-light.conf
 | ||
| #set $bg #fbf3db
 | ||
| #set $black #ece3cc
 | ||
| #set $br_black #d5cdb6
 | ||
| #set $white #909995
 | ||
| #set $fg #53676d
 | ||
| #set $br_white #3a4d53
 | ||
| #
 | ||
| #set $red #d2212d
 | ||
| #set $green #489100
 | ||
| #set $yellow #ad8900
 | ||
| #set $blue #0072d4
 | ||
| #set $magenta #ca4898
 | ||
| #set $cyan #009c8f
 | ||
| #set $orange #c25d1e
 | ||
| #set $violet #8762c6
 | ||
| #
 | ||
| #set $br_red #cc1729
 | ||
| #set $br_green #428b00
 | ||
| #set $br_yellow #a78300
 | ||
| #set $br_blue #006dce
 | ||
| #set $br_magenta #c44392
 | ||
| #set $br_cyan #00978a
 | ||
| #set $br_orange #bc5819
 | ||
| #set $br_violet #825dc0
 | ||
| 
 | ||
| # Start i3bar to display a workspace bar (plus the system information i3status
 | ||
| # finds out, if available) CHANGEME
 | ||
| bar {
 | ||
| 		position top
 | ||
| 		#status_command LC_ALL=fi_FI.utf8 i3status
 | ||
| 		# Temporary workaround to broken i3status in Fedora
 | ||
| 		status_command LC_ALL=fi_FI.utf8 i3status-rs ~/.config/i3status-rs/config.toml
 | ||
| 		# Selenized black from https://github.com/jan-warchol/selenized/blob/master/other-apps/i3/i3-selenized-black.conf
 | ||
| 		colors {
 | ||
| 			separator $blue
 | ||
| 			background $bg
 | ||
| 			statusline $br_white
 | ||
| 			focused_workspace $green $green $bg
 | ||
| 			active_workspace $cyan $blue $black
 | ||
| 			inactive_workspace $black $black $fg
 | ||
| 			urgent_workspace $yellow $yellow $black
 | ||
| 			}
 | ||
| 		# Selenized light from https://github.com/jan-warchol/selenized/blob/master/other-apps/i3/i3-selenized-light.conf
 | ||
| 		#colors {
 | ||
| 		#	 separator $blue
 | ||
| 		#	 background $bg
 | ||
| 		#	 statusline $br_white
 | ||
| 		#	 focused_workspace $green $green $bg
 | ||
| 		#	 active_workspace $cyan $blue $black
 | ||
| 		#	 inactive_workspace $black $black $fg
 | ||
| 		#	 urgent_workspace $yellow $yellow $black
 | ||
| 		#		}
 | ||
| }
 | ||
| 
 | ||
| # Selenized black from https://github.com/jan-warchol/selenized/blob/master/other-apps/i3/i3-selenized-black.conf
 | ||
| # clientclass border backgr. text indicator
 | ||
| client.focused $green $green $black $blue
 | ||
| client.focused_inactive $cyan $cyan $black $violet
 | ||
| client.unfocused $black $black $fg $white
 | ||
| client.urgent $yellow $yellow $black $orange
 | ||
| 
 | ||
| # Selenized light from https://github.com/jan-warchol/selenized/blob/master/other-apps/i3/i3-selenized-light.conf
 | ||
| # clientclass border backgr. text indicator
 | ||
| #client.focused $green $green $black $blue
 | ||
| #client.focused_inactive $cyan $cyan $black $violet
 | ||
| #client.unfocused $black $black $fg $white
 | ||
| #client.urgent $yellow $yellow $black $orange
 | ||
| 
 | ||
| # Screenshotting
 | ||
| bindsym Shift+Print exec gnome-screenshot -i
 | ||
| bindsym Print exec gnome-screenshot -i
 | ||
| 
 | ||
| # lock screen by hand using Mod + Ctrl + L
 | ||
| bindsym Control+$mod+l exec $ScreenLockCmd
 | ||
| 
 | ||
| # suspend and hibernate, inspiration took from the nagbar for exiting i3.
 | ||
| # Passwordless sudo for both commands is specified in
 | ||
| # /etc/sudoers.d/hibernate
 | ||
| bindsym $mod+Escape exec "i3-nagbar -t warning -m 'You pressed the SUSPEND shortcut. Do you really want to SUSPEND?' -B 'Yes, SUSPEND' '$ScreenLockCmd; systemctl -i suspend'"
 | ||
| bindsym $mod+Shift+Escape exec "i3-nagbar -t warning -m 'You pressed the HIBERNATE shortcut. Do you really want to HIBERNATE?' -B 'Yes, HIBERNATE' '$ScreenLockCmd; systemctl -i hibernate'"
 | ||
| 
 | ||
| # Jumping to window with alert (the red colour)
 | ||
| #bindsym $mod+x [urgent=latest] focus
 | ||
| 
 | ||
| # alt-tab
 | ||
| bindsym Mod1+Tab exec --no-startup-id rofi -show window
 | ||
| bindsym $mod+g exec --no-startup-id rofi -show window
 | ||
| 
 | ||
| # Open text editor
 | ||
| bindsym $mod+t exec --no-startup-id $TEXTEDITOR
 | ||
| 
 | ||
| # Telakoi/Tray (dock in Finnish) the focused window
 | ||
| bindsym $mod+Shift+t exec --no-startup-id kdocker -f
 | ||
| 
 | ||
| # For some reason my keyboard has a dedicated button for calculator
 | ||
| bindsym XF86Calculator exec --no-startup-id galculator
 | ||
| 
 | ||
| # Media keys
 | ||
| bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause && notify-send -t 500 "Play-Pause pressed"
 | ||
| # Volume keys NOTE: won't work if nothing is playing (which I consider an improvement
 | ||
| # over randomly stopping working as I enable and disable audio devices).
 | ||
| # Use this for PipeWire too!
 | ||
| set $sink $(pactl list short sinks | grep RUNNING | cut -f1)
 | ||
| bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume $sink -5% # && notify-send -t 500 "$(pulsemixer --get-volume)"
 | ||
| bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume $sink +5% # && notify-send -t 500 "$(pulsemixer --get-volume)"
 | ||
| bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute $sink toggle # mute sound
 | ||
| # Apparently pasystray alerts me of the status changes, so I don't have to
 | ||
| # echo them by myself.
 | ||
| # pulseaudio bindings. pulsemixer is not available for Fedora or pipewire?
 | ||
| #bindsym XF86AudioLowerVolume exec --no-startup-id pulsemixer --change-volume -5 # && notify-send -t 500 "$(pulsemixer --get-volume)"
 | ||
| #bindsym XF86AudioRaiseVolume exec --no-startup-id pulsemixer --change-volume +5 # && notify-send -t 500 "$(pulsemixer --get-volume)"
 | ||
| #bindsym XF86AudioMute exec --no-startup-id pulsemixer --toggle-mute # && notify-send -t 500 "🔇 pressed"
 | ||
| 
 | ||
| # amixer / alsamixer / alsa bindings
 | ||
| #bindsym XF86AudioLowerVolume exec --no-startup-id notify-send -t 500 "$(amixer -M set Master 2dB-)"
 | ||
| #bindsym XF86AudioRaiseVolume exec --no-startup-id notify-send -t 500 "$(amixer -M set Master 2dB+)"
 | ||
| #bindsym XF86AudioMute exec --no-startup-id notify-send -t 500 "$(amixer -M set Master toggle)"
 | ||
| 
 | ||
| bindsym $mod+p exec arandr
 | ||
| bindsym $mod+Shift+p exec arandr
 | ||
| # pulseaudio / pipewire
 | ||
| bindsym $mod+Shift+a exec pavucontrol -t 5
 | ||
| # alsa amixer alsamixer rbtpzn
 | ||
| #bindsym $mod+Shift+a exec --no-startup-id $TERMINAL -e alsamixer
 | ||
| # m for mumble
 | ||
| bindsym $mod+m exec mumble
 | ||
| # shift + m for music/media, which I need more seldom, but keep forgetting
 | ||
| # the good app, while I do remember mpv/Syncplay/VLC whenever I need them.
 | ||
| #bindsym $mod+Shift+m exec audacious
 | ||
| 
 | ||
| # x for XMPP/Dino, it's autostarting as gapplication service so probably
 | ||
| # ready whenever this is started and I didn't know I had a keybind for
 | ||
| # switching to urgent notifications
 | ||
| bindsym $mod+x exec dino
 | ||
| 
 | ||
| # Float these apps by default
 | ||
| # Firefox & Tor Browser have `privacy.resistFingerprinting.letterboxing`
 | ||
| # that hide the default screen size, so they don't have to be floated.
 | ||
| # https://support.torproject.org/tbb/maximized-torbrowser-window/
 | ||
| #for_window [title="^Mozilla Firefox$"] floating enable
 | ||
| #for_window [title="^Tor Browser$"] floating enable
 | ||
| for_window [title="galculator"] floating enable
 | ||
| # insert new rules above this line
 | ||
| for_window [title="tracker - .*"] floating enable
 | ||
| 
 | ||
| # Autostarts
 | ||
| 
 | ||
| # Finnish identity cards https://dvv.fi/en/card-reader-software
 | ||
| # Requires `sudo systemctl enable --now pcscd` (one time operation)
 | ||
| exec --no-startup-id DigiSignApplication
 | ||
| 
 | ||
| # I generally have flatpaks separately near the bottom, but other things are
 | ||
| # going to depend on PulseEffects and it seems to be more reliable from repositories
 | ||
| # at times. PulseEffects has migrated to PipeWire
 | ||
| #exec --no-startup-id flatpak run com.github.wwmm.easyeffects --gapplication-service
 | ||
| #exec --no-startup-id easyeffects --gapplication-service
 | ||
| 
 | ||
| exec --no-startup-id $TERMINAL -e htop
 | ||
| exec --no-startup-id nm-applet
 | ||
| # pulseaudio (and pipewire?)
 | ||
| exec --no-startup-id sleep 60 && pasystray --notify=all
 | ||
| # Wallpaper, solid (AMOLED) black. hsetroot is not on Fedora
 | ||
| exec --no-startup-id hsetroot -solid \#000000
 | ||
| # Selenized black background (not AMOLED)
 | ||
| #exec --no-startup-id hsetroot -solid \#181818
 | ||
| # ~/.wallpaper as wallpaper
 | ||
| exec --no-startup-id feh --bg-scale ~/.wallpaper
 | ||
| exec --no-startup-id xcompmgr -c -n
 | ||
| exec --no-startup-id numlockx on
 | ||
| # see also pam_environment https://wiki.archlinux.org/index.php/Fcitx#Non_desktop_environment
 | ||
| exec --no-startup-id fcitx
 | ||
| #exec --no-startup-id kdocker -m -d 300 $TERMINAL
 | ||
| exec --no-startup-id $TERMINAL -e tmux -c $SHELL
 | ||
| exec --no-startup-id conky
 | ||
| exec --no-startup-id aa-notify -p -s 1 -w 60
 | ||
| exec --no-startup-id caffeine-indicator
 | ||
| # Originally to workaround i3status which I actually fixed, now in hopes of
 | ||
| # being more verbose when battery is about to run off and not have nasty
 | ||
| # surprises...
 | ||
| exec --no-startup-id lxqt-powermanagement
 | ||
| exec --no-startup-id kdeconnect-indicator
 | ||
| # CHANGEME - this may not be here on all systems, Debian testing 64bit
 | ||
| exec --no-startup-id /usr/lib/x86_64-linux-gnu/libexec/kdeconnectd
 | ||
| # Same for Fedora 33
 | ||
| exec --no-startup-id /usr/libexec/kdeconnectd
 | ||
| exec --no-startup-id insync start
 | ||
| exec --no-startup-id nextcloud --background
 | ||
| # Observed performance problems 2021-Q4
 | ||
| #exec --no-startup-id sleep 60 && parcimonie --with-dbus
 | ||
| #exec --no-startup-id sleep 60 && parcimonie.sh --with-dbus
 | ||
| #exec --no-startup-id sleep 70 && parcimonie-applet
 | ||
| #exec --no-startup-id sh -c "/opt/Mullvad\ VPN/mullvad-vpn"
 | ||
| exec --no-startup-id sh -c "/opt/Mullvad\ VPN/mullvad-gui"
 | ||
| exec --no-startup-id kteatime
 | ||
| exec --no-startup-id blueman-applet
 | ||
| 
 | ||
| # CHANGEME - weird autostart options that may not be suitable even for my other devices
 | ||
| 
 | ||
| # Microsoft Edge
 | ||
| #exec --no-startup-id sleep 10 && microsoft-edge --no-startup-window
 | ||
| # Steam, reason: my brother. Note running outside of Mullvad VPN
 | ||
| exec --no-startup-id sleep 10 && exec --no-startup-id env STEAM_FRAME_FORCE_CLOSE=1 mullvad-exclude steam -silent
 | ||
| 
 | ||
| # Communication apps preferred by partners
 | ||
| # Signal
 | ||
| #exec --no-startup-id sleep 15 && flatpak run org.signal.Signal --start-in-tray
 | ||
| # Gajim, XMPP (allowed here for not being Electron
 | ||
| # (regardless of too much Electron already))
 | ||
| #exec --no-startup-id flatpak run org.gajim.Gajim --gapplication-service
 | ||
| exec --no-startup-id dino --gapplication-service
 | ||
| exec --no-startup-id sleep 8 && dino
 | ||
| # Telegram
 | ||
| #exec --no-startup-id sleep 15 && env LANG=en BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/telegram-desktop_telegram-desktop.desktop /var/lib/snapd/snap/bin/telegram-desktop -startintray
 | ||
| #exec --no-startup-id sleep 15 && env LANG=en telegram-desktop -startintray
 | ||
| exec --no-startup-id sleep 15 && flatpak run --env=LANG=en_US.utf8 --branch=beta --command=telegram-desktop --file-forwarding org.telegram.desktop -startintray
 | ||
| # HexChat IRC client in tray
 | ||
| #exec --no-startup-id sleep 20 && io.github.Hexchat --minimize=2
 | ||
| # who actually prefers HexChat?
 | ||
| # Jami, VIP, P2P, won't get sold and disappoint, not Electron, I hope
 | ||
| exec --no-startup-id sleep 25 && jami-qt
 | ||
| # Briar, also P2P and may be more promising than Jami in special circumstances
 | ||
| exec --no-startup-id sleep 25 && flatpak run org.briarproject.Briar
 | ||
| # FluffyChat is a Matrix client with multiple accounts and it's not even Electron!
 | ||
| # (it's Flutter), however it suffers very high CPU usage on desktop (due to Flutter)
 | ||
| #exec --no-startup-id sleep 5 && flatpak run im.fluffychat.Fluffychat
 | ||
| # Moment is another non-Electron Matrix client (however this time Qt)
 | ||
| #exec --no-startup-id sleep 10 && flatpak run xyz.mx_moment.moment --start-in-tray
 | ||
| # Nheko is may be the most Matrix specification compliant Matrix client
 | ||
| exec --no-startup-id sleep 10 && flatpak run --env=all_proxy=socks5://127.0.0.1:9050/ io.github.NhekoReborn.Nheko//master --profile default
 | ||
| 
 | ||
| ## Redshift for better night display
 | ||
| # Centre of Lauttasaari
 | ||
| exec --no-startup-id redshift-gtk -l 60.15937:24.87530
 | ||
| # Centre of Kotka
 | ||
| #exec --no-startup-id redshift-gtk -l 60.46742:26.94508
 | ||
| 
 | ||
| # Sedric - 150 % display scaling (HiDPI), see also `xdpyinfo | grep resolution
 | ||
| #		 where 96 = 100 %
 | ||
| #exec --no-startup-id xrandr --dpi 144
 | ||
| 
 | ||
| # Sedric, external GPU as primary
 | ||
| #exec --no-startup-id xrandr --setprovideroutputsource modesetting NVIDIA-0
 | ||
| #exec --no-startup-id xrandr --auto
 | ||
| 
 | ||
| # Sedric - mirror displays
 | ||
| #exec --no-startup-id xrandr --output HDMI-1-1 --same-as eDP-1-1
 | ||
| 
 | ||
| # Sedric - double monitor via arandr, DON'T USE THIS, SEE THE BELOW SECTION
 | ||
| #exec --no-startup-id xrandr --output VGA-1 --off --output HDMI-1 --primary --mode 1920x1080 --pos 1920x0 --rotate normal --output eDP-1 --mode 1920x1080 --pos 0x0 --rotate normal
 | ||
| # workspaces 1 to 5 on HDMI-1 so 6 and <6 will be on the other display
 | ||
| #workspace 1 output HDMI-1
 | ||
| #workspace 2 output HDMI-1
 | ||
| #workspace 3 output HDMI-1
 | ||
| #workspace 4 output HDMI-1
 | ||
| #workspace 5 output HDMI-1
 | ||
| 
 | ||
| # Sedric - double monitor via arandr FOR PRIMARY GPU ONLY!
 | ||
| #exec --no-startup-id xrandr --output VGA-1 --off --output HDMI-1 --primary --mode 1920x1080 --pos 1920x0 --rotate normal --output eDP-1 --mode 1920x1080 --pos 0x0 --rotate normal
 | ||
| # workspaces 1 to 5 on HDMI-1-1 so 6 and <6 will be on the other display
 | ||
| #workspace 1 output HDMI-1-1
 | ||
| #workspace 2 output HDMI-1-1
 | ||
| #workspace 3 output HDMI-1-1
 | ||
| #workspace 4 output HDMI-1-1
 | ||
| #workspace 5 output HDMI-1-1
 | ||
| 
 | ||
| # Kincarron - double monitor via arandr
 | ||
| #exec --no-startup-id xrandr --output LVDS-1 --primary --mode 1280x800 --pos 1920x280 --rotate normal --output VGA-1 --off --output HDMI-1 --mode 1920x1080i --pos 0x0 --rotate normal --output DP-1 --off --output HDMI-2 --off --output DP-2 --off
 | ||
| # workspaces 1 to 5 on LVDS-1 so 6 and <6 will be on the other display
 | ||
| #workspace 1 output LVDS-1
 | ||
| #workspace 2 output LVDS-1
 | ||
| #workspace 3 output LVDS-1
 | ||
| #workspace 4 output LVDS-1
 | ||
| #workspace 5 output LVDS-1
 | ||
| 
 | ||
| # Kincarron - mic in -> audio out ! pulseaudio
 | ||
| #exec --no-startup-id pactl load-module module-loopback latency_msec=1
 | ||
| 
 | ||
| # Sedric - HDMI-only. Disable via TTY if appropiate.
 | ||
| #exec --no-startup-id xrandr --output VGA-1 --off --output HDMI-1 --mode 1920x1080 --pos 0x0 --rotate normal --output eDP-1 --off
 | ||
| 
 | ||
| # Sedric - EXTERNAL GPU HDMI-only. Disable via TTY if appropiate.
 | ||
| #exec --no-startup-id xrandr --output VGA-1-1 --off --output HDMI-1-1 --mode 1920x1080 --pos 0x0 --rotate normal --output eDP-1-1 --off
 | ||
| 
 | ||
| # Special keyboard options that WILL CONFUSE YOU.
 | ||
| # windows+space should change layout, but doesn't, both ctrls do
 | ||
| # fi allows mostly typing fi/se (identicatal), cz/es.
 | ||
| #	See also: `man xkeyboard-config` (layouts) `setxkbmap -query` (for current options)
 | ||
| exec --no-startup-id setxkbmap -option compose:menu -option terminate:ctrl_alt_bksp -option nbsp:none -option caps:backspace -option shift:both_capslock -option grp:ctrls_toggle -option grp:win_space_toggle -layout fi,us,epo,ru -variant ,altgr-intl,,phonetic_winkeys
 |