From df010c34c196d44e98975317ec8d8506d692eb3c Mon Sep 17 00:00:00 2001 From: Bas Grolleman Date: Mon, 11 May 2026 08:17:05 +0200 Subject: [PATCH 1/5] Last changes to i3/kitty --- i3/config | 29 +++++++++++++++++++++-------- kitty/kitty.conf | 2 ++ 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/i3/config b/i3/config index 3e01eaa..c8cd605 100644 --- a/i3/config +++ b/i3/config @@ -2,7 +2,8 @@ # Bas Grolleman # Some reason system boots wrong resolution -exec --no-startup-id ~/bin/set_display_ultrawide +# exec --no-startup-id ~/bin/set_display_ultrawide +exec --no-startup-id ~/.screenlayout/dual.sh # t set $mod Mod1 @@ -53,7 +54,7 @@ bindsym $win+e exec /usr/bin/nautilus /home/bgrolleman bindsym $win+b exec /opt/helium/helium # kill focused window -bindsym $mod+Shift+q kill +bindsym $mod+Shift+y kill # start dmenu (a program launcher) #bindsym $mod+d exec --no-startup-id dmenu_run @@ -90,7 +91,7 @@ bindsym $mod+y floating enable; resize set 55ppt 95ppt; move position center # change container layout (stacked, tabbed, toggle split) #bindsym $mod+s layout stacking #bindsym $mod+w layout tabbed -#bindsym $mod+e layout toggle split +bindsym $mod+e layout toggle split # toggle tiling / floating bindsym $mod+space floating toggle @@ -111,6 +112,13 @@ set $ws8 "8" set $ws9 "9" set $ws10 "10" +workspace $ws1 output primary +workspace $ws2 output primary +workspace $ws3 output primary +workspace $ws4 output primary +workspace $ws5 output secondary +workspace $ws6 output secondary + # switch to workspace bindsym $mod+1 workspace number $ws1 bindsym $mod+2 workspace number $ws2 @@ -168,8 +176,8 @@ mode "resize" { } bindsym $mod+r mode "resize" -bindsym $mod+Right resize grow width 30px -bindsym $mod+Left resize shrink width 30px +bindsym $mod+Shift+Right resize grow width 30px +bindsym $mod+Shift+Left resize shrink width 30px exec_always --no-startup-id $HOME/.config/polybar/launch.sh @@ -183,10 +191,10 @@ gaps inner 5px exec --no-startup-id xset dpms 600 exec --no-startup-id /usr/bin/blueman-applet exec --no-startup-id nitrogen --restore -exec --no-startup-id greenclip deamon -exec --no-startup-id flatpak run com.core447.StreamController -b +#exec --no-startup-id greenclip deamon +#exec --no-startup-id flatpak run com.core447.StreamController -b exec --no-startup-id picom -exec --no-startup-id ~/bin/stack-v5.3.1-20240731-x86_64.AppImage +#exec --no-startup-id ~/bin/stack-v5.3.1-20240731-x86_64.AppImage bindsym $win+period exec flatpak run it.mijorus.smile @@ -194,3 +202,8 @@ bindsym $win+period exec flatpak run it.mijorus.smile client.focused #ffff00 #ffff00 #000000 #ffff00 #ffff00 + +# Float Windows +for_window [class="Ryujinx"] floating enable +for_window [class="steam"] floating enable +assign [class="steam"] 4 diff --git a/kitty/kitty.conf b/kitty/kitty.conf index 2caa939..e9b678c 100644 --- a/kitty/kitty.conf +++ b/kitty/kitty.conf @@ -1 +1,3 @@ shell bash --login +paste_actions replace-dangerous-control-codes + From d74daceb09c09a3f4244c78b56a0550515234e93 Mon Sep 17 00:00:00 2001 From: Bas Grolleman Date: Mon, 11 May 2026 08:17:14 +0200 Subject: [PATCH 2/5] Last changes to neovim --- nvim/lazyvim.json | 5 +++-- nvim/lua/config/lazy.lua | 2 +- nvim/lua/plugins/render-markdown.lua | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/nvim/lazyvim.json b/nvim/lazyvim.json index 466e64d..23ac53a 100644 --- a/nvim/lazyvim.json +++ b/nvim/lazyvim.json @@ -3,6 +3,7 @@ "lazyvim.plugins.extras.coding.luasnip", "lazyvim.plugins.extras.coding.mini-comment", "lazyvim.plugins.extras.coding.mini-snippets", + "lazyvim.plugins.extras.coding.mini-surround", "lazyvim.plugins.extras.coding.yanky", "lazyvim.plugins.extras.editor.dial", "lazyvim.plugins.extras.editor.inc-rename", @@ -31,7 +32,7 @@ ], "install_version": 8, "news": { - "NEWS.md": "10960" + "NEWS.md": "11866" }, "version": 8 -} +} \ No newline at end of file diff --git a/nvim/lua/config/lazy.lua b/nvim/lua/config/lazy.lua index 999d2ae..ec13966 100644 --- a/nvim/lua/config/lazy.lua +++ b/nvim/lua/config/lazy.lua @@ -62,5 +62,5 @@ require("lazy").setup({ -- colorscheme that will be used when installing plugins. install = { colorscheme = { "habamax" } }, -- automatically check for plugin updates - checker = { enabled = true }, + -- checker = { enabled = true }, }) diff --git a/nvim/lua/plugins/render-markdown.lua b/nvim/lua/plugins/render-markdown.lua index dc80a29..cfb6da9 100644 --- a/nvim/lua/plugins/render-markdown.lua +++ b/nvim/lua/plugins/render-markdown.lua @@ -1,6 +1,6 @@ return { "MeanderingProgrammer/render-markdown.nvim", - dependencies = { "nvim-treesitter/nvim-treesitter", "echasnovski/mini.nvim" }, -- if you use the mini.nvim suite + dependencies = { "nvim-treesitter/nvim-treesitter", "nvim-mini/mini.nvim" }, -- if you use the mini.nvim suite ---@module 'render-markdown' ---@type render.md.UserConfig opts = {}, From 69e6d4f1db2692956263f5af55c3abdedebdcc8a Mon Sep 17 00:00:00 2001 From: Bas Grolleman Date: Mon, 11 May 2026 08:17:46 +0200 Subject: [PATCH 3/5] Change Niri to use ALT more --- niri/cfg/keybinds.kdl | 90 ++++++++++++++++++++++++------------------ niri/cfg/layout.kdl | 2 +- noctalia/settings.json | 2 +- 3 files changed, 53 insertions(+), 41 deletions(-) diff --git a/niri/cfg/keybinds.kdl b/niri/cfg/keybinds.kdl index edd20a4..2d8bb74 100644 --- a/niri/cfg/keybinds.kdl +++ b/niri/cfg/keybinds.kdl @@ -6,15 +6,17 @@ binds { // ─── noctalia-shell keybinds ─── // https://docs.noctalia.dev/getting-started/keybinds/ - Mod+Shift+ESCAPE { show-hotkey-overlay; } + //Mod+Shift+ESCAPE { show-hotkey-overlay; } + + Mod+h { show-hotkey-overlay; } Mod+Shift+S { spawn-sh "flameshot gui"; } // ─── Applications ─── - Mod+Return hotkey-overlay-title="Open Terminal: Alacritty" { spawn "alacritty"; } - Mod+CTRL+Return hotkey-overlay-title="Open App Launcher: noctalia launcher" { spawn-sh "qs -c noctalia-shell ipc call launcher toggle"; } - Mod+Space hotkey-overlay-title="Open App Launcher: noctalia launcher" { spawn-sh "qs -c noctalia-shell ipc call launcher toggle"; } - Mod+B hotkey-overlay-title="Open Browser: helium" { spawn "helium-browser"; } - Mod+ALT+L hotkey-overlay-title="Lock Screen: noctalia lock" { spawn-sh "qs -c noctalia-shell ipc call lockScreen lock"; } + Mod+Return hotkey-overlay-title="Open Terminal: Alacritty" { spawn "alacritty"; } + //Mod+CTRL+Return hotkey-overlay-title="Open App Launcher: noctalia launcher" { spawn-sh "qs -c noctalia-shell ipc call launcher toggle"; } + Mod+Space hotkey-overlay-title="Open App Launcher: noctalia launcher" { spawn-sh "qs -c noctalia-shell ipc call launcher toggle"; } + Mod+B hotkey-overlay-title="Open Browser: helium" { spawn "helium-browser"; } + Mod+ALT+L hotkey-overlay-title="Lock Screen: noctalia lock" { spawn-sh "qs -c noctalia-shell ipc call lockScreen lock"; } Mod+Shift+Q hotkey-overlay-title="Session Menu: noctalia sessionMenu" { spawn-sh "qs -c noctalia-shell ipc call sessionMenu toggle"; } // Please choose your own file manager. @@ -35,25 +37,35 @@ binds { XF86MonBrightnessDown allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call brightness decrease"; } // ─── Window Movement and Focus ─── + Alt+H { focus-column-left; } + Alt+L { focus-column-right; } + Alt+J { focus-workspace-down; } + Alt+K { focus-workspace-up; } + + Alt+Shift+H { move-column-left; } + Alt+Shift+L { move-column-right; } + Alt+Shift+J { move-column-to-workspace-down; } + Alt+Shift+K { move-column-to-workspace-up; } + Mod+Q { close-window; } - Mod+Left { focus-column-left; } - Mod+H { focus-column-left; } - Mod+Right { focus-column-right; } - Mod+L { focus-column-right; } - Mod+Up { focus-window-up; } - Mod+K { focus-window-up; } - Mod+Down { focus-window-down; } - Mod+J { focus-window-down; } + // Mod+Left { focus-column-left; } + // Mod+H { focus-column-left; } + // Mod+Right { focus-column-right; } + // Mod+L { focus-column-right; } + // Mod+Up { focus-window-up; } + // Mod+K { focus-window-up; } + // Mod+Down { focus-window-down; } + // Mod+J { focus-window-down; } - Mod+CTRL+Left { move-column-left; } - Mod+CTRL+H { move-column-left; } - Mod+CTRL+Right { move-column-right; } - Mod+CTRL+L { move-column-right; } - Mod+CTRL+UP { move-window-up; } - Mod+CTRL+K { move-window-up; } - Mod+CTRL+Down { move-window-down; } - Mod+CTRL+J { move-window-down; } + // Mod+CTRL+Left { move-column-left; } + // Mod+CTRL+H { move-column-left; } + // Mod+CTRL+Right { move-column-right; } + // Mod+CTRL+L { move-column-right; } + // Mod+CTRL+UP { move-window-up; } + // Mod+CTRL+K { move-window-up; } + // Mod+CTRL+Down { move-window-down; } + // Mod+CTRL+J { move-window-down; } Mod+Home { focus-column-first; } Mod+End { focus-column-last; } @@ -62,29 +74,29 @@ binds { Mod+Shift+Left { focus-monitor-left; } Mod+Shift+Right { focus-monitor-right; } - Mod+Shift+UP { focus-monitor-up; } + Mod+Shift+Up { focus-monitor-up; } Mod+Shift+Down { focus-monitor-down; } - Mod+Shift+CTRL+Left { move-column-to-monitor-left; } - Mod+Shift+CTRL+Right { move-column-to-monitor-right; } - Mod+Shift+CTRL+UP { move-column-to-monitor-up; } - Mod+Shift+CTRL+Down { move-column-to-monitor-down; } + // Mod+Shift+CTRL+Left { move-column-to-monitor-left; } + // Mod+Shift+CTRL+Right { move-column-to-monitor-right; } + // Mod+Shift+CTRL+UP { move-column-to-monitor-up; } + // Mod+Shift+CTRL+Down { move-column-to-monitor-down; } // ─── Workspace Switching ─── - Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } - Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } - Mod+CTRL+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } - Mod+CTRL+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } + // Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } + // Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } + // Mod+CTRL+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } + // Mod+CTRL+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } - Mod+WheelScrollRight { focus-column-right; } - Mod+WheelScrollLeft { focus-column-left; } - Mod+CTRL+WheelScrollRight { move-column-right; } - Mod+CTRL+WheelScrollLeft { move-column-left; } + // Mod+WheelScrollRight { focus-column-right; } + // Mod+WheelScrollLeft { focus-column-left; } + // Mod+CTRL+WheelScrollRight { move-column-right; } + // Mod+CTRL+WheelScrollLeft { move-column-left; } - Mod+Shift+WheelScrollDown { focus-column-right; } - Mod+Shift+WheelScrollUp { focus-column-left; } - Mod+CTRL+Shift+WheelScrollDown { move-column-right; } - Mod+CTRL+Shift+WheelScrollUp { move-column-left; } + // Mod+Shift+WheelScrollDown { focus-column-right; } + // Mod+Shift+WheelScrollUp { focus-column-left; } + // Mod+CTRL+Shift+WheelScrollDown { move-column-right; } + // Mod+CTRL+Shift+WheelScrollUp { move-column-left; } Alt+1 { focus-workspace 1; } Alt+2 { focus-workspace 2; } diff --git a/niri/cfg/layout.kdl b/niri/cfg/layout.kdl index b66d29a..67c79d2 100644 --- a/niri/cfg/layout.kdl +++ b/niri/cfg/layout.kdl @@ -1,6 +1,6 @@ layout { gaps 16 // Gap between windows - center-focused-column "always" // Don’t auto-center focused column + center-focused-column "on-overflow" // Don’t auto-center focused column background-color "transparent" // <- needed for noctalia-shell to set wallpaper diff --git a/noctalia/settings.json b/noctalia/settings.json index 3416b91..ae82579 100644 --- a/noctalia/settings.json +++ b/noctalia/settings.json @@ -25,7 +25,7 @@ "showIconBackground": false, "sortByMostUsed": true, "terminalCommand": "alacritty -e", - "viewMode": "list" + "viewMode": "grid" }, "audio": { "mprisBlacklist": [ From d93316ac8df1a20bd9c7481df4e99988babe61b9 Mon Sep 17 00:00:00 2001 From: Bas Grolleman Date: Mon, 11 May 2026 08:18:04 +0200 Subject: [PATCH 4/5] Adding zoxide.bash config --- zoxide.bash | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 zoxide.bash diff --git a/zoxide.bash b/zoxide.bash new file mode 100644 index 0000000..62fcfe8 --- /dev/null +++ b/zoxide.bash @@ -0,0 +1,151 @@ +# shellcheck shell=bash + +# ============================================================================= +# +# Utility functions for zoxide. +# + +# pwd based on the value of _ZO_RESOLVE_SYMLINKS. +function __zoxide_pwd() { + \builtin pwd -L +} + +# cd + custom logic based on the value of _ZO_ECHO. +function __zoxide_cd() { + # shellcheck disable=SC2164 + \builtin cd -- "$@" +} + +# ============================================================================= +# +# Hook configuration for zoxide. +# + +# Hook to add new entries to the database. +__zoxide_oldpwd="$(__zoxide_pwd)" + +function __zoxide_hook() { + \builtin local -r retval="$?" + \builtin local pwd_tmp + pwd_tmp="$(__zoxide_pwd)" + if [[ ${__zoxide_oldpwd} != "${pwd_tmp}" ]]; then + __zoxide_oldpwd="${pwd_tmp}" + \command zoxide add -- "${__zoxide_oldpwd}" + fi + return "${retval}" +} + +# Initialize hook. +if [[ ${PROMPT_COMMAND:=} != *'__zoxide_hook'* ]]; then + PROMPT_COMMAND="__zoxide_hook;${PROMPT_COMMAND#;}" +fi + +# Report common issues. +function __zoxide_doctor() { + [[ ${_ZO_DOCTOR:-1} -ne 0 ]] || return 0 + [[ ${PROMPT_COMMAND:=} != *'__zoxide_hook'* ]] || return 0 + + _ZO_DOCTOR=0 + \builtin printf '%s\n' \ + 'zoxide: detected a possible configuration issue.' \ + 'Please ensure that zoxide is initialized right at the end of your shell configuration file (usually ~/.bashrc).' \ + '' \ + 'If the issue persists, consider filing an issue at:' \ + 'https://github.com/ajeetdsouza/zoxide/issues' \ + '' \ + 'Disable this message by setting _ZO_DOCTOR=0.' \ + '' >&2 +} + +# ============================================================================= +# +# When using zoxide with --no-cmd, alias these internal functions as desired. +# + +__zoxide_z_prefix='z#' + +# Jump to a directory using only keywords. +function __zoxide_z() { + __zoxide_doctor + + # shellcheck disable=SC2199 + if [[ $# -eq 0 ]]; then + __zoxide_cd ~ + elif [[ $# -eq 1 && $1 == '-' ]]; then + __zoxide_cd "${OLDPWD}" + elif [[ $# -eq 1 && -d $1 ]]; then + __zoxide_cd "$1" + elif [[ $# -eq 2 && $1 == '--' ]]; then + __zoxide_cd "$2" + elif [[ ${@: -1} == "${__zoxide_z_prefix}"?* ]]; then + # shellcheck disable=SC2124 + \builtin local result="${@: -1}" + __zoxide_cd "${result:${#__zoxide_z_prefix}}" + else + \builtin local result + # shellcheck disable=SC2312 + result="$(\command zoxide query --exclude "$(__zoxide_pwd)" -- "$@")" && + __zoxide_cd "${result}" + fi +} + +# Jump to a directory using interactive search. +function __zoxide_zi() { + __zoxide_doctor + \builtin local result + result="$(\command zoxide query --interactive -- "$@")" && __zoxide_cd "${result}" +} + +# ============================================================================= +# +# Commands for zoxide. Disable these using --no-cmd. +# + +\builtin unalias z &>/dev/null || \builtin true +function z() { + __zoxide_z "$@" +} + +\builtin unalias zi &>/dev/null || \builtin true +function zi() { + __zoxide_zi "$@" +} + +# Load completions. +# - Bash 4.4+ is required to use `@Q`. +# - Completions require line editing. Since Bash supports only two modes of +# line editing (`vim` and `emacs`), we check if either them is enabled. +# - Completions don't work on `dumb` terminals. +if [[ ${BASH_VERSINFO[0]:-0} -eq 4 && ${BASH_VERSINFO[1]:-0} -ge 4 || ${BASH_VERSINFO[0]:-0} -ge 5 ]] && + [[ :"${SHELLOPTS}": =~ :(vi|emacs): && ${TERM} != 'dumb' ]]; then + # Use `printf '\e[5n'` to redraw line after fzf closes. + \builtin bind '"\e[0n": redraw-current-line' &>/dev/null + + function __zoxide_z_complete() { + # Only show completions when the cursor is at the end of the line. + [[ ${#COMP_WORDS[@]} -eq $((COMP_CWORD + 1)) ]] || return + + # If there is only one argument, use `cd` completions. + if [[ ${#COMP_WORDS[@]} -eq 2 ]]; then + \builtin mapfile -t COMPREPLY < <( + \builtin compgen -A directory -- "${COMP_WORDS[-1]}" || \builtin true + ) + # If there is a space after the last word, use interactive selection. + elif [[ -z ${COMP_WORDS[-1]} ]] && [[ ${COMP_WORDS[-2]} != "${__zoxide_z_prefix}"?* ]]; then + \builtin local result + # shellcheck disable=SC2312 + result="$(\command zoxide query --exclude "$(__zoxide_pwd)" --interactive -- "${COMP_WORDS[@]:1:${#COMP_WORDS[@]}-2}")" && + COMPREPLY=("${__zoxide_z_prefix}${result}/") + \builtin printf '\e[5n' + fi + } + + \builtin complete -F __zoxide_z_complete -o filenames -- z + \builtin complete -r zi &>/dev/null || \builtin true +fi + +# ============================================================================= +# +# To initialize zoxide, add this to your shell configuration file (usually ~/.bashrc): +# +# eval "$(zoxide init bash)" From fb8fda864f12131403de0e2947dfbca9989110c6 Mon Sep 17 00:00:00 2001 From: Bas Grolleman Date: Mon, 11 May 2026 08:21:04 +0200 Subject: [PATCH 5/5] More alt for Niri --- niri/cfg/keybinds.kdl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/niri/cfg/keybinds.kdl b/niri/cfg/keybinds.kdl index 2d8bb74..c9ac6a3 100644 --- a/niri/cfg/keybinds.kdl +++ b/niri/cfg/keybinds.kdl @@ -12,11 +12,11 @@ binds { Mod+Shift+S { spawn-sh "flameshot gui"; } // ─── Applications ─── - Mod+Return hotkey-overlay-title="Open Terminal: Alacritty" { spawn "alacritty"; } + Alt+Return hotkey-overlay-title="Open Terminal: Alacritty" { spawn "alacritty"; } //Mod+CTRL+Return hotkey-overlay-title="Open App Launcher: noctalia launcher" { spawn-sh "qs -c noctalia-shell ipc call launcher toggle"; } - Mod+Space hotkey-overlay-title="Open App Launcher: noctalia launcher" { spawn-sh "qs -c noctalia-shell ipc call launcher toggle"; } + Alt+Space hotkey-overlay-title="Open App Launcher: noctalia launcher" { spawn-sh "qs -c noctalia-shell ipc call launcher toggle"; } Mod+B hotkey-overlay-title="Open Browser: helium" { spawn "helium-browser"; } - Mod+ALT+L hotkey-overlay-title="Lock Screen: noctalia lock" { spawn-sh "qs -c noctalia-shell ipc call lockScreen lock"; } + Mod+L hotkey-overlay-title="Lock Screen: noctalia lock" { spawn-sh "qs -c noctalia-shell ipc call lockScreen lock"; } Mod+Shift+Q hotkey-overlay-title="Session Menu: noctalia sessionMenu" { spawn-sh "qs -c noctalia-shell ipc call sessionMenu toggle"; } // Please choose your own file manager.