From ca9d48360676cd41799de49d3d13486cb04b9615 Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Fri, 28 Feb 2025 23:30:04 -0500 Subject: [PATCH 01/16] AutoYADM commit: 2025-02-28 23:30:04 --- .config/ghostty/config | 2 +- .config/harper-ls/dictionary.txt | Bin 20 -> 22 bytes .config/kitty/kitty.conf | 2 +- .config/sway/config | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.config/ghostty/config b/.config/ghostty/config index cb232026..64315017 120000 --- a/.config/ghostty/config +++ b/.config/ghostty/config @@ -1 +1 @@ -config##hostname.dpad \ No newline at end of file +config##hostname.dbox \ No newline at end of file diff --git a/.config/harper-ls/dictionary.txt b/.config/harper-ls/dictionary.txt index 4f34a98090f02144b1ec9f54f707e278ba0042d3..1e9f879aceed4be3440d94af8c87996ded471612 100644 GIT binary patch literal 22 dcmZQ@_Y83kiVO&0*kf66*83NGO~9QQSpZVw2%i7| literal 20 bcmZ<`cI9$(@o?etNKDR7EecA^%jN Date: Sat, 1 Mar 2025 09:15:04 -0500 Subject: [PATCH 02/16] AutoYADM commit: 2025-03-01 09:15:04 --- .config/harper-ls/dictionary.txt | Bin 22 -> 0 bytes .config/helix/languages.toml | 12 ++++++------ 2 files changed, 6 insertions(+), 6 deletions(-) delete mode 100644 .config/harper-ls/dictionary.txt diff --git a/.config/harper-ls/dictionary.txt b/.config/harper-ls/dictionary.txt deleted file mode 100644 index 1e9f879aceed4be3440d94af8c87996ded471612..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22 dcmZQ@_Y83kiVO&0*kf66*83NGO~9QQSpZVw2%i7| diff --git a/.config/helix/languages.toml b/.config/helix/languages.toml index de0bed95..5236e968 100644 --- a/.config/helix/languages.toml +++ b/.config/helix/languages.toml @@ -97,10 +97,10 @@ language-servers = ["harper-ls"] [[grammar]] name = "ini" -scope = "source.ini" -injection-regex = "ini" -comment-token = "#" -indent = { tab-width = 4, unit = "\t" } +# scope = "source.ini" +# injection-regex = "ini" +# comment-token = "#" +# indent = { tab-width = 4, unit = "\t" } source.path = "/home/fic/dev/tree-sitter-ini" [[language]] name = "ini" @@ -131,7 +131,7 @@ file-types = [ "conf", "properties", "cfg", - "directory" + "directory", ] # [[grammar]] # name = "mail" @@ -170,7 +170,7 @@ source = { git = "https://github.com/ficcdaf/tree-sitter-mail", rev = "8e60f38ef [[language]] name = "python" -language-servers = [ "basedpyright" ] +language-servers = ["basedpyright"] [[language]] name = "kdl" From 5b22e8bcc25a23058d8ae19a3775e10565fdc20b Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Sat, 1 Mar 2025 09:30:04 -0500 Subject: [PATCH 03/16] AutoYADM commit: 2025-03-01 09:30:04 --- .config/helix/languages.toml | 9 +++++---- .config/niri/config.kdl##hostname.dbox | 26 ++++++++++++++++---------- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/.config/helix/languages.toml b/.config/helix/languages.toml index 5236e968..997c998f 100644 --- a/.config/helix/languages.toml +++ b/.config/helix/languages.toml @@ -97,12 +97,13 @@ language-servers = ["harper-ls"] [[grammar]] name = "ini" -# scope = "source.ini" -# injection-regex = "ini" -# comment-token = "#" -# indent = { tab-width = 4, unit = "\t" } + source.path = "/home/fic/dev/tree-sitter-ini" [[language]] +scope = "source.ini" +injection-regex = "ini" +comment-token = "#" +indent = { tab-width = 4, unit = "\t" } name = "ini" file-types = [ "ini", diff --git a/.config/niri/config.kdl##hostname.dbox b/.config/niri/config.kdl##hostname.dbox index 70dd6ce2..97ed3e4e 100644 --- a/.config/niri/config.kdl##hostname.dbox +++ b/.config/niri/config.kdl##hostname.dbox @@ -59,6 +59,9 @@ output "HDMI-A-1" { // Settings that influence how windows are positioned and sized. // Find more information on the wiki: // https://github.com/YaLTeR/niri/wiki/Configuration:-Layout +// Settings that influence how windows are positioned and sized. +// Find more information on the wiki: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Layout layout { // Set gaps around windows in logical pixels. gaps 16 @@ -197,7 +200,7 @@ window-rule { } } window-rule { - match app-id="thunderbird$" + match app-id="thunderbird$|Betterbird$" default-column-width { proportion 0.75 } @@ -321,12 +324,12 @@ binds { focus-column-right } Mod+M { - focus-column-left + focus-column-or-monitor-left } // Mod+N { focus-window-down; } // Mod+E { focus-window-up; } Mod+I { - focus-column-right + focus-column-or-monitor-right } Mod+Shift+Left { move-column-left @@ -376,11 +379,11 @@ binds { } // don't love these honestly // TODO: Change smart-mouse to LGUI on keyboard? - Mod+Ctrl+Left { + Mod+Comma { focus-monitor-left } - Mod+Ctrl+Down { - focus-monitor-down + Mod+Period { + focus-monitor-right } Mod+Ctrl+Up { focus-monitor-up @@ -437,10 +440,10 @@ binds { focus-workspace-up } Mod+L { - focus-workspace-down + focus-monitor-left } Mod+U { - focus-workspace-up + focus-monitor-right } Mod+Ctrl+Page_Down { move-column-to-workspace-down @@ -600,11 +603,11 @@ binds { consume-or-expel-window-right } // Consume one window from the right to the bottom of the focused column. - Mod+Comma { + Mod+BraceLeft { consume-window-into-column } // Expel the bottom window from the focused column to the right. - Mod+Period { + Mod+BraceRight { expel-window-from-column } Mod+R { @@ -683,6 +686,9 @@ binds { Mod+Alt+S { spawn "~/scripts/recorder.sh" } + Mod+Tab { + spawn "~/scripts/niri/window-picker.py" + } // Applications such as remote-desktop clients and software KVM switches may // request that niri stops processing the keyboard shortcuts defined here // so they may, for example, forward the key presses as-is to a remote machine. From e93b9da138c6932fa35589641bc1fed933cea88e Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Sat, 1 Mar 2025 09:45:04 -0500 Subject: [PATCH 04/16] AutoYADM commit: 2025-03-01 09:45:04 --- .config/foot/foot.ini##hostname.dbox | 4 ++-- .config/niri/config.kdl##hostname.dbox | 4 ++-- .zshrc | 32 +++++++++++++------------- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.config/foot/foot.ini##hostname.dbox b/.config/foot/foot.ini##hostname.dbox index c940a97b..a6601994 100644 --- a/.config/foot/foot.ini##hostname.dbox +++ b/.config/foot/foot.ini##hostname.dbox @@ -78,8 +78,8 @@ label-letters=tnserigmdhcao [cursor] style=beam -blink=yes -blink-rate=600 +# blink=yes +# blink-rate=600 beam-thickness=0.5 # underline-thickness= # color=121212 f5f5f5 diff --git a/.config/niri/config.kdl##hostname.dbox b/.config/niri/config.kdl##hostname.dbox index 97ed3e4e..57394556 100644 --- a/.config/niri/config.kdl##hostname.dbox +++ b/.config/niri/config.kdl##hostname.dbox @@ -412,10 +412,10 @@ binds { Mod+Shift+Ctrl+Up { move-column-to-monitor-up } - Mod+Shift+Ctrl+Right { + Mod+Shift+Period { move-column-to-monitor-right } - Mod+Shift+Ctrl+M { + Mod+Shift+Comma { move-column-to-monitor-left } Mod+Shift+Ctrl+N { diff --git a/.zshrc b/.zshrc index bb4f2fbd..975216d3 100644 --- a/.zshrc +++ b/.zshrc @@ -130,21 +130,21 @@ function cat() { } # . /opt/asdf-vm/asdf.sh # Need this to fix the cursor in tmux -print -n '\033[5 q' -function zle-keymap-select zle-line-init zle-line-finish -{ - case $KEYMAP in - vicmd) print -n '\033[1 q' ;; # block cursor - viins | main) print -n '\033[5 q' ;; # line cursor - esac -} +# print -n '\033[5 q' +# function zle-keymap-select zle-line-init zle-line-finish +# { +# case $KEYMAP in +# vicmd) print -n '\033[1 q' ;; # block cursor +# viins | main) print -n '\033[5 q' ;; # line cursor +# esac +# } # DISABLE_AUTO_TITLE="true" -function set_win_title() { - echo -ne "\033]0; ${PWD/#$HOME/~} \007" -} -function viewport_osc() { - print -Pn "\e]133;A\e\\" -} +# function set_win_title() { +# echo -ne "\033]0; ${PWD/#$HOME/~} \007" +# } +# function viewport_osc() { +# print -Pn "\e]133;A\e\\" +# } function mksh() { local filepath="$1.sh" @@ -162,7 +162,7 @@ function mksh() { } # precmd_functions+=(set_win_title viewport_osc) -precmd_functions+=(viewport_osc) +# precmd_functions+=(viewport_osc) zle -N zle-line-init zle -N zle-line-finish zle -N zle-keymap-select @@ -177,4 +177,4 @@ export GPG_TTY=$(tty) # gpg-connect-agent /bye > /dev/null eval "$(direnv hook zsh)" # colorscript -e 36 -source ~/scripts/obsidian-bridge.sh +# source ~/scripts/obsidian-bridge.sh From c4c50b9a44dc15d41e62f6374f4e54b5d82fe7fb Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Sat, 1 Mar 2025 10:00:04 -0500 Subject: [PATCH 05/16] AutoYADM commit: 2025-03-01 10:00:04 --- .config/helix/config.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.config/helix/config.toml b/.config/helix/config.toml index 23c0a178..cbdaae9c 100644 --- a/.config/helix/config.toml +++ b/.config/helix/config.toml @@ -30,9 +30,9 @@ tab = "" tabpad = " " [editor.cursor-shape] -insert = "bar" -normal = "block" -select = "underline" +# insert = "bar" +# normal = "block" +# select = "underline" [editor.statusline] mode.normal = "NRM" From 5dcc84770ba87d14f1d7917617fc99a51bc3022c Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Sat, 1 Mar 2025 10:30:04 -0500 Subject: [PATCH 06/16] AutoYADM commit: 2025-03-01 10:30:04 --- .config/helix/config.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/helix/config.toml b/.config/helix/config.toml index cbdaae9c..badf6829 100644 --- a/.config/helix/config.toml +++ b/.config/helix/config.toml @@ -31,7 +31,7 @@ tabpad = " " [editor.cursor-shape] # insert = "bar" -# normal = "block" +normal = "block" # select = "underline" [editor.statusline] From 399380e64f399662a72cc588e89a086d014fb632 Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Sat, 1 Mar 2025 11:45:04 -0500 Subject: [PATCH 07/16] AutoYADM commit: 2025-03-01 11:45:04 --- .config/helix/config.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/helix/config.toml b/.config/helix/config.toml index badf6829..94c85e8c 100644 --- a/.config/helix/config.toml +++ b/.config/helix/config.toml @@ -76,6 +76,7 @@ A-i = "select_next_sibling" "A-{" = "rotate_selection_contents_backward" "A-}" = "rotate_selection_contents_forward" +C-f = "jump_forward" a = "append_mode_same_line" tab = "trim_selections" C-k = "signature_help" From b3cf51fcd5153174dfbfb5890d060784c7582550 Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Sat, 1 Mar 2025 12:15:04 -0500 Subject: [PATCH 08/16] AutoYADM commit: 2025-03-01 12:15:04 --- .config/helix/themes/ashen.toml | 176 +++++++++++++++++++++++++++++++- 1 file changed, 175 insertions(+), 1 deletion(-) mode change 120000 => 100644 .config/helix/themes/ashen.toml diff --git a/.config/helix/themes/ashen.toml b/.config/helix/themes/ashen.toml deleted file mode 120000 index dd51c771..00000000 --- a/.config/helix/themes/ashen.toml +++ /dev/null @@ -1 +0,0 @@ -/home/fic/dev/ashen/monorepo/helix/ashen.toml \ No newline at end of file diff --git a/.config/helix/themes/ashen.toml b/.config/helix/themes/ashen.toml new file mode 100644 index 00000000..6bef98c8 --- /dev/null +++ b/.config/helix/themes/ashen.toml @@ -0,0 +1,175 @@ +# Ashen for Helix +# Author: Daniel Fichtinger +# License: MIT + +# Syntax highlighting +# ------------------- +"attribute" = "g_4" + +"type" = "blue" +"type.builtin" = "blue" +"type.parameter" = "orange_glow" +"type.enum.variant" = "orange_blaze" + +"constructor" = "g_1" + +"constant" = "orange_blaze" +"constant.builtin" = "blue" +"constant.character" = { fg = "red_glowing", modifiers = ["bold"] } +"constant.character.escape" = "g_2" +"constant.numeric" = "blue" + +"string" = "red_glowing" +"string.regexp" = "orange_glow" +"string.special" = "g_2" +"string.special.url" = { fg = "red_glowing", modifiers = ["bold"] } +"string.special.path" = { fg = "red_glowing", modifiers = ["bold"] } +"string.special.symbol" = "orange_smolder" + +"comment" = { fg = "g_6", modifiers = ["italic"] } +"comment.block.documentation" = { fg = "g_5", modifiers = ["italic"] } + +"variable" = "g_3" +"variable.parameter" = { fg = "g_2", modifiers = ["italic"] } +"variable.builtin" = "blue" +"variable.other.member" = { fg = "g_2" } + +"label" = "red_ember" # used for lifetimes + +"punctuation" = "g_2" +"punctuation.special" = "orange_golden" +"punctuation.bracket" = "g_6" +"punctuation.delimiter" = "orange_smolder" + + +"keyword" = "red_ember" +"keyword.operator" = "orange_blaze" +"keyword.directive" = { fg = "red_ember", modifiers = ["italic"] } +"keyword.storage.modifier" = { fg = "red_ember", modifiers = ["italic"] } + +"operator" = "orange_glow" + +"function" = { fg = "g_3", modifiers = ["bold"] } +"function.builtin" = { fg = "g_3", modifiers = ["bold", "italic"] } +"function.macro" = "red_ember" + +"tag" = { fg = "orange_glow", modifiers = ["italic"] } + +"namespace" = { fg = "orange_glow", modifiers = ["bold"] } + +"special" = "orange_smolder" # fuzzy highlight + +"markup.heading" = { fg = "red_glowing", modifiers = ["bold"] } +"markup.list" = "orange_glow" +"markup.bold" = { modifiers = ["bold"] } +"markup.italic" = { modifiers = ["italic"] } +"markup.link.url" = { fg = "red_glowing", modifiers = ["italic", "underlined"] } +"markup.link.text" = "red_ember" +"markup.raw" = { fg = "g_2", bg = "g_10" } +"markup.quote" = { modifiers = ["italic"] } + +"diff.plus" = "g_4" +"diff.minus" = "red_ember" +"diff.delta" = "orange_smolder" + +# User Interface +# -------------- +"ui.background" = { fg = "text", bg = "background" } + +"ui.linenr" = { fg = "g_8" } +"ui.linenr.selected" = { fg = "g_6" } + +"ui.statusline" = { fg = "g_3", bg = "g_9" } +"ui.statusline.inactive" = { fg = "g_5", bg = "g_10" } +"ui.statusline.normal" = { fg = "background", bg = "orange_blaze", modifiers = ["bold"] } +"ui.statusline.insert" = { fg = "g_01", bg = "g_7", modifiers = [ + "bold", +] } +"ui.statusline.select" = { fg = "background", bg = "orange_golden", modifiers = [ + "bold", +] } + +"ui.popup" = { fg = "text", bg = "g_10" } +"ui.info" = { fg = "orange_blaze", bg = "g_10" } +"ui.window" = { fg = "g_7" } +"ui.help" = { fg = "text", bg = "g_10", modifiers = ["bold"]} + +"ui.bufferline" = { fg = "text", bg = "background" } +"ui.bufferline.active" = { fg = "g_2", bg = "g_10", underline = { color = "orange_blaze", style = "line" } } +"ui.bufferline.background" = { bg = "background" } + +"ui.text" = "text" +"ui.text.focus" = { fg = "background", bg = "orange_blaze", modifiers = ["bold"] } +"ui.text.inactive" = { fg = "g_7" } +"ui.text.directory" = { fg = "red_ember" } + +"ui.virtual" = "g_5" +"ui.virtual.ruler" = "g_7" +"ui.virtual.whitespace" = "g_7" +"ui.virtual.indent-guide" = "g_7" +"ui.virtual.wrap" = "g_7" +"ui.virtual.inlay-hint" = { fg = "g_6", modifiers = ["italic"] } +"ui.virtual.jump-label" = { fg = "background", bg = "orange_blaze", modifiers = [ + "bold", +] } + +"ui.selection" = {bg = "#322119" } +# "ui.selection" = {fg = "background", bg = "#6C4837" } + +"ui.cursor.normal" = { fg = "background", bg = "#6D3B22" } +"ui.cursor.insert" = { fg = "background", bg = "g_7" } +"ui.cursor.select" = { fg = "background", bg = "#6D4D0D" } +"ui.cursor.primary.normal" = { fg = "background", bg = "orange_blaze", modifiers = ["bold"]} +"ui.cursor.primary.insert" = { fg = "background", bg = "g_3", modifiers = ["bold"]} +"ui.cursor.primary.select" = { fg = "background", bg = "orange_golden", modifiers = ["bold"]} +"ui.cursor.match" = { fg = "orange_smolder", modifiers = ["underlined"] } + +"ui.cursorline.primary" = { bg = "cursorline" } +"ui.cursorline" = { bg = "g_12" } + +"ui.highlight" = { fg = "orange_blaze", bg = "cursorline", underline = { color = "orange_smolder", style = "dotted" }, modifiers = [ + "bold", +] } + +"ui.menu" = { fg = "g_2", bg = "g_10" } +"ui.menu.selected" = {fg = "background", bg = "orange_blaze", modifiers = ["bold"]} +# "ui.menu.selected" = { modifiers = ["reversed"] } + +"diagnostic.error" = { underline = { color = "red_flame", style = "curl" } } +"diagnostic.warning" = { underline = { color = "orange_golden", style = "curl" } } +"diagnostic.info" = { underline = { color = "g_4", style = "dotted" } } +"diagnostic.hint" = { underline = { color = "g_5", style = "dotted" } } +"diagnostic.unnecessary" = { modifiers = ["dim"] } + +error = { fg = "red_flame", bg = "g_10" } +warning = { fg = "orange_golden", bg = "g_10" } +info = { fg = "g_2", bg = "g_10" } +hint = { fg = "g_4", bg = "g_10" } + +[palette] +cursorline = "#191919" +text = "#b4b4b4" +red_flame = "#C53030" +red_glowing = "#DF6464" +red_ember = "#B14242" +orange_glow = "#D87C4A" +orange_blaze = "#C4693D" +orange_smolder = "#E49A44" +orange_golden = "#E5A72A" +blue = "#4A8B8B" +green_light = "#629C7D" +green = "#1E6F54" +background = "#121212" +g_0 = "#e5e5e5" +g_1 = "#e5e5e5" +g_2 = "#d5d5d5" +g_3 = "#b4b4b4" +g_4 = "#a7a7a7" +g_5 = "#949494" +g_6 = "#737373" +g_7 = "#535353" +g_8 = "#323232" +g_9 = "#212121" +g_10 = "#1d1d1d" +g_11 = "#191919" +g_12 = "#151515" From 31f7cad41f795869d606eb70ca65e2f32c8ea088 Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Sat, 1 Mar 2025 12:30:04 -0500 Subject: [PATCH 09/16] AutoYADM commit: 2025-03-01 12:30:04 --- .config/helix/themes/ashen.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/helix/themes/ashen.toml b/.config/helix/themes/ashen.toml index 6bef98c8..23cc57ee 100644 --- a/.config/helix/themes/ashen.toml +++ b/.config/helix/themes/ashen.toml @@ -27,6 +27,7 @@ "string.special.symbol" = "orange_smolder" "comment" = { fg = "g_6", modifiers = ["italic"] } +# "comment" = { fg = "#838383", modifiers = ["italic"] } "comment.block.documentation" = { fg = "g_5", modifiers = ["italic"] } "variable" = "g_3" From b954cb1204871b65f14c6ee9cb7a8905b0876d22 Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Sat, 1 Mar 2025 13:00:04 -0500 Subject: [PATCH 10/16] AutoYADM commit: 2025-03-01 13:00:04 --- .config/ncspot/.gitignore | 1 + .config/ncspot/config.toml | 29 ++++++++++++++++++++++++++ .config/niri/config.kdl##hostname.dbox | 3 ++- .config/yadm/tracked | 1 + 4 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 .config/ncspot/.gitignore create mode 100644 .config/ncspot/config.toml diff --git a/.config/ncspot/.gitignore b/.config/ncspot/.gitignore new file mode 100644 index 00000000..f605e336 --- /dev/null +++ b/.config/ncspot/.gitignore @@ -0,0 +1 @@ +userstate.cbor diff --git a/.config/ncspot/config.toml b/.config/ncspot/config.toml new file mode 100644 index 00000000..754b69da --- /dev/null +++ b/.config/ncspot/config.toml @@ -0,0 +1,29 @@ +# [MODIFIER+] +# where: +# MODIFIER: Shift|Alt|Ctrl +# CHAR: Any printable character +# NAMED_KEY: Enter|Space|Tab|Backspace|Esc|Left|Right|Up|Down +# |Ins|Del|Home|End|PageUp|PageDown|PauseBreak|NumpadCenter +# |F0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12 +# "Shift+i" = "seek +10s" + +[keybindings] +"m" = "move left" +"n" = "move down" +"e" = "move up" +"i" = "move right" +"Ctrl+q" = "quit" +"Ctrl+u" = "move up 5" +"Ctrl+d" = "move down 5" +"Shift+n" = "shift down" +"Shift+e" = "shift up" +"Shift+m" = "seek +10s" +"Shift+i" = "seek -10s" +"Ctrl+n" = "voldown 1" +"Ctrl+e" = "volup 1" +"Shift+q" = "queue; move down 1" +"q" = "focus queue" +# "s" = "focus search" +"l" = "focus library" +"space" = "playpause" +"Shift+r" = "similar current" diff --git a/.config/niri/config.kdl##hostname.dbox b/.config/niri/config.kdl##hostname.dbox index 57394556..3b9d6085 100644 --- a/.config/niri/config.kdl##hostname.dbox +++ b/.config/niri/config.kdl##hostname.dbox @@ -163,6 +163,7 @@ layout { // See the binds section below for more spawn examples. // spawn-at-startup "alacritty" "-e" "fish" spawn-at-startup "dunst" "&" +spawn-at-startup "xwayland-satellite" // Uncomment this line to ask the clients to omit their client-side decorations if possible. // If the client will specifically ask for CSD, the request will be honored. // Additionally, clients will be informed that they are tiled, removing some client-side rounded corners. @@ -244,7 +245,7 @@ clip-to-geometry true } environment { QT_QPA_PLATFORM "wayland" - DISPLAY null + DISPLAY ":0" ELECTRON_OZONE_PLATFORM_HINT "auto" OZONE_PLATFORM "wayland" QT_QPA_PLATFORM "wayland" diff --git a/.config/yadm/tracked b/.config/yadm/tracked index 7d456384..c8a0f153 100644 --- a/.config/yadm/tracked +++ b/.config/yadm/tracked @@ -41,3 +41,4 @@ .config/niri .config/fish .config/yadm/tracked +.config/ncspot From bc2937b36cf1bc43d30563846822452ca3731662 Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Sat, 1 Mar 2025 16:15:03 -0500 Subject: [PATCH 11/16] AutoYADM commit: 2025-03-01 16:15:03 --- .config/niri/config.kdl##hostname.dbox | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.config/niri/config.kdl##hostname.dbox b/.config/niri/config.kdl##hostname.dbox index 3b9d6085..45aef3f9 100644 --- a/.config/niri/config.kdl##hostname.dbox +++ b/.config/niri/config.kdl##hostname.dbox @@ -237,8 +237,15 @@ window-rule { // Use this instead if you want them visible on third-party screenshot tools. // block-out-from "screencast" } -// Example: enable rounded corners for all windows. -// (This example rule is commented out with a "/-" in front.) +layer-rule { + match namespace="^launcher$" + shadow { + on + } + // Fuzzel defaults to 10 px rounded corners. + // geometry-corner-radius 10 +} + // Example: enable rounded corners for all windows.// (This example rule is commented out with a "/-" in front.) /-window-rule { geometry-corner-radius 12 clip-to-geometry true From 72d2d349fb89d906601a831d29f665e710175a8e Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Sun, 2 Mar 2025 11:15:03 -0500 Subject: [PATCH 12/16] AutoYADM commit: 2025-03-02 11:15:03 --- .config/helix/config.toml | 2 +- .config/helix/themes/ashen.toml | 177 +------------------------------- 2 files changed, 2 insertions(+), 177 deletions(-) mode change 100644 => 120000 .config/helix/themes/ashen.toml diff --git a/.config/helix/config.toml b/.config/helix/config.toml index 94c85e8c..beb522c5 100644 --- a/.config/helix/config.toml +++ b/.config/helix/config.toml @@ -30,7 +30,7 @@ tab = "" tabpad = " " [editor.cursor-shape] -# insert = "bar" +insert = "bar" normal = "block" # select = "underline" diff --git a/.config/helix/themes/ashen.toml b/.config/helix/themes/ashen.toml deleted file mode 100644 index 23cc57ee..00000000 --- a/.config/helix/themes/ashen.toml +++ /dev/null @@ -1,176 +0,0 @@ -# Ashen for Helix -# Author: Daniel Fichtinger -# License: MIT - -# Syntax highlighting -# ------------------- -"attribute" = "g_4" - -"type" = "blue" -"type.builtin" = "blue" -"type.parameter" = "orange_glow" -"type.enum.variant" = "orange_blaze" - -"constructor" = "g_1" - -"constant" = "orange_blaze" -"constant.builtin" = "blue" -"constant.character" = { fg = "red_glowing", modifiers = ["bold"] } -"constant.character.escape" = "g_2" -"constant.numeric" = "blue" - -"string" = "red_glowing" -"string.regexp" = "orange_glow" -"string.special" = "g_2" -"string.special.url" = { fg = "red_glowing", modifiers = ["bold"] } -"string.special.path" = { fg = "red_glowing", modifiers = ["bold"] } -"string.special.symbol" = "orange_smolder" - -"comment" = { fg = "g_6", modifiers = ["italic"] } -# "comment" = { fg = "#838383", modifiers = ["italic"] } -"comment.block.documentation" = { fg = "g_5", modifiers = ["italic"] } - -"variable" = "g_3" -"variable.parameter" = { fg = "g_2", modifiers = ["italic"] } -"variable.builtin" = "blue" -"variable.other.member" = { fg = "g_2" } - -"label" = "red_ember" # used for lifetimes - -"punctuation" = "g_2" -"punctuation.special" = "orange_golden" -"punctuation.bracket" = "g_6" -"punctuation.delimiter" = "orange_smolder" - - -"keyword" = "red_ember" -"keyword.operator" = "orange_blaze" -"keyword.directive" = { fg = "red_ember", modifiers = ["italic"] } -"keyword.storage.modifier" = { fg = "red_ember", modifiers = ["italic"] } - -"operator" = "orange_glow" - -"function" = { fg = "g_3", modifiers = ["bold"] } -"function.builtin" = { fg = "g_3", modifiers = ["bold", "italic"] } -"function.macro" = "red_ember" - -"tag" = { fg = "orange_glow", modifiers = ["italic"] } - -"namespace" = { fg = "orange_glow", modifiers = ["bold"] } - -"special" = "orange_smolder" # fuzzy highlight - -"markup.heading" = { fg = "red_glowing", modifiers = ["bold"] } -"markup.list" = "orange_glow" -"markup.bold" = { modifiers = ["bold"] } -"markup.italic" = { modifiers = ["italic"] } -"markup.link.url" = { fg = "red_glowing", modifiers = ["italic", "underlined"] } -"markup.link.text" = "red_ember" -"markup.raw" = { fg = "g_2", bg = "g_10" } -"markup.quote" = { modifiers = ["italic"] } - -"diff.plus" = "g_4" -"diff.minus" = "red_ember" -"diff.delta" = "orange_smolder" - -# User Interface -# -------------- -"ui.background" = { fg = "text", bg = "background" } - -"ui.linenr" = { fg = "g_8" } -"ui.linenr.selected" = { fg = "g_6" } - -"ui.statusline" = { fg = "g_3", bg = "g_9" } -"ui.statusline.inactive" = { fg = "g_5", bg = "g_10" } -"ui.statusline.normal" = { fg = "background", bg = "orange_blaze", modifiers = ["bold"] } -"ui.statusline.insert" = { fg = "g_01", bg = "g_7", modifiers = [ - "bold", -] } -"ui.statusline.select" = { fg = "background", bg = "orange_golden", modifiers = [ - "bold", -] } - -"ui.popup" = { fg = "text", bg = "g_10" } -"ui.info" = { fg = "orange_blaze", bg = "g_10" } -"ui.window" = { fg = "g_7" } -"ui.help" = { fg = "text", bg = "g_10", modifiers = ["bold"]} - -"ui.bufferline" = { fg = "text", bg = "background" } -"ui.bufferline.active" = { fg = "g_2", bg = "g_10", underline = { color = "orange_blaze", style = "line" } } -"ui.bufferline.background" = { bg = "background" } - -"ui.text" = "text" -"ui.text.focus" = { fg = "background", bg = "orange_blaze", modifiers = ["bold"] } -"ui.text.inactive" = { fg = "g_7" } -"ui.text.directory" = { fg = "red_ember" } - -"ui.virtual" = "g_5" -"ui.virtual.ruler" = "g_7" -"ui.virtual.whitespace" = "g_7" -"ui.virtual.indent-guide" = "g_7" -"ui.virtual.wrap" = "g_7" -"ui.virtual.inlay-hint" = { fg = "g_6", modifiers = ["italic"] } -"ui.virtual.jump-label" = { fg = "background", bg = "orange_blaze", modifiers = [ - "bold", -] } - -"ui.selection" = {bg = "#322119" } -# "ui.selection" = {fg = "background", bg = "#6C4837" } - -"ui.cursor.normal" = { fg = "background", bg = "#6D3B22" } -"ui.cursor.insert" = { fg = "background", bg = "g_7" } -"ui.cursor.select" = { fg = "background", bg = "#6D4D0D" } -"ui.cursor.primary.normal" = { fg = "background", bg = "orange_blaze", modifiers = ["bold"]} -"ui.cursor.primary.insert" = { fg = "background", bg = "g_3", modifiers = ["bold"]} -"ui.cursor.primary.select" = { fg = "background", bg = "orange_golden", modifiers = ["bold"]} -"ui.cursor.match" = { fg = "orange_smolder", modifiers = ["underlined"] } - -"ui.cursorline.primary" = { bg = "cursorline" } -"ui.cursorline" = { bg = "g_12" } - -"ui.highlight" = { fg = "orange_blaze", bg = "cursorline", underline = { color = "orange_smolder", style = "dotted" }, modifiers = [ - "bold", -] } - -"ui.menu" = { fg = "g_2", bg = "g_10" } -"ui.menu.selected" = {fg = "background", bg = "orange_blaze", modifiers = ["bold"]} -# "ui.menu.selected" = { modifiers = ["reversed"] } - -"diagnostic.error" = { underline = { color = "red_flame", style = "curl" } } -"diagnostic.warning" = { underline = { color = "orange_golden", style = "curl" } } -"diagnostic.info" = { underline = { color = "g_4", style = "dotted" } } -"diagnostic.hint" = { underline = { color = "g_5", style = "dotted" } } -"diagnostic.unnecessary" = { modifiers = ["dim"] } - -error = { fg = "red_flame", bg = "g_10" } -warning = { fg = "orange_golden", bg = "g_10" } -info = { fg = "g_2", bg = "g_10" } -hint = { fg = "g_4", bg = "g_10" } - -[palette] -cursorline = "#191919" -text = "#b4b4b4" -red_flame = "#C53030" -red_glowing = "#DF6464" -red_ember = "#B14242" -orange_glow = "#D87C4A" -orange_blaze = "#C4693D" -orange_smolder = "#E49A44" -orange_golden = "#E5A72A" -blue = "#4A8B8B" -green_light = "#629C7D" -green = "#1E6F54" -background = "#121212" -g_0 = "#e5e5e5" -g_1 = "#e5e5e5" -g_2 = "#d5d5d5" -g_3 = "#b4b4b4" -g_4 = "#a7a7a7" -g_5 = "#949494" -g_6 = "#737373" -g_7 = "#535353" -g_8 = "#323232" -g_9 = "#212121" -g_10 = "#1d1d1d" -g_11 = "#191919" -g_12 = "#151515" diff --git a/.config/helix/themes/ashen.toml b/.config/helix/themes/ashen.toml new file mode 120000 index 00000000..b41bb9e5 --- /dev/null +++ b/.config/helix/themes/ashen.toml @@ -0,0 +1 @@ +../../../dev/ashen/monorepo/helix/ashen.toml \ No newline at end of file From deac5a9f8eaac2ba2e87e98e944674407291bf0e Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Sun, 2 Mar 2025 11:30:03 -0500 Subject: [PATCH 13/16] AutoYADM commit: 2025-03-02 11:30:03 --- .config/niri/config.kdl##hostname.dbox | 8 +++++++- .config/yazi/package.toml | 12 ++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/.config/niri/config.kdl##hostname.dbox b/.config/niri/config.kdl##hostname.dbox index 45aef3f9..8f324876 100644 --- a/.config/niri/config.kdl##hostname.dbox +++ b/.config/niri/config.kdl##hostname.dbox @@ -245,7 +245,7 @@ layer-rule { // Fuzzel defaults to 10 px rounded corners. // geometry-corner-radius 10 } - // Example: enable rounded corners for all windows.// (This example rule is commented out with a "/-" in front.) +// Example: enable rounded corners for all windows.// (This example rule is commented out with a "/-" in front.) /-window-rule { geometry-corner-radius 12 clip-to-geometry true @@ -486,6 +486,12 @@ binds { // To avoid scrolling through workspaces really fast, you can use // the cooldown-ms property. The bind will be rate-limited to this value. // You can set a cooldown on any bind, but it's most useful for the wheel. + Mod+MouseForward { + focus-column-right + } + Mod+MouseBack { + focus-column-left + } Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down } diff --git a/.config/yazi/package.toml b/.config/yazi/package.toml index b783ec20..c386c8ab 100644 --- a/.config/yazi/package.toml +++ b/.config/yazi/package.toml @@ -10,8 +10,8 @@ hash = "43019cca17a4d7b41746c2e0a6b8f33f" [[plugin.deps]] use = "Reledia/glow" -rev = "5ce76dc" -hash = "52e5f5c602962e7cbf874da28f52ba45" +rev = "c76bf4f" +hash = "a6b78bf9af5390e3a85a6951fbb7b93" [[plugin.deps]] use = "Reledia/miller" @@ -20,12 +20,12 @@ hash = "2d6d77583162aaf0a599e7a3091b5878" [[plugin.deps]] use = "Reledia/hexyl" -rev = "39d3d4e" -hash = "dd624cbaff94af65f39fd86bc57b340" +rev = "228a9ef" +hash = "cdc65cfe4e60e1bf5afe5769d074fa9c" [[plugin.deps]] use = "Sonico98/exifaudio" -rev = "d794614" +rev = "4379fcf" hash = "a8e15d3c21c02a5af41d46ed04778a02" [[plugin.deps]] @@ -50,5 +50,5 @@ hash = "ada10d1213f2117878e0fd90df708619" [[flavor.deps]] use = "ashen-org/ashen:ashen" -rev = "42ed408" +rev = "ee0708d" hash = "a6f097910912721681300869a94d1fd8" From b78c88b3573a6f2c82fbe07c1e6e35781c7e69a3 Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Sun, 2 Mar 2025 11:45:03 -0500 Subject: [PATCH 14/16] AutoYADM commit: 2025-03-02 11:45:03 --- .config/niri/config.kdl##hostname.dbox | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.config/niri/config.kdl##hostname.dbox b/.config/niri/config.kdl##hostname.dbox index 8f324876..b30bb22b 100644 --- a/.config/niri/config.kdl##hostname.dbox +++ b/.config/niri/config.kdl##hostname.dbox @@ -72,6 +72,7 @@ layout { // - "on-overflow", focusing a column will center it if it doesn't fit // together with the previously focused column. center-focused-column "never" + // /-always-center-single-column // You can customize the widths that "switch-preset-column-width" (Mod+R) toggles between. preset-column-widths { // Proportion sets the width as a fraction of the output width, taking gaps into account. @@ -603,7 +604,7 @@ binds { // Alternatively, there are commands to move just a single window: // Mod+Ctrl+1 { move-window-to-workspace 1; } // Switches focus between the current and the previous workspace. - Mod+Shift+Tab { + Alt+Tab { focus-workspace-previous } // Adapt the sway-window-switcher and bind it here From f3efc2f71be9e2546a5f3e580aa82a29531ab1cb Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Sun, 2 Mar 2025 12:09:54 -0500 Subject: [PATCH 15/16] AutoYADM commit: 2025-03-02 12:09:54 --- .config/yadm/README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.config/yadm/README.md b/.config/yadm/README.md index 58929b1a..4b502acc 100644 --- a/.config/yadm/README.md +++ b/.config/yadm/README.md @@ -6,6 +6,15 @@ I use Arch btw. The root of this repo is equivalent to my $HOME directory. +## Note on this repository + +**Important**: I'm migrating this repository from GitHub to [Codeberg](https://codeberg.org/ficcdaf/dotfiles). If you're reading this on GitHub, the repo is likely out-of-date and will be removed sometime in the future. + +I use this repository to sync and backup my dotfiles. This is done automatically on a timer. Therefore, these configs are: + +- Always up-to-date. +- Potentially broken on any given commit. + ## Note On Keybindings A note on keybindings: I use Colemak-DH, which is a non-qwerty keyboard layout. I use either `MNEI` or the arrow keys (which is a mod key + `MNEI` on my keyboard) for navigation, depending on a few different factors. From e13ef22ffd157298a93697fc51d9c69412142ed1 Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Mon, 3 Mar 2025 14:40:14 -0500 Subject: [PATCH 16/16] AutoYADM commit: 2025-03-03 14:40:14 --- .config/niri/config.kdl##hostname.dbox | 29 +++++++- .config/waybar/config | 66 ++++++++++++++---- .config/waybar/custom/recorder.py | 93 +++++++++++++++++++++++++ .config/waybar/custom/test.sh | 14 ++++ .config/waybar/{modules => modules.bak} | 0 5 files changed, 187 insertions(+), 15 deletions(-) create mode 100755 .config/waybar/custom/recorder.py create mode 100755 .config/waybar/custom/test.sh rename .config/waybar/{modules => modules.bak} (100%) diff --git a/.config/niri/config.kdl##hostname.dbox b/.config/niri/config.kdl##hostname.dbox index b30bb22b..a904cf74 100644 --- a/.config/niri/config.kdl##hostname.dbox +++ b/.config/niri/config.kdl##hostname.dbox @@ -1,3 +1,6 @@ +workspace "music" { + open-on-output "Dell" +} // This config is in the KDL format: https://kdl.dev // "/-" comments out the following node. // Check the wiki for a full description of the configuration: @@ -192,6 +195,10 @@ animations { // https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules // Work around WezTerm's initial configure bug // by setting an empty default-column-width. +window-rule { + match app-id="^spotify$" + open-on-workspace "music" +} window-rule { // This regular expression is intentionally made as specific as possible, // since this is the default config, and we want no false positives. @@ -264,6 +271,9 @@ environment { cursor { hide-when-typing } +hotkey-overlay { + skip-at-startup +} binds { // Keys consist of modifiers separated by + signs, followed by an XKB key name // in the end. To find an XKB name for a particular key, you may use a program @@ -449,10 +459,16 @@ binds { focus-workspace-up } Mod+L { - focus-monitor-left + move-workspace-down } Mod+U { - focus-monitor-right + move-workspace-up + } + Mod+J { + move-workspace-to-monitor-left + } + Mod+Y { + move-workspace-to-monitor-right } Mod+Ctrl+Page_Down { move-column-to-workspace-down @@ -689,6 +705,10 @@ binds { // since it will switch twice upon pressing the hotkey (once by xkb, once by niri). // Mod+Space { switch-layout "next"; } // Mod+Shift+Space { switch-layout "prev"; } + // reload waybar + Mod+Shift+W { + spawn "systemctl" "--user" "restart" "waybar" + } Mod+S { screenshot } @@ -699,7 +719,10 @@ binds { screenshot-window } Mod+Alt+S { - spawn "~/scripts/recorder.sh" + spawn "~/scripts/recorder.sh" "screen" + } + Mod+Shift+Alt+S { + spawn "~/scripts/recorder.sh" "region" } Mod+Tab { spawn "~/scripts/niri/window-picker.py" diff --git a/.config/waybar/config b/.config/waybar/config index c5f024a0..240ecef3 100644 --- a/.config/waybar/config +++ b/.config/waybar/config @@ -8,28 +8,70 @@ "niri/window" ], "modules-right": [ + "cava", "cpu", "memory", "pulseaudio", "battery", + "custom/recorder", "tray", "clock" ], "niri/window": { - "max-length": 50 + "max-length": 50, + "separate-outputs": true + }, + "custom/recorder": { + "exec": "~/dev/niri-recorder/recorder.py", + "return-type": "json", + "restart-interval": "never", + "on-click": "~/dev/niri-recorder/recorder.sh screen", + "on-click-right": "~/dev/niri-recorder/recorder.sh region" + }, + "cava": { + "cava_config": "$XDG_CONFIG_HOME/cava/cava.conf", + // "framerate": 30, + // "autosens": 1, + // "sensitivity": 100, + // "bars": 14, + // "lower_cutoff_freq": 50, + // "higher_cutoff_freq": 10000, + // "method": "pulse", + // "source": "auto", + // "stereo": true, + // "reverse": false, + // "bar_delimiter": 0, + // "monstercat": false, + // "waves": false, + // "noise_reduction": 0.77, + // "input_delay": 2, + "format-icons": [ + "▁", + "▂", + "▃", + "▄", + "▅", + "▆", + "▇", + "█" + ], + "actions": { + "on-click-right": "mode" + } }, "niri/workspaces": { - // "format": "{icon}", - // "format-icons": { - // // Named workspaces - // // (you need to configure them in niri) - // "browser": "", - // "discord": "", - // "chat": "", - // // Icons by state - // "active": "", - // "default": "" - // } + "format": "{icon}", + "format-icons": { + // Named workspaces + // (you need to configure them in niri) + // "browser": "", + // "discord": "", + // "chat": "", + // Icons by state + "music": "󰎇", + "active": "", + "default": "" + } }, // "sway/workspaces": { // "disable-scroll" : false, diff --git a/.config/waybar/custom/recorder.py b/.config/waybar/custom/recorder.py new file mode 100755 index 00000000..81b7386a --- /dev/null +++ b/.config/waybar/custom/recorder.py @@ -0,0 +1,93 @@ +#!/bin/env python + +import os +import socket +import json +import asyncio + +def p(obj): + print(json.dumps(obj), flush=True) + +SOCKET = "/tmp/recorder-sock.sock" +DEF_TT = "Click to record screen. Right-click to record region." +DEF_TEXT = "rec" + +# Remove if already exists +try: + os.unlink(SOCKET) +except OSError: + # doesn't exist, we're good + pass + +delayed_task = None + +async def delayed_msg(delay, message): + # print(f"[DEBUG] Starting delayed message task, waiting {delay} seconds...", flush=True) + try: + await asyncio.sleep(delay) + # print(f"[DEBUG] Delayed message task executed! Sending message: {message}", flush=True) + p(message) + except asyncio.CancelledError: + # print("[DEBUG] Delayed message task was cancelled!", flush=True) + pass +def handle_message(data: str, loop): + global delayed_task + if delayed_task: + delayed_task.cancel() + out = {} + out_s = "" + out_t = "" + if data: + if data == "REC": + out_s = "on" + out_t = "Recording in progress. Click to stop." + elif data == "CMP": + out_s = "compressing" + out_t = "Recording is being compressed." + elif data == "CPD": + out_s = "copied" + out_t = "Recording has been copied to clipboard." + elif data == "STP": + out_s = "done" + out_t = "Recording has been stopped." + elif data == "ERR": + out_s = "error" + out_t = "Recording has encountered an error." + else: + # print("this runs a", flush=True) + out_s = "" + out_t = "" + else: + # print("this runs b", flush=True) + out_s = "" + out_t = "" + out["text"] = f"rec: {out_s}" if out_s != "" else DEF_TEXT + out["tooltip"] = out_t if out_t != "" else DEF_TT + p(out) + + if data in ["ERR", "CPD", "STP"]: + if delayed_task: + # print("canceled delayed task", flush=True) + delayed_task.cancel() + delayed_out = {"text": DEF_TEXT, "tooltip": DEF_TT} + # print("debug: creating delayed task", flush=True) + delayed_task = loop.create_task(delayed_msg(5, delayed_out)) + +async def server(): + loop = asyncio.get_running_loop() + + with socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) as server: + server.bind(SOCKET) + server.setblocking(False) + server.listen(1) + + while True: + conn, _ = await loop.sock_accept(server) + with conn: + data = (await loop.sock_recv(conn, 1024)).decode().strip() + handle_message(data, loop) + +async def main(): + p({"text": DEF_TEXT, "tooltip": DEF_TT}) + await server() +asyncio.run(main()) diff --git a/.config/waybar/custom/test.sh b/.config/waybar/custom/test.sh new file mode 100755 index 00000000..44f681bb --- /dev/null +++ b/.config/waybar/custom/test.sh @@ -0,0 +1,14 @@ +#!/bin/env bash + +echo "REC" | socat - UNIX-CONNECT:/tmp/recorder-sock.sock; \ +sleep 2; \ +echo "ERR" | socat - UNIX-CONNECT:/tmp/recorder-sock.sock; \ +sleep 2; \ +echo "REC" | socat - UNIX-CONNECT:/tmp/recorder-sock.sock; \ +sleep 2; \ +echo "STP" | socat - UNIX-CONNECT:/tmp/recorder-sock.sock; \ +sleep 2; \ +echo "CMP" | socat - UNIX-CONNECT:/tmp/recorder-sock.sock; \ +sleep 2; \ +echo "CPD" | socat - UNIX-CONNECT:/tmp/recorder-sock.sock; \ +sleep 2; diff --git a/.config/waybar/modules b/.config/waybar/modules.bak similarity index 100% rename from .config/waybar/modules rename to .config/waybar/modules.bak