diff --git a/.config/alacritty/alacritty.toml b/.config/alacritty/alacritty.toml
index d38e411..1d93058 100644
--- a/.config/alacritty/alacritty.toml
+++ b/.config/alacritty/alacritty.toml
@@ -55,7 +55,7 @@ decorations = "none"
dynamic_padding = false
# opacity = 0.50
blur = true
-opacity = 1
+opacity = 0.95
[window.padding]
x = 0
diff --git a/.config/darkman/config.yaml b/.config/darkman/config.yaml
new file mode 100644
index 0000000..789bca7
--- /dev/null
+++ b/.config/darkman/config.yaml
@@ -0,0 +1,3 @@
+lat: 52.5
+lng: 13.5
+portal: true
diff --git a/.config/fish/config.fish b/.config/fish/config.fish
index 9adcc00..aaab983 100755
--- a/.config/fish/config.fish
+++ b/.config/fish/config.fish
@@ -3,13 +3,16 @@
# Load all saved ssh keys
#/usr/bin/ssh-add >> &/dev/null&
-eval (ssh-agent -c)
+if status is-interactive
+ eval (ssh-agent -c)
+end
function last_history_item
echo $history[1]
end
# add abbreviations
+abbr -a -- uin "sudo pacman -Ruscn"
abbr -a -- gcp git cherry-pick
abbr -a -- gs git status
abbr -a -- lgb git lgb
@@ -29,6 +32,8 @@ abbr -a -- v nvim
abbr -a "packagelist-update" "pacman -Qe | sed 's/ .*//g' | tee ~/Sync/explicitly_installed"
abbr -a "nvim-headless-update" 'nvim --headless "+Lazy! sync" +qa'
abbr -a "nvim-headless-clean" 'nvim --headless "+Lazy! clean" +qa'
+abbr -a -- turn_on_sec_mon "sed -ir '53s/\t\"off\"/\t\\/\\/\"off\"/' ~/.config/niri/monitors.kdl"
+abbr -a -- turn_off_sec_mon "sed -ir '53s/\\/\\/\"off\"/\"off\"/' ~/.config/niri/monitors.kdl"
alias ll "eza -lh"
alias la "eza -lha"
alias ls "eza"
@@ -62,7 +67,7 @@ set -g fish_color_valid_path --underline
starship init fish | source
zoxide init --cmd cd fish | source
-# atuin init fish | source
+atuin init fish --disable-up-arrow | source
# pnpm
set -gx PNPM_HOME "/home/felix/.local/share/pnpm"
diff --git a/.config/fish/functions/setscreenb.fish b/.config/fish/functions/setscreenb.fish
index 8a573c1..546cbe5 100644
--- a/.config/fish/functions/setscreenb.fish
+++ b/.config/fish/functions/setscreenb.fish
@@ -1,6 +1,6 @@
-function setscreenb --argument x
+function setscreenb --argument-names x
- for i in (seq 1 2)
+ for i in (ddcutil detect | rg Display | sed -r "s/^Display (\d*)/$1/")
ddcutil setvcp 10 $x -d $i
end
end
diff --git a/.config/foot/foot.ini b/.config/foot/foot.ini
new file mode 100644
index 0000000..c071822
--- /dev/null
+++ b/.config/foot/foot.ini
@@ -0,0 +1,29 @@
+[main]
+#font=HurmitNerdFont:size=11:weight=regular
+font=HurmitNerdFont:pixelsize=17:weight=regular
+line-height=18
+#vertical-letter-offset=2px
+#dpi-aware=true
+
+[tweak]
+render-timer=none
+
+[colors-dark]
+background = 2d353b
+foreground = d3c6aa
+
+regular0 = 475258
+regular1 = e67e80
+regular2 = a7c080
+regular3 = dbbc7f
+regular4 = 7fbbb3
+regular5 = d699b6
+regular6 = 83c092
+regular7 = d3c6aa
+
+alpha = 0.95
+
+[csd]
+preferred = none
+
+
diff --git a/.config/hypr/hyprlock.conf b/.config/hypr/hyprlock.conf
deleted file mode 100644
index 20308b4..0000000
--- a/.config/hypr/hyprlock.conf
+++ /dev/null
@@ -1,63 +0,0 @@
-disable_loading_bar = false
-
-general {
- hide_cursor = true
- grace = 20
- text_trim = false
-}
-
-background {
- monitor = # empty for all monitors
- #path = /home/felix/Pictures/backgrounds/arch_linux_bg.png
- path = screenshot
- # color = rgba(20,20,20,80)
-
- blur_passes = 4
- blur_size = 1
- noise = 0.0717
- contrast = 0.8916
- brightness = 0.4672
- vibrancy = 0.1696
- vibrancy_darkness = 1.0
-}
-
-input-field {
- monitor =
- size = 600, 50
- outline_thickness = 1
- dots_size = 0.25 # Scale of input-field height, 0.2 - 0.8
- dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
- dots_center = true
- dots_rounding = -1 # -1 default circle, -2 follow input-field rounding
- outer_color = rgba(15, 15, 15, 180)
- inner_color = rgba(30, 30, 30, 180)
- font_color = rgb(200, 200, 200)
- fade_on_empty = true
- fade_timeout = 500 # Milliseconds before fade_on_empty is triggered.
- placeholder_text = Input Password... # Text rendered in the input box when it's empty.
- hide_input = false
- rounding = -1 # -1 means complete rounding (circle/oval)
- check_color = rgba(204, 136, 34, 80)
- fail_color = rgba(204, 34, 34, 80) # if authentication failed, changes outer_color and fail message color
- fail_text = $FAIL ($ATTEMPTS) # can be set to empty
- fail_transition = 300 # transition time in ms between normal outer_color and fail_color
- capslock_color = -1
- numlock_color = -1
- bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above)
- invert_numlock = false # change color if numlock is off
-
- position = 0, -250
- halign = center
- valign = center
-}
- label {
- monitor =
- text = $TIME
- color = hsla(50, 60%, 50%, 0.8)
- font_size = 35
- font_family = Z003
-
- position = 0, 250
- halign = center
- valign = center
-}
diff --git a/.config/hypr/tofi_scripts/brightnessmenu.fish b/.config/hypr/tofi_scripts/brightnessmenu.fish
deleted file mode 100755
index 8ba0e3a..0000000
--- a/.config/hypr/tofi_scripts/brightnessmenu.fish
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/fish
-set b $(seq 0 100 | tofi --config ~/.config/tofi/brightness_config)
-
-for i in (seq 1 2)
- ddcutil setvcp 10 $b -d $i
-end
diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf
index afe0ac3..344386c 100644
--- a/.config/kitty/kitty.conf
+++ b/.config/kitty/kitty.conf
@@ -4,78 +4,86 @@ include current-theme.conf
# END_KITTY_THEME
# BEGIN_COLOR_SCHEME
-# background #1e1e1e
+# background #1e1e1e
# ↓↓same as nvim Everforest↓↓
-background #2E383C
-# background #2D353B
+background #2E383C
+# background #2D353B
# ↑↑----------↑↑
-background_opacity 0.60
-# background_opacity 1
-background_blur 1
-background_tint 0.0
-transparent_background_colors #22262D #2D313B #303030 #000 #2D353B #343F44 #3D484D #2E383C
+# background_opacity 0.60
+background_opacity 0.95
+# background_opacity 1
+background_blur 1
+background_tint 0.0
+transparent_background_colors #22262D #2D313B #303030 #000 #2D353B #343F44 #3D484D #2E383C
# neovim backgrounds with Everforest theme: #2D353B #343F44
# END_COLOR_SCHEME
# BEGIN_KITTY_FONTS
-font_family family="Hurmit Nerd Font"
-bold_font auto
-italic_font family='Hurmit Nerd Font' style='Light Italic'
-bold_italic_font auto
-font_size 13.0
-modify_font cell_height -3px
+font_family family="Hurmit Nerd Font"
+# font_family family="ZedMono Nerd Font"
+bold_font auto
+italic_font family='Hurmit Nerd Font' style='Light Italic'
+bold_italic_font auto
+font_size 13.0
+modify_font cell_height -3px
+text_composition_stategy platform
+text_fg_override_threshold 0
# END_KITTY_FONTS
+#
+cursor_shape block
+cursor_blink_interval 0
+shell_integration no-cursor
# BEGIN_SCROLLBACK
-touch_scroll_multiplier 5.0
+touch_scroll_multiplier 5.0
# END_SCROLLBACK
# BEGIN_WINDOW_LAYOUT
-hide_window_decorations yes
-window_margin_width 0
-window_padding_width 0
-single_window_padding_width -1
-placement_strategy top
+hide_window_decorations yes
+window_margin_width 0
+window_padding_width 0
+single_window_padding_width -1
+placement_strategy top
# END_WINDOW_LAYOUT
# BEGIN_TAB_BAR
-tab_bar_style powerline
-tab_powerline_style slanted
-tab_title_template "{index} {title}"
-tab_title_max_length 20
-# active_tab_background #1e1e1e
-# active_tab_foreground #b4cdbe
-active_tab_font_style Italic
-# inactive_tab_background #1e1e1e
-# inactive_tab_foreground #48736e
-#inactive_tab_font_style Light
+tab_bar_style powerline
+tab_powerline_style slanted
+tab_title_template "{index} {title}"
+tab_title_max_length 20
+# active_tab_background #1e1e1e
+# active_tab_foreground #b4cdbe
+active_tab_font_style Italic
+# inactive_tab_background #1e1e1e
+# inactive_tab_foreground #48736e
+#inactive_tab_font_style Light
# END_TAB_BAR
# BEGIN_PERFORMANCE_TUNING
-repaint_delay 4
+repaint_delay 4
# END_PERFORMANCE_TUNING
# BEGIN_KEYBOARD_SHORTCUTS
## BEGIN_WINDOW_MANAGEMENT
-map ctrl+shift+enter new_window
-map ctrl+alt+enter launch --cwd=current
-map ctrl+alt+1 goto_tab 1
-map ctrl+alt+2 goto_tab 2
-map ctrl+alt+3 goto_tab 3
-map ctrl+alt+4 goto_tab 4
-map ctrl+alt+5 goto_tab 5
-map ctrl+alt+6 goto_tab 6
-map ctrl+alt+7 goto_tab 7
-map ctrl+alt+8 goto_tab 8
-map ctrl+alt+9 goto_tab 9
+map ctrl+shift+enter new_window
+map ctrl+alt+enter launch --cwd=current
+map ctrl+alt+1 goto_tab 1
+map ctrl+alt+2 goto_tab 2
+map ctrl+alt+3 goto_tab 3
+map ctrl+alt+4 goto_tab 4
+map ctrl+alt+5 goto_tab 5
+map ctrl+alt+6 goto_tab 6
+map ctrl+alt+7 goto_tab 7
+map ctrl+alt+8 goto_tab 8
+map ctrl+alt+9 goto_tab 9
## BEGIN_LAYOUT_MANAGEMENT
-map ctrl+alt+t goto_layout tall
-map ctrl+alt+s goto_layout wide
-map ctrl+alt+p last_used_layout
-map alt+z toggle_layout stack
+map ctrl+alt+t goto_layout tall
+map ctrl+alt+s goto_layout wide
+map ctrl+alt+p last_used_layout
+map alt+z toggle_layout stack
# END_KEYBOARD_SHORTCUTS
# BEGIN_LAYOUT_DEFINITION
-enabled_layouts splits:split_axis=auto, grid, stack, fat:bias=50;full_size=1;mirrored=false, tall:bias=50;full_size=1;mirrored=false
+enabled_layouts splits:split_axis=auto, grid, stack, fat:bias=50;full_size=1;mirrored=false, tall:bias=50;full_size=1;mirrored=false
# END_LAYOUT_DEFINITION
diff --git a/.config/kitty/kitty.conf.bak b/.config/kitty/kitty.conf.bak
deleted file mode 100644
index c7b3964..0000000
--- a/.config/kitty/kitty.conf.bak
+++ /dev/null
@@ -1,75 +0,0 @@
-# BEGIN_KITTY_THEME
-# Everforest Dark Hard
-include current-theme.conf
-# END_KITTY_THEME
-
-# BEGIN_COLOR_SCHEME
-# background #1e1e1e
-# ↓↓same as nvim Everforest↓↓
-background #2D353B
-# ↑↑----------↑↑
-background_opacity 0.25
-background_blur 0
-background_tint 0.0
-transparent_background_colors #22262D #2D313B #303030 #000 #2D353B #343F44
-# neovim backgrounds with Everforest theme: #2D353B #343F44
-# END_COLOR_SCHEME
-
-# BEGIN_KITTY_FONTS
-font_family family="Monofur Nerd Font"
-bold_font auto
-italic_font auto
-bold_italic_font auto
-# END_KITTY_FONTS
-
-# BEGIN_SCROLLBACK
-touch_scroll_multiplier 5.0
-# END_SCROLLBACK
-
-# BEGIN_WINDOW_LAYOUT
-hide_window_decorations yes
-#window_padding_width 0
-placement_strategy bottom
-# END_WINDOW_LAYOUT
-
-# BEGIN_TAB_BAR
-tab_bar_style powerline
-tab_powerline_style slanted
-tab_title_template "{index} {title}"
-tab_title_max_length 20
-# active_tab_background #1e1e1e
-# active_tab_foreground #b4cdbe
-# active_tab_font_style Light
-# inactive_tab_background #1e1e1e
-# inactive_tab_foreground #48736e
-inactive_tab_font_style Light
-# END_TAB_BAR
-
-# BEGIN_PERFORMANCE_TUNING
-repaint_delay 8
-# END_PERFORMANCE_TUNING
-
-# BEGIN_KEYBOARD_SHORTCUTS
-## BEGIN_WINDOW_MANAGEMENT
-map ctrl+shift+enter new_window
-map ctrl+alt+enter launch --cwd=current
-map ctrl+alt+1 goto_tab 1
-map ctrl+alt+2 goto_tab 2
-map ctrl+alt+3 goto_tab 3
-map ctrl+alt+4 goto_tab 4
-map ctrl+alt+5 goto_tab 5
-map ctrl+alt+6 goto_tab 6
-map ctrl+alt+7 goto_tab 7
-map ctrl+alt+8 goto_tab 8
-map ctrl+alt+9 goto_tab 9
-
-## BEGIN_LAYOUT_MANAGEMENT
-map ctrl+alt+t goto_layout tall
-map ctrl+alt+s goto_layout wide
-map ctrl+alt+p last_used_layout
-map alt+z toggle_layout stack
-# END_KEYBOARD_SHORTCUTS
-
-# BEGIN_LAYOUT_DEFINITION
-enabled_layouts splits:split_axis=auto, grid, stack, fat:bias=50;full_size=1;mirrored=false, tall:bias=50;full_size=1;mirrored=false
-# END_LAYOUT_DEFINITION
diff --git a/.config/niri/binds.kdl b/.config/niri/binds.kdl
index 7670600..e054718 100644
--- a/.config/niri/binds.kdl
+++ b/.config/niri/binds.kdl
@@ -15,17 +15,24 @@ binds {
Mod+O { toggle-overview; }
// Suggested binds for running programs: terminal, app launcher, screen locker.
- Mod+T { spawn "alacritty"; }
- Mod+V { spawn-sh "~/.config/hypr/tofi_scripts/cliphist.sh"; }
+ // Mod+T { spawn "alacritty"; }
+ Mod+T { spawn "foot"; }
+ Mod+V { spawn-sh "~/.local/share/scripts/tofi/cliphist.sh"; }
Mod+Shift+V { spawn-sh "cliphist wipe"; }
- Mod+Shift+F12 { spawn "~/.config/hypr/tofi_scripts/powermenu.sh"; }
+ Mod+Shift+F12 { spawn "~/.local/share/scripts/tofi/powermenu.sh"; }
// Mod+D { spawn "fuzzel"; }
Alt+Space { spawn "tofi-drun" "--drun-launch=true"; }
- Mod+Alt+B { spawn "~/.config/hypr/tofi_scripts/brightnessmenu.sh"; }
+ Mod+Alt+B { spawn "~/.local/share/scripts/tofi/brightnessmenu.sh"; }
// Super+Alt+L { spawn "swaylock"; }
+ Mod+F11 { fullscreen-window; }
Mod+Shift+F11 { toggle-windowed-fullscreen; }
Mod+F12 { spawn-sh "swaylock --grace 10 --ignore-empty-password --indicator --clock --timestr %H:%M --datestr '' --screenshot --effect-blur 5x3 --font hurmit-nf --inside-color 00000000 --line-color 00000000 --ring-color 00ff99 --key-hl-color 066dff"; }
Mod+E { spawn "dolphin"; }
+ Alt+P { spawn "hyprpicker"; }
+
+ Mod+F8 { set-dynamic-cast-window; }
+ Mod+Alt+F8 { set-dynamic-cast-monitor; }
+ Mod+Shift+F8 { clear-dynamic-cast-target; }
// You can also use a shell. Do this if you need pipes, multiple commands, etc.
// Note: the entire command goes as a single argument in the end.
@@ -144,6 +151,10 @@ binds {
// Mod+Shift+WheelScrollUp { focus-column-left; }
// Mod+Ctrl+Shift+WheelScrollDown { move-column-right; }
// Mod+Ctrl+Shift+WheelScrollUp { move-column-left; }
+ Mod+Ctrl+Shift+h { move-workspace-to-monitor-left; }
+ Mod+Ctrl+Shift+j { move-workspace-to-monitor-down; }
+ Mod+Ctrl+Shift+k { move-workspace-to-monitor-up; }
+ Mod+Ctrl+Shift+l { move-workspace-to-monitor-right;}
// Similarly, you can bind touchpad scroll "ticks".
// Touchpad scrolling is continuous, so for these binds it is split into
@@ -231,6 +242,7 @@ binds {
// Move the focused window between the floating and the tiling layout.
Alt+Mod+F { toggle-window-floating; }
+ Mod+Alt+Shift+F { switch-focus-between-floating-and-tiling; }
// Mod+Shift+V { switch-focus-between-floating-and-tiling; }
// Toggle tabbed column display mode.
diff --git a/.config/niri/config.kdl b/.config/niri/config.kdl
index e431d95..cf452b3 100644
--- a/.config/niri/config.kdl
+++ b/.config/niri/config.kdl
@@ -1,7 +1,7 @@
-spawn-at-startup "waybar"
-// spawn-sh-at-startup "swaybg -m fit -i ~/Pictures/backgrounds/hibiscus-flowers-5k-5120x2880-16240.jpg"
-spawn-sh-at-startup "swaybg -m fit -i ~/Pictures/backgrounds/NASA/earth-1.jpg"
-spawn-sh-at-startup "swaydidle -w -C ~/.config/swayidle.conf"
+// spawn-at-startup "waybar" // spawned via systemd
+//// spawn-sh-at-startup "swaybg -m fit -i ~/Pictures/backgrounds/hibiscus-flowers-5k-5120x2880-16240.jpg"
+// spawn-sh-at-startup "swaybg -m fit -i ~/Pictures/backgrounds/NASA/earth-1.jpg" // spawned via systemd
+// spawn-sh-at-startup "swaydidle -w -C ~/.config/swayidle.conf" // spawned via systemd
spawn-sh-at-startup "amixer set 'Mic Boost (+20dB)' on"
spawn-sh-at-startup "scx_lavd"
spawn-at-startup "dunst"
@@ -13,6 +13,7 @@ spawn-sh-at-startup "wl-paste --watch cliphist store"
spawn-at-startup "nm-applet"
spawn-at-startup "nextcloud" "--background"
spawn-at-startup "syncthing"
+spawn-at-startup "telegram"
workspace "1"
workspace "2"
@@ -20,6 +21,7 @@ workspace "3"
workspace "Comms"
workspace "Music"
workspace "Gaming"
+workspace "rdp"
include "monitors.kdl"
include "binds.kdl"
@@ -42,9 +44,10 @@ input {
keyboard {
xkb {
layout "gb"
+ // layout "de"
// options "grp:win_space_toggle,compose:ralt,ctrl:nocaps"
model "pc105"
- options "caps:escape"
+ options "caps:ctrl_shifted_capslock,compose:lctrl-altgr"
}
repeat-rate 45
repeat-delay 300
@@ -57,6 +60,7 @@ input {
// dwtp
// drag-lock
natural-scroll
+ // speed 1.1
accel-speed 0.05
accel-profile "adaptive"
// scroll-method "two-finger"
@@ -67,7 +71,7 @@ input {
mouse {
// off
// natural-scroll
- accel-speed -0.2
+ accel-speed -0.42
accel-profile "flat"
// scroll-method "no-scroll"
}
@@ -97,6 +101,13 @@ blur {
saturation 1.5
}
+cursor {
+ xcursor-theme "breeze_cursors"
+ // xcursor-size 48
+ xcursor-size 24
+
+}
+
// Settings that influence how windows are positioned and sized.
// Find more information on the wiki:
// https://github.com/YaLTeR/niri/wiki/Configuration:-Layout
diff --git a/.config/niri/monitors.kdl b/.config/niri/monitors.kdl
index c6cc60f..a821b57 100644
--- a/.config/niri/monitors.kdl
+++ b/.config/niri/monitors.kdl
@@ -1,3 +1,5 @@
+include "monitors/workspaces_dgav_usbc.kdl"
+include "monitors/old_workspace.kdl"
// You can configure outputs by their name, which you can find
// by running `niri msg outputs` while inside a niri instance.
@@ -9,17 +11,9 @@ output "eDP-1" {
// Uncomment this line to disable this output.
// off
- // Resolution and, optionally, refresh rate of the output.
- // The format is "x" or "x@".
- // If the refresh rate is omitted, niri will pick the highest refresh rate
- // for the resolution.
- // If the mode is omitted altogether or is invalid, niri will pick one automatically.
- // Run `niri msg outputs` while inside a niri instance to list all outputs and their modes.
mode "1920x1080"
-
// You can use integer or fractional scale, for example use 1.5 for 150% scale.
scale 1
-
// Transform allows to rotate the output counter-clockwise, valid values are:
// normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
transform "normal"
@@ -33,8 +27,9 @@ output "Philips Consumer Electronics Company PHL 272B8Q UK01945026659" {
}
output "Advanced Micro Peripherals Ltd ES07D03 EVE213400622" {
mode "3840x2160"
- scale 1.333333
+ scale 1.333
// scale 1
+ // transform "270"
variable-refresh-rate
focus-at-startup
layout {
@@ -54,36 +49,19 @@ output "Advanced Micro Peripherals Ltd ES07D03 EVE213400622" {
// }
}
}
-// // half display - actually it stretches
-// // output "Iiyama North America PLG2888UH 0x01010101" {
-// // mode "1920x2160"
-// // position x=-3840 y=0
-// // scale 1.3333
-// // }
-
+// desktop pc connection
output "Iiyama North America PLG2888UH 0x01010101" {
- "off"
+ //"off"
mode "3840x2160"
position x=-3840 y=0
- scale 1.3333
+ scale 1.333
variable-refresh-rate
}
+// laptop connection
output "Iiyama North America PLG2888UH 1141664500247" {
scale 1.5
position x=0 y=-360
}
-// work monitor left
-output "Iiyama North America PL2492H 11511811A1794" {
- mode "1920x1080"
- scale 1
- position x=-1920 y=0
-}
-// work monitor right
-output "Iiyama North America PL2492H 1151164104155" {
- mode "1920x1080"
- scale 1
- position x=0 y=0
-}
output "HDMI-A-2" {
mode "1920x1200"
scale 1
@@ -94,3 +72,11 @@ output "DP-1" {
scale 1
position x=0 y=-360
}
+output "DP-3" {
+ position x=-2560 y=720
+}
+// meeting room screen
+output "Samsung Electric Company SyncMaster H1AK500000" {
+ mode "3840x2160"
+ scale 1.5
+}
diff --git a/.config/niri/monitors.kdlr b/.config/niri/monitors.kdlr
new file mode 100644
index 0000000..18222cd
--- /dev/null
+++ b/.config/niri/monitors.kdlr
@@ -0,0 +1,82 @@
+include "monitors/workspaces_dgav_usbc.kdl"
+include "monitors/old_workspace.kdl"
+
+// You can configure outputs by their name, which you can find
+// by running `niri msg outputs` while inside a niri instance.
+// The built-in laptop monitor is usually called "eDP-1".
+// Find more information on the wiki:
+// https://github.com/YaLTeR/niri/wiki/Configuration:-Outputs
+// Remember to uncomment the node by removing "/-"!
+output "eDP-1" {
+ // Uncomment this line to disable this output.
+ // off
+
+ mode "1920x1080"
+ // You can use integer or fractional scale, for example use 1.5 for 150% scale.
+ scale 1
+ // Transform allows to rotate the output counter-clockwise, valid values are:
+ // normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
+ transform "normal"
+
+ position x=0 y=1080
+}
+output "Philips Consumer Electronics Company PHL 272B8Q UK01945026659" {
+ mode "2560x1440@59.951"
+ scale 1
+ position x=0 y=-360
+}
+output "Advanced Micro Peripherals Ltd ES07D03 EVE213400622" {
+ mode "3840x2160"
+ scale 1.333
+ // scale 1
+ // transform "270"
+ variable-refresh-rate
+ focus-at-startup
+ layout {
+ // preset-column-widths {
+ // // Proportion sets the width as a fraction of the output width, taking gaps into account.
+ // // For example, you can perfectly fit four windows sized "proportion 0.25" on an output.
+ // // The default preset widths are 1/3, 1/2 and 2/3 of the output.
+ // // proportion 0.125
+ // // proportion 0.25
+ // proportion 0.33333
+ // proportion 0.5
+ // proportion 0.66667
+ // // proportion 0.875
+ //
+ // // Fixed sets the width in logical pixels exactly.
+ // // fixed 1920
+ // }
+ }
+}
+// desktop pc connection
+output "Iiyama North America PLG2888UH 0x01010101" {
+ "off"
+ mode "3840x2160"
+ position x=-3840 y=0
+ scale 1.333
+ variable-refresh-rate
+}
+// laptop connection
+output "Iiyama North America PLG2888UH 1141664500247" {
+ scale 1.5
+ position x=0 y=-360
+}
+output "HDMI-A-2" {
+ mode "1920x1200"
+ scale 1
+ position x=0 y=-120
+}
+output "DP-1" {
+ mode "2560x1440"
+ scale 1
+ position x=0 y=-360
+}
+output "DP-3" {
+ position x=-2560 y=720
+}
+// meeting room screen
+output "Samsung Electric Company SyncMaster H1AK500000" {
+ mode "3840x2160"
+ scale 1.5
+}
diff --git a/.config/niri/monitors/old_workspace.kdl b/.config/niri/monitors/old_workspace.kdl
new file mode 100644
index 0000000..e2eee9b
--- /dev/null
+++ b/.config/niri/monitors/old_workspace.kdl
@@ -0,0 +1,13 @@
+// work monitor left
+output "Iiyama North America PL2492H 11511811A1794" {
+ mode "1920x1080"
+ scale 1
+ position x=-1920 y=0
+}
+// work monitor right
+output "Iiyama North America PL2492H 1151164104155" {
+ mode "1920x1080"
+ scale 1
+ position x=0 y=0
+}
+
diff --git a/.config/niri/monitors/workspaces_dgav_usbc.kdl b/.config/niri/monitors/workspaces_dgav_usbc.kdl
new file mode 100644
index 0000000..1c05691
--- /dev/null
+++ b/.config/niri/monitors/workspaces_dgav_usbc.kdl
@@ -0,0 +1,62 @@
+output "AU Optronics 0x243D Unknown" {
+ mode "1920x1080"
+ scale 1
+ position x=0 y=1080
+}
+// daisy chain operator
+output "Iiyama North America PL2797QC 1259460301955" {
+ mode "2560x1440"
+ scale 1
+ position x=-1280 y=-360
+}
+output "Iiyama North America PL2792Q 1152101502540" {
+ mode "2560x1440"
+ scale 1
+ position x=1280 y=-360
+}
+
+// eilts' monitor
+// daisy chain operator
+output "Iiyama North America PL2797QC 1259460401955" {
+ mode "2560x1440"
+ scale 1
+ position x=-1280 y=-360
+}
+output "Iiyama North America PL2797QC 1259460401960" {
+ mode "2560x1440"
+ scale 1
+ position x=1280 y=-360
+}
+
+// lone room
+// daisy chain operator
+output "Iiyama North America PL2797QC 1259460401604" {
+ mode "2560x1440"
+ scale 1
+ position x=-1280 y=-360
+}
+output "Iiyama North America PL2792Q 1152101502472" {
+ mode "2560x1440"
+ scale 1
+ position x=1280 y=-360
+}
+
+// unkrodt's monitors
+output "Iiyama North America PL2797QC 1259460401961" {
+ mode "2560x1440"
+ scale 1
+ position x=-1280 y=-360
+}
+output "Iiyama North America PL2797QC 1259460401605" {
+ mode "2560x1440"
+ scale 1
+ position x=1280 y=-360
+}
+
+// big screen meeting room
+output "Samsung Electric Company SyncMaster H1AK500000" {
+ mode "3840x2160"
+ scale 2
+ position x=1920 y=1080
+}
+
diff --git a/.config/niri/windowrules.kdl b/.config/niri/windowrules.kdl
index f9cb04f..8af5e29 100644
--- a/.config/niri/windowrules.kdl
+++ b/.config/niri/windowrules.kdl
@@ -12,10 +12,10 @@ window-rule {
match title="^Nextcloud$"
match title="^Volume Control$"
match title="^Network Connections$"
- match title="Bitwarden"
- match title="^Extension: (Bitwarden Password Manager) - Bitwarden — Zen Browser$"
- match title="Extension: (Bitwarden Password Manager) - Bitwarden — Zen Browser"
- match title="^Extension:"
+ // match title="Bitwarden"
+ match title=r#".*[bB]itwarden.*"#
+ // match title="^Extension: (Bitwarden Password Manager) - Bitwarden — Zen Browser$"
+ // match title="^Extension:"
match app-id="^org.kde.kwalletd6$"
match app-id="^hyprland-share-picker$"
match title="^Check Spelling$"
@@ -28,14 +28,21 @@ window-rule {
open-floating true
}
+// terminals
window-rule {
match app-id=r#"kitty"#
match app-id="^Alacritty$"
+ match app-id="^foot$"
+ match app-id="^rio$"
+ match app-id="^org.wezfurlong.wezterm$"
+ match app-id="^neovide$"
// opacity 0.95
draw-border-with-background false
focus-ring {
on
}
+ // terminal doesn't need to be big
+ default-column-width { proportion 0.3333; }
background-effect {
blur true
}
@@ -48,18 +55,17 @@ window-rule {
exclude title="^Vivaldi$"
exclude title="^Vivaldi - login - Vivaldi$"
exclude title="^Bitwarden - Vivaldi$"
- exclude title=r#"^Extension:"#
+ exclude title=r#"Extension:"#
+ exclude title="^Extension:"
+ exclude title="^Extension: (Bitwarden Password Manager) - Bitwarden — Zen Browser$" app-id="^zen$"
default-column-width { proportion 1.0; }
}
-// terminal doesn't need to be big
window-rule {
- match app-id="^Alacritty$"
- default-column-width { proportion 0.3333; }
-}
-window-rule {
- match app-id="^Thunderbird$"
+ match app-id="^org.mozilla.Thunderbird$"
+ //match app-id="^Thunderbird$"
+ exclude title="^Write:"
default-column-width { proportion 0.9; }
open-on-workspace "2"
@@ -78,7 +84,7 @@ window-rule {
window-rule {
match app-id="^discord$"
- default-column-width { proportion 0.667; }
+ default-column-width { proportion 0.6667; }
}
window-rule {
@@ -105,7 +111,7 @@ window-rule {
// these two will be overridden for all but the chat window
default-column-width { proportion 0.2; }
- default-window-height { proportion 0.333; }
+ default-window-height { proportion 0.3333; }
open-focused false
open-on-workspace "Gaming"
@@ -115,7 +121,7 @@ window-rule {
window-rule {
match title="^Friends List$"
default-column-width { proportion 0.2; }
- default-window-height { proportion 0.667; }
+ default-window-height { proportion 0.6667; }
open-focused false
open-on-workspace "Gaming"
@@ -132,6 +138,36 @@ window-rule {
open-on-output "DP-1"
}
+// Games
+window-rule {
+ match title="^Satisfactory$"
+ match app-id="^steam_app"
+ open-fullscreen true
+}
+
+// indicating casting windows
+window-rule {
+ match is-window-cast-target=true
+
+ focus-ring {
+ off
+ active-color "#f38ba8"
+ inactive-color "#7d0d2d"
+ }
+ border {
+ on
+ width 4
+ active-color "#f38ba8"
+ inactive-color "#7d0d2d"
+ }
+ shadow {
+ color "#7d0d2d70"
+ }
+ tab-indicator {
+ active-color "#f38ba8"
+ inactive-color "#7d0d2d"
+ }
+}
// Work around WezTerm's initial configure bug
// by setting an empty default-column-width.
@@ -148,8 +184,10 @@ window-rule {
match app-id=r#"^org\.keepassxc\.KeePassXC$"#
match app-id=r#"^org\.gnome\.World\.Secrets$"#
match app-id=r#".*[bB]itwarden.*"#
+ match title=r#".*[bB]itwarden.*"#
block-out-from "screen-capture"
+ block-out-from "screencast"
// Use this instead if you want them visible on third-party screenshot tools.
// block-out-from "screencast"
diff --git a/.config/nvim.backup/lazy-lock.json b/.config/nvim.backup/lazy-lock.json
deleted file mode 100644
index 8789a1f..0000000
--- a/.config/nvim.backup/lazy-lock.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "LuaSnip": { "branch": "master", "commit": "eda5be8f0ce9816278671f0b578cdbb8b762c701" },
- "arshamiser.nvim": { "branch": "master", "commit": "cde6378321186257b6de65913d1b4d066b369f7d" },
- "arshlib.nvim": { "branch": "master", "commit": "111fd439268adda206a24b133096893869a50764" },
- "cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
- "feline.nvim": { "branch": "master", "commit": "3587f57480b88e8009df7b36dc84e9c7ff8f2c49" },
- "fzf-lua": { "branch": "main", "commit": "797e87a11905cb231a24b7d9baed837451b94723" },
- "gitsigns.nvim": { "branch": "main", "commit": "6e3ee68bc9f65b21a21582a3d80e270c7e4f2992" },
- "heirline.nvim": { "branch": "master", "commit": "fae936abb5e0345b85c3a03ecf38525b0828b992" },
- "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
- "listish.nvim": { "branch": "master", "commit": "3bc4bb02036f3802c6428c6232633d3192ac3604" },
- "lsp-zero.nvim": { "branch": "v3.x", "commit": "77550f2f6cbf0959ef1583d845661af075f3442b" },
- "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
- "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
- "nvim-lspconfig": { "branch": "master", "commit": "d8f03bfd5b54b10352276a0ed1f2ffe9c2e0676f" },
- "nvim-possession": { "branch": "main", "commit": "49bc69d7dd72207973e2537d73bfd9f3c1bf2678" },
- "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
- "nvim-web-devicons": { "branch": "master", "commit": "19d6211c78169e78bab372b585b6fb17ad974e82" },
- "onedark.nvim": { "branch": "master", "commit": "11de4da47f3e69cb70c3ae9816bd8af166cbe121" },
- "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
- "sqls.nvim": { "branch": "main", "commit": "d1bc5421ef3e8edc5101e37edbb7de6639207a09" },
- "telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" },
- "transparent.nvim": { "branch": "main", "commit": "8ac59883de84e9cd1850ea25cf087031c5ba7d54" },
- "undotree": { "branch": "main", "commit": "eab459ab87dd249617b5f7187bb69e614a083047" },
- "vim-fugitive": { "branch": "master", "commit": "593f831d6f6d779cbabb70a4d1e6b1b1936a88af" },
- "wilder.nvim": { "branch": "master", "commit": "679f348dc90d80ff9ba0e7c470c40a4d038dcecf" }
-}
diff --git a/.config/nvim/lua/plug_init/coq_third_party.lua b/.config/nvim/lua/plug_init/coq_third_party.lua
index 942ef9e..3d55dd1 100644
--- a/.config/nvim/lua/plug_init/coq_third_party.lua
+++ b/.config/nvim/lua/plug_init/coq_third_party.lua
@@ -1,12 +1,29 @@
-require("coq_3p").setup()({
+require("coq_3p")({
{ src = "nvimlua", short_name = "nLUA", conf_only = true },
- { src = "bc", short_name = "MATH", precision = 6 }, -- scientific calculator
+ { src = "bc", short_name = "MATH", precision = 2 }, -- scientific calculator
{
src = "repl",
+ -- sh = "bash",
sh = "fish",
- shell = { p = "perl", n = "node", g = "git", ... },
- max_lines = 20,
+ arg = "-c",
+ shell = { p = "perl" },
+ max_lines = 99,
deadline = 500,
- unsafe = { "rm", "poweroff", "mv", "cp", "systemctl", "sudo", ... },
+ unsafe = {
+ "rm",
+ "mv",
+ "cp",
+ "git",
+ "exec",
+ "sed",
+ "eval",
+ "sudo",
+ "poweroff",
+ "restart",
+ "halt",
+ "systemctl",
+ },
},
+ { src = "dap" },
+ { src = "figlet", short_name = "BIG", trigger = "!big" },
})
diff --git a/.config/nvim/lua/plug_init/init.lua b/.config/nvim/lua/plug_init/init.lua
index 1374e80..b222417 100644
--- a/.config/nvim/lua/plug_init/init.lua
+++ b/.config/nvim/lua/plug_init/init.lua
@@ -11,10 +11,10 @@ require("plug_init.mini_init")
require("plug_init.ft_autocmds")
require("plug_init.godot_editor")
---require("plug_init.lsp_init")
+require("plug_init.coq_third_party")
--require("plug_init.which_key_init")
-- require("plug_init.wilder_init")
--require("plug_init.color-picker_init")
---require("plug_init.neovide_conf")
+require("plug_init.neovide_conf")
diff --git a/.config/nvim/lua/plug_init/lazy.lua b/.config/nvim/lua/plug_init/lazy.lua
index a1a2f54..ef316f8 100644
--- a/.config/nvim/lua/plug_init/lazy.lua
+++ b/.config/nvim/lua/plug_init/lazy.lua
@@ -1,17 +1,17 @@
-- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
- local lazyrepo = "https://github.com/folke/lazy.nvim.git"
- local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
- if vim.v.shell_error ~= 0 then
- vim.api.nvim_echo({
- { "Failed to clone lazy.nvim:\n", "ErrorMsg" },
- { out, "WarningMsg" },
- { "\nPress any key to exit..." },
- }, true, {})
- vim.fn.getchar()
- os.exit(1)
- end
+ local lazyrepo = "https://github.com/folke/lazy.nvim.git"
+ local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
+ if vim.v.shell_error ~= 0 then
+ vim.api.nvim_echo({
+ { "Failed to clone lazy.nvim:\n", "ErrorMsg" },
+ { out, "WarningMsg" },
+ { "\nPress any key to exit..." },
+ }, true, {})
+ vim.fn.getchar()
+ os.exit(1)
+ end
end
vim.opt.rtp:prepend(lazypath)
diff --git a/.config/nvim/lua/plug_init/lsp_init.lua b/.config/nvim/lua/plug_init/lsp_init.lua
index c7e739a..de9a861 100644
--- a/.config/nvim/lua/plug_init/lsp_init.lua
+++ b/.config/nvim/lua/plug_init/lsp_init.lua
@@ -1,3 +1,28 @@
+require("coq_3p")({
+ {
+ src = "repl",
+ -- sh = "bash",
+ sh = "fish",
+ arg = "-c",
+ shell = { p = "perl" },
+ max_lines = 99,
+ deadline = 500,
+ unsafe = {
+ "rm",
+ "mv",
+ "cp",
+ "git",
+ "exec",
+ "sed",
+ "eval",
+ "sudo",
+ "poweroff",
+ "restart",
+ "halt",
+ "systemctl",
+ },
+ },
+})
-- vim.api.nvim_create_autocmd("LspAttach", {
-- group = vim.api.nvim_create_augroup("UserLspConfig", {}),
-- callback = function(ev)
diff --git a/.config/nvim/lua/plug_init/neovide_conf.lua b/.config/nvim/lua/plug_init/neovide_conf.lua
index d4ab2b1..20cacb6 100644
--- a/.config/nvim/lua/plug_init/neovide_conf.lua
+++ b/.config/nvim/lua/plug_init/neovide_conf.lua
@@ -1,12 +1,13 @@
-vim.g.neovide_refresh_rate = 60
-vim.g.neovide_refresh_rate_idle = 5
+vim.g.neovide_refresh_rate = 120
+vim.g.neovide_refresh_rate_idle = 2
vim.g.neovide_no_idle = false
-vim.g.neovide_cursor_trail_size = 0.05
-vim.g.neovide_cursor_animation_length = 0.01
+vim.g.neovide_cursor_trail_size = 0.2
+vim.g.neovide_cursor_animation_length = 0.07
+vim.g.neovide_cursor_short_animation_length = 0.02
vim.g.neovide_cursor_unfocused_outline_width = 0.1
vim.g.neovide_cursor_vfx_mode = "railgun" -- pixiedust, railgun, ripple, sonicboom, torpedo, wireframe
-vim.g.neovide_cursor_vfx_particle_speed = 100.0
-vim.g.neovide_cursor_vfx_particle_phase = 1.0 -- mass of particles, only railgun
+vim.g.neovide_cursor_vfx_particle_speed = 150.0
+vim.g.neovide_cursor_vfx_particle_phase = 1.1 -- mass of particles, only railgun
vim.g.neovide_cursor_vfx_particle_curl = 1.0 -- rotation of particles, only railgun
-vim.g.neovide_cursor_vfx_particle_lifetime = 1.0
-vim.g.neovide_cursor_vfx_particle_density = 7
+vim.g.neovide_cursor_vfx_particle_lifetime = 0.6
+vim.g.neovide_cursor_vfx_particle_density = 15
diff --git a/.config/nvim/lua/plug_init/vim_init.lua b/.config/nvim/lua/plug_init/vim_init.lua
index b3196f9..214be6f 100644
--- a/.config/nvim/lua/plug_init/vim_init.lua
+++ b/.config/nvim/lua/plug_init/vim_init.lua
@@ -25,6 +25,11 @@ vim.o.updatetime = 30
vim.o.colorcolumn = "79"
vim.o.cmdheight = 0 -- remove the last interface line under statusline
vim.o.showmode = false -- stop noice from showing mode, lualine will show mode anyway
+vim.o.foldlevel = 10
+
+vim.wo.foldexpr = "v:lua.vim.treesitter.foldexpr()"
+vim.bo.indentexpr = "v:lua.vim.treesitter.indentexpr()"
+
---
vim.g.netrw_preview = 1
vim.g.netrw_liststyle = 3
diff --git a/.config/nvim/lua/plugins/git.lua b/.config/nvim/lua/plugins/git.lua
new file mode 100644
index 0000000..1649786
--- /dev/null
+++ b/.config/nvim/lua/plugins/git.lua
@@ -0,0 +1,67 @@
+return {
+ {
+ "lewis6991/gitsigns.nvim",
+ event = "UIEnter",
+ opts = {
+ signs = {
+ add = { text = "│" },
+ change = { text = "│" },
+ delete = { text = "_" },
+ topdelete = { text = "‾" },
+ changedelete = { text = "~" },
+ untracked = { text = "┆" },
+ },
+ signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
+ numhl = true, -- Toggle with `:Gitsigns toggle_numhl`
+ linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
+ word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
+ watch_gitdir = {
+ follow_files = true,
+ },
+ attach_to_untracked = true,
+ current_line_blame = true, -- Toggle with `:Gitsigns toggle_current_line_blame`
+ current_line_blame_opts = {
+ virt_text = true,
+ virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align'
+ delay = 150,
+ ignore_whitespace = false,
+ virt_text_priority = 0,
+ },
+ current_line_blame_formatter = ", - ",
+ sign_priority = 6,
+ update_debounce = 100,
+ status_formatter = nil, -- Use default
+ max_file_length = 40000, -- Disable if file is longer than this (in lines)
+ preview_config = {
+ -- Options passed to nvim_open_win
+ border = "single",
+ style = "minimal",
+ relative = "cursor",
+ row = 0,
+ col = 1,
+ },
+ },
+ },
+ {
+ "NeogitOrg/neogit",
+ lazy = true,
+ dependencies = {
+ -- Only one of these is needed.
+ "sindrets/diffview.nvim", -- optional
+ -- "esmuellert/codediff.nvim", -- optional
+
+ -- For a custom log pager
+ "m00qek/baleia.nvim", -- optional
+
+ -- Only one of these is needed.
+ -- "nvim-telescope/telescope.nvim", -- optional
+ -- "ibhagwan/fzf-lua", -- optional
+ -- "nvim-mini/mini.pick", -- optional
+ -- "folke/snacks.nvim", -- optional
+ },
+ cmd = "Neogit",
+ keys = {
+ { "gg", "Neogit", desc = "Show Neogit UI" },
+ },
+ },
+}
diff --git a/.config/nvim/lua/plugins/lsp_config.lua b/.config/nvim/lua/plugins/lsp_config.lua
index 1148ec9..2ba4f5c 100644
--- a/.config/nvim/lua/plugins/lsp_config.lua
+++ b/.config/nvim/lua/plugins/lsp_config.lua
@@ -2,6 +2,7 @@ return {
{
"mason-org/mason.nvim",
lazy = false,
+ -- event = { "UIEnter" },
--cmd = { "Mason", "MasonInstall", "MasonUninstall", "MasonUpdate", "MasonUninstallAll", "MasonLog" },
opts = {},
},
@@ -9,7 +10,7 @@ return {
"nvim-treesitter/nvim-treesitter",
lazy = false,
build = ":TSUpdate",
- event = { "BufRead" },
+ -- event = { "UIEnter" },
opts = {
sync_install = false,
auto_install = true,
@@ -28,6 +29,7 @@ return {
},
ensure_installed = {
"bash",
+ -- "dart",
"html",
"javascript",
"gdscript",
@@ -43,20 +45,21 @@ return {
{
"mason-org/mason-lspconfig.nvim",
lazy = false,
+ -- events = { "UIEnter" }
opts = {
ensure_installed = {
"rust_analyzer",
- "ruff",
+ -- "ruff",
"biome",
--"quick_lint_js",
--"eslint",
"html",
"cssls",
- "sqls",
- "hyprls",
+ -- "sqls",
+ -- "hyprls",
"lua_ls",
-- "pylyzer",
- "vimls",
+ -- "vimls",
"ts_ls",
},
automatic_enable = { true, rust_analyzer = false },
@@ -74,24 +77,30 @@ return {
-- lua & third party sources -- See https://github.com/ms-jpq/coq.thirdparty
-- Need to **configure separately**
- --{ "ms-jpq/coq.thirdparty", branch = "3p", lazy = false },
+ { "ms-jpq/coq.thirdparty", branch = "3p", lazy = false },
-- - shell repl
-- - nvim lua api
-- - scientific calculator
-- - comment banner
-- - etc
},
+ opts = {
+ -- inlay_hint = { enabled = true },
+ -- lsp = {
+ -- inlay_hint = { enabled = true },
+ -- },
+ },
init = function()
- vim.g.coq_settings = {
- auto_start = true, -- if you want to start COQ at startup
- -- Your COQ settings here
- display = { statusline = { helo = false } }, -- disable greeting notification
- }
+ vim.g.coq_settings = {} -- Your COQ settings here
+
+ -- vim.lsp.inlay_hints.enable()
end,
+ --coq.nvim: lsp_ensure_capabilities is a no-op in v2. neovim 0.12's vim.lsp.protocol.make_client_capabilities() already covers what v1 used to inject. Drop the wrapping call.
+ ---@type vim.lsp.Config
config = function()
vim.lsp.config(
"rust_analyzer",
- coq.lsp_ensure_capabilities({
+ vim.lsp.protocol.make_client_capabilities({
settings = {
["rust-analyzer"] = {
imports = {
@@ -109,22 +118,27 @@ return {
enable = true,
},
},
+ -- inlay_hint = { enabled = true },
},
})
)
- vim.lsp.config("gdscript", coq.lsp_ensure_capabilities({}))
-
- --vim.lsp.enable({ "lua_ls" })
+ -- vim.lsp.enable("gdscript")
+ -- vim.lsp.enable({ "gdscript" })
+ -- vim.lsp.enable({ "lua_ls" })
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
callback = function(ev)
-- Enable completion triggered by
- vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc"
+ -- vim.o[ev.buf].omnifunc = vim.lsp.omnifunc -- TODO: fix this
+ -- vim.o.omnifunc.set(vim.lsp.omnifunc)
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev)
vim.keymap.set("n", "]d", vim.diagnostic.goto_next)
vim.keymap.set("n", "le", vim.diagnostic.open_float)
+ -- vim.keymap.set("n", "lh", vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()))
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts)
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
+ vim.keymap.set("n", "gi", vim.lsp.buf.incoming_calls, opts)
+ vim.keymap.set("n", "go", vim.lsp.buf.outgoing_calls, opts)
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
vim.keymap.set("n", "wa", vim.lsp.buf.add_workspace_folder, opts)
vim.keymap.set("n", "wr", vim.lsp.buf.remove_workspace_folder, opts)
@@ -132,6 +146,13 @@ return {
end,
})
end,
+ -- keys = {
+ -- {
+ -- "lh",
+ -- function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) end,
+ -- desc = "toggle inlay hints",
+ -- },
+ -- },
},
{
"mfussenegger/nvim-lint",
@@ -140,6 +161,7 @@ return {
opts = {
linters_by_ft = {
cpp = { "cpplint" },
+ dart = { "flutter" },
gdscript = { "gdlint" },
gitcommit = { "commitlint" },
lua = { "ast-grep" },
@@ -162,17 +184,17 @@ return {
-- supposedly faster formatter
{
"stevearc/conform.nvim",
- event = { "BufWritePost" },
+ event = { "BufWritePre" },
keys = {
{
"i",
- function() require("conform").format({ async = true }) end,
+ --function() require("conform").format({ async = true }) end,
desc = "Auto format file with formatter, also on F3",
},
{
"F3",
- function() require("conform").format({ async = true }) end,
- mode = { "n", "i" },
+ --function() require("conform").format({ async = true }) end,
+ --mode = { "n", "i" },
desc = "Auto format file with formatter",
},
},
@@ -224,10 +246,11 @@ return {
end,
},
},
- { "nvim-treesitter/nvim-treesitter-textobjects", lazy = true, event = "BufRead" },
+ -- { "nvim-treesitter/nvim-treesitter-textobjects", lazy = true, event = "BufRead" },
{
"nvim-treesitter/nvim-treesitter-context",
lazy = true,
+ branch = "master",
event = "BufRead",
opts = {
enable = true, -- Enable this plugin (Can be enabled/disabled later via commands)
@@ -246,7 +269,17 @@ return {
},
},
{
- "jubnzv/virtual-types.nvim",
+ "nvim-flutter/flutter-tools.nvim",
lazy = false,
+ --event = { "BufEnter" },
+ --ft = "*.dart",
+ dependencies = {
+ "nvim-lua/plenary.nvim",
+ },
+ config = true,
},
+ -- {
+ -- "jubnzv/virtual-types.nvim",
+ -- lazy = false,
+ -- },
}
diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua
index edaa3c4..7e051dc 100644
--- a/.config/nvim/lua/plugins/lualine.lua
+++ b/.config/nvim/lua/plugins/lualine.lua
@@ -2,7 +2,7 @@ return {
"nvim-lualine/lualine.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
lazy = true,
- event = { "VeryLazy" },
+ event = { "UIEnter" },
opts = {
options = {
icons_enabled = true,
@@ -87,7 +87,7 @@ return {
},
},
"filetype",
- 'require"lsp-status".status()',
+ -- require("lsp-status").status.get,
},
lualine_y = { "searchcount", "progress" },
lualine_z = { "selectioncount", "location" },
diff --git a/.config/nvim/lua/plugins/peanuts.lua b/.config/nvim/lua/plugins/peanuts.lua
index 208a7d7..a9a8fa1 100644
--- a/.config/nvim/lua/plugins/peanuts.lua
+++ b/.config/nvim/lua/plugins/peanuts.lua
@@ -43,7 +43,7 @@ return {
{ "rcarriga/nvim-notify", lazy = true }, -- dep of noice.nvim
{
"nvim-mini/mini.nvim",
- lazy = true,
+ event = { "UIEnter" },
version = false,
},
{
@@ -54,13 +54,100 @@ return {
modes = { ":", "/", "?" },
},
},
+ -- {
+ -- "OXY2DEV/markview.nvim",
+ -- lazy = true,
+ -- ft = "Markdown",
+ -- -- keys = { "M", mode = { "n" }, "Markview toggle", desc = "Toggle Markdown render" },
+ -- cmd = "Markview",
+ -- event = { "BufRead *.md" },
+ -- },
{
- "OXY2DEV/markview.nvim",
- lazy = true,
- ft = "Markdown",
- -- keys = { "M", mode = { "n" }, "Markview toggle", desc = "Toggle Markdown render" },
- cmd = "Markview",
- event = { "BufRead *.md" },
+ "MeanderingProgrammer/render-markdown.nvim",
+ dependencies = { "nvim-treesitter/nvim-treesitter", "nvim-mini/mini.nvim" }, -- if you use the mini.nvim suite
+ -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-mini/mini.icons' }, -- if you use standalone mini plugins
+ -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons
+ ---@module 'render-markdown'
+ ---@type render.md.UserConfig
+ opts = {
+ checkbox = {
+ enabled = true,
+ render_modes = true,
+ position = "inline",
+ unchecked = { icon = " ", highlight = "RenderMarkdownUnchecked" },
+ checked = { icon = " ", highlight = "RenderMarkdownChecked" },
+ custom = {
+ todo = { raw = "[-]", rendered = " Todo", highlight = "RenderMarkdownTodo" },
+ },
+ },
+ },
+ event = { "BufEnter *.md" },
+ },
+ {
+ -- filetypes for mermaid:
+ -- .mmd
+ -- .mermaid
+ "kevalin/mermaid.nvim",
+ dependencies = {
+ "nvim-treesitter/nvim-treesitter",
+ },
+ opts = {
+ format = {
+ shift_width = 4, -- Indentation size (spaces)
+ },
+ lint = {
+ enabled = true, -- Enable diagnostics via mmdc
+ command = "mmdc", -- Path to mermaid-cli executable
+ },
+ preview = {
+ renderer = "mermaid.js", -- "mermaid.js" or "beautiful-mermaid"
+ theme = "dark", -- Theme name (renderer-specific)
+ },
+ },
+ config = {
+ vim.api.nvim_create_autocmd("FileType", {
+ pattern = "mermaid",
+ callback = function()
+ local buf = vim.api.nvim_get_current_buf()
+ vim.keymap.set(
+ "n",
+ "mp",
+ "MermaidPreview",
+ { buffer = buf, desc = "Mermaid Preview" }
+ )
+ vim.keymap.set(
+ "n",
+ "mf",
+ "MermaidFormat",
+ { buffer = buf, desc = "Mermaid Format" }
+ )
+ vim.keymap.set(
+ "n",
+ "mr",
+ "MermaidRender",
+ { buffer = buf, desc = "Mermaid Render" }
+ )
+ vim.keymap.set(
+ "n",
+ "mc",
+ "MermaidCopyURL",
+ { buffer = buf, desc = "Mermaid Copy URL" }
+ )
+ vim.keymap.set(
+ "n",
+ "mx",
+ "MermaidPreviewStop",
+ { buffer = buf, desc = "Mermaid Stop Preview" }
+ )
+ end,
+ }),
+ },
+
+ -- config = function()
+ -- require("mermaid").setup()
+ -- -- Install the Tree-sitter parser:
+ -- -- :TSInstall mermaid
+ -- end
},
{
"norcalli/nvim-colorizer.lua",
@@ -126,54 +213,11 @@ return {
},
{
"folke/trouble.nvim",
- opts = {},
+ opts = { use_diagnostic_signs = true },
cmd = "Trouble",
lazy = true,
keys = { "x" },
},
- {
- "lewis6991/gitsigns.nvim",
- event = "UIEnter",
- opts = {
- signs = {
- add = { text = "│" },
- change = { text = "│" },
- delete = { text = "_" },
- topdelete = { text = "‾" },
- changedelete = { text = "~" },
- untracked = { text = "┆" },
- },
- signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
- numhl = true, -- Toggle with `:Gitsigns toggle_numhl`
- linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
- word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
- watch_gitdir = {
- follow_files = true,
- },
- attach_to_untracked = true,
- current_line_blame = true, -- Toggle with `:Gitsigns toggle_current_line_blame`
- current_line_blame_opts = {
- virt_text = true,
- virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align'
- delay = 150,
- ignore_whitespace = false,
- virt_text_priority = 0,
- },
- current_line_blame_formatter = ", - ",
- sign_priority = 6,
- update_debounce = 100,
- status_formatter = nil, -- Use default
- max_file_length = 40000, -- Disable if file is longer than this (in lines)
- preview_config = {
- -- Options passed to nvim_open_win
- border = "single",
- style = "minimal",
- relative = "cursor",
- row = 0,
- col = 1,
- },
- },
- },
{
"nvzone/typr",
dependencies = "nvzone/volt",
diff --git a/.config/nvim/lua/plugins/snacks.nvim.lua b/.config/nvim/lua/plugins/snacks.nvim.lua
index 90fca48..2d534b5 100644
--- a/.config/nvim/lua/plugins/snacks.nvim.lua
+++ b/.config/nvim/lua/plugins/snacks.nvim.lua
@@ -17,5 +17,54 @@ return {
scroll = { enabled = true },
statuscolumn = { enabled = true },
words = { enabled = false },
+ zen = {
+ enabled = true,
+ -- You can add any `Snacks.toggle` id here.
+ -- Toggle state is restored when the window is closed.
+ -- Toggle config options are NOT merged.
+ ---@type table
+ toggles = {
+ dim = false,
+ git_signs = false,
+ mini_diff_signs = false,
+ diagnostics = true,
+ inlay_hints = true,
+ },
+ center = true,
+ show = {
+ statusline = false,
+ tabline = false,
+ windowline = false,
+ },
+ ---@type snacks.win.Config
+ win = { style = "zen" },
+ --- Callback when the window is opened.
+ ---@param win snacks.win
+ on_open = function(win) end,
+ --- Callback when the window is closed.
+ ---@param win snacks.win
+ on_close = function(win) end,
+ --- Options for the `Snacks.zen.zoom()`
+ ---@type snacks.zen.Config
+ zoom = {
+ toggles = {},
+ center = false,
+ show = { statusline = true, tabline = true },
+ win = {
+ backdrop = false,
+ width = 0, -- full width
+ },
+ },
+ },
+ },
+ styles = {
+ zen = {
+ backdrop = { transparent = false },
+ keys = { q = false }, -- for enabling/disabling recording of macros
+ },
+ },
+ keys = {
+ { "z", function() Snacks.zen() end, desc = "Toggle Zen Mode" },
+ { "Z", function() Snacks.zen.zoom() end, desc = "Toggle Zoom" },
},
}
diff --git a/.config/nvim/lua/plugins/typst.lua b/.config/nvim/lua/plugins/typst.lua
new file mode 100644
index 0000000..d5bff5c
--- /dev/null
+++ b/.config/nvim/lua/plugins/typst.lua
@@ -0,0 +1,16 @@
+return {
+ {
+ "chomosuke/typst-preview.nvim",
+ lazy = false, -- or ft = 'typst'
+ version = "1.*",
+ opts = {}, -- lazy.nvim will implicitly calls `setup {}`
+ },
+ -- {
+ -- "al-kot/typst-preview.nvim",
+ -- ft = { "typst" },
+ -- opts = {
+ -- --
+ -- -- your config here
+ -- },
+ -- },
+}
diff --git a/.config/nvim/lua/plugins/which_key.lua b/.config/nvim/lua/plugins/which_key.lua
index a07d44b..7d3868b 100644
--- a/.config/nvim/lua/plugins/which_key.lua
+++ b/.config/nvim/lua/plugins/which_key.lua
@@ -76,6 +76,24 @@ return {
{ "gu", "Gitsigns undo_stage_hunk", desc = "Undo Stage Hunk" },
{ "le", vim.diagnostic.open_float, desc = "Open diagnostic float" },
+ {
+ "lh",
+ function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) end,
+ desc = "toggle inlay hints",
+ },
+ {
+ "i",
+ function() require("conform").format({ async = true }) end,
+ mode = "n",
+ silent = true,
+ desc = "Auto format file with formatter, also on F3",
+ },
+ {
+ "F3",
+ function() require("conform").format({ async = true }) end,
+ mode = { "n", "i" },
+ desc = "Auto format file with formatter",
+ },
{ "K", desc = "Show definition" },
-- { "d", group = "Debugging" },
-- {
@@ -85,6 +103,9 @@ return {
-- { "dc", require("dap").continue, desc = "Continue" },
-- },
+ -- { "z", function() Snacks.zen() end, desc = "Toggle Zen Mode" },
+ -- { "Z", function() Snacks.zen.zoom() end, desc = "Toggle Zoom" },
+
-- trouble plugin
{ "xx", "Trouble diagnostics toggle", desc = "Diagnostics (Trouble)" },
{
@@ -104,8 +125,13 @@ return {
-- QOL shortcuts
{ "n", "nohl", desc = "Stop highlighting search results" },
{ "m", "NoiceDismiss", desc = "Dismiss notifications" },
- { "M", "Markview toggle", desc = "Markview toggle source view" },
-
+ -- { "M", "Markview toggle", desc = "Markview toggle source view" },
+ {
+ "M",
+ mode = { "n" },
+ function() require("render-markdown").toggle() end,
+ desc = "Toggle Markdown render",
+ },
{ "r", group = "Rename" },
{ "rr", vim.lsp.buf.rename, opts, desc = "Rename Variable" },
@@ -127,6 +153,21 @@ return {
{ "tn", "tabnext", desc = "Next Tab" },
{ "tp", "tabprevious", desc = "Previous Tab" },
+ -- { "Ts", function() require("typst-preview").start() end, desc = "Start Typst preview" },
+ -- { "Tq", function() require("typst-preview").stop() end, desc = "Stop Typst preview" },
+ -- { "Tn", function() require("typst-preview").next_page() end, desc = "Next page" },
+ -- {
+ -- "Tp",
+ -- function()
+ -- require("typst-preview")
+ -- prev_page()
+ -- end,
+ -- desc = "Previous page",
+ -- },
+ -- { "Tr", function() require("typst-preview").refresh() end, desc = "Refresh preview" },
+ -- { "Tgg", function() require("typst-preview").first_page() end, desc = "First page" },
+ -- { "TG", function() require("typst-preview").last_page() end, desc = "Last page" },
+
{ "u", desc = "Toggle undo-tree" },
{ "w", group = "Workspaces + Whichkey" },
{ "wa", desc = "Add workspace folder" },
@@ -238,7 +279,7 @@ return {
{ "gD", desc = "go to declaration" },
{ "gd", desc = "go to definition" },
{ "gi", desc = "show implementations" },
- { "gr", desc = "list all references to symbol under cursor" },
+ { "gr", vim.lsp.buf.references, desc = "list all references to symbol under cursor" },
--undotree
{ "j", desc = "jump to next undo node" },
diff --git a/.config/nvim/noice.log b/.config/nvim/noice.log
new file mode 100644
index 0000000..17ea5e4
--- /dev/null
+++ b/.config/nvim/noice.log
@@ -0,0 +1,752 @@
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{ { { 134, 'vim.tbl_flatten is deprecated. Run ":checkhealth vim.deprecated" for more information', 26 } }, false, true, false, 1, "",
+ event = "msg_show",
+ kind = "echomsg"
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, ":", 0 } }
+}
+{ 0, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "", 0 } }
+}
+{ 1, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "w", 0 } }
+}
+{ 2, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "wa", 0 } }
+}
+{ 3, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "war", 0 } }
+}
+{ 2, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "wa", 0 } }
+}
+{ 1, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "w", 0 } }
+}
+{ 0, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "", 0 } }
+}
+{ 1, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "m", 0 } }
+}
+{ {}, false, false, false, -1, "",
+ event = "msg_show",
+ kind = "empty"
+}
+{ true,
+ event = "cmdline_hide",
+ kind = 1
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, ":", 0 } }
+}
+{ 0, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "", 0 } }
+}
+{ 1, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "m", 0 } }
+}
+{ 2, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "me", 0 } }
+}
+{ 3, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "mes", 0 } }
+}
+{ 4, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "mess", 0 } }
+}
+{ 8, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "messages", 0 } }
+}
+{ false,
+ event = "cmdline_hide",
+ kind = 1
+}
+{ false,
+ event = "msg_history_show",
+ kind = { { "echomsg", { { 134, 'vim.tbl_flatten is deprecated. Run ":checkhealth vim.deprecated" for more information', 26 } }, false } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "^M", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, ":", 0 } }
+}
+{ 0, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "", 0 } }
+}
+{ 1, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "q", 0 } }
+}
+{ false,
+ event = "cmdline_hide",
+ kind = 1
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, ":", 0 } }
+}
+{ 0, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "", 0 } }
+}
+{ 1, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "M", 0 } }
+}
+{ 0, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "", 0 } }
+}
+{ 1, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "N", 0 } }
+}
+{ 2, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "No", 0 } }
+}
+{ 3, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noi", 0 } }
+}
+{ 4, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noic", 0 } }
+}
+{ 5, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noice", 0 } }
+}
+{ 5, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noice", 0 } }
+}
+{ 8, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "NoiceAll", 0 } }
+}
+{ 11, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "NoiceConfig", 0 } }
+}
+{ 10, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "NoiceDebug", 0 } }
+}
+{ false,
+ event = "cmdline_hide",
+ kind = 1
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, ":", 0 } }
+}
+{ 0, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "", 0 } }
+}
+{ 1, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "N", 0 } }
+}
+{ 2, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "No", 0 } }
+}
+{ 3, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noi", 0 } }
+}
+{ 4, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noir", 0 } }
+}
+{ 5, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noirc", 0 } }
+}
+{ 6, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noirce", 0 } }
+}
+{ 7, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noirce ", 0 } }
+}
+{ 6, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noirce", 0 } }
+}
+{ 5, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noirc", 0 } }
+}
+{ 4, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noir", 0 } }
+}
+{ 3, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noi", 0 } }
+}
+{ 4, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noic", 0 } }
+}
+{ 5, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noice", 0 } }
+}
+{ 5, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noice", 0 } }
+}
+{ 6, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noice ", 0 } }
+}
+{ 12, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noice snacks", 0 } }
+}
+{ 12, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noice routes", 0 } }
+}
+{ 12, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noice errors", 0 } }
+}
+{ 11, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noice debug", 0 } }
+}
+{ 12, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noice config", 0 } }
+}
+{ 10, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noice last", 0 } }
+}
+{ 11, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noice stats", 0 } }
+}
+{ 13, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noice dismiss", 0 } }
+}
+{ 10, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noice pick", 0 } }
+}
+{ 9, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noice all", 0 } }
+}
+{ 13, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noice disable", 0 } }
+}
+{ 9, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "Noice log", 0 } }
+}
+{ false,
+ event = "cmdline_hide",
+ kind = 1
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "G", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "k", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "d", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "dgg", 0 } }
+}
+{ { { 0, "4280 fewer lines", 0 } }, false, true, false, 2, "",
+ event = "msg_show",
+ kind = ""
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, ":", 0 } }
+}
+{ 0, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "", 0 } }
+}
+{ 1, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "w", 0 } }
+}
+{ false,
+ event = "cmdline_hide",
+ kind = 1
+}
+{ { { 0, '"~/.local/state/nvim/noice.log" ', 0 } }, false, false, false, 3, "typed_cmd",
+ event = "msg_show",
+ kind = "bufwrite"
+}
+{ { { 0, '"~/.local/state/nvim/noice.log" 23L, 1698B written', 0 } }, true, true, false, 4, "typed_cmd",
+ event = "msg_show",
+ kind = "bufwrite"
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, "j", 0 } }
+}
+{
+ event = "msg_showcmd",
+ kind = {}
+}
+{
+ event = "msg_showcmd",
+ kind = { { 0, ":", 0 } }
+}
+{ 0, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "", 0 } }
+}
+{ 1, ":", "", 0, 1, 0,
+ event = "cmdline_show",
+ kind = { { 0, "q", 0 } }
+}
+{ false,
+ event = "cmdline_hide",
+ kind = 1
+}
diff --git a/.config/paru/paru.conf b/.config/paru/paru.conf
index 487e63d..ca101da 100644
--- a/.config/paru/paru.conf
+++ b/.config/paru/paru.conf
@@ -1,6 +1,5 @@
[options]
#AurOnly
-#BottomUp
#CleanAfter
#CombinedUpgrade
#RemoveMake
@@ -8,7 +7,7 @@
BottomUp
Devel
DevelSuffixes = -git -cvs -svn -bzr -darcs -always -hg -fossil
-# NewsOnUpgrade
+NewsOnUpgrade
PgpFetch
# Provides
SaveChanges
@@ -16,3 +15,5 @@ UpgradeMenu
UseAsk
Limit = 50
+[bin]
+FileManager=/usr/bin/nvim
diff --git a/.config/qt6ct/qt6ct.conf b/.config/qt6ct/qt6ct.conf
index dea194e..5f5ee45 100644
--- a/.config/qt6ct/qt6ct.conf
+++ b/.config/qt6ct/qt6ct.conf
@@ -1,11 +1,11 @@
[Appearance]
-color_scheme_path=/usr/share/qt6ct/colors/darker.conf
+color_scheme_path=/usr/share/color-schemes/BreezeDark.colors
custom_palette=true
standard_dialogs=xdgdesktopportal
style=Breeze
[Fonts]
-fixed="monospace,9,-1,2,400,0,0,0,0,0,0,0,0,0,0,1,,0,0"
+fixed="Hack,9,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,,0,0"
general="Sans Serif,9,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,,0,0"
[Interface]
@@ -23,8 +23,11 @@ toolbutton_style=4
underline_shortcut=1
wheel_scroll_lines=3
+[QSSEditor]
+geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\xff\xff\xfb\0\xff\xff\xfe\x98\xff\xff\xfd\x82\0\0\0\x8a\xff\xff\xfb\0\xff\xff\xfe\x98\xff\xff\xfd\x82\0\0\0\x8a\0\0\0\x1\0\0\0\0\n\0\xff\xff\xfb\0\xff\xff\xfe\x98\xff\xff\xfd\x82\0\0\0\x8a)
+
[SettingsWindow]
-geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\x4\x38\0\0\x3\xb8\0\0\bK\0\0\0\0\0\0\x4\x38\0\0\x3\xb8\0\0\bK\0\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\x4\x38\0\0\x3\xb8\0\0\bK)
+geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\xff\xff\xfc@\0\0\0\0\0\0\x1\xd5\0\0\x6\x30\xff\xff\xfc@\0\0\0\0\0\0\x1\xd5\0\0\x6\x30\0\0\0\0\0\0\0\0\v@\xff\xff\xfc@\0\0\0\0\0\0\x1\xd5\0\0\x6\x30)
[Troubleshooting]
force_raster_widgets=1
diff --git a/.config/rio/config.toml b/.config/rio/config.toml
new file mode 100644
index 0000000..acda1a8
--- /dev/null
+++ b/.config/rio/config.toml
@@ -0,0 +1,22 @@
+theme = "Everforest Dark Soft"
+confirm-before-quit = false
+
+[window]
+decorations = "Disabled"
+opacity = 0.9
+opacity-cells = false
+blur = true
+# colorspace = "display-p3"
+
+[fonts]
+size=18
+family="Hurmit Nerd Font"
+
+[editor]
+program = "nvim"
+
+[effects]
+trail-cursor = true
+trail-cursor-decay = [50,200]
+trail-cursor-opacity = 0.3
+trail-cursor-start-threshold = 3
diff --git a/.config/rio/themes/Everforest Dark Hard.toml b/.config/rio/themes/Everforest Dark Hard.toml
new file mode 100644
index 0000000..bb4eb7e
--- /dev/null
+++ b/.config/rio/themes/Everforest Dark Hard.toml
@@ -0,0 +1,22 @@
+[colors]
+background = '#1e2326'
+foreground = '#d3c6aa'
+selection-background = '#4c3743'
+selection-foreground = '#d3c6aa'
+cursor = '#e69875'
+black = '#7a8478'
+red = '#e67e80'
+green = '#a7c080'
+yellow = '#dbbc7f'
+blue = '#7fbbb3'
+magenta = '#d699b6'
+cyan = '#83c092'
+white = '#f2efdf'
+light_black = '#a6b0a0'
+light_red = '#f85552'
+light_green = '#8da101'
+light_yellow = '#dfa000'
+light_blue = '#3a94c5'
+light_magenta = '#df69ba'
+light_cyan = '#35a77c'
+light_white = '#fffbef'
diff --git a/.config/rio/themes/Everforest Dark Med.toml b/.config/rio/themes/Everforest Dark Med.toml
new file mode 100644
index 0000000..16cd406
--- /dev/null
+++ b/.config/rio/themes/Everforest Dark Med.toml
@@ -0,0 +1,22 @@
+[colors]
+background = '#232a2e'
+foreground = '#d3c6aa'
+selection-background = '#543a48'
+selection-foreground = '#d3c6aa'
+cursor = '#e69875'
+black = '#7a8478'
+red = '#e67e80'
+green = '#a7c080'
+yellow = '#dbbc7f'
+blue = '#7fbbb3'
+magenta = '#d699b6'
+cyan = '#83c092'
+white = '#f2efdf'
+light_black = '#a6b0a0'
+light_red = '#f85552'
+light_green = '#8da101'
+light_yellow = '#dfa000'
+light_blue = '#3a94c5'
+light_magenta = '#df69ba'
+light_cyan = '#35a77c'
+light_white = '#fffbef'
diff --git a/.config/rio/themes/Everforest Dark Soft.toml b/.config/rio/themes/Everforest Dark Soft.toml
new file mode 100644
index 0000000..74630bd
--- /dev/null
+++ b/.config/rio/themes/Everforest Dark Soft.toml
@@ -0,0 +1,24 @@
+[colors]
+background = '#293136'
+foreground = '#d3c6aa'
+selection-background = '#5c3f4f'
+selection-foreground = '#d3c6aa'
+cursor = '#d3c6aa'
+ # cursor = '#e69875'
+# cursor = '#069875'
+
+black = '#7a8478'
+red = '#e67e80'
+green = '#a7c080'
+yellow = '#dbbc7f'
+blue = '#7fbbb3'
+magenta = '#d699b6'
+cyan = '#83c092'
+white = '#f2efdf'
+light_black = '#a6b0a0'
+light_red = '#f85552'
+light_green = '#8da101'
+light_yellow = '#dfa000'
+light_blue = '#3a94c5'
+light_magenta = '#df69ba'
+light_cyan = '#35a77c'
diff --git a/.config/starship.toml b/.config/starship.toml
index 506b701..52baa9a 100644
--- a/.config/starship.toml
+++ b/.config/starship.toml
@@ -21,6 +21,8 @@ $username\
$hostname\
$directory\
$git_branch\
+$git_metrics\
+$git_state\
$git_status\
$package\
$cmd_time\
diff --git a/.config/swayidle.conf b/.config/swayidle.conf
index fb509c0..de1f545 100644
--- a/.config/swayidle.conf
+++ b/.config/swayidle.conf
@@ -1,6 +1,6 @@
-timeout 300 'swaylock --grace 10 --ignore-empty-password --indicator --clock --timestr %H:%M --datestr "" --screenshot --effect-blur 5x3 --font hurmit-nf --inside-color 00000000 --line-color 00000000 --ring-color 00ff99 --key-hl-color 066dff'
-timeout 600 'niri msg action power-off-monitors'
+timeout 600 'swaylock --grace 10 --ignore-empty-password --indicator --clock --timestr %H:%M --datestr "" --screenshot --effect-blur 5x3 --font hurmit-nf --inside-color 00000000 --line-color 00000000 --ring-color 00ff99 --key-hl-color 066dff'
+timeout 1800 'niri msg action power-off-monitors'
after-resume 'niri msg action power-on-monitors'
-before-sleep 'swaylock --grace 10 --ignore-empty-password --indicator --clock --timestr %H:%M --datestr "" --screenshot --effect-blur 5x3 --font hurmit-nf --inside-color 00000000 --line-color 00000000 --ring-color 00ff99 --key-hl-color 066dff'
+before-sleep 'swaylock --ignore-empty-password --indicator --clock --timestr %H:%M --datestr "" --screenshot --effect-blur 5x3 --font hurmit-nf --inside-color 00000000 --line-color 00000000 --ring-color 00ff99 --key-hl-color 066dff'
diff --git a/.config/systemd/user/swaybg.service b/.config/systemd/user/swaybg.service
new file mode 100644
index 0000000..3fb7aa7
--- /dev/null
+++ b/.config/systemd/user/swaybg.service
@@ -0,0 +1,9 @@
+[Unit]
+PartOf=graphical-session.target
+After=graphical-session.target
+Requisite=graphical-session.target
+
+[Service]
+ExecStart=/usr/bin/swaybg -m fit -i "%h/Pictures/backgrounds/NASA/earth-1.jpg"
+#ExecStart=/usr/bin/swaybg -m fill -i "%h/Pictures/backgrounds/NASA/moon_and_earth.webp"
+Restart=on-failure
diff --git a/.config/systemd/user/swayidle.service b/.config/systemd/user/swayidle.service
new file mode 100644
index 0000000..9def110
--- /dev/null
+++ b/.config/systemd/user/swayidle.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=SwayIdle Service
+#PartOf=graphical-session.target
+After=graphical-session.target
+Requisite=graphical-session.target
+StartLimitIntervalSec=30
+StartLimitBurst=3
+
+[Service]
+ExecStart=/usr/bin/swayidle -w -C "%h/.config/swayidle.conf"
+Restart=on-failure
+TimeoutSec=30
+
diff --git a/.config/tofi/brightness_config b/.config/tofi/brightness_config
index e741b7e..955a237 100644
--- a/.config/tofi/brightness_config
+++ b/.config/tofi/brightness_config
@@ -2,12 +2,6 @@ include = config
font-size = 17
-###----
-### Text theming
-#
- # Default text color
- #
- # All text defaults to this color if not otherwise specified.
text-color = #FFFFFF
# Selection text
@@ -22,52 +16,23 @@ font-size = 17
#
### Text cursor theme
#
- # Style of the optional text cursor.
- #
# Supported values: bar, block, underscore
text-cursor-style = underscore
-
- # Color of the text cursor
- #
- # If unspecified, defaults to the same as input-color
- # text-cursor-color = #FFFFFF
-
- # Color of text behind the text cursor when text-cursor-style = block
- #
- # If unspecified, defaults to the same as background-color
- # text-cursor-background = #000000
-
- # Corner radius of the text cursor
text-cursor-corner-radius = 0
-
- # Thickness of the bar and underscore text cursors.
- #
- # If unspecified, defaults to a font-dependent value when
- # text-cursor-style = underscore, or to 2 otherwise.
- # text-cursor-thickness = 2
-
#
### Text layout
#
- # Prompt to display.
prompt-text = "Brightness"
# Extra horizontal padding between prompt and input.
prompt-padding = 8
-
- # Placeholder input text.
placeholder-text = ""
-
# Maximum number of results to display.
# If 0, tofi will draw as many results as it can fit in the window.
num-results = 5
-
- # Spacing between results in pixels. Can be negative.
result-spacing = 6
-
# List results horizontally.
horizontal = true
-
# Minimum width of input in horizontal mode.
min-input-width = 0
diff --git a/.config/vivaldi/customCSS/center_address_bar.css.bak b/.config/vivaldi/customCSS/center_address_bar.css.bak
deleted file mode 100644
index 21be0b9..0000000
--- a/.config/vivaldi/customCSS/center_address_bar.css.bak
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Url text on center */
-.UrlField {justify-content: center;}
-input#urlFieldInput {text-align:center;}
-.UrlBar-UrlObfuscationWarning {-webkit-app-region: no-drag !important;}
-
-#browser:has(.switcher):not(.toolbar-edit-mode) .toolbar-mainbar .toolbar-spacer:has(+.button-toolbar button[name="Back"]) {
- max-width: 0;
-}
-#browser.win:not(:has(.switcher)):not(.toolbar-edit-mode) .toolbar-mainbar .toolbar-spacer:has(+.button-toolbar button[name="Back"]) {
- min-width: calc(var(--leftbarwidth) - 34px - 34px - 34px - var(--browserborder))
-}
diff --git a/.config/vivaldi/customCSS/frame.css.bak b/.config/vivaldi/customCSS/frame.css.bak
deleted file mode 100644
index 06a31b5..0000000
--- a/.config/vivaldi/customCSS/frame.css.bak
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
-* Edge like border radius
-* Forum link: https://forum.vivaldi.net/topic/83618/edge-like-curved-frame-around-website
-*/
-
-#browser {
- --edge-like-border-radius: var(--radius); /* 0.5rem */
-}
-
-#webpage-stack {
- box-shadow: 0 0 0 var(--edge-like-border-radius) var(--colorAccentBg);
-
- margin-bottom: calc(var(--edge-like-border-radius) / 2);
- margin-right: calc(var(--edge-like-border-radius) / 2);
-}
-
-#browser.fullscreen #webpage-stack {
- margin-left: calc(var(--edge-like-border-radius) / 2);
-}
-
-#webpage-stack::before {
- content: '';
- position: absolute;
- width: 100%;
- height: 100%;
- border-radius: var(--edge-like-border-radius);
- /* border-top-left-radius: var(--edge-like-border-radius);
- border-bottom-left-radius: var(--edge-like-border-radius);
- border-top-right-radius: var(--edge-like-border-radius);
- border-bottom-right-radius: var(--edge-like-border-radius); */
- outline: var(--edge-like-border-radius) solid var(--colorAccentBg);
- z-index: 1;
- pointer-events: none;
-}
-
-#browser:not(.fullscreen) #panels-container:not(.icons):not(.overlay) {
- margin-right: calc(var(--edge-like-border-radius) / 4);
- padding-right: calc(var(--edge-like-border-radius) / 4);
-}
-
-#panels-container:not(.icons):not(.overlay) .panel-group {
- border-top-right-radius: var(--edge-like-border-radius);
- border-bottom-right-radius: var(--edge-like-border-radius);
- border-right: none;
-}
-
-#panels-container > button.SlideBar {
- background: var(--colorAccentBg);
-}
-
-.panel-group {
- transition: border-right 2s ease, width var(--duration) ease-out !important;
-}
-
-.panel-group::before {
- content: '';
- position: fixed;
- width: 100%;
- height: 100%;
- border-top-left-radius: var(--edge-like-border-radius);
- border-bottom-left-radius: var(--edge-like-border-radius);
- outline: var(--edge-like-border-radius) solid var(--colorAccentBg);
- z-index: 1;
- pointer-events: none;
-}
-
-#panels-container:not(.icons):not(.overlay) .panel-group::before {
- content: '';
- position: absolute;
- width: 100%;
- height: 100%;
- border-radius: var(--edge-like-border-radius);
- outline: var(--edge-like-border-radius) solid var(--colorAccentBg);
- z-index: 1;
- pointer-events: none;
-}
-
-.StatusInfo {
- margin-bottom: calc(var(--edge-like-border-radius) / 2);
- margin-left: calc(var(--edge-like-border-radius) / 2);
-}
-
-.panel-group {
- margin-bottom: calc(var(--edge-like-border-radius) / 2);
-}
diff --git a/.config/waybar/config b/.config/waybar/config
index 3d2a329..91ebefb 100644
--- a/.config/waybar/config
+++ b/.config/waybar/config
@@ -1,5 +1,6 @@
{
"layer": "bottom", // Waybar at top layer
+ // "position": "left", // needs css
// "position": "bottom", // Waybar position (top|bottom|left|right)
//"height": 30, // Waybar height (to be removed for auto height)
"height": 25,
@@ -8,9 +9,9 @@
// "width": 1280, // Waybar width
"spacing": 0, // Gaps between modules (4px)
// Choose the order of the modules
- "modules-left": ["hyprland/workspaces", "niri/workspaces", "niri/window"],
+ "modules-left": ["niri/workspaces", "niri/window"],
"modules-center": ["clock"],
- "modules-right": ["custom/media", "pulseaudio", "backlight", "temperature", "cpu", "memory", "battery", "hyprland/language", "idle_inhibitor", "tray"],
+ "modules-right": ["custom/media", "pulseaudio", "backlight", "temperature", "cpu", "memory", "battery", "idle_inhibitor", "tray"],
"hyprland/workspaces": {
"disable-scroll": false,
"all-outputs": false,
@@ -24,13 +25,15 @@
"niri/workspaces": {
"disable-scroll": false,
"warp-on-scroll": true,
- "format": "{name}",
+ // "format": "{name}",
"persistent-workspaces": {
- "*": 3,
+ "all-outputs": false,
+ "hide-empty": true,
+ //"*": 3,
},
},
"niri/window": {
- "format": "{title}"
+ "format": "{app_id}: {title}"
},
"hyprland/window": {
"format": "{title}"
@@ -45,10 +48,12 @@
"keyboard-state": {
// "numlock": true,
"capslock": true,
- "format": "{name} {icon}",
+ "format": "{icon}",
"format-icons": {
"locked": "",
"unlocked": ""
+ // "locked": "CAPS",
+ // "unlocked": ""
}
},
"wlr/taskbar": {
@@ -134,15 +139,15 @@
"pulseaudio": {
"scroll-step": 0.25, // %, can be a float
"format": "{volume}% {icon} {format_source}",
- "format-bluetooth": "{volume}% {icon} {format_source}",
- "format-bluetooth-muted": "{icon} {format_source}",
+ "format-bluetooth": "{volume}% {icon} {format_source}",
+ "format-bluetooth-muted": "{icon} {format_source}",
"format-muted": "{format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
- "hands-free": "",
- "headset": "",
+ // "hands-free": "",
+ // "headset": "",
"phone": "",
"portable": "",
"car": "",
@@ -150,7 +155,7 @@
},
"on-click": "pavucontrol-qt -t 3",
"on-click-middle": "amixer set Master Playback Switch toggle --quiet",
- "on-click-right": "~/Code/scripts/pipewire-switch-outputs-templar",
+ "on-click-right": "~/.local/share/scripts/pipewire-switch-outputs-templar.sh",
},
"idle_inhibitor": {
"format": "{icon}",
diff --git a/.config/wezterm/colors/Everforest Dark Hard.toml b/.config/wezterm/colors/Everforest Dark Hard.toml
new file mode 100644
index 0000000..1fff80f
--- /dev/null
+++ b/.config/wezterm/colors/Everforest Dark Hard.toml
@@ -0,0 +1,12 @@
+# Everforest Dark Hard
+[colors]
+foreground = "#d3c6aa"
+background = "#2d353b"
+cursor_bg = "#e69875"
+cursor_border = "#e69875"
+cursor_fg = "#4c3743"
+selection_bg = "#4c3743"
+selection_fg = "#d3c6aa"
+
+ansi = ["#7a8478","#e67e80","#a7c080","#dbbc7f","#7fbbb3","#d699b6","#83c092","#f2efdf"]
+brights = ["#a6b0a0","#f85552","#8da101","#dfa000","#3a94c5","#df69ba","#35a77c","#fffbef"]
diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua
new file mode 100644
index 0000000..3d7c489
--- /dev/null
+++ b/.config/wezterm/wezterm.lua
@@ -0,0 +1,22 @@
+local wezterm = require("wezterm")
+
+local config = wezterm.config_builder()
+
+config.color_scheme_dirs = { "colors" }
+config.color_scheme = "Everforest Dark Hard"
+
+config.font_size = 13
+config.font = wezterm.font("Hurmit Nerd Font", { weight = "Book" })
+
+config.enable_tab_bar = true
+config.hide_tab_bar_if_only_one_tab = true
+
+config.window_decorations = "NONE"
+config.window_padding = {
+ left = 0,
+ right = 0,
+ top = 0,
+ bottom = 0,
+}
+
+return config
diff --git a/.config/yazi/plugins/confirm-quit.yazi/main.lua b/.config/yazi/plugins/confirm-quit.yazi/main.lua
index 09788ee..e2914d3 100644
--- a/.config/yazi/plugins/confirm-quit.yazi/main.lua
+++ b/.config/yazi/plugins/confirm-quit.yazi/main.lua
@@ -4,16 +4,16 @@ end)
local function entry()
if count() < 2 then
- return ya.mgr_emit("quit", {})
+ return ya.emit("quit", {})
end
local yes = ya.confirm({
pos = { "center", w = 60, h = 9 },
title = "Quit?",
- content = ui.Text("\nMultiple tabs are open.\n\nAre you sure you want to quit?"):wrap(ui.Text.WRAP),
+ body = ui.Text("Multiple tabs are open. Are you sure you want to quit?"):wrap(ui.Wrap.YES),
})
if yes then
- ya.mgr_emit("quit", {})
+ ya.emit("quit", {})
end
end
diff --git a/.config/yazi/yazi.toml b/.config/yazi/yazi.toml
index a00f6be..588f024 100644
--- a/.config/yazi/yazi.toml
+++ b/.config/yazi/yazi.toml
@@ -10,8 +10,6 @@ image_delay = 100
image_filter = "triangle"
[confirm.quit]
-enabled = false
-origin = "center"
[confirm.trash]
diff --git a/.config/zellij/config.kdl b/.config/zellij/config.kdl
new file mode 100644
index 0000000..d77de56
--- /dev/null
+++ b/.config/zellij/config.kdl
@@ -0,0 +1,550 @@
+// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true"
+keybinds {
+ normal {
+ // uncomment this and adjust key if using copy_on_select=false
+ // bind "Alt c" { Copy; }
+ }
+ locked {
+ bind "Ctrl g" { SwitchToMode "Normal"; }
+ }
+ resize {
+ bind "Ctrl n" { SwitchToMode "Normal"; }
+ bind "h" "Left" { Resize "Increase Left"; }
+ bind "j" "Down" { Resize "Increase Down"; }
+ bind "k" "Up" { Resize "Increase Up"; }
+ bind "l" "Right" { Resize "Increase Right"; }
+ bind "H" { Resize "Decrease Left"; }
+ bind "J" { Resize "Decrease Down"; }
+ bind "K" { Resize "Decrease Up"; }
+ bind "L" { Resize "Decrease Right"; }
+ bind "=" "+" { Resize "Increase"; }
+ bind "-" { Resize "Decrease"; }
+ }
+ pane {
+ bind "Ctrl p" { SwitchToMode "Normal"; }
+ bind "h" "Left" { MoveFocus "Left"; }
+ bind "l" "Right" { MoveFocus "Right"; }
+ bind "j" "Down" { MoveFocus "Down"; }
+ bind "k" "Up" { MoveFocus "Up"; }
+ bind "p" { SwitchFocus; }
+ bind "n" { NewPane; SwitchToMode "Normal"; }
+ bind "d" { NewPane "Down"; SwitchToMode "Normal"; }
+ bind "r" { NewPane "Right"; SwitchToMode "Normal"; }
+ bind "s" { NewPane "stacked"; SwitchToMode "Normal"; }
+ bind "x" { CloseFocus; SwitchToMode "Normal"; }
+ bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
+ bind "z" { TogglePaneFrames; SwitchToMode "Normal"; }
+ bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; }
+ bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; }
+ bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;}
+ bind "i" { TogglePanePinned; SwitchToMode "Normal"; }
+ }
+ move {
+ bind "Ctrl h" { SwitchToMode "Normal"; }
+ bind "n" "Tab" { MovePane; }
+ bind "p" { MovePaneBackwards; }
+ bind "h" "Left" { MovePane "Left"; }
+ bind "j" "Down" { MovePane "Down"; }
+ bind "k" "Up" { MovePane "Up"; }
+ bind "l" "Right" { MovePane "Right"; }
+ }
+ tab {
+ bind "Ctrl t" { SwitchToMode "Normal"; }
+ bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; }
+ bind "h" "Left" "Up" "k" { GoToPreviousTab; }
+ bind "p" { GoToPreviousTab; SwitchToMode "Normal"; }
+ bind "l" "Right" "Down" "j" { GoToNextTab; }
+ bind "n" { GoToNextTab; SwitchToMode "Normal"; }
+ bind "a" { NewTab; SwitchToMode "Normal"; }
+ bind "x" { CloseTab; SwitchToMode "Normal"; }
+ bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; }
+ bind "b" { BreakPane; SwitchToMode "Normal"; }
+ bind "]" { BreakPaneRight; SwitchToMode "Normal"; }
+ bind "[" { BreakPaneLeft; SwitchToMode "Normal"; }
+ bind "1" { GoToTab 1; SwitchToMode "Normal"; }
+ bind "2" { GoToTab 2; SwitchToMode "Normal"; }
+ bind "3" { GoToTab 3; SwitchToMode "Normal"; }
+ bind "4" { GoToTab 4; SwitchToMode "Normal"; }
+ bind "5" { GoToTab 5; SwitchToMode "Normal"; }
+ bind "6" { GoToTab 6; SwitchToMode "Normal"; }
+ bind "7" { GoToTab 7; SwitchToMode "Normal"; }
+ bind "8" { GoToTab 8; SwitchToMode "Normal"; }
+ bind "9" { GoToTab 9; SwitchToMode "Normal"; }
+ bind "Tab" { ToggleTab; }
+ }
+ scroll {
+ bind "Ctrl s" { SwitchToMode "Normal"; }
+ bind "e" { EditScrollback; SwitchToMode "Normal"; }
+ bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; }
+ bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
+ bind "j" "Down" { ScrollDown; }
+ bind "k" "Up" { ScrollUp; }
+ bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
+ bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
+ bind "d" { HalfPageScrollDown; }
+ bind "u" { HalfPageScrollUp; }
+ // uncomment this and adjust key if using copy_on_select=false
+ // bind "Alt c" { Copy; }
+ }
+ search {
+ bind "Ctrl s" { SwitchToMode "Normal"; }
+ bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
+ bind "j" "Down" { ScrollDown; }
+ bind "k" "Up" { ScrollUp; }
+ bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
+ bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
+ bind "d" { HalfPageScrollDown; }
+ bind "u" { HalfPageScrollUp; }
+ bind "n" { Search "down"; }
+ bind "p" { Search "up"; }
+ bind "c" { SearchToggleOption "CaseSensitivity"; }
+ bind "w" { SearchToggleOption "Wrap"; }
+ bind "o" { SearchToggleOption "WholeWord"; }
+ }
+ entersearch {
+ bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; }
+ bind "Enter" { SwitchToMode "Search"; }
+ }
+ renametab {
+ bind "Ctrl c" { SwitchToMode "Normal"; }
+ bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; }
+ }
+ renamepane {
+ bind "Ctrl c" { SwitchToMode "Normal"; }
+ bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; }
+ }
+ session {
+ bind "Ctrl o" { SwitchToMode "Normal"; }
+ bind "Ctrl s" { SwitchToMode "Scroll"; }
+ bind "d" { Detach; }
+ bind "w" {
+ LaunchOrFocusPlugin "session-manager" {
+ floating true
+ move_to_focused_tab true
+ };
+ SwitchToMode "Normal"
+ }
+ bind "c" {
+ LaunchOrFocusPlugin "configuration" {
+ floating true
+ move_to_focused_tab true
+ };
+ SwitchToMode "Normal"
+ }
+ bind "p" {
+ LaunchOrFocusPlugin "plugin-manager" {
+ floating true
+ move_to_focused_tab true
+ };
+ SwitchToMode "Normal"
+ }
+ bind "a" {
+ LaunchOrFocusPlugin "zellij:about" {
+ floating true
+ move_to_focused_tab true
+ };
+ SwitchToMode "Normal"
+ }
+ bind "s" {
+ LaunchOrFocusPlugin "zellij:share" {
+ floating true
+ move_to_focused_tab true
+ };
+ SwitchToMode "Normal"
+ }
+ bind "l" {
+ LaunchOrFocusPlugin "zellij:layout-manager" {
+ floating true
+ move_to_focused_tab true
+ };
+ SwitchToMode "Normal"
+ }
+ }
+ tmux {
+ bind "[" { SwitchToMode "Scroll"; }
+ bind "Ctrl b" { Write 2; SwitchToMode "Normal"; }
+ bind "\"" { NewPane "Down"; SwitchToMode "Normal"; }
+ bind "%" { NewPane "Right"; SwitchToMode "Normal"; }
+ bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
+ bind "c" { NewTab; SwitchToMode "Normal"; }
+ bind "," { SwitchToMode "RenameTab"; }
+ bind "p" { GoToPreviousTab; SwitchToMode "Normal"; }
+ bind "n" { GoToNextTab; SwitchToMode "Normal"; }
+ bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; }
+ bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; }
+ bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; }
+ bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; }
+ bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; }
+ bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; }
+ bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; }
+ bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; }
+ bind "o" { FocusNextPane; }
+ bind "d" { Detach; }
+ bind "Space" { NextSwapLayout; }
+ bind "x" { CloseFocus; SwitchToMode "Normal"; }
+ }
+ shared_except "locked" {
+ bind "Ctrl g" "Esc" { SwitchToMode "Locked"; }
+ bind "Ctrl q" { Quit; }
+ bind "Alt f" { ToggleFloatingPanes; }
+ bind "Alt n" { NewPane; }
+ bind "Alt i" { MoveTab "Left"; }
+ bind "Alt o" { MoveTab "Right"; }
+ bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; }
+ bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; }
+ bind "Alt j" "Alt Down" { MoveFocus "Down"; }
+ bind "Alt k" "Alt Up" { MoveFocus "Up"; }
+ bind "Alt =" "Alt +" { Resize "Increase"; }
+ bind "Alt -" { Resize "Decrease"; }
+ bind "Alt [" { PreviousSwapLayout; }
+ bind "Alt ]" { NextSwapLayout; }
+ bind "Alt p" { TogglePaneInGroup; }
+ bind "Alt Shift p" { ToggleGroupMarking; }
+ }
+ shared_except "normal" "locked" {
+ bind "Enter" "Esc" { SwitchToMode "Normal"; }
+ }
+ shared_except "pane" "locked" {
+ // unbind "Ctrl p"
+ // bind "Ctrl Shift p" { SwitchToMode "Pane"; }
+ bind "Ctrl Shift p" { SwitchToMode "Pane"; }
+ }
+ shared_except "resize" "locked" {
+ bind "Ctrl n" { SwitchToMode "Resize"; }
+ }
+ shared_except "scroll" "locked" {
+ bind "Ctrl s" { SwitchToMode "Scroll"; }
+ }
+ shared_except "session" "locked" {
+ bind "Ctrl o" { SwitchToMode "Session"; }
+ }
+ shared_except "tab" "locked" {
+ bind "Ctrl t" { SwitchToMode "Tab"; }
+ }
+ shared_except "move" "locked" {
+ bind "Ctrl h" { SwitchToMode "Move"; }
+ }
+ shared_except "tmux" "locked" {
+ bind "Ctrl b" { SwitchToMode "Tmux"; }
+ }
+}
+
+// Plugin aliases - can be used to change the implementation of Zellij
+// changing these requires a restart to take effect
+plugins {
+ tab-bar location="zellij:tab-bar"
+ status-bar location="zellij:status-bar"
+ strider location="zellij:strider"
+ compact-bar location="zellij:compact-bar"
+ session-manager location="zellij:session-manager"
+ welcome-screen location="zellij:session-manager" {
+ welcome_screen true
+ }
+ filepicker location="zellij:strider" {
+ cwd "/"
+ }
+ configuration location="zellij:configuration"
+ plugin-manager location="zellij:plugin-manager"
+ about location="zellij:about"
+}
+
+// Plugins to load in the background when a new session starts
+load_plugins {
+ "zellij:link"
+ // "file:/path/to/my-plugin.wasm"
+ // "https://example.com/my-plugin.wasm"
+}
+
+// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
+// eg. when terminal window with an active zellij session is closed
+// (Requires restart)
+// Options:
+// - detach (Default)
+// - quit
+//
+// on_force_close "quit"
+
+// Send a request for a simplified ui (without arrow fonts) to plugins
+// Options:
+// - true
+// - false (Default)
+//
+// simplified_ui true
+
+// Choose the path to the default shell that zellij will use for opening new panes
+// Default: $SHELL
+//
+// default_shell "fish"
+
+// Choose the path to override cwd that zellij will use for opening new panes
+//
+// default_cwd ""
+
+// Toggle between having pane frames around the panes
+// Options:
+// - true (default)
+// - false
+//
+pane_frames false
+
+// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
+// Options:
+// - true (default)
+// - false
+//
+// auto_layout true
+
+// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
+// (Requires restart)
+// Options:
+// - true (default)
+// - false
+//
+// session_serialization false
+
+// Whether pane viewports are serialized along with the session, default is false
+// (Requires restart)
+// Options:
+// - true
+// - false (default)
+//
+// serialize_pane_viewport true
+
+// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
+// defaults to the scrollback size. If this number is higher than the scrollback size, it will
+// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
+// (Requires restart)
+//
+// scrollback_lines_to_serialize 10000
+
+// Define color themes for Zellij
+// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes
+// Once these themes are defined, one of them should to be selected in the "theme" section of this file
+//
+// themes {
+// dracula {
+// fg 248 248 242
+// bg 40 42 54
+// red 255 85 85
+// green 80 250 123
+// yellow 241 250 140
+// blue 98 114 164
+// magenta 255 121 198
+// orange 255 184 108
+// cyan 139 233 253
+// black 0 0 0
+// white 255 255 255
+// }
+// }
+
+// Choose the theme that is specified in the themes section.
+// Default: default
+//
+// theme "default"
+theme "everforest-dark"
+
+// The name of the default layout to load on startup
+// Default: "default"
+// (Requires restart)
+//
+// default_layout "compact"
+
+// Choose the mode that zellij uses when starting up.
+// Default: normal
+//
+// default_mode "locked"
+
+// Toggle enabling the mouse mode.
+// On certain configurations, or terminals this could
+// potentially interfere with copying text.
+// (Requires restart)
+// Options:
+// - true (default)
+// - false
+//
+// mouse_mode false
+
+// Configure the scroll back buffer size
+// This is the number of lines zellij stores for each pane in the scroll back
+// buffer. Excess number of lines are discarded in a FIFO fashion.
+// (Requires restart)
+// Valid values: positive integers
+// Default value: 10000
+//
+// scroll_buffer_size 10000
+
+// Provide a command to execute when copying text. The text will be piped to
+// the stdin of the program to perform the copy. This can be used with
+// terminal emulators which do not support the OSC 52 ANSI control sequence
+// that will be used by default if this option is not set.
+// Examples:
+//
+// copy_command "xclip -selection clipboard" // x11
+copy_command "wl-copy" // wayland
+// copy_command "pbcopy" // osx
+
+// Choose the destination for copied text
+// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
+// Does not apply when using copy_command.
+// Options:
+// - system (default)
+// - primary
+//
+copy_clipboard "system"
+
+// Enable or disable automatic copy (and clear) of selection when releasing mouse
+// Default: true
+//
+copy_on_select true
+
+// Path to the default editor to use to edit pane scrollbuffer
+// Default: $EDITOR or $VISUAL
+//
+// scrollback_editor "/usr/bin/vim"
+
+// When attaching to an existing session with other users,
+// should the session be mirrored (true)
+// or should each user have their own cursor (false)
+// (Requires restart)
+// Default: false
+//
+// mirror_session true
+
+// The folder in which Zellij will look for layouts
+// (Requires restart)
+//
+// layout_dir "/path/to/my/layout_dir"
+
+// The folder in which Zellij will look for themes
+// (Requires restart)
+//
+// theme_dir "/path/to/my/theme_dir"
+
+// Enable or disable the rendering of styled and colored underlines (undercurl).
+// May need to be disabled for certain unsupported terminals
+// (Requires restart)
+// Default: true
+//
+// styled_underlines false
+
+// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
+// metadata info on this session)
+// (Requires restart)
+// Default: false
+//
+// disable_session_metadata true
+
+// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
+// (Requires restart)
+// Default: true (if the host terminal supports it)
+//
+// support_kitty_keyboard_protocol false
+
+// Whether to make sure a local web server is running when a new Zellij session starts.
+// This web server will allow creating new sessions and attaching to existing ones that have
+// opted in to being shared in the browser.
+// When enabled, navigate to http://127.0.0.1:8082
+// (Requires restart)
+//
+// Note: a local web server can still be manually started from within a Zellij session or from the CLI.
+// If this is not desired, one can use a version of Zellij compiled without
+// `web_server_capability`
+//
+// Possible values:
+// - true
+// - false
+// Default: false
+//
+// web_server true
+
+// Whether to allow sessions started in the terminal to be shared through a local web server, assuming one is
+// running (see the `web_server` option for more details).
+// (Requires restart)
+//
+// Note: This is an administrative separation and not intended as a security measure.
+//
+// Possible values:
+// - "on" (allow web sharing through the local web server if it
+// is online)
+// - "off" (do not allow web sharing unless sessions explicitly opt-in to it)
+// - "disabled" (do not allow web sharing and do not permit sessions started in the terminal to opt-in to it)
+// Default: "off"
+//
+// web_sharing "on"
+
+// The ip address the web server should listen on when it starts
+// Default: "127.0.0.1"
+// (Requires restart)
+//
+// web_server_ip "127.0.0.1"
+
+
+// A path to a certificate file to be used when setting up the web client to serve the
+// connection over HTTPs
+//
+// web_server_cert "/path/to/my/cert.pem"
+
+// A path to a key file to be used when setting up the web client to serve the
+// connection over HTTPs
+//
+// web_server_key "/path/to/my/key.pem"
+
+// Whether to enforce https connections to the web server when it is bound to localhost
+// (127.0.0.0/8)
+//
+// Note: https is ALWAYS enforced when bound to non-local interfaces
+//
+// Default: false
+//
+// enforce_https_for_localhost true
+
+// The port the web server should listen on when it starts
+// Default: 8082
+// (Requires restart)
+//
+// web_server_port 8082
+
+// Whether to stack panes when resizing beyond a certain size
+// Default: true
+//
+// stacked_resize false
+
+// Whether to show release notes on first version run
+// Default: true
+//
+// show_release_notes false
+
+// Whether to enable mouse hover effects and pane grouping functionality
+// Default: true
+//
+// advanced_mouse_actions false
+
+// Whether to enable mouse hover visual effects (frame highlight and help text)
+// Default: true
+//
+// mouse_hover_effects false
+
+// Whether to output OSC8 hyperlink sequences
+// Default: true
+//
+// osc8_hyperlinks false
+
+// A command to run (will be wrapped with sh -c and provided the RESURRECT_COMMAND env variable)
+// after Zellij attempts to discover a command inside a pane when resurrecting sessions, the STDOUT
+// of this command will be used instead of the discovered RESURRECT_COMMAND
+// can be useful for removing wrappers around commands
+// Note: be sure to escape backslashes and similar characters properly
+//
+// post_command_discovery_hook "echo $RESURRECT_COMMAND | sed "
+
+// Number of async worker tasks to spawn per active client.
+//
+// Allocating few tasks may result in resource contention and lags. Small values (around 4) should
+// typically work best. Set to 0 to use the number of (physical) CPU cores.
+// NOTE: This only applies to web clients at the moment."#;
+// client_async_worker_tasks 4
+
+
+web_client {
+ font "monospace"
+}
diff --git a/.config/zellij/layouts/new_try_from_default.kdl b/.config/zellij/layouts/new_try_from_default.kdl
new file mode 100644
index 0000000..c7b75c0
--- /dev/null
+++ b/.config/zellij/layouts/new_try_from_default.kdl
@@ -0,0 +1,337 @@
+layout {
+ cwd "/home/felix"
+ tab name="Tab #1" focus=true {
+ pane size=1 borderless=true {
+ plugin location="zellij:tab-bar"
+ }
+ pane split_direction="vertical" {
+ pane command="nvim" cwd="Code/CODE/2026_final_stretch_SS+SS/oeffimaster" size="59%" {
+ start_suspended true
+ }
+ pane size="40%" stacked=true {
+ pane command="/opt/flutter/bin/cache/dart-sdk/bin/dartvm" cwd="Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ args "--resolved_executable_name=/opt/flutter/bin/cache/dart-sdk/bin/dart" "--executable_name=/opt/flutter/bin/cache/dart-sdk/bin/dart" "--packages=/opt/flutter/packages/flutter_tools/.dart_tool/package_config.json" "/opt/flutter/bin/cache/flutter_tools.snapshot" "run"
+ start_suspended true
+ }
+ pane command="sqlite3" cwd="Code/CODE/2026_final_stretch_SS+SS/oeffimaster" expanded=true {
+ args ".dart_tool/sqflite_common_ffi/databasesoeffimasterTransportDb"
+ start_suspended true
+ }
+ pane command="git" cwd="Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ args "lgb"
+ start_suspended true
+ }
+ }
+ }
+ pane size=1 borderless=true {
+ plugin location="zellij:status-bar"
+ }
+ }
+ tab name="Tab #2" hide_floating_panes=true {
+ pane size=1 borderless=true {
+ plugin location="zellij:tab-bar"
+ }
+ pane command="nvim" {
+ start_suspended true
+ }
+ pane size=1 borderless=true {
+ plugin location="zellij:status-bar"
+ }
+ }
+ tab name="Tab #3" hide_floating_panes=true {
+ pane size=1 borderless=true {
+ plugin location="zellij:tab-bar"
+ }
+ pane edit="Code/CODE/RlwyNetSim/src/main.rs" cwd="Code/CODE/RlwyNetSim"
+ pane size=1 borderless=true {
+ plugin location="zellij:status-bar"
+ }
+ }
+ new_tab_template {
+ pane size=1 borderless=true {
+ plugin location="zellij:tab-bar"
+ }
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster"
+ pane size=1 borderless=true {
+ plugin location="zellij:status-bar"
+ }
+ }
+ swap_tiled_layout name="vertical" {
+ tab max_panes=5 {
+ pane size=1 borderless=true {
+ plugin location="zellij:tab-bar"
+ }
+ pane {
+ pane split_direction="vertical" {
+ pane
+ pane {
+ children
+ }
+ }
+ }
+ pane size=1 borderless=true {
+ plugin location="zellij:status-bar"
+ }
+ }
+ tab max_panes=8 {
+ pane size=1 borderless=true {
+ plugin location="zellij:tab-bar"
+ }
+ pane {
+ pane split_direction="vertical" {
+ pane {
+ children
+ }
+ pane {
+ pane
+ pane
+ pane
+ pane
+ }
+ }
+ }
+ pane size=1 borderless=true {
+ plugin location="zellij:status-bar"
+ }
+ }
+ tab max_panes=12 {
+ pane size=1 borderless=true {
+ plugin location="zellij:tab-bar"
+ }
+ pane {
+ pane split_direction="vertical" {
+ pane {
+ children
+ }
+ pane {
+ pane
+ pane
+ pane
+ pane
+ }
+ pane {
+ pane
+ pane
+ pane
+ pane
+ }
+ }
+ }
+ pane size=1 borderless=true {
+ plugin location="zellij:status-bar"
+ }
+ }
+ }
+ swap_tiled_layout name="horizontal" {
+ tab max_panes=4 {
+ pane size=1 borderless=true {
+ plugin location="zellij:tab-bar"
+ }
+ pane {
+ pane
+ pane
+ }
+ pane size=1 borderless=true {
+ plugin location="zellij:status-bar"
+ }
+ }
+ tab max_panes=8 {
+ pane size=1 borderless=true {
+ plugin location="zellij:tab-bar"
+ }
+ pane {
+ pane {
+ pane split_direction="vertical" {
+ children
+ }
+ pane split_direction="vertical" {
+ pane
+ pane
+ pane
+ pane
+ }
+ }
+ }
+ pane size=1 borderless=true {
+ plugin location="zellij:status-bar"
+ }
+ }
+ tab max_panes=12 {
+ pane size=1 borderless=true {
+ plugin location="zellij:tab-bar"
+ }
+ pane {
+ pane {
+ pane split_direction="vertical" {
+ children
+ }
+ pane split_direction="vertical" {
+ pane
+ pane
+ pane
+ pane
+ }
+ pane split_direction="vertical" {
+ pane
+ pane
+ pane
+ pane
+ }
+ }
+ }
+ pane size=1 borderless=true {
+ plugin location="zellij:status-bar"
+ }
+ }
+ }
+ swap_tiled_layout name="stacked" {
+ tab min_panes=5 {
+ pane size=1 borderless=true {
+ plugin location="zellij:tab-bar"
+ }
+ pane {
+ pane split_direction="vertical" {
+ pane
+ pane stacked=true {
+ children
+ }
+ }
+ }
+ pane size=1 borderless=true {
+ plugin location="zellij:status-bar"
+ }
+ }
+ }
+ swap_floating_layout name="staggered" {
+ floating_panes {
+
+ }
+ }
+ swap_floating_layout name="enlarged" {
+ floating_panes max_panes=10 {
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ height "90%"
+ width "90%"
+ x "5%"
+ y 1
+ }
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ height "90%"
+ width "90%"
+ x "5%"
+ y 2
+ }
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ height "90%"
+ width "90%"
+ x "5%"
+ y 3
+ }
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ height "90%"
+ width "90%"
+ x "5%"
+ y 4
+ }
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ height "90%"
+ width "90%"
+ x "5%"
+ y 5
+ }
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ height "90%"
+ width "90%"
+ x "5%"
+ y 6
+ }
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ height "90%"
+ width "90%"
+ x "5%"
+ y 7
+ }
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ height "90%"
+ width "90%"
+ x "5%"
+ y 8
+ }
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ height "90%"
+ width "90%"
+ x "5%"
+ y 9
+ }
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ height "90%"
+ width "90%"
+ x 10
+ y 10
+ }
+ }
+ }
+ swap_floating_layout name="spread" {
+ floating_panes max_panes=1 {
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ x "50%"
+ y "50%"
+ }
+ }
+ floating_panes max_panes=2 {
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ width "45%"
+ x "1%"
+ y "25%"
+ }
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ width "45%"
+ x "50%"
+ y "25%"
+ }
+ }
+ floating_panes max_panes=3 {
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ height "45%"
+ width "45%"
+ y "55%"
+ }
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ width "45%"
+ x "1%"
+ y "1%"
+ }
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ width "45%"
+ x "50%"
+ y "1%"
+ }
+ }
+ floating_panes max_panes=4 {
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ height "45%"
+ width "45%"
+ x "1%"
+ y "55%"
+ }
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ height "45%"
+ width "45%"
+ x "50%"
+ y "55%"
+ }
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ height "45%"
+ width "45%"
+ x "1%"
+ y "1%"
+ }
+ pane cwd="/home/felix/Code/CODE/2026_final_stretch_SS+SS/oeffimaster" {
+ height "45%"
+ width "45%"
+ x "50%"
+ y "1%"
+ }
+ }
+ }
+}
diff --git a/.editorconfig b/.editorconfig
index 6664713..88c2cf3 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -11,6 +11,9 @@ indent_style = tab
indent_size = 4
trim_trailing_whitespace = true
+[*.{dart}]
+insert_final_newline = false
+
# Matches multiple files with brace expansion notation
# Set default charset
[*.{js,py}]
@@ -24,9 +27,15 @@ indent_size = 4
indent_style = tab
indent_size = 2
-[*.md]
+[*.{md,txt}]
indent_style = tab
indent_size = 4
+trim_trailing_whitespace = false
+
+[*.{typ}]
+indent_style = tab
+indent_size = 2
+trim_trailing_whitespace = false
[*.py]
indent_style = space
@@ -60,3 +69,7 @@ indent_size = 2
[{package.json,.travis.yml}]
indent_style = space
indent_size = 2
+
+[*.yaml,*.yml]
+indent_style = space
+indent_size = 2
diff --git a/.instructions/fix-mime b/.instructions/fix-mime
new file mode 100644
index 0000000..e3c9f8d
--- /dev/null
+++ b/.instructions/fix-mime
@@ -0,0 +1,13 @@
+// to open files according to .config/mimeapps.list,
+// follow instructions on https://github.com/n4zz/Fix-Dolphin-File-Associations
+
+in short:
+ sudo pacman -Sy archlinux-xdg-menu
+ ls /etc/xdg/menus
+ cd /etc/xdg/menus
+ sudo mv arch-applications-menu applications.menu
+ kbuildsyscoca6 --incremental
+
+to check:
+ nvim ~/.config/mimeapps.list
+all entries should be valid, ending with a .desktop (I think) and a semicolon; at the EOL
diff --git a/.local/share/scripts/alsa-fp-switch.sh b/.local/share/scripts/alsa-fp-switch.sh
new file mode 100755
index 0000000..b074ef9
--- /dev/null
+++ b/.local/share/scripts/alsa-fp-switch.sh
@@ -0,0 +1,49 @@
+#!/bin/bash
+SCRIPT_VERSION=0.4.64
+
+#alsa-fp-switch.sh
+#ASUS Xonar DX Front Panel mute and unmute Bash Script
+#Build version: 1.1
+#Build date: 2017.12.15.
+#Made by Tamas Banki
+
+#################################################################################
+#Copyright (C) 2007 Free Software Foundation.
+
+#This program is free software; you can redistribute it and/or modify
+#it under the terms of the GNU General Public License as published by
+#the Free Software Foundation; either version 2 of the License, or
+#(at your option) any later version.
+
+#This program is distributed in the hope that it will be useful,
+#but WITHOUT ANY WARRANTY; without even the implied warranty of
+#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#GNU General Public License for more details.
+
+#You should have received a copy of the GNU General Public License
+#along with this program; if not, write to the Free Software
+#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+##################################################################################
+
+input=$(arecord -l)
+
+if [[ $input == *"card 0: DX [Xonar DX]"* ]]; then
+ card_number="0"
+elif [[ $input == *"card 1: DX [Xonar DX]"* ]]; then
+ card_number="1"
+elif [[ $input == *"card 2: DX [Xonar DX]"* ]]; then
+ card_number="2"
+elif [[ $input == *"card 3: DX [Xonar DX]"* ]]; then
+ card_number="3"
+elif [[ $input == *"card 4: DX [Xonar DX]"* ]]; then
+ card_number="4"
+fi
+
+
+input=$(amixer -c "$card_number" sget "Front Panel")
+
+if [[ $input == *"Mono: Playback [off]"* ]]; then
+ amixer -c "$card_number" -- sset "Front Panel" unmute
+elif [[ $input == *"Mono: Playback [on]"* ]]; then
+ amixer -c "$card_number" -- sset "Front Panel" mute
+fi
diff --git a/.local/share/scripts/alsa-mic-amp.sh b/.local/share/scripts/alsa-mic-amp.sh
new file mode 100755
index 0000000..86f232b
--- /dev/null
+++ b/.local/share/scripts/alsa-mic-amp.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+SCRIPT_VERSION=0.4.64
+
+#alsa-fp-switch.sh
+#ASUS Xonar DX Front Panel mute and unmute Bash Script
+#Build version: 1.1
+#Build date: 2017.12.15.
+#Made by Tamas Banki
+
+#################################################################################
+#Copyright (C) 2007 Free Software Foundation.
+
+#This program is free software; you can redistribute it and/or modify
+#it under the terms of the GNU General Public License as published by
+#the Free Software Foundation; either version 2 of the License, or
+#(at your option) any later version.
+
+#This program is distributed in the hope that it will be useful,
+#but WITHOUT ANY WARRANTY; without even the implied warranty of
+#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#GNU General Public License for more details.
+
+#You should have received a copy of the GNU General Public License
+#along with this program; if not, write to the Free Software
+#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+##################################################################################
+
+input=$(arecord -l)
+
+if [[ $input == *"card 0: DX [Xonar DX]"* ]]; then
+ card_number="0"
+elif [[ $input == *"card 1: DX [Xonar DX]"* ]]; then
+ card_number="1"
+elif [[ $input == *"card 2: DX [Xonar DX]"* ]]; then
+ card_number="2"
+elif [[ $input == *"card 3: DX [Xonar DX]"* ]]; then
+ card_number="3"
+elif [[ $input == *"card 4: DX [Xonar DX]"* ]]; then
+ card_number="4"
+fi
+
+
+input=$(amixer -c "$card_number" sget "Mic Boost (+20dB)")
+
+#it just needs to be on
+amixer -c "$card_number" -- sset "Mic Boost (+20dB)" unmute
+
+# if [[ $input == *"Mono: Playback [off]"* ]]; then
+# amixer -c "$card_number" -- sset "Mic Boost (+20dB)" unmute
+# elif [[ $input == *"Mono: Playback [on]"* ]]; then
+# amixer -c "$card_number" -- sset "Mic Boost (+20dB)" mute
+# fi
diff --git a/.local/share/scripts/pipewire-switch-outputs-templar.sh b/.local/share/scripts/pipewire-switch-outputs-templar.sh
new file mode 100755
index 0000000..242505a
--- /dev/null
+++ b/.local/share/scripts/pipewire-switch-outputs-templar.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+# script to switch between the two audio outputs on my desktop
+
+headphone_templar=$(pactl list short sinks | grep analog-stereo | awk '{print $2}')
+hdmi_sound_templar=$(pactl list short sinks | grep iec958-stereo | awk '{print $2}')
+
+if [[ $(pactl get-default-sink) == $headphone_templar ]]; then
+ pactl set-default-sink $hdmi_sound_templar
+elif [[ $(pactl get-default-sink) == $hdmi_sound_templar ]]; then
+ pactl set-default-sink $headphone_templar
+fi
diff --git a/.local/share/scripts/tofi/brightnessmenu.fish b/.local/share/scripts/tofi/brightnessmenu.fish
new file mode 100755
index 0000000..4bea410
--- /dev/null
+++ b/.local/share/scripts/tofi/brightnessmenu.fish
@@ -0,0 +1,6 @@
+#!/usr/bin/fish
+set b $(seq 0 5 100 | tofi --config ~/.config/tofi/brightness_config)
+
+for i in (ddcutil detect | rg Display | sed -r "s/^Display (\d*)/$1/")
+ ddcutil setvcp 10 $b -d $i
+end
diff --git a/.config/hypr/tofi_scripts/brightnessmenu.sh b/.local/share/scripts/tofi/brightnessmenu.sh
similarity index 52%
rename from .config/hypr/tofi_scripts/brightnessmenu.sh
rename to .local/share/scripts/tofi/brightnessmenu.sh
index eea9e20..2811eac 100755
--- a/.config/hypr/tofi_scripts/brightnessmenu.sh
+++ b/.local/share/scripts/tofi/brightnessmenu.sh
@@ -3,6 +3,6 @@ b=$( for ((i=0;i<=100;i+=5)) do
echo $i
done| tofi --config ~/.config/tofi/brightness_config)
-for ((i=0; i<3;i++)) do
- ddcutil setvcp 10 $b -d $i
+for i in $(ddcutil detect | rg Display | sed -r "s/^Display (\d*)/$1/")
+ do ddcutil setvcp 10 $b -d $i
done
diff --git a/.config/hypr/tofi_scripts/cliphist.sh b/.local/share/scripts/tofi/cliphist.sh
similarity index 100%
rename from .config/hypr/tofi_scripts/cliphist.sh
rename to .local/share/scripts/tofi/cliphist.sh
diff --git a/.config/hypr/tofi_scripts/powermenu.sh b/.local/share/scripts/tofi/powermenu.sh
similarity index 100%
rename from .config/hypr/tofi_scripts/powermenu.sh
rename to .local/share/scripts/tofi/powermenu.sh
diff --git a/resolv.dgav_neu.conf b/resolv.dgav_neu.conf
new file mode 100644
index 0000000..382902b
--- /dev/null
+++ b/resolv.dgav_neu.conf
@@ -0,0 +1,5 @@
+# Generated by resolvconf
+search fritz.box
+nameserver 10.1.1.1
+nameserver fd00:10:1:1:c523:a039:1a28:3620
+nameserver fd00:10:1:1:464e:6dff:fe60:a35b