master still carried the 2021 tree. Task 6 does a checkout over $HOME, so nine of those files would have overwritten the current configuration rather than updated it - i3, sway, dunst, nvim, vim and tmux, all diverged by years. The plan had no step for this; the design warned about it and then nothing implemented the warning. The nine are now taken from the live machine verbatim, and the 31 files with no counterpart there are dropped. Everything remains on archive/2021-i3-sway. README.md and .scripts/install.sh are kept despite having no live counterpart: the first documents the repository and the second is what ls.shron.de/dotconf serves, so deleting it would break that link. Verified byte-identical to the live files afterwards, which is the point - a checkout on this machine must change nothing. KDE has been in daily use for a while with nothing backing it up. Eighteen rc files and the nine autostart entries are added: window rules and shortcuts, notification behaviour, the lock screen, and the panel layout in plasma-org.kde.plasma.desktop-appletsrc. That last one is rewritten by plasmashell whenever anything moves, so it will produce churn - kept anyway, since a lost panel layout is the most tedious thing here to rebuild by hand. .config/kdeconnect/ is excluded rather than added. It holds the device certificate and its private key, and is pairing state rather than configuration - the only place under .config that carries a secret. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
399 lines
15 KiB
Plaintext
399 lines
15 KiB
Plaintext
# 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 somewhen, delete
|
||
# this file and re-run i3-config-wizard(1).
|
||
#
|
||
|
||
#set my Monitor configuration
|
||
output HDMI-A-1 mode 1920x1080@50.000Hz position 0,0
|
||
output DP-2 mode 2560x1440@59.951Hz position 301,1080 transform 90
|
||
output DP-1 mode 2560x1440@59.951Hz position 1741,1732
|
||
output DP-3 mode 2560x1440@59.951Hz position 4301,1732
|
||
|
||
# Keyboard configuration
|
||
#input * xkb_layout "de,us"
|
||
input * {
|
||
xkb_layout "de,us"
|
||
xkb_options "caps:XF86Launch5"
|
||
}
|
||
|
||
#enable tab-to-click
|
||
input "2:7:SynPS/2_Synaptics_TouchPad" {
|
||
tap enabled
|
||
scroll_method two_finger
|
||
}
|
||
|
||
# set default font
|
||
# font -*-cure-medium-*-*-*-11-*-*-*-*-*-*-
|
||
|
||
# set modifier keys for more clarity and readability in config
|
||
# mod is on most keyboards the "windows" key
|
||
set $mod Mod4
|
||
set $alt Mod1
|
||
|
||
# Font for window titles. Will also be used by the bar unless a different font
|
||
# is used in the bar {} block below. ISO 10646 = Unicode
|
||
|
||
# clear in small sizes. However, if you need a lot of unicode glyphs or
|
||
# right-to-left text rendering, you should instead use pango for rendering and
|
||
# chose a FreeType font, such as:
|
||
# font pango:DejaVu Sans Mono 10
|
||
|
||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||
floating_modifier $mod
|
||
|
||
#set the border of your windows
|
||
bindsym $mod+t border normal
|
||
bindsym $mod+y border 1pixel
|
||
bindsym $mod+u border none
|
||
|
||
# start a terminal
|
||
# with some examples for other font or other terminal emulators
|
||
# bindsym $mod+Return exec urxvt -depth 32 -bg rgba:3f00/3f00/3f00/dddd -ip -fg white -sl 10000 +sb -fn "xft:inconsolata:size=8:antialias=true" -letsp -1 -sh 20
|
||
# bindsym $mod+Return exec urxvt -depth 32 -bg rgba:3f00/3f00/3f00/dddd -ip -fg white -sl 10000 +sb -fn "xft:PragmataPro:size=8:antialias=true" -letsp -1 -sh 20
|
||
# bindsym $mod+Return exec terminology
|
||
# bindsym $mod+Return exec tilda
|
||
# bindsym $mod+Return exec termite
|
||
# bindsym $mod+Return exec alacritty
|
||
# bindsym $mod+Return exec kitty
|
||
bindsym $mod+Return exec foot
|
||
|
||
|
||
# kill focused window
|
||
bindsym $mod+Shift+q kill
|
||
bindsym $alt+F4 kill
|
||
# if this don't work, you can even start xkill
|
||
bindsym $mod+Shift+k exec xkill
|
||
|
||
# enables a feature like on other windowmanagers or windows,
|
||
# to show running "processes" and switch between them
|
||
bindsym $alt+Tab exec rofi -show window
|
||
|
||
# start dmenu (a program launcher)
|
||
# bindsym $mod+d exec dmenu_run
|
||
# instead
|
||
# set $menu dmenu_path | dmenu | xargs swaymsg exec --
|
||
# set $menu j4-dmenu-desktop --dmenu='bemenu -i --nb "#3f3f3f" --nf "#dcdccc" --fn "pango:DejaVu Sans Mono 12"' --term='termite'
|
||
set $menu exec wofi --show drun
|
||
bindsym $mod+d exec $menu
|
||
# 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
|
||
|
||
# Get the focused AppID
|
||
bindsym $mod+Shift+a exec swaymsg -t get_tree | jq -r '..|try select(.focused == true)'
|
||
|
||
# change focus - the vi way
|
||
# I don't use them, cause i need this keys for other purposes
|
||
# e.g. $mod+h for split horizontal
|
||
# bindsym $mod+h focus left
|
||
# bindsym $mod+j focus down
|
||
# bindsym $mod+k focus up
|
||
# bindsym $mod+l 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 - the vi way
|
||
# I don't use them, cause i need this keys for other purposes
|
||
# e.g. $mod+Shift+l for lock my Desktop
|
||
# bindsym $mod+Shift+h move left
|
||
# bindsym $mod+Shift+j move down
|
||
# bindsym $mod+Shift+k move up
|
||
# bindsym $mod+Shift+l 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+z fullscreen
|
||
|
||
# change container layout (stacked, tabbed, toggle split)
|
||
bindsym $mod+s layout stacking
|
||
bindsym $mod+w layout tabbed
|
||
bindsym $mod+e layout toggle split
|
||
|
||
# toggle tiling / floating
|
||
bindsym $mod+Shift+space floating toggle
|
||
|
||
# change focus between tiling / floating windows
|
||
bindsym $mod+space focus mode_toggle
|
||
|
||
# focus the parent container
|
||
bindsym $mod+a focus parent
|
||
|
||
# focus the child container
|
||
# bindsym $mod+d focus child
|
||
|
||
# switch to workspace
|
||
bindsym $mod+1 workspace 1: 1: Text
|
||
bindsym $mod+2 workspace 2: 2: Web
|
||
bindsym $mod+3 workspace 3: 3: Office
|
||
bindsym $mod+4 workspace 4: 4: KeePass
|
||
bindsym $mod+5 workspace 5: 5: Mail
|
||
bindsym $mod+6 workspace 6: 6: Chat
|
||
bindsym $mod+7 workspace 7
|
||
bindsym $mod+8 workspace 8
|
||
bindsym $mod+9 workspace 9
|
||
bindsym $mod+0 workspace 10
|
||
|
||
# move focused container to workspace
|
||
bindsym $mod+Shift+1 move container to workspace 1: 1: Text
|
||
bindsym $mod+Shift+2 move container to workspace 2: 2: Web
|
||
bindsym $mod+Shift+3 move container to workspace 3: 3: Office
|
||
bindsym $mod+Shift+4 move container to workspace 4: 4: KeePass
|
||
bindsym $mod+Shift+5 move container to workspace 5: 5: Mail
|
||
bindsym $mod+Shift+6 move container to workspace 6: 6: Chat
|
||
bindsym $mod+Shift+7 move container to workspace 7
|
||
bindsym $mod+Shift+8 move container to workspace 8
|
||
bindsym $mod+Shift+9 move container to workspace 9
|
||
bindsym $mod+Shift+0 move container to workspace 10
|
||
|
||
# reload the configuration file
|
||
bindsym $mod+Shift+r 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.' -b 'Yes, exit i3' 'i3-msg exit'"
|
||
bindsym $mod+Shift+e exec swaynagmode -t warning -m "Exit sway? This will end your Wayland session." -b "Exit sway" "swaymsg exit" -b "Reload" "swaymsg reload"
|
||
|
||
# put task in background
|
||
exec --no-startup-id swayidle -w \
|
||
timeout 300 'light -G > /tmp/brightness && light -S 10' \
|
||
resume 'light -S $(cat /tmp/brightness)' \
|
||
timeout 600 'swaylock -f -c 000000' \
|
||
resume 'light -S $(cat /tmp/brightness)' \
|
||
timeout 900 'swaymsg "output * dpms off"' \
|
||
resume 'swaymsg "output * dpms on" && light -S $(cat /tmp/brightness)' \
|
||
before-sleep 'swaylock -f -c 000000'
|
||
#disable when firefox video is in fullscreen
|
||
for_window [class="firefox"] inhibit_idle fullscreen
|
||
for_window [app_id="firefox"] inhibit_idle fullscreen
|
||
|
||
bindsym $mod+Shift+l exec swaylock -f -c 000000
|
||
|
||
# add the ability to reboot shutdown etc.
|
||
#.........
|
||
bindsym $mod+Shift+Delete exec swaynagmode -t default -m "Sysmenu" -b "Exit" "swaymsg exit" -b "Reload" "swaymsg reload" -b "Halt" "exec sudo shutdown -P now" -b "Reboot" "exec sudo shutdown -r now"
|
||
#.........
|
||
|
||
# for Presentation and monitor output selection
|
||
#.........
|
||
bindsym $mod+Shift+x exec swaynagmode -t default -m "Displaymenu" -b "Laptop only" 'swaymsg "output"' -b "DP mirror" 'swaymsg "output"' -b "DP extend" 'swaymsg "output"' -b "VGA mirror" 'swaymsg "output"' -b "VGA extend" 'swaymsg "output"'
|
||
#.........
|
||
|
||
bindsym $mod+Prior move workspace to output left
|
||
bindsym $mod+Next move workspace to output right
|
||
|
||
# resize window (you can also use the mouse for that)
|
||
#.........
|
||
bindsym $mod+r mode "resize"
|
||
|
||
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
|
||
bindsym Return mode "default"
|
||
bindsym Escape mode "default"
|
||
}
|
||
#........
|
||
|
||
# Start i3bar to display a workspace bar (plus the system information i3status
|
||
# finds out, if available)
|
||
bar {
|
||
swaybar_command waybar
|
||
}
|
||
|
||
#
|
||
# 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
|
||
|
||
|
||
# snipping/screenshot Tool
|
||
#bindsym --release Print exec scrot -s -e 'mv $f ~/Bilder/Screenshots/screenshot_%Y-%m-%d_%H%M%S.png'
|
||
#bindsym --release Print exec maim -s ~/Bilder/Screenshots/screenshot_$(date +%s).png
|
||
bindsym --release Print exec grim -g "$(slurp)" ~/library/Bilder/Screenshots/screenshot_$(date +%s).png
|
||
|
||
|
||
## Media keys
|
||
#bindsym XF86AudioRaiseVolume exec pactl set-sink-volume alsa_output.usb-nubert_nubert_xCore_USB_Audio-00.analog-stereo +5%
|
||
#bindsym XF86AudioLowerVolume exec pactl set-sink-volume alsa_output.usb-nubert_nubert_xCore_USB_Audio-00.analog-stereo -5%
|
||
bindsym XF86AudioRaiseVolume exec pamixer -i 5
|
||
bindsym XF86AudioLowerVolume exec pamixer -d 5
|
||
bindsym XF86AudioMute exec pamixer -t
|
||
|
||
## Adjust Brightness
|
||
# bindsym XF86MonBrightnessDown exec light -U 10
|
||
# bindsym XF86MonBrightnessUp exec light -A 10
|
||
|
||
# Enable GLX Graphics
|
||
# used especially for Laptop and enable/disable discrete graphics
|
||
# bindsym $mod+g exec /home/templis/dri.sh
|
||
|
||
# control swaynag with keyboard
|
||
# needs to be swaynadmode installed
|
||
swaynag_command swaynagmode
|
||
set $nag exec swaynagmode
|
||
mode "nag" {
|
||
bindsym {
|
||
Ctrl+d mode "default"
|
||
|
||
Ctrl+c $nag --exit
|
||
q $nag --exit
|
||
Escape $nag --exit
|
||
|
||
Return $nag --confirm
|
||
|
||
Tab $nag --select prev
|
||
Shift+Tab $nag --select next
|
||
|
||
Left $nag --select next
|
||
Right $nag --select prev
|
||
|
||
Up $nag --select next
|
||
Down $nag --select prev
|
||
}
|
||
}
|
||
|
||
# Set floating Windows for special applications
|
||
workspace_layout tabbed
|
||
for_window [window_role="pop-up"] floating enable,move absolute center
|
||
for_window [class="Pinentry"] floating enable
|
||
for_window [class="Eog"] floating enable
|
||
for_window [class="Geary"] floating enable
|
||
for_window [class="Gcr-prompter"] floating enable
|
||
for_window [class="Tipswindow.py"] floating enable
|
||
for_window [class="XVroot"] floating enable
|
||
for_window [class="XVcontrols"] floating enable
|
||
for_window [class="Vlc"] floating enable
|
||
for_window [class="Synergy"] floating enable
|
||
for_window [class="libreoffice-writer"] floating enable
|
||
for_window [class="Shotwell"] floating enable
|
||
for_window [class="UpLauncher"] floating enable
|
||
for_window [title="^Minecraft .*"] floating enable
|
||
for_window [title="Steam - Update News"] kill
|
||
for_window [title="Preferences$"] floating enable
|
||
for_window [class="^Pidgin$" window_role="^conversation$"] resize grow width 0 px or 30 ppt
|
||
#for_window [title="^AnyDesk.*"] floating enable
|
||
for_window [class="anydesk"] floating enable
|
||
for_window [app_id="galculator"] floating enable
|
||
for_window [window_type="dialog"] floating enable
|
||
for_window [window_role="dialog"] floating enable
|
||
|
||
|
||
# Assign special applications to defined workspaces
|
||
assign [class="Chromium"] 2: 2: Web
|
||
assign [class="chrome"] 2: 2: Web
|
||
assign [class="Firefox"] 2: 2: Web
|
||
assign [class="firefox"] 2: 2: Web
|
||
assign [class="libreoffice"] 3: 3: Office
|
||
assign [class="Gimp"] 3: 3: Office
|
||
assign [class="^Minecraft Launcher .*"] 3: 3: Office
|
||
assign [class="Linphone"] 3: 3: Office
|
||
assign [class="keepassxc"] 4: 4: KeePass
|
||
assign [class="KeePassXC"] 4: 4: KeePass
|
||
assign [class="(?i)thunderbird"] 5: 5: Mail
|
||
assign [class="Signal"] 6: 6: Chat
|
||
# include modules etc.
|
||
include ~/.config/sway/conf.d/*
|
||
|
||
# Start some needet applications
|
||
# Please take care to install/configure it, if you intend to include it!
|
||
|
||
#fix graphical gltiches
|
||
exec xrdb -load ~/.Xresources
|
||
exec xrdb -merge ~/.Xresources
|
||
|
||
# start Sound Daemon
|
||
# exec pulseaudio --kill
|
||
# exec sleep 3 pulseaudio --start
|
||
# exec /usr/bin/pasystray
|
||
|
||
# BROWSERS!!!11!elf!
|
||
exec firefox
|
||
#exec chromium
|
||
#exec google-chrome-stable
|
||
|
||
# networkmanager gui
|
||
exec nm-applet --indicator
|
||
|
||
# eye saver
|
||
# Redshift adjusts the color temperature of your screen according to your surroundings. This may help your eyes hurt less if you are working in front of the screen at night.
|
||
exec redshift-gtk -l 48.52160730:9.05050278
|
||
|
||
# nextcloud
|
||
exec nextcloud
|
||
|
||
# start one terminal on workspace 1 for failure management etc.
|
||
# exec --no-startup-id i3-msg 'workspace 1: 1: Text; exec urxvt -depth 32 -bg rgba:3f00/3f00/3f00/dddd -ip -fg white -sl 10000 +sb -fn "xft:inconsolata:size=8" -letsp -1 -sh 20'
|
||
# exec --no-startup-id i3-msg 'workspace 1: 1: Text; exec termite'
|
||
|
||
# trayicon to listen to some radio stations
|
||
exec radiotray-ng
|
||
|
||
# start i3 with a random wallpaper
|
||
# exec feh --randomize --bg-fill ~/Bilder/Wallpaper/*
|
||
# exec feh --randomize --bg-fill ~/library/Bilder/Wallpaper/*
|
||
# output "*" bg ~/library/Bilder/Wallpaper/Desktopography_2016_Kevin_May_2560x1440px-1-32g2c1w5jiz6gj086a9tkw.jpg fill
|
||
|
||
# autodetect and automount USB Sticks and external media
|
||
exec udisksvm >/dev/null &
|
||
|
||
# needet for my Razer Chomatic Keyboard
|
||
# exec razercommander -q
|
||
# exec_always –no-startup-id flashfocus
|
||
|
||
# Start Signal
|
||
exec signal-desktop
|
||
|
||
# Start keepassxc
|
||
exec keepassxc
|
||
exec ~/.scripts/start_keyring.sh
|
||
|
||
# Notification Daemon
|
||
exec dunst
|
||
# Notification-History Picker (Inhalt kopieren)
|
||
bindsym $mod+n exec ~/.config/dunst/notification-picker.sh
|
||
|
||
#start polybar
|
||
# exec_always --no-startup-id ~/polybar.sh
|