diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2026-07-18 16:54:35 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2026-07-18 16:54:35 +0800 |
| commit | 4f12043583da56e2e6f4f96206ff605a7bd60641 (patch) | |
| tree | 74b61855a0fca26c70114fc4d50a70bdf9042f9b | |
| parent | 7c3ee4fe66929d614c5a7d09c62a15f48505c37d (diff) | |
bump: config
30 files changed, 573 insertions, 103 deletions
diff --git a/dot-config/btop/btop.conf b/dot-config/btop/btop.conf index e08ac3d0..674286e2 100644 --- a/dot-config/btop/btop.conf +++ b/dot-config/btop/btop.conf @@ -68,7 +68,7 @@ update_ms = 1400 #* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", #* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. -proc_sorting = "cpu direct" +proc_sorting = "memory" #* Reverse sorting order, True or False. proc_reversed = false @@ -228,10 +228,10 @@ net_download = 100 net_upload = 100 #* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. -net_auto = false +net_auto = true #* Sync the auto scaling for download and upload to whichever currently has the highest scale. -net_sync = true +net_sync = false #* Starts with the Network Interface specified here. net_iface = "" diff --git a/dot-config/dconf/user b/dot-config/dconf/user Binary files differindex a7eae276..af5787f5 100644 --- a/dot-config/dconf/user +++ b/dot-config/dconf/user diff --git a/dot-config/fcitx5/config b/dot-config/fcitx5/config index bb418d54..c2cdfaa0 100644 --- a/dot-config/fcitx5/config +++ b/dot-config/fcitx5/config @@ -1,7 +1,7 @@ [Hotkey] -# Enumerate when press trigger key repeatedly +# Enumerate when holding modifier of Toggle key EnumerateWithTriggerKeys=True -# Temporally switch between first and current Input Method +# Temporarily Toggle Input Method AltTriggerKeys= # Enumerate Input Method Forward EnumerateForwardKeys= @@ -60,9 +60,9 @@ CompactInputMethodInformation=True ShowFirstInputMethodInformation=True # Default page size DefaultPageSize=10 -# Override Xkb Option +# Override XKB Option OverrideXkbOption=False -# Custom Xkb Option +# Custom XKB Option CustomXkbOption= # Force Enabled Addons EnabledAddons= diff --git a/dot-config/fcitx5/profile b/dot-config/fcitx5/profile index 53325752..515db798 100644 --- a/dot-config/fcitx5/profile +++ b/dot-config/fcitx5/profile @@ -4,7 +4,7 @@ Name=Default # Layout Default Layout=us # Default Input Method -DefaultIM=pinyin +DefaultIM=rime [Groups/0/Items/0] # Name @@ -18,6 +18,12 @@ Name=pinyin # Layout Layout= +[Groups/0/Items/2] +# Name +Name=rime +# Layout +Layout= + [GroupOrder] 0=Default diff --git a/dot-config/fcitx5/profile_dU9KX7 b/dot-config/fcitx5/profile_dU9KX7 new file mode 100644 index 00000000..515db798 --- /dev/null +++ b/dot-config/fcitx5/profile_dU9KX7 @@ -0,0 +1,29 @@ +[Groups/0] +# Group Name +Name=Default +# Layout +Default Layout=us +# Default Input Method +DefaultIM=rime + +[Groups/0/Items/0] +# Name +Name=keyboard-us +# Layout +Layout= + +[Groups/0/Items/1] +# Name +Name=pinyin +# Layout +Layout= + +[Groups/0/Items/2] +# Name +Name=rime +# Layout +Layout= + +[GroupOrder] +0=Default + diff --git a/dot-config/fcitx5/profile_pbcgd7 b/dot-config/fcitx5/profile_pbcgd7 new file mode 100644 index 00000000..515db798 --- /dev/null +++ b/dot-config/fcitx5/profile_pbcgd7 @@ -0,0 +1,29 @@ +[Groups/0] +# Group Name +Name=Default +# Layout +Default Layout=us +# Default Input Method +DefaultIM=rime + +[Groups/0/Items/0] +# Name +Name=keyboard-us +# Layout +Layout= + +[Groups/0/Items/1] +# Name +Name=pinyin +# Layout +Layout= + +[Groups/0/Items/2] +# Name +Name=rime +# Layout +Layout= + +[GroupOrder] +0=Default + diff --git a/dot-config/fcitx5/profile_pdFjQo b/dot-config/fcitx5/profile_pdFjQo new file mode 100644 index 00000000..515db798 --- /dev/null +++ b/dot-config/fcitx5/profile_pdFjQo @@ -0,0 +1,29 @@ +[Groups/0] +# Group Name +Name=Default +# Layout +Default Layout=us +# Default Input Method +DefaultIM=rime + +[Groups/0/Items/0] +# Name +Name=keyboard-us +# Layout +Layout= + +[Groups/0/Items/1] +# Name +Name=pinyin +# Layout +Layout= + +[Groups/0/Items/2] +# Name +Name=rime +# Layout +Layout= + +[GroupOrder] +0=Default + diff --git a/dot-config/fcitx5/profile_qVwyv3 b/dot-config/fcitx5/profile_qVwyv3 new file mode 100644 index 00000000..515db798 --- /dev/null +++ b/dot-config/fcitx5/profile_qVwyv3 @@ -0,0 +1,29 @@ +[Groups/0] +# Group Name +Name=Default +# Layout +Default Layout=us +# Default Input Method +DefaultIM=rime + +[Groups/0/Items/0] +# Name +Name=keyboard-us +# Layout +Layout= + +[Groups/0/Items/1] +# Name +Name=pinyin +# Layout +Layout= + +[Groups/0/Items/2] +# Name +Name=rime +# Layout +Layout= + +[GroupOrder] +0=Default + diff --git a/dot-config/fish/conf.d/_binds.conf b/dot-config/fish/conf.d/_binds.conf index ad090e04..ca5005e8 100644 --- a/dot-config/fish/conf.d/_binds.conf +++ b/dot-config/fish/conf.d/_binds.conf @@ -1,52 +1,52 @@ -function toggle-sudo - set buf (commandline) +# function toggle-sudo +# set buf (commandline) - if test -z "$buf" - set last (history | head -n1) - if test -z "$last" - commandline -r "sudo " - return - end - set buf $last - end +# if test -z "$buf" +# set last (history | head -n1) +# if test -z "$last" +# commandline -r "sudo " +# return +# end +# set buf $last +# end - if string match -rq '^\s*sudo(\s+|$)' -- $buf - set new (string replace -r '^\s*sudo\s*' '' -- $buf) - if test -z "$new" - commandline -r "" - return - end - commandline -r $new - else - commandline -r "sudo $buf" - end -end -function fish_user_key_bindings - for m in default insert - bind -M $m ctrl-f accept-autosuggestion - bind -M $m ctrl-backspace backward-kill-word - end +# if string match -rq '^\s*sudo(\s+|$)' -- $buf +# set new (string replace -r '^\s*sudo\s*' '' -- $buf) +# if test -z "$new" +# commandline -r "" +# return +# end +# commandline -r $new +# else +# commandline -r "sudo $buf" +# end +# end +# function fish_user_key_bindings +# for m in default insert +# bind -M $m ctrl-f accept-autosuggestion +# bind -M $m ctrl-backspace backward-kill-word +# end - for m in default insert normal - bind -M $m alt-left 'commandline -f cancel; cd -; commandline -f repaint' - bind -M $m alt-up 'commandline -f cancel; cd ..; commandline -f repaint' - bind -M $m ctrl-e toggle-sudo - bind -M $m ctrl-r history-pager - end +# for m in default insert normal +# bind -M $m alt-left 'commandline -f cancel; cd -; commandline -f repaint' +# bind -M $m alt-up 'commandline -f cancel; cd ..; commandline -f repaint' +# bind -M $m ctrl-e toggle-sudo +# bind -M $m ctrl-r history-pager +# end - bind -M normal U redo +# bind -M normal U redo - for m in default insert normal replace replace_one - bind --preset --erase -M $m ctrl-h - bind -M $m ctrl-h backward-char - bind --preset --erase -M $m ctrl-j - bind -M $m ctrl-j down-or-search - bind --preset --erase -M $m ctrl-k - bind -M $m ctrl-k up-or-search - # clear overrode - bind --preset --erase -M $m ctrl-l - bind -M $m ctrl-l forward-char - end -end +# for m in default insert normal replace replace_one +# bind --preset --erase -M $m ctrl-h +# bind -M $m ctrl-h backward-char +# bind --preset --erase -M $m ctrl-j +# bind -M $m ctrl-j down-or-search +# bind --preset --erase -M $m ctrl-k +# bind -M $m ctrl-k up-or-search +# # clear overrode +# bind --preset --erase -M $m ctrl-l +# bind -M $m ctrl-l forward-char +# end +# end -echo a +# echo a diff --git a/dot-config/fish/conf.d/abbr.fish b/dot-config/fish/conf.d/abbr.fish index 511ad540..42cf8046 100644 --- a/dot-config/fish/conf.d/abbr.fish +++ b/dot-config/fish/conf.d/abbr.fish @@ -19,7 +19,7 @@ abbr -a psg "ps aux | grep -v grep | grep -i -e VSZ -e" alias mkdir "mkdir -p" abbr -a fm ranger -alias cat "bat --plain --pager=never" +# alias cat "bat --plain --pager=never" # alias grep='grep --color=auto' alias grep "rg --no-heading --with-filename --smart-case --hyperlink-format=kitty -F --hidden" alias mv "mv -v" @@ -41,7 +41,7 @@ abbr -a chatgpt chat # better ls if set -q DISPLAY - alias ls "eza --color=auto --icons=always --hyperlink" + alias ls "eza --color=auto --icons=always --hyperlink=always" else alias ls "eza --color=auto" end @@ -137,7 +137,7 @@ abbr -a config-keybind "vim ~/.config/bspwm/sxhkdrc" abbr -a config-polybar "vim ~/.config/bspwm/themes/default/polybar/config.ini" # better less/cat # alias less='bat --pager=always --color always --plain' # moved into utility for auto sudo # nah, the one wont work with pipe -# alias cat='bat --pager=never' # moved into utility for auto sudo # nah, wont work with pipe +alias cat='bat --pager=never' # moved into utility for auto sudo # nah, wont work with pipe # better diff #alias diff='bat -d' # tars diff --git a/dot-config/fish/conf.d/env.fish b/dot-config/fish/conf.d/env.fish index 68325cb1..e6d426bc 100644 --- a/dot-config/fish/conf.d/env.fish +++ b/dot-config/fish/conf.d/env.fish @@ -17,7 +17,7 @@ set -xg PATH $HOME/.cargo/bin $PATH set -xg PATH $PATH /snap/bin set -xg PATH $PATH $HOME/.cache/.bun/bin set -xg PATH $PATH $HOME/go/bin -set -xg PATH $PATH /home/system/.spicetify +set -xg PATH $PATH $HOME/.local/share/solana/install/active_release/bin # GPG_TTY and SUDO_PROMPT # Fish: tty is a builtin; emulate ${TTY:-$(tty)} @@ -51,7 +51,9 @@ set -x XDG_PICTURES_DIR "$HOME/Pictures" set -x XDG_VIDEOS_DIR "$HOME/Videos" # Pager/editor helpers -set -x MANPAGER 'nvim +Man! +"set nocul" +"set noshowcmd" +"set noruler" +"set noshowmode" +"set laststatus=0" +"set showtabline=0" +"set nonumber"' +# set -x MANPAGER 'nvim +Man! +"set nocul" +"set noshowcmd" +"set noruler" +"set noshowmode" +"set laststatus=0" +"set showtabline=0" +"set nonumber"' +set -x MANPAGER delta +set -x PAGER delta # set -x MANPAGER hx # set -x MANROFFOPT -c set -x DIFFPROG 'nvim -d' diff --git a/dot-config/gtk-3.0/gtk.css b/dot-config/gtk-3.0/gtk.css index 56fd46cf..afcd68ed 100644 --- a/dot-config/gtk-3.0/gtk.css +++ b/dot-config/gtk-3.0/gtk.css @@ -20,3 +20,16 @@ window decoration { margin: 0; border: 0; } + +@binding-set NoEmoji { + unbind "<Control>semicolon"; + unbind "<Control>period"; +} + +entry { + -gtk-key-bindings: NoEmoji; +} + +textview { + -gtk-key-bindings: NoEmoji; +}
\ No newline at end of file diff --git a/dot-config/helix/languages.toml b/dot-config/helix/languages.toml index 08a531e4..4d5398be 100644 --- a/dot-config/helix/languages.toml +++ b/dot-config/helix/languages.toml @@ -16,9 +16,9 @@ feature_citations = false # enable citation completion (only on `cita RUST_LOG = "info,simple-completion-language-server=info" LOG_FILE = "/tmp/completion.log" -[language-server.gpt] -command = "helix-gpt" -args = ["--handler", "copilot"] +# [language-server.gpt] +# command = "helix-gpt" +# args = ["--handler", "copilot"] [language-server.rustowl] command = "rustowl" diff --git a/dot-config/hypr/autostart.lua b/dot-config/hypr/autostart.lua index 6777954b..6be0cca8 100644 --- a/dot-config/hypr/autostart.lua +++ b/dot-config/hypr/autostart.lua @@ -70,7 +70,7 @@ hl.on("hyprland.start", function() -- misc -- sys hud -- hl.exec_cmd('syshud -M audio_in,audio_out,brightness -b /sys/bus/ddcci/devices/ddcci13/backlight/ddcci13/') - hl.exec_cmd('syshud') + hl.exec_cmd('while true; do syshud; done') -- night light -- hl.exec_cmd('gammastep -l geoclue2') hl.exec_cmd('$HOME/scripts/hyprsunset.sh') @@ -81,6 +81,7 @@ hl.on("hyprland.start", function() hl.exec_cmd('bitwarden-desktop') -- hl.exec_cmd('kdeconnectd') -- hl.exec_cmd('killall input-leap input-leaps; input-leap -- works with https://github.com/3l0w/Hyprland/tree/feat/input-capture-impl') + hl.exec_cmd('deskflow-core server -s ~/.config/Deskflow/deskflow-server.conf') hl.exec_cmd('nextcloud --background') -- hl.exec_cmd(['noinitialfocus; workspace, special] localsend --hidden') -- hl.exec_cmd(['workspace 6 silent; noinitialfocus] discord --start-minimized') diff --git a/dot-config/hypr/binds.lua b/dot-config/hypr/binds.lua index 0e9bc0ea..2328a4a7 100644 --- a/dot-config/hypr/binds.lua +++ b/dot-config/hypr/binds.lua @@ -109,7 +109,8 @@ hl.bind(mod .. " + D", hl.dsp.window.move({ workspace = "special:minimized", fol hl.bind(mod .. " + I", hl.dsp.workspace.toggle_special("minimized")) hl.bind(mod .. " + I", hl.dsp.window.move({ workspace = "+0" })) hl.bind(mod .. " + Q", hl.dsp.window.close(), { repeating = true }) -hl.bind(mod .. " + SHIFT + Q", hl.dsp.window.close({ force = true })) +-- hl.bind(mod .. " + SHIFT + Q", hl.dsp.window.close({ force = true })) +hl.bind(mod .. " + SHIFT + Q", hl.dsp.window.kill()) hl.bind("CTRL + ALT + Escape", hl.dsp.exec_cmd("hyprctl kill")) hl.bind("CTRL + " .. mod .. " + SHIFT + R", hl.dsp.exec_cmd("hyprctl reload")) @@ -174,8 +175,8 @@ local function reset_zoom() }) end -hl.bind("SUPER + mouse_down", function() update_zoom(1.1) end) -hl.bind("SUPER + mouse_up", function() update_zoom(0.9) end) +hl.bind("SUPER + mouse_up", function() update_zoom(1.1) end) +hl.bind("SUPER + mouse_down", function() update_zoom(0.9) end) hl.bind("SUPER + equal", function() update_zoom(1.1) end, { repeating = true }) hl.bind("SUPER + minus", function() update_zoom(0.9) end, { repeating = true }) @@ -233,3 +234,5 @@ for _, ac in ipairs(autoclickers) do hl.bind(ac.bind, hl.dsp.exec_cmd("kill $(pgrep -f autoclicker-" .. ac.name .. ")"), { ignore_mods = true, release = true }) end + +hl.bind(mod .. " + SHIFT + Escape", hl.dsp.release_input_capture()) diff --git a/dot-config/hypr/cursor.lua b/dot-config/hypr/cursor.lua index 7eca0c19..fd24e11d 100644 --- a/dot-config/hypr/cursor.lua +++ b/dot-config/hypr/cursor.lua @@ -3,7 +3,8 @@ hl.config({ use_cpu_buffer = true, -- no_hardware_cursors = true, no_break_fs_vrr = true, - zoom_rigid = true, + -- zoom_rigid = true, persistent_warps = true, + -- zoom_detached_camera = false } }) diff --git a/dot-config/hypr/decor.lua b/dot-config/hypr/decor.lua index f75290da..d773d75d 100644 --- a/dot-config/hypr/decor.lua +++ b/dot-config/hypr/decor.lua @@ -52,6 +52,11 @@ hl.config({ input_methods = true, special = true, }, + + motion_blur ={ + enabled = true, + -- samples = 64, + }, }, animations = { @@ -101,23 +106,23 @@ hl.animation({ leaf = "borderangle", enabled = true, speed = 100, bezier = "line hl.animation({ leaf = "zoomFactor", enabled = true, speed = 3, bezier = "fast-slow" }) -hl.curve("spring", { type = "spring", mass = 3, stiffness = 200, dampening = 35 }) +hl.curve("spring", { type = "spring", mass = 1, stiffness = 600, dampening = 35 }) -hl.curve("layer", { type = "spring", mass = 4, stiffness = 450, dampening = 50 }) +hl.curve("layer", { type = "spring", mass = 1, stiffness = 1800, dampening = 50 }) -hl.curve("open", { type = "spring", mass = 4, stiffness = 300, dampening = 46 }) -hl.curve("move", { type = "spring", mass = 4, stiffness = 375, dampening = 48 }) +hl.curve("open", { type = "spring", mass = 1, stiffness = 1200, dampening = 46 }) +hl.curve("move", { type = "spring", mass = 1, stiffness = 1500, dampening = 48 }) -hl.curve("workspace", { type = "spring", mass = 4, stiffness = 325, dampening = 50 }) -hl.curve("workspaceIn", { type = "spring", mass = 4, stiffness = 375, dampening = 51 }) +hl.curve("workspace", { type = "spring", mass = 1, stiffness = 1300, dampening = 50 }) +hl.curve("workspaceIn", { type = "spring", mass = 1, stiffness = 1500, dampening = 51 }) --- hl.curve("zoom", { type = "spring", mass = 3, stiffness = 225, dampening = 38 }) +-- hl.curve("zoom", { type = "spring", mass = 1, stiffness = 675, dampening = 38 }) hl.animation({ leaf = "global", enabled = true, speed = 3, spring = "spring" }) hl.animation({ leaf = "layers", enabled = true, speed = 3, spring = "layer" }) -hl.animation({ leaf = "windowsIn", enabled = true, speed = 3, spring = "open" }) +hl.animation({ leaf = "windowsIn", enabled = true, speed = 30, spring = "open" }) hl.animation({ leaf = "windowsMove", enabled = true, speed = 3, spring = "move" }) hl.animation({ leaf = "workspaces", enabled = true, speed = 3, spring = "workspace" }) diff --git a/dot-config/hypr/hyprland.conf b/dot-config/hypr/hyprland.conf index b46aa20a..33a85ac4 100644 --- a/dot-config/hypr/hyprland.conf +++ b/dot-config/hypr/hyprland.conf @@ -3,7 +3,7 @@ ################ # See https://wiki.hyprland.org/Configuring/Monitors/ -monitor=,highres@highrr,auto,auto,bitdepth,10#,cm,hdr,sdrbrightness,1.5,sdrsaturation,1.35#,cm,auto +monitor=,highres@highrr,auto,auto#,bitdepth,10#,cm,hdr,sdrbrightness,1.5,sdrsaturation,1.35#,cm,auto # monitor=,preferred,auto,auto,bitdepth,10 # monitorv2 { # output = diff --git a/dot-config/hypr/hyprland.lua b/dot-config/hypr/hyprland.lua index f0444b8f..2ab21d38 100644 --- a/dot-config/hypr/hyprland.lua +++ b/dot-config/hypr/hyprland.lua @@ -97,17 +97,24 @@ require("plugins") --- hl.config({ --- debug = { +hl.config({ + experimental = { + wp_cm_1_2 = true, + }, + + input_capture = { + capture_modifiers = true + }, + + debug = { -- -- disable_scale_checks = true, -- disable_logs = false, -- -- overlay = true, -- show fps --- suppress_errors = true, + -- suppress_errors = true, -- -- pass = true, -- error_position = 1, -- -- log_damage = true, -- -- damage_blink = true, -- full_cm_proto = true, --- } - --- }) + } +}) diff --git a/dot-config/hypr/perms.lua b/dot-config/hypr/perms.lua index b6a67e18..11014568 100644 --- a/dot-config/hypr/perms.lua +++ b/dot-config/hypr/perms.lua @@ -4,6 +4,7 @@ hl.config({ }, }) +-- Screencopy hl.permission("/usr/(bin|local/bin)/grim", "screencopy", "allow") hl.permission("/usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland", "screencopy", "allow") hl.permission("/usr/(bin|local/bin)/hyprpm", "plugin", "allow") @@ -11,11 +12,18 @@ hl.permission("/usr/(bin|local/bin)/hyprpm", "plugin", "allow") hl.permission("/usr/bin/grim", "screencopy", "allow") hl.permission("/usr/bin/hyprlock", "screencopy", "allow") hl.permission("/usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland", "screencopy", "allow") +hl.permission("/usr/bin/hyprland-preview-share-picker", "screencopy", "allow") +-- Plugins hl.permission("/var/cache/hyprpm/system/dynamic-cursors/dynamic-cursors.so", "plugin", "allow") hl.permission("/var/cache/hyprpm/system/hyprscroller/hyprscroller.so", "plugin", "allow") +-- InputCapture +hl.permission("/usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland", "input-capture", "allow") + -- Keyboards +hl.permission(".*", "keyboard", "ask") + hl.permission("^yubico-yubikey-otp\\+fido\\+ccid$", "keyboard", "allow") hl.permission("^wooting-wooting-two-he-\\(arm\\)$", "keyboard", "allow") hl.permission("^wooting-wooting-two-he-\\(arm\\)-system-control$", "keyboard", "allow") @@ -30,7 +38,6 @@ hl.permission("^sleep-button$", "keyboard", "allow") hl.permission("^hp-wmi-hotkeys$", "keyboard", "allow") hl.permission("^hl-virtual-keyboard$", "keyboard", "allow") hl.permission("^hl-virtual-keyboard-fcitx5$", "keyboard", "allow") - hl.permission("^company--usb-device--keyboard-1$", "keyboard", "allow") - -hl.permission(".*", "keyboard", "ask") +hl.permission("^company--usb-device--1$", "keyboard", "allow") +hl.permission("^wooting-wooting-two-he-\\(arm\\)-consumer-control-1$", "keyboard", "allow") diff --git a/dot-config/hypr/perms.luagwCJsS.bck b/dot-config/hypr/perms.luagwCJsS.bck new file mode 100644 index 00000000..9a6aaaa3 --- /dev/null +++ b/dot-config/hypr/perms.luagwCJsS.bck @@ -0,0 +1,42 @@ +hl.config({ + ecosystem = { + enforce_permissions = true, + }, +}) + +-- Screencopy +hl.permission("/usr/(bin|local/bin)/grim", "screencopy", "allow") +hl.permission("/usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland", "screencopy", "allow") +hl.permission("/usr/(bin|local/bin)/hyprpm", "plugin", "allow") + +hl.permission("/usr/bin/grim", "screencopy", "allow") +hl.permission("/usr/bin/hyprlock", "screencopy", "allow") +hl.permission("/usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland", "screencopy", "allow") +hl.permission("/usr/bin/hyprland-preview-share-picker", "screencopy", "allow") + +-- Plugins +hl.permission("/var/cache/hyprpm/system/dynamic-cursors/dynamic-cursors.so", "plugin", "allow") +hl.permission("/var/cache/hyprpm/system/hyprscroller/hyprscroller.so", "plugin", "allow") + +-- InputCapture +hl.permission("/usr/bin/deskflow-core", "input-capture", "allow") + +-- Keyboards +hl.permission("^yubico-yubikey-otp\\+fido\\+ccid$", "keyboard", "allow") +hl.permission("^wooting-wooting-two-he-\\(arm\\)$", "keyboard", "allow") +hl.permission("^wooting-wooting-two-he-\\(arm\\)-system-control$", "keyboard", "allow") +hl.permission("^wooting-wooting-two-he-\\(arm\\)-consumer-control$", "keyboard", "allow") +hl.permission("^company--usb-device-$", "keyboard", "allow") +hl.permission("^company--usb-device--keyboard$", "keyboard", "allow") +hl.permission("^logitech-brio-consumer-control$", "keyboard", "allow") +hl.permission("^video-bus$", "keyboard", "allow") +hl.permission("^power-button$", "keyboard", "allow") +hl.permission("^power-button-1$", "keyboard", "allow") +hl.permission("^sleep-button$", "keyboard", "allow") +hl.permission("^hp-wmi-hotkeys$", "keyboard", "allow") +hl.permission("^hl-virtual-keyboard$", "keyboard", "allow") +hl.permission("^hl-virtual-keyboard-fcitx5$", "keyboard", "allow") + +hl.permission("^company--usb-device--keyboard-1$", "keyboard", "allow") + +hl.permission(".*", "keyboard", "ask") diff --git a/dot-config/hypr/plugins.lua b/dot-config/hypr/plugins.lua index 6f446303..d68617d3 100644 --- a/dot-config/hypr/plugins.lua +++ b/dot-config/hypr/plugins.lua @@ -1,3 +1,138 @@ hl.config({ - plugin = {} + plugin = { + + + -- overview = { + -- enabled = true, + -- disableGestures = true, + -- panelHeight = 150, + -- }, + -- hyprfocus { + -- enabled = yes + -- focus_animation = shrink + -- animate_floating = yes + -- animate_worksapcechange = yes + -- } + dynamic_cursors = { + mode = "stretch", + shake = { + effects = true + }, + -- shaperule = text, none + -- hyprcursor { + -- nearest = false + -- } + -- shaperule = clientside, none + }, + -- scroller = { + -- column_default_width = "onehalf", + -- focus_edge_ms = 100, + -- only_window_one = true, + -- }, + -- chromakey_background = $background + -- hy3 { + -- -- disable gaps when only one window is onscreen + -- -- 0 - always show gaps + -- -- 1 - hide gaps with a single window onscreen + -- -- 2 - 1 but also show the window border + -- -- no_gaps_when_only = <int> -- default: 0 + + -- -- policy controlling what happens when a node is removed from a group, + -- -- leaving only a group + -- -- 0 = remove the nested group + -- -- 1 = keep the nested group + -- -- 2 = keep the nested group only if its parent is a tab group + -- -- node_collapse_policy = <int> -- default: 2 + + -- -- offset from group split direction when only one window is in a group + -- -- group_inset = <int> -- default: 10 + + -- -- if a tab group will automatically be created for the first window spawned in a workspace + -- -- tab_first_window = <bool> + + -- -- tab group settings + -- tabs { + -- -- height of the tab bar + -- -- height = <int> -- default: 15 + + -- -- padding between the tab bar and its focused node + -- -- padding = <int> -- default: 5 + + -- -- the tab bar should animate in/out from the top instead of below the window + -- -- from_top = <bool> -- default: false + + -- -- rounding of tab bar corners + -- -- rounding = <int> -- default: 3 + + -- -- render the window title on the bar + -- -- render_text = <bool> -- default: true + + -- -- center the window title + -- -- text_center = <bool> -- default: false + + -- -- font to render the window title with + -- -- text_font = <string> -- default: Sans + + -- -- height of the window title + -- -- text_height = <int> -- default: 8 + + -- -- left padding of the window title + -- -- text_padding = <int> -- default: 3 + + -- -- active tab bar segment color + -- -- col.active = <color> -- default: 0xff32b4ff + + -- -- urgent tab bar segment color + -- -- col.urgent = <color> -- default: 0xffff4f4f + + -- -- inactive tab bar segment color + -- -- col.inactive = <color> -- default: 0x80808080 + + -- -- active tab bar text color + -- -- col.text.active = <color> -- default: 0xff000000 + + -- -- urgent tab bar text color + -- -- col.text.urgent = <color> -- default: 0xff000000 + + -- -- inactive tab bar text color + -- -- col.text.inactive = <color> -- default: 0xff000000 + -- } + + -- -- autotiling settings + -- autotile { + -- -- enable autotile + -- -- enable = <bool> -- default: false + + -- -- make autotile-created groups ephemeral + -- -- ephemeral_groups = <bool> -- default: true + + -- -- if a window would be squished smaller than this width, a vertical split will be created + -- -- -1 = never automatically split vertically + -- -- 0 = always automatically split vertically + -- + -- -- <number> = pixel height to split at + -- -- trigger_width = <int> -- default: 0 + + -- -- if a window would be squished smaller than this height, a horizontal split will be created + -- -- -1 = never automatically split horizontally + -- -- 0 = always automatically split horizontally + -- -- <number> = pixel height to split at + -- -- trigger_height = <int> -- default: 0 + + -- -- a space or comma separated list of workspace ids where autotile should be enabled + -- -- it's possible to create an exception rule by prefixing the definition with "not:" + -- -- workspaces = 1,2 -- autotiling will only be enabled on workspaces 1 and 2 + -- -- workspaces = not:1,2 -- autotiling will be enabled on all workspaces except 1 and 2 + -- -- workspaces = <string> -- default: all + -- } + -- } + -- hyprwinwrap { + -- class = winwrap + -- } + } }) + +hl.plugin.dynamic_cursors.shape_rule { + shape = "clientside", + mode = "none", +} diff --git a/dot-config/hypr/rules.lua b/dot-config/hypr/rules.lua index 8a543fef..16d7cf89 100644 --- a/dot-config/hypr/rules.lua +++ b/dot-config/hypr/rules.lua @@ -78,12 +78,13 @@ hl.window_rule({ match = { tag = "games" }, content = "game" }) -- GUI Utils hl.window_rule({ - match = { tag = "gui-utils" }, - opacity = "0.85 0.75", - pin = true, - size = { "(monitor_w*0.53)", "(monitor_h*0.6)" }, - move = { "(monitor_w-window_w-" .. offsets.right .. ")", tostring(offsets.top) }, - animation = "slide right top" + match = { tag = "gui-utils" }, + float = true, + opacity = "0.85 0.75", + pin = true, + size = { "(monitor_w*0.53)", "(monitor_h*0.6)" }, + move = { "(monitor_w*0.47-" .. offsets.right .. ")", tostring(offsets.top) }, + animation = "slide right top" }) -- media contents @@ -114,10 +115,10 @@ end hl.window_rule({ match = { tag = "fakefullscreen" }, fullscreen_state = "0 2" }) -- Games -hl.window_rule({ match = { tag = "games" }, fullscreen = true, immediate = true }) +-- hl.window_rule({ match = { tag = "games" }, fullscreen = true, immediate = true }) -- fh5 & game focus suppression -hl.window_rule({ match = { title = "^(Forza Horizon 5)$" }, suppress_event = "activatefocus" }) +hl.window_rule({ match = { title = "^(Forza Horizon [56])$" }, suppress_event = "activatefocus" }) hl.window_rule({ match = { class = "^(steam_app_1551360)$" }, suppress_event = "activatefocus" }) hl.window_rule({ match = { tag = "games" }, suppress_event = "activatefocus" }) @@ -154,7 +155,7 @@ hl.window_rule({ match = { tag = "hidden" }, workspace = "special:minimized sile local app_tags = { { class = "^(Alacritty|Xfce4-terminal|Kitty|" .. (vars.term or "$term") .. "|com.mitchellh.ghostty)$", tag = "+terminal" }, { class = "^(" .. (vars.browser or "$browser") .. "|Brave-browser|chromium|firefox|thorium|zen)$", tag = "+web" }, - { class = "^(" .. (vars.fileManager or "$fileManager") .. "|Pcmanfm|thunar|qBittorrent|Caja)$", tag = "+file" }, + { class = "^(" .. (vars.fileManager or "$fileManager") .. "|Pcmanfm|thunar|org.qbittorrent.qBittorrent|Caja)$", tag = "+file" }, { class = "^(code|code-url-handler|cursor-url-handler|code-oss|Code - OSS|install4j-burp-StartBurp|burp-StartBurp|Unity|jetbrains-pycharm-ce|Postman|jetbrains-clion|.*\\.zed\\.Zed-.*)$", tag = "+code" }, { class = "^(LibreOffice.*|libreoffice.*|Typora|obsidian|figma-linux|anytype|craft-nativefier-e0958b|evince|org.gnome.Evince|ClickUp)$", tag = "+office" }, { class = "^(discord|vesktop|VencordDesktop|Chat-gpt|Whatsapp-for-linux|Chatbox)$", tag = "+communication" }, @@ -165,7 +166,7 @@ local app_tags = { { title = ".*\\.exe", tag = "+games" }, { title = "^(War Thunder.*)$", tag = "+games" }, { content = "3", tag = "+games" }, - { class = "^(thorium-app.shortwave.com__-Default|thorium-mdpkiolbdkhdjpekfbkbmhigcaggjagi-Profile_1|thorium-lnachpgegbbmnnlgpokibfjlmppeciah-Default|BeeperTexts)$", tag = "+gui-utils" }, + { class = "^(thorium-app.shortwave.com__-Default|thorium-mdpkiolbdkhdjpekfbkbmhigcaggjagi-Profile_1|thorium-lnachpgegbbmnnlgpokibfjlmppeciah-Default|BeeperTexts|Beeper)$", tag = "+gui-utils" }, { class = "^(blobdrop|dragon|dragon-drop)$", tag = "+media-contents" }, { class = "^(blobdrop|dragon|dragon-drop)$", tag = "+bottom-right" }, { title = "^(Picture-in-Picture)$", tag = "+media-contents" }, @@ -189,7 +190,7 @@ for _, rule in ipairs(app_tags) do end -- Floating applications -hl.window_rule({ match = { class = "^(zoom|sxiv|Sxiv|[Vv]iewnior|feh|nm-connection-editor|install4j-burp-StartBurp|thorium-app.shortwave.com__-Default|thorium-mdpkiolbdkhdjpekfbkbmhigcaggjagi-Profile_1|thorium-lnachpgegbbmnnlgpokibfjlmppeciah-Default|BeeperTexts|electron|com.github.rafostar.Clapper|io.github.celluloid_player.Celluloid|qimgv)$" }, float = true }) +hl.window_rule({ match = { class = "^(zoom|sxiv|Sxiv|[Vv]iewnior|feh|nm-connection-editor|install4j-burp-StartBurp|thorium-app.shortwave.com__-Default|thorium-mdpkiolbdkhdjpekfbkbmhigcaggjagi-Profile_1|thorium-lnachpgegbbmnnlgpokibfjlmppeciah-Default|BeeperTexts|Beeper|electron|com.github.rafostar.Clapper|io.github.celluloid_player.Celluloid|qimgv)$" }, float = true }) hl.window_rule({ match = { title = "^(Steam Settings|Sign in – Google accounts)$" }, float = true }) -- Specific window pin/stay_focused rules @@ -245,6 +246,11 @@ end -- Full screen no idle hl.window_rule({ match = { class = ".*" }, idle_inhibit = "fullscreen" }) +hl.window_rule({ + match = { class = "steam_app_2483190" }, + render_unfocused = true, +}) + -- no blurs hl.window_rule({ match = { title = "^(Annotation - Zoom)$" }, no_blur = true }) @@ -293,6 +299,7 @@ hl.window_rule({ match = { class = "^(org.vinegarhq.Sober)$", title = "^(Join Fr -- suppressevent hl.window_rule({ match = { class = "^spotify$" }, suppress_event = "activatefocus activate" }) +hl.window_rule({ match = { class = "^org.gnome.Evince$" }, suppress_event = "activate" }) -- Fix some dragging issues with XWayland hl.window_rule({ diff --git a/dot-config/hypr/xdph.conf b/dot-config/hypr/xdph.conf index 8f960548..363e7971 100644 --- a/dot-config/hypr/xdph.conf +++ b/dot-config/hypr/xdph.conf @@ -1,4 +1,5 @@ screencopy { max_fps = 0 allow_token_by_default = true + custom_picker_binary = hyprland-preview-share-picker } diff --git a/dot-config/mpv/mpv.conf b/dot-config/mpv/mpv.conf index 70dd7d5c..f9b59e93 100644 --- a/dot-config/mpv/mpv.conf +++ b/dot-config/mpv/mpv.conf @@ -9,4 +9,7 @@ vo=gpu-next video-sync=display-resample interpolation=yes #HDR passtrough: Important for HDR & DoVi playback, no downside for SDR so always on -target-colorspace-hint=yes +target-colorspace-hint-mode=source +sub-visibility=yes +sub-auto=fuzzy +slang=eng,en diff --git a/dot-config/spicetify/config-xpui.ini b/dot-config/spicetify/config-xpui.ini index ca7e64da..2249d5d8 100644 --- a/dot-config/spicetify/config-xpui.ini +++ b/dot-config/spicetify/config-xpui.ini @@ -28,5 +28,5 @@ expose_apis = 1 ; DO NOT CHANGE! [Backup] -version = 1.2.86.502.g8cd7fb22 -with = 2.43.2 +version = 1.2.92.147.g5b8f9367 +with = 2.44.0 diff --git a/dot-config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml b/dot-config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml index 0d3eef35..d928ed33 100644 --- a/dot-config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml +++ b/dot-config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml @@ -13,7 +13,7 @@ <property name="last-sort-order" type="string" value="GTK_SORT_DESCENDING"/> <property name="last-details-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_38_PERCENT"/> <property name="last-details-view-visible-columns" type="string" value="THUNAR_COLUMN_DATE_MODIFIED,THUNAR_COLUMN_NAME,THUNAR_COLUMN_SIZE,THUNAR_COLUMN_TYPE"/> - <property name="last-details-view-column-widths" type="string" value="50,50,138,130,50,354,50,50,1461,50,50,85,50,199"/> + <property name="last-details-view-column-widths" type="string" value="50,50,138,130,50,117,50,50,653,50,50,86,50,92"/> <property name="misc-status-bar-active-info" type="uint" value="31"/> <property name="misc-text-beside-icons" type="bool" value="false"/> <property name="misc-folders-first" type="bool" value="false"/> diff --git a/dot-config/zed/AGENTS.md b/dot-config/zed/AGENTS.md new file mode 100644 index 00000000..9d76bad6 --- /dev/null +++ b/dot-config/zed/AGENTS.md @@ -0,0 +1,111 @@ +## Commit message + +You are an expert at writing Git commits. Your job is to write a short clear commit message that summarizes the changes. + +If you can accurately express the change in just the subject line, don't include anything in the message body. Only use the body when it is providing *useful* information. + +Don't repeat information from the subject line in the message body. + +Only return the commit message in your response. Do not include any additional meta-commentary about the task. Do not include the raw diff output in the commit message. + +Follow good Git style: + +- Separate the subject from the body with a blank line +- Try to limit the subject line to 50 characters +- Capitalize the subject line +- Do not end the subject line with any punctuation +- Use the imperative mood in the subject line +- Wrap the body at 72 characters +- Keep the body short and concise (omit it entirely if not useful) + +# Commit conventions + +## Prefix/Type: +#### All prefix should include a () after the prefix to specify what is the change specifically (for example a function name, a file name, a variable name, or a general description of where the change is made) +- `feat`: A new feature is introduced with the change +- `fix`: A bug is fix has occured +- `chore`: Changes that do not relate to a fix or a feature and don't modify the code (for example adding `.gitignore`) +- `bump`: Bumps a version of a package or the project itself(need specification on what is bumped), specify the version bumped from and to with a arrow(->) (for example, `bump(package.json): react 1.0.0 -> 1.0.1`) +- `refactor`: A code change that neither fixes a bug nor adds a feature +- `docs`: Updates to the documentation such as README.md or other documentation files +- `style`: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc), or in web development, changes that are related to the style of the website +- `test`: Including new or correcting existing tests +- `perf`: Performance Improvements +- `ci`: Continues Integration related changes +- `build`: Changes that affect the build system or external dependencies +- `security`: Changes that are related to security +- `revert`: Reverts a previous commit (need specification on what is reverted)(doesn't nessesarily have to be a commit) +- `change`: Changes that are not a fix or a feature, just a general change(need specification on what is the change) +- `remove`: Removes something in the code, don't nessesarily have to be a bug(need specification on what is removed) +- `move`: Moves one file to another place, specify with a arrow(->) where the file is moved to (for example, ``move(reason/notes): `file1` -> `file2` ``) +- `add`: Adds something in the code, or file(mention the file in "()"), don't nessesarily have to be a feature(need specification on what is added) +- `sync`: Syncs the code with another branch or repository(need specification on what is synced) +- `enable`: Enables a feature or a function(need specification on what is enabled), specific for configs +- `feature/function Name`: The literal name of the change, for example, `renderer: Fix resize artifacts (stretching, bumps)` or `monitor: cleanup and modernize scheduleDone` +- `core`: A commit that affects the core of the project +- `internal`: Changes that are internal and are not meant to be seen by or affect the user +- `structure`: Changes the structure of the codebase +#### Special / Notes: +- add a `!` after the prefix to specify that its a breaking change, e.g. `feat!`, `core!` etc +- use `` ` `` wrap around a specific function name, file name, variable name and any specific things mentioned that is in the code +##### Example: +- ``feat(`functionName`): Added a new function that does something`` + +## Subject +#### The subject contains a succinct description of the change, and if possible a reason for the change: +##### Example: +- A: "Add margin" +- B: "style(footer): Add margin to nav times to prevent them from overlapping the logo" +In this example, A is a bad subject because it doesn't specify what is being changed, while B is a good subject because it specifies what is being changed and why it is being changed. + +## Body / Description (optional) +#### In a commit message, the body is optional and is used to explain what and why the change was made. The body should be used to explain the reasoning behind the change and what the change does. The body should be written in the present tense and should explain what the commit does and why it does it. +##### Example: +- `feat(functionName): Added a new function that does something` +#### Usage: +Use `git -m subject/title -m body/description` to add a body to a commit message +#### Any changes that is not the main changes but is in the commit should be added to the body + +## General +- Length: + - The subject should be no longer than 50 characters + - the body should be wrapped at 72 characters +- Be direct and to the point + - Try to eliminate unnecessary words (for example, "though", "maybe", "I think", "kind of", etc) +- If applicable, include a reference to a GitHub issue stating a fix, feature, or issue that is being addressed + +## Always think about: +- Why have I made these changes? +- What effect have my changes made? +- Why was the change needed? +- What are the changes in reference to? + +## Do + +- Do stick to the existing code style, conventions, patterns, and structure. +- Do make as little changes as possible. +- Do check for component/functions if you are not sure for a fact that it exists. +- Do check for anything if needed, time is not an issue. +- Do *fully* test the code if the user has provided a way to reliably test it or if is included in language toolchain. +- Do use types if possible and is convenient. +- Do change the plan when variable changes. +- Do read the README.* if exist to understand the project. +- Do reflect and revert/remove any code you've changed that is not necessary. +- Do run the formatter such as cargo fmt, or check Makefile etc. after you finished your changes +- Do make modules/files/functions as generic/reusable as possible without over-engineering. +- Do use `trash` instead of `rm` + +## Don't + +- Do *NOT* add comments unless ABSOLUTELY necessary, no trivial comment or comments for every line. +- Do *NOT* make trivial functions or variables that are not needed or is only used once or code bloat. +- Do *NOT* remove existing comments. +- Do *NOT* hallucinate. +- Do *NOT* add additionally unnecessary stuff. +- Do *NOT* announce or repeat to the user you've followed related rule/system prompt instuctions + +## Format + +- Use tab for indentation. +- Follow the appropriate formatting depending on the language such as Hungarian notation for C++ +- Use the most idomatic way to implement the solution. diff --git a/dot-config/zed/settings.json b/dot-config/zed/settings.json index 296fb7ea..7ffc7f31 100644 --- a/dot-config/zed/settings.json +++ b/dot-config/zed/settings.json @@ -7,7 +7,12 @@ // custom settings, run `zed: open default settings` from the // command palette (cmd-shift-p / ctrl-shift-p) { - "cli_default_open_behavior": "new_window", + "agent_servers": { + "opencode": { + "type": "registry" + } + }, + "cli_default_open_behavior": "new_window", "outline_panel": { "dock": "left", }, diff --git a/dot-config/zed/settings_backup.json b/dot-config/zed/settings_backup.json index 451bc3bc..b6c16637 100644 --- a/dot-config/zed/settings_backup.json +++ b/dot-config/zed/settings_backup.json @@ -7,7 +7,12 @@ // custom settings, run `zed: open default settings` from the // command palette (cmd-shift-p / ctrl-shift-p) { - "cli_default_open_behavior": "new_window", + "agent_servers": { + "opencode": { + "type": "registry" + } + }, + "cli_default_open_behavior": "new_window", "outline_panel": { "dock": "left", }, |
