diff options
52 files changed, 472 insertions, 274 deletions
diff --git a/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua b/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua index 52ceb01..ee97612 100644 --- a/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua +++ b/ar/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua @@ -260,6 +260,75 @@ return { }, }, { + "greggh/claude-code.nvim", + dependencies = { + "nvim-lua/plenary.nvim", -- Required for git operations + }, + config = function() + require("claude-code").setup({ + -- Terminal window settings + window = { + split_ratio = 0.3, -- Percentage of screen for the terminal window (height for horizontal, width for vertical splits) + position = "vertical", -- Position of the window: "botright", "topleft", "vertical", "float", etc. + enter_insert = true, -- Whether to enter insert mode when opening Claude Code + hide_numbers = true, -- Hide line numbers in the terminal window + hide_signcolumn = true, -- Hide the sign column in the terminal window + + -- Floating window configuration (only applies when position = "float") + float = { + width = "80%", -- Width: number of columns or percentage string + height = "80%", -- Height: number of rows or percentage string + row = "center", -- Row position: number, "center", or percentage string + col = "center", -- Column position: number, "center", or percentage string + relative = "editor", -- Relative to: "editor" or "cursor" + border = "rounded", -- Border style: "none", "single", "double", "rounded", "solid", "shadow" + }, + }, + -- File refresh settings + refresh = { + enable = true, -- Enable file change detection + updatetime = 100, -- updatetime when Claude Code is active (milliseconds) + timer_interval = 1000, -- How often to check for file changes (milliseconds) + show_notifications = true, -- Show notification when files are reloaded + }, + -- Git project settings + git = { + use_git_root = true, -- Set CWD to git root when opening Claude Code (if in git project) + }, + -- Shell-specific settings + shell = { + separator = "&&", -- Command separator used in shell commands + pushd_cmd = "pushd", -- Command to push directory onto stack (e.g., 'pushd' for bash/zsh, 'enter' for nushell) + popd_cmd = "popd", -- Command to pop directory from stack (e.g., 'popd' for bash/zsh, 'exit' for nushell) + }, + -- Command settings + command = "claude", -- Command used to launch Claude Code + -- Command variants + command_variants = { + -- Conversation management + continue = "--continue", -- Resume the most recent conversation + resume = "--resume", -- Display an interactive conversation picker + + -- Output options + verbose = "--verbose", -- Enable verbose logging with full turn-by-turn output + }, + -- Keymaps + keymaps = { + toggle = { + normal = "<C-,>", -- Normal mode keymap for toggling Claude Code, false to disable + terminal = "<C-,>", -- Terminal mode keymap for toggling Claude Code, false to disable + variants = { + continue = "<leader>cC", -- Normal mode keymap for Claude Code with continue flag + verbose = "<leader>cV", -- Normal mode keymap for Claude Code with verbose flag + }, + }, + window_navigation = true, -- Enable window navigation keymaps (<C-h/j/k/l>) + scrolling = true, -- Enable scrolling keymaps (<C-f/b>) for page up/down + }, + }) + end, + }, + { "NickvanDyke/opencode.nvim", dependencies = { -- Recommended for `ask()` and `select()`. @@ -277,7 +346,7 @@ return { vim.o.autoread = true -- Recommended/example keymaps. - vim.keymap.set({ "n", "x" }, "<C-a>", function() + vim.keymap.set({ "n", "x" }, "<C-q>", function() require("opencode").ask("@this: ", { submit = true }) end, { desc = "Ask opencode" }) vim.keymap.set({ "n", "x" }, "<C-x>", function() @@ -387,7 +456,7 @@ return { instructions_file = "avante.md", ---@alias Provider "claude" | "openai" | "azure" | "gemini" | "cohere" | "copilot" | string ---@type Provider - provider = "openai", -- The provider used in Aider mode or in the planning phase of Cursor Planning Mode + provider = "claude", -- The provider used in Aider mode or in the planning phase of Cursor Planning Mode ---@alias Mode "agentic" | "legacy" ---@type Mode mode = "agentic", -- The default mode for interaction. "agentic" uses tools to automatically generate code, "legacy" uses the old planning method to generate code. @@ -398,6 +467,7 @@ return { providers = { claude = { endpoint = "https://api.anthropic.com", + auth_type = "max", -- Set to "max" to sign in with Claude Pro/Max subscription model = "claude-sonnet-4-20250514", timeout = 30000, -- Timeout in milliseconds extra_request_body = { diff --git a/ar/.config/git/config b/ar/.config/git/config index 7dc029b..3d9b746 100644 --- a/ar/.config/git/config +++ b/ar/.config/git/config @@ -83,6 +83,12 @@ [user] name = TheSiahxyz email = 164138827+TheSiahxyz@users.noreply.github.com - signingkey = 67BE7AD056C803BA + signingkey = 6E0F6060D236F2AB [commit] gpgsign = true +[credential "https://github.com"] + helper = + helper = !/usr/bin/gh auth git-credential +[credential "https://gist.github.com"] + helper = + helper = !/usr/bin/gh auth git-credential diff --git a/ar/.config/shell/aliasrc b/ar/.config/shell/aliasrc index 8061a60..1e129f6 100644 --- a/ar/.config/shell/aliasrc +++ b/ar/.config/shell/aliasrc @@ -379,7 +379,7 @@ alias skype='skypeforlinux' # ssh alias gts="ssh $THESIAH_SERVER" -alias wwr="ssh recordings" +alias wwr="ssh diary" # sudo alias su='sudo su -l root' @@ -487,7 +487,8 @@ alias sps="source ${XDG_CONFIG_HOME:-${HOME}/.config}/shell/profile" alias szs="source ${XDG_CONFIG_HOME:-${HOME}/.config}/zsh/.zshrc" alias ylogh='ylog -s hidden -c us | grep $(LC_TIME=C date +%d/%b) | grep -E "[0-9]{2}:[0-9]{2}:[0-9]{2} "' -alias ylogi='ylog -s hidden -c us | grep $(LC_TIME=C date -v-1d +%d/%b) | grep -E "[0-9]{2}:[0-9]{2}:[0-9]{2} "' +alias ylogi='ylog -s hidden -c us | grep $(LC_TIME=C date -d "1 days ago" +%d/%b) | grep -E "[0-9]{2}:[0-9]{2}:[0-9]{2} "' alias ylogt='ylog -s diary -c us | grep $(LC_TIME=C date +%d/%b) | grep -E "[0-9]{2}:[0-9]{2}:[0-9]{2} "' -alias ylogy='ylog -s diary -c us | grep $(LC_TIME=C date -d "yesterday" +%d/%b) | grep -E "[0-9]{2}:[0-9]{2}:[0-9]{2} "' +alias ylogy='ylog -s diary -c us | grep $(LC_TIME=C date -d "1 days ago" +%d/%b) | grep -E "[0-9]{2}:[0-9]{2}:[0-9]{2} "' +alias ylogr='ylog -s diary -c us | grep $(LC_TIME=C date -d "2 days ago" +%d/%b) | grep -E "[0-9]{2}:[0-9]{2}:[0-9]{2} "' alias ylogu='ylog -s diary -c us' diff --git a/ar/.config/shell/bm-dirs b/ar/.config/shell/bm-dirs index 5d7eb89..6a9db9d 100644 --- a/ar/.config/shell/bm-dirs +++ b/ar/.config/shell/bm-dirs @@ -51,10 +51,12 @@ gdn ${XDG_DOWNLOAD_DIR:-${HOME}/Downloads} gdo ${XDG_DOTFILES_DIR:-${HOME}/.dotfiles} gfx $HOME/.mozilla/firefox/$USER.default gmu ${XDG_MUSIC_DIR:-${HOME}/Music} +gnu $HOME/.gnupg gpb ${XDG_PUBLICSHARE_DIR:-${HOME}/Public} gpp ${XDG_PICTURES_DIR:-${HOME}/Pictures} gpv $HOME/Private grr ${XDG_PICTURES_DIR:-${HOME}/Pictures}/resources +gsh $HOME/.ssh gss ${XDG_PICTURES_DIR:-${HOME}/Pictures}/screenshots gtc $HOME/Torrents/complete gti $HOME/Torrents/incomplete diff --git a/ar/.config/shell/bm-files b/ar/.config/shell/bm-files index fc8bce1..709c064 100644 --- a/ar/.config/shell/bm-files +++ b/ar/.config/shell/bm-files @@ -13,6 +13,8 @@ vff ${XDG_CONFIG_HOME:-${HOME}/.config}/fastfetch/config.jsonc vga ${XDG_CONFIG_HOME:-${HOME}/.config}/shell/git-aliasrc # Git aliases vgc ${XDG_CONFIG_HOME:-${HOME}/.config}/git/config # Git config vgi ${XDG_CONFIG_HOME:-${HOME}/.config}/git/ignore # Git ignore +vgn $HOME/.gnupg/gpg-agent.conf # GNUPG config +vgs $HOME/.gnupg/sshcontrol # GNUPG SSH control config vlf ${XDG_CONFIG_HOME:-${HOME}/.config}/lf/lfrc # LF (file browser) config vlg ${XDG_CONFIG_HOME:-${HOME}/.config}/lazygit/config.yml # Lazygit config vls ${XDG_CONFIG_HOME:-${HOME}/.config}/lf/scope # LF's scope/preview file @@ -29,6 +31,7 @@ Vsm /etc/samba/smb.conf vsa ${XDG_CONFIG_HOME:-${HOME}/.config}/shell/aliasrc # Aliases used by shell (and potentially other shells) vse ${XDG_CONFIG_HOME:-${HOME}/.config}/sesh/sesh.toml # Sesh config vsf ${XDG_SOURCES_HOME:-${HOME}/.local/src}/suckless/surf/config.def.h # Surf: a simple browser +vsh $HOME/.ssh/config # SSH config vsl ${XDG_SOURCES_HOME:-${HOME}/.local/src}/suckless/slock/config.def.h # Slock: lock screen vsn ${XDG_DATA_HOME:-${HOME}/.local/share}/thesiah/snippets # Snippets vsp ${XDG_CONFIG_HOME:-${HOME}/.config}/shell/profile # Shell profile used for system diff --git a/ar/.config/zsh/scripts.zsh b/ar/.config/zsh/scripts.zsh index 5a47ffa..d70522d 100644 --- a/ar/.config/zsh/scripts.zsh +++ b/ar/.config/zsh/scripts.zsh @@ -390,9 +390,13 @@ EOF ) [[ -z "${SELECTED_DIRS// }" ]] && return if [[ "$(echo "$SELECTED_DIRS" | wc -l)" -eq 1 ]]; then - cd "$SELECTED_DIRS" - if [[ -n "$(git -C "$SELECTED_DIRS" status --porcelain)" ]]; then - git status --porcelain 2>/dev/null + if [[ -n "$TMUX" ]]; then + opensessions "$SELECTED_DIRS" + else + cd "$SELECTED_DIRS" || return + if [[ -n "$(git -C "$SELECTED_DIRS" status --porcelain 2>/dev/null)" ]]; then + git status --porcelain + fi fi else opensessions "$SELECTED_DIRS" diff --git a/ar/.local/bin/cron/checkup b/ar/.local/bin/cron/checkup index 801d406..2ea6772 100755 --- a/ar/.local/bin/cron/checkup +++ b/ar/.local/bin/cron/checkup @@ -7,7 +7,7 @@ notify-send "๐ฆ Repository Sync" "Checking for package updates..." sudo pacman -Syyuw --noconfirm || notify-send "โ Error downloading updates. Check your internet connection, if pacman is already running, or run update manually to see errors." -pkill -RTMIN+16 "${STATUSBAR:-dwmblocks}" +pkill -RTMIN+14 "${STATUSBAR:-dwmblocks}" if pacman -Qu | grep -v "\[ignored\]"; then notify-send "๐ Repository Sync" "Updates available. Click statusbar icon (๐ฆ) or run sb-popupgrade in terminal for update." diff --git a/ar/.local/bin/cron/crontog b/ar/.local/bin/cron/crontog index 70e7cf1..ccabe61 100755 --- a/ar/.local/bin/cron/crontog +++ b/ar/.local/bin/cron/crontog @@ -23,4 +23,4 @@ else fi # Notify status bar to update -pkill -RTMIN+3 "${STATUSBAR:-dwmblocks}" +pkill -RTMIN+2 "${STATUSBAR:-dwmblocks}" diff --git a/ar/.local/bin/cron/newsup b/ar/.local/bin/cron/newsup index 346ec75..f8b40b7 100755 --- a/ar/.local/bin/cron/newsup +++ b/ar/.local/bin/cron/newsup @@ -8,8 +8,8 @@ pgrep -f newsboat$ && /usr/bin/xdotool key --window "$(/usr/bin/xdotool search --name "^newsboat$")" R && exit echo ๐ >/tmp/newsupdate -pkill -RTMIN+19 "${STATUSBAR:-dwmblocks}" +pkill -RTMIN+17 "${STATUSBAR:-dwmblocks}" /usr/bin/newsboat -x reload rm -f /tmp/newsupdate -pkill -RTMIN+19 "${STATUSBAR:-dwmblocks}" +pkill -RTMIN+17 "${STATUSBAR:-dwmblocks}" /usr/bin/notify-send "๐ฐ RSS feed update complete." diff --git a/ar/.local/bin/dmenurecord b/ar/.local/bin/dmenurecord index 621133d..a497aa4 100755 --- a/ar/.local/bin/dmenurecord +++ b/ar/.local/bin/dmenurecord @@ -17,7 +17,7 @@ getdim() { xrandr | grep -oP '(?<=current ).*(?=,)' | tr -d ' '; } updateicon() { echo "$1" >/tmp/recordingicon - pkill -RTMIN+24 "${STATUSBAR:-dwmblocks}" + pkill -RTMIN+22 "${STATUSBAR:-dwmblocks}" } killrecording() { @@ -25,7 +25,7 @@ killrecording() { kill -15 "$recpid" rm -f /tmp/recordingpid updateicon "" - pkill -RTMIN+24 "${STATUSBAR:-dwmblocks}" + pkill -RTMIN+22 "${STATUSBAR:-dwmblocks}" } getmonitor() { diff --git a/ar/.local/bin/dmenuupgrade b/ar/.local/bin/dmenuupgrade index b43ff4c..b23e80a 100755 --- a/ar/.local/bin/dmenuupgrade +++ b/ar/.local/bin/dmenuupgrade @@ -16,7 +16,7 @@ case "$selection" in if [ "$(printf "No\nYes" | dmenu -i -p 'Proceed with upgrade for all packages?')" = "Yes" ]; then notify-send "๐ฆ Upgrading all packages..." yay -Syu --noconfirm - pkill -RTMIN+16 "${STATUSBAR:-dwmblocks}" + pkill -RTMIN+14 "${STATUSBAR:-dwmblocks}" notify-send "โ
Upgrade of all packages completed." else notify-send "โ Upgrade cancelled." @@ -31,7 +31,7 @@ case "$selection" in if [ "$(printf "No\nYes" | dmenu -i -p 'Proceed with pacman upgrade?')" = "Yes" ]; then notify-send "๐ฆ Upgrading pacman packages..." printf "%s" "$pacman_updates" | awk '{print $1}' | xargs sudo pacman -S --noconfirm - pkill -RTMIN+16 "${STATUSBAR:-dwmblocks}" + pkill -RTMIN+14 "${STATUSBAR:-dwmblocks}" notify-send "โ
Pacman packages upgrade completed." else notify-send "โ Upgrade cancelled." @@ -46,7 +46,7 @@ case "$selection" in if [ "$(printf "No\nYes" | dmenu -i -p 'Proceed with upgrade for this package?')" = "Yes" ]; then notify-send "๐ฆ Upgrading package: $selection..." sudo pacman -S --noconfirm "$(printf "%s" "$selection" | awk '{print $1}')" - pkill -RTMIN+16 "${STATUSBAR:-dwmblocks}" + pkill -RTMIN+14 "${STATUSBAR:-dwmblocks}" notify-send "โ
Upgrade completed for package: $selection." else notify-send "โ Upgrade cancelled." @@ -73,7 +73,7 @@ case "$selection" in if [ "$(printf "No\nYes" | dmenu -i -p 'Proceed with AUR upgrade?')" = "Yes" ]; then notify-send "๐ฆ Upgrading AUR packages..." yay -Syu --aur --noconfirm - pkill -RTMIN+16 "${STATUSBAR:-dwmblocks}" + pkill -RTMIN+14 "${STATUSBAR:-dwmblocks}" notify-send "โ
AUR packages upgrade completed." else notify-send "โ Upgrade cancelled." @@ -88,7 +88,7 @@ case "$selection" in if [ "$(printf "No\nYes" | dmenu -i -p 'Proceed with upgrade for this package?')" = "Yes" ]; then notify-send "๐ฆ Upgrading AUR package: $selection..." yay -S --noconfirm "$(printf "%s" "$selection" | awk '{print $2}')" - pkill -RTMIN+16 "${STATUSBAR:-dwmblocks}" + pkill -RTMIN+14 "${STATUSBAR:-dwmblocks}" notify-send "โ
Upgrade completed for AUR package: $selection." else notify-send "โ Upgrade cancelled." diff --git a/ar/.local/bin/ecrypt b/ar/.local/bin/ecrypt index e13c033..4240c71 100755 --- a/ar/.local/bin/ecrypt +++ b/ar/.local/bin/ecrypt @@ -27,6 +27,9 @@ attempt_mount() { targets="$HOME/.secret" mounts="$HOME/Private" pw="default" +[ -d "$targets" ] || mkdir -p "$targets" +[ -d "$mounts" ] || mkdir -p "$mounts" + set -- $mounts # Set positional parameters to mounts i=1 for target in $targets; do diff --git a/ar/.local/bin/ethwifi b/ar/.local/bin/ethwifi index 26366e9..c4fa0c6 100755 --- a/ar/.local/bin/ethwifi +++ b/ar/.local/bin/ethwifi @@ -28,4 +28,4 @@ else fi # Refresh status bar -pkill -RTMIN+7 "${STATUSBAR:-dwmblocks}" +pkill -RTMIN+6 "${STATUSBAR:-dwmblocks}" diff --git a/ar/.local/bin/extractkeys b/ar/.local/bin/extractkeys index b45358d..4e4e5b4 100755 --- a/ar/.local/bin/extractkeys +++ b/ar/.local/bin/extractkeys @@ -125,6 +125,7 @@ for file_path in "${config_files[@]}"; do s/&layouts\[12\]/"|M|"/g; s/&layouts\[13\]/">M>"/g; s/^\s*//g; + s/pkexec //g; /^\s*0\s*$/d ') diff --git a/ar/.local/bin/gitupdate b/ar/.local/bin/gitupdate index 6ee163a..87c13c3 100755 --- a/ar/.local/bin/gitupdate +++ b/ar/.local/bin/gitupdate @@ -87,4 +87,4 @@ printf "\n[repo] %s(%s): %s\n" "$(basename "$repo_root")" "$branch" "$message" # Return to the original directory cd - >/dev/null -command -v dwmblocks >/dev/null 2>&1 && pkill -RTMIN+18 "${STATUSBAR:-dwmblocks}" +command -v dwmblocks >/dev/null 2>&1 && pkill -RTMIN+16 "${STATUSBAR:-dwmblocks}" diff --git a/ar/.local/bin/monitorbright b/ar/.local/bin/monitorbright index 2de2e5d..db2bcf3 100755 --- a/ar/.local/bin/monitorbright +++ b/ar/.local/bin/monitorbright @@ -15,10 +15,6 @@ case "$monitor" in esac new_brightness=$(echo "if ($new_brightness > 1) 1 else if ($new_brightness < 0) 0 else $new_brightness" | bc -l) xrandr --output "$monitor" --brightness "$new_brightness" - current_brightness=$(echo "$new_brightness * 100" | bc -l) - else - current_brightness=$(echo "$current_brightness * 100" | bc -l) fi - printf "๐ช%.0f%%\n" "$current_brightness" ;; esac diff --git a/ar/.local/bin/mounter b/ar/.local/bin/mounter index a9d7a61..c8eabbf 100755 --- a/ar/.local/bin/mounter +++ b/ar/.local/bin/mounter @@ -81,7 +81,7 @@ unopenedluks="$(for drive in $allluks; do done | filter)" # Get all normal, non-encrypted or decrypted partitions that are not mounted. -normalparts="$(echo "$lsblkoutput" | grep -v crypto_LUKS | grep -v 'part 1M' | grep 'part\|rom\|crypt' | sed "s/^/๐พ /" | filter)" +normalparts="$(echo "$lsblkoutput" | grep -v crypto_LUKS | grep -v 'LVM2_member' | grep -v 'part 1M' | grep 'part\|rom\|crypt' | sed "s/^/๐พ /" | filter)" # Get all available IP addresses with open Samba shares in the wlan0 subnet, excluding eth0 IP smbips="$(sudo arp-scan --interface=eth0 --interface=wlan0 --localnet | grep -vEi '(EFM Networks|DUP:)' | awk '/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/{print $1}')" diff --git a/ar/.local/bin/opensessions b/ar/.local/bin/opensessions index 6f9f236..d16f42f 100755 --- a/ar/.local/bin/opensessions +++ b/ar/.local/bin/opensessions @@ -18,7 +18,10 @@ set -- $dirs for dir in $dirs; do if [ -d "$dir" ]; then session_name=$(get_session_name "$dir") - if ! tmux has-session -t "$session_name" 2>/dev/null; then + if tmux has-session -t "$session_name" 2>/dev/null; then + session_path=$(tmux display-message -t "$session_name" -p '#{session_path}') + tmux send-keys -t "$session_name" "cd \"$session_path\"" C-m + else tmux new-session -d -s "$session_name" -c "$dir" if git -C "$dir" rev-parse --is-inside-work-tree >/dev/null 2>&1 && [ -n "$(git -C "$dir" status --porcelain)" ]; then tmux send-keys -t "$session_name" "git status --porcelain" C-m diff --git a/ar/.local/bin/ovpn b/ar/.local/bin/ovpn index a89c357..10ecc01 100755 --- a/ar/.local/bin/ovpn +++ b/ar/.local/bin/ovpn @@ -7,7 +7,6 @@ turnonoffvpn() { ;; *off*) nmcli connection down "$THESIAH_VPN" 2>/dev/null && notify-send "โ๏ธ THESIAH_VPN: OFF" || notify-send "โ๏ธ Error to disconnect" - ;; esac } diff --git a/ar/.local/bin/qndl b/ar/.local/bin/qndl index 46b4aa8..2757eb8 100755 --- a/ar/.local/bin/qndl +++ b/ar/.local/bin/qndl @@ -47,7 +47,7 @@ case $type in video_id=$(echo "$line" | awk '{print $2}') ytdl_cmd="$ytdl_cmd_base --output \"$ytdl_output_format\" \"https://www.youtube.com/watch?v=$video_id\"" idnum=$(tsp bash -c "$ytdl_cmd") - pkill -RTMIN+21 "${STATUSBAR:-dwmblocks}" + pkill -RTMIN+19 "${STATUSBAR:-dwmblocks}" done <"$archive_file" exit 0 ;; @@ -120,7 +120,7 @@ filename=$($simulation_cmd 2>/dev/null) [ -f /tmp/qplaylist ] && rm -rf /tmp/qplaylist notify-send "โณ Downloading $download_type:" "$filename" idnum=$(tsp bash -c "$ytdl_cmd") -pkill -RTMIN+21 "${STATUSBAR:-dwmblocks}" +pkill -RTMIN+19 "${STATUSBAR:-dwmblocks}" # Notify upon completion tsp -D "$idnum" notify-send "โ
$download_type download complete:" "$url" || diff --git a/ar/.local/bin/statusbar/sb-battery b/ar/.local/bin/statusbar/sb-battery index faf3d04..fc02f61 100755 --- a/ar/.local/bin/statusbar/sb-battery +++ b/ar/.local/bin/statusbar/sb-battery @@ -10,7 +10,7 @@ get_status_icon() { Discharging) echo "๐" ;; Charging) echo "๐" ;; "Not charging") echo "๐" ;; - Unknown) echo "โป๏ธ" ;; + Unknown) echo "โป" ;; *) echo "" ;; esac } @@ -57,7 +57,7 @@ case "$BLOCK_BUTTON" in 2) bluetooth && devices "hid*" ;; # Middle click for Bluetooth battery levels 3) notify-send "๐ Battery module" "\- ๐: discharging - ๐: not charging -- โป๏ธ: stagnant charge +- โป: stagnant charge - ๐: charging - โก: fully charged - โ: battery very low! diff --git a/ar/.local/bin/statusbar/sb-bghitness b/ar/.local/bin/statusbar/sb-bghitness index 0aabfb6..83dc809 100755 --- a/ar/.local/bin/statusbar/sb-bghitness +++ b/ar/.local/bin/statusbar/sb-bghitness @@ -10,7 +10,7 @@ max_brightness=$(cat /sys/class/backlight/*/max_brightness) brightness_per=$((100 * curr_brightness / max_brightness)) case $BLOCK_BUTTON in -3) notify-send "๐ก Brightness module" "\- Shows current brightness level โ๏ธ." ;; +3) notify-send "๐ก Brightness module" "\- Shows current brightness level โ ." ;; 4) pkexec brillo -A 5 -q ;; 5) pkexec brillo -U 5 -q ;; 6) setsid -f "$TERMINAL" -e "$EDITOR" "$0" ;; diff --git a/ar/.local/bin/statusbar/sb-brightness b/ar/.local/bin/statusbar/sb-brightness index 909e676..e18fa2c 100755 --- a/ar/.local/bin/statusbar/sb-brightness +++ b/ar/.local/bin/statusbar/sb-brightness @@ -1,11 +1,31 @@ #!/bin/sh +monitor=$(xrandr --query | grep -i '\sconnected' | grep '[0-9]x[0-9]' | grep -i 'primary' | cut -d ' ' -f1) +[ -z "$monitor" ] && monitor=$(xrandr --query | grep -i '\sconnected' | grep '[0-9]x[0-9]' | cut -d ' ' -f1) +case "$monitor" in +*DP* | *HDMI*) + current_brightness=$(xrandr --verbose | grep -i "^$monitor connected" -A5 | grep -i "Brightness:" | cut -d ' ' -f2) + current_brightness=$(printf "%.0f\n" "$(echo "$current_brightness * 100" | bc -l)") + ;; +esac + case $BLOCK_BUTTON in 3) notify-send "๐ Backlight module -- Scroll up & down changes backlight" ;; -4) monbright -inc 5 ;; -5) monbright -dec 5 ;; +- Scroll up & down changes screen brightness +- Shift + Scroll up & down changes monitor backlight" ;; +4) pkexec brillo -A 5 -q ;; +5) pkexec brillo -U 5 -q ;; 6) setsid -f "$TERMINAL" -e "$EDITOR" "$0" ;; +7) monbright -inc 5 ;; +8) monbright -dec 5 ;; +9) setsid -f "$TERMINAL" -e "$EDITOR" "$0" ;; esac -monitorbright +if [ -r /sys/class/backlight/*/brightness ]; then + curr_brightness=$(cat /sys/class/backlight/*/brightness) + max_brightness=$(cat /sys/class/backlight/*/max_brightness) + brightness_per=$((100 * curr_brightness / max_brightness)) + printf "%s %s\n" "๐ก${brightness_per}%" "๐ช$current_brightness" +else + printf "%s\n" "๐ช$current_brightness" +fi diff --git a/ar/.local/bin/statusbar/sb-cpu b/ar/.local/bin/statusbar/sb-cpu index 565ca26..0cb6f4f 100755 --- a/ar/.local/bin/statusbar/sb-cpu +++ b/ar/.local/bin/statusbar/sb-cpu @@ -9,4 +9,4 @@ case $BLOCK_BUTTON in 6) setsid -f "$TERMINAL" -e "$EDITOR" "$0" ;; esac -sensors | awk '/Core 0/ {printf "๐ง%dยฐ\n", $3}' +sensors | awk '/Tctl:/ {gsub(/[+ยฐC]/,"",$2); printf "๐ง%sยฐ", $2}' diff --git a/ar/.local/bin/statusbar/sb-forecast b/ar/.local/bin/statusbar/sb-forecast index d9dded0..063c8e5 100755 --- a/ar/.local/bin/statusbar/sb-forecast +++ b/ar/.local/bin/statusbar/sb-forecast @@ -59,7 +59,7 @@ gethightemp() { jq -r '.weather[0].hourly[].tempC' "$weatherreportjson" | sort - gethumidity() { humidity=$(get_nearest_hourly | jq -r '.humidity') case "$humidity" in - [0-9] | [1-2][0-9]) echo "๐๏ธ: $humidity%" ;; + [0-9] | [1-2][0-9]) echo "๐: $humidity%" ;; [3-4][0-9]) echo "๐ฒ: $humidity%" ;; [5-6][0-9]) echo "๐ง: $humidity%" ;; [7-8][0-9]) echo "๐ฆ: $humidity%" ;; @@ -351,7 +351,7 @@ case $BLOCK_BUTTON in ๐ฅถ: Daily lowest temperature ๐ฅต: Daily highest temperature" notify-send "$(todayweather)" - notify-send "๐บ๏ธ Doppler RADAR module" "\- Middle click for local Doppler RADAR + notify-send "๐บ Doppler RADAR module" "\- Middle click for local Doppler RADAR - Shift + middle click to update RADAR location After $secs seconds, new clicks will also automatically update the doppler RADAR" ;; @@ -360,6 +360,6 @@ After $secs seconds, new clicks will also automatically update the doppler RADAR 8) setsid -f "$TERMINAL" -e "$EDITOR" "$0" ;; esac -checkforecast "$weatherreport" "3600" || { getweatherreport && pkill -RTMIN+15 "${STATUSBAR:-dwmblocks}" && sleep 3; } -checkforecast "$weatherreportjson" "86400" || { getweatherreportjson && pkill -RTMIN+15 "${STATUSBAR:-dwmblocks}" && sleep 3; } +checkforecast "$weatherreport" "3600" || { getweatherreport && pkill -RTMIN+13 "${STATUSBAR:-dwmblocks}" && sleep 3; } +checkforecast "$weatherreportjson" "86400" || { getweatherreportjson && pkill -RTMIN+13 "${STATUSBAR:-dwmblocks}" && sleep 3; } showweather diff --git a/ar/.local/bin/statusbar/sb-internet b/ar/.local/bin/statusbar/sb-internet index acbb1f4..4dfb605 100755 --- a/ar/.local/bin/statusbar/sb-internet +++ b/ar/.local/bin/statusbar/sb-internet @@ -2,33 +2,31 @@ # Show wifi ๐ and percent strength or ๐ก if none. # Show ๐ if connected to ethernet or โ if none. -# Show ๐ฐ๏ธ if a vpn connection is active +# Show ๐ฐ if a vpn connection is active -set_eth() { - eth_con="$(nmcli -t -f NAME,TYPE,DEVICE connection show | - awk -F: '$2=="ethernet" && $3!="" { print $1; exit }')" +eth_con="$(nmcli -t -f NAME,TYPE,DEVICE connection show | + awk -F: '$2=="ethernet" && $3!="" { print $1; exit }')" - wifi_con="$(nmcli -t -f NAME,TYPE connection show | - awk -F: '$2=="wifi" { print $1; exit }')" +wifi_con="$(nmcli -t -f NAME,TYPE connection show | + awk -F: '$2=="wifi" { print $1; exit }')" - if [ -n "$eth_con" ]; then - nmcli connection modify "$eth_con" ipv4.method auto - nmcli connection modify "$eth_con" ipv4.never-default no - nmcli connection modify "$eth_con" ipv4.dns-priority -42 - nmcli connection modify "$eth_con" ipv4.route-metric 100 - nmcli connection modify "$eth_con" connection.autoconnect yes - fi +if [ -n "$eth_con" ]; then + nmcli connection modify "$eth_con" ipv4.method auto + nmcli connection modify "$eth_con" ipv4.never-default no + nmcli connection modify "$eth_con" ipv4.dns-priority -42 + nmcli connection modify "$eth_con" ipv4.route-metric 100 + nmcli connection modify "$eth_con" connection.autoconnect yes +fi - if [ -n "$wifi_con" ]; then - nmcli connection modify "$wifi_con" ipv4.dns-priority 100 - nmcli connection modify "$wifi_con" ipv4.route-metric 600 - fi -} +if [ -n "$wifi_con" ]; then + nmcli connection modify "$wifi_con" ipv4.dns-priority 100 + nmcli connection modify "$wifi_con" ipv4.route-metric 600 +fi case $BLOCK_BUTTON in 1) "$TERMINAL" -e nmtui - pkill -RTMIN+7 dwmblocks + pkill -RTMIN+6 dwmblocks ;; 2) wifi_dev="$(nmcli -t -f DEVICE,TYPE device | @@ -45,7 +43,7 @@ case $BLOCK_BUTTON in notify-send "Wi-Fi" "Wi-Fi connected" fi - pkill -RTMIN+7 dwmblocks + pkill -RTMIN+6 dwmblocks ;; 3) notify-send "๐ Internet module" "\- Left click to connect โ: wifi disabled @@ -73,7 +71,7 @@ fi grep -q 'up' /sys/class/net/e*/operstate && ethericon="๐" || ethericon="โ" # TUN -grep -q 'up' /sys/class/net/tun*/operstate 2>/dev/null && tunicon="๐ฐ" +[ -n "$(cat /sys/class/net/tun*/operstate 2>/dev/null)" ] && tunicon="๐ฐ" icons="" [ -n "$wifiicon" ] && icons="${icons}$wifiicon " diff --git a/ar/.local/bin/statusbar/sb-iplocate b/ar/.local/bin/statusbar/sb-iplocate index d84445e..d7a9349 100755 --- a/ar/.local/bin/statusbar/sb-iplocate +++ b/ar/.local/bin/statusbar/sb-iplocate @@ -10,6 +10,6 @@ set -e ifinstalled "geoip" addr="$(geoiplookup "$(curl -sfm 1 ifconfig.me 2>/dev/null)")" name="${addr##*, }" -flag="$(grep "flag: $name" "${XDG_DATA_HOME:-${HOME}/.local/share}/larbs/emoji")" +flag="$(grep "flag: $name" "${XDG_DATA_HOME:-${HOME}/.local/share}/thesiah/chars/emoji")" flag="${flag%% *}" printf "%s %s\\n" "$flag" "$name" diff --git a/ar/.local/bin/statusbar/sb-keyboard b/ar/.local/bin/statusbar/sb-keyboard index 67b5f6d..2257b1b 100755 --- a/ar/.local/bin/statusbar/sb-keyboard +++ b/ar/.local/bin/statusbar/sb-keyboard @@ -3,7 +3,7 @@ # works on any init system # requirements: dmenu, xorg-setxkbmap case $BLOCK_BUTTON in -1) fcitx5-remote -t && kill -44 "$(pidof "${STATUSBAR:-dwmblocks}")" ;; +1) fcitx5-remote -t && kill -43 "$(pidof "${STATUSBAR:-dwmblocks}")" ;; 2) remaps ;; 3) notify-send "โจ Input Method module" "\- Shows current input method (defalt US) - Left click to switch language (EN/KO) @@ -14,7 +14,7 @@ case $BLOCK_BUTTON in [ -z "$kb_choice" ] && exit 0 kb="$(echo "$kb_choice" | awk '{print $3}')" setxkbmap "$kb" - pkill -RTMIN+10 "${STATUSBAR:-dwmblocks}" + pkill -RTMIN+9 "${STATUSBAR:-dwmblocks}" ;; esac diff --git a/ar/.local/bin/statusbar/sb-mailbox b/ar/.local/bin/statusbar/sb-mailbox index c772a0d..6926b6e 100755 --- a/ar/.local/bin/statusbar/sb-mailbox +++ b/ar/.local/bin/statusbar/sb-mailbox @@ -6,7 +6,7 @@ case $BLOCK_BUTTON in 1) setsid -w -f "$TERMINAL" -e neomutt - pkill -RTMIN+20 "${STATUSBAR:-dwmblocks}" + pkill -RTMIN+18 "${STATUSBAR:-dwmblocks}" ;; 2) setsid -f mw -Y >/dev/null ;; 3) notify-send "๐ฌ Mail module" "\- Shows unread mail diff --git a/ar/.local/bin/statusbar/sb-memory b/ar/.local/bin/statusbar/sb-memory index 5b06d29..3c9dd03 100755 --- a/ar/.local/bin/statusbar/sb-memory +++ b/ar/.local/bin/statusbar/sb-memory @@ -10,9 +10,15 @@ case $BLOCK_BUTTON in esac width=$(xrandr | grep "\*" | awk '{print $1}' | sed 's/x[0-9]*//g' | head -n1) +nvme_temp=$(sensors 2>/dev/null | + awk '/Composite:/ {gsub(/[+ยฐC]/,"",$2); print $2; exit}') if [ -n "$width" ] && [ "$width" -eq "$width" ] 2>/dev/null; then - [ "$width" -lt 1920 ] && - free --mebi | sed -n '2{p;q}' | awk '{printf ("๐%d%%\n", ($3/$2)*100+0.5 )}' || - free --mebi | sed -n '2{p;q}' | awk '{printf ("๐%dGB/%dGB", $3/1000+0.5,$2/1000+0.5)}' + if [ "$width" -lt 1920 ]; then + free --mebi | sed -n '2{p;q}' | + awk -v t="$nvme_temp" '{printf "๐ก%sยฐ ๐%d%%\n", t, ($3/$2)*100+0.5}' + else + free --mebi | sed -n '2{p;q}' | + awk -v t="$nvme_temp" '{printf "๐ก%sยฐ ๐%dGB/%dGB", t, $3/1000+0.5, $2/1000+0.5}' + fi fi diff --git a/ar/.local/bin/statusbar/sb-mpdup b/ar/.local/bin/statusbar/sb-mpdup index 90e9c7e..fa9b61b 100755 --- a/ar/.local/bin/statusbar/sb-mpdup +++ b/ar/.local/bin/statusbar/sb-mpdup @@ -4,5 +4,5 @@ # music player's status. mpd must be running on X's start for this to work. while :; do - mpc idle >/dev/null && kill -57 "$(pidof "${STATUSBAR:-dwmblocks}")" || break + mpc idle >/dev/null && kill -55 "$(pidof "${STATUSBAR:-dwmblocks}")" || break done diff --git a/ar/.local/bin/statusbar/sb-music b/ar/.local/bin/statusbar/sb-music index a71969f..d730116 100755 --- a/ar/.local/bin/statusbar/sb-music +++ b/ar/.local/bin/statusbar/sb-music @@ -61,7 +61,7 @@ case $BLOCK_BUTTON in 1) setsid -f "$TERMINAL" -e ncmpcpp ;; # left click, opens ncmpcpp 2) mpc toggle ;; # middle click, pause/unpause 3) # right click - { [ -n "$(mpc current)" ] && [ -n "$(mpc queued)" ]; } && notify-send "๐ต $(mpc current)" "โญ๏ธ $(mpc queued)" + { [ -n "$(mpc current)" ] && [ -n "$(mpc queued)" ]; } && notify-send "๐ต $(mpc current)" "โญ $(mpc queued)" notify-send "๐ต Music module" "\- Shows mpd song playing and status - ๐ต if playing - โธ if paused diff --git a/ar/.local/bin/statusbar/sb-packages b/ar/.local/bin/statusbar/sb-packages index 5955c75..467bfb3 100755 --- a/ar/.local/bin/statusbar/sb-packages +++ b/ar/.local/bin/statusbar/sb-packages @@ -15,7 +15,7 @@ # [Action] # Description = Updating statusbar... # When = PostTransaction -# Exec = /usr/bin/pkill -RTMIN+16 dwmblocks # Or i3blocks if using i3. +# Exec = /usr/bin/pkill -RTMIN+14 dwmblocks # Or i3blocks if using i3. case $BLOCK_BUTTON in 1) setsid -f "$TERMINAL" -e sb-popupgrade && remaps ;; diff --git a/ar/.local/bin/statusbar/sb-popupgrade b/ar/.local/bin/statusbar/sb-popupgrade index 14036eb..221c7db 100755 --- a/ar/.local/bin/statusbar/sb-popupgrade +++ b/ar/.local/bin/statusbar/sb-popupgrade @@ -3,7 +3,7 @@ printf "Beginning upgrade\\n" yay -Syu -pkill -RTMIN+16 "${STATUSBAR:-dwmblocks}" +pkill -RTMIN+14 "${STATUSBAR:-dwmblocks}" printf "\\nUpgrade complete.\\nPress <Enter> to exit window.\\n\\n" read -r _ diff --git a/ar/.local/bin/statusbar/sb-queues b/ar/.local/bin/statusbar/sb-queues index 40445f8..477fa7f 100755 --- a/ar/.local/bin/statusbar/sb-queues +++ b/ar/.local/bin/statusbar/sb-queues @@ -18,7 +18,7 @@ EOF if [ -z "$url" ]; then notify-send "๐ค No active yt-dlp downloads" fi - pkill -RTMIN+21 "${STATUSBAR:-dwmblocks}" + pkill -RTMIN+19 "${STATUSBAR:-dwmblocks}" } # This block displays the number of running and queued background tasks. Requires tsp. diff --git a/ar/.local/bin/statusbar/sb-tasks b/ar/.local/bin/statusbar/sb-tasks index 66be81b..5fc61df 100755 --- a/ar/.local/bin/statusbar/sb-tasks +++ b/ar/.local/bin/statusbar/sb-tasks @@ -67,7 +67,7 @@ $(printf "%b" "$overdue_list")" ;; 2) check_task_sync ;; 3) - notify-send "๐๏ธ Task Module" "Shows task counts. + notify-send "๐ Task Module" "Shows task counts. - Left click: Show tasks due soon. - Middle click: Show follow-up tasks." ;; diff --git a/ar/.local/bin/statusbar/sb-torrent b/ar/.local/bin/statusbar/sb-torrent index ec104b4..3e4b729 100755 --- a/ar/.local/bin/statusbar/sb-torrent +++ b/ar/.local/bin/statusbar/sb-torrent @@ -5,7 +5,7 @@ status=$(transmission-remote -l | grep % | s/.*Stopped.*/A ๐/; s/.*Seeding.*/Z ๐ฑ/; s/.*100%.*/N โ
/; - s/.*Idle.*/B ๐ฐ๏ธ/; + s/.*Idle.*/B ๐ฐ/; s/.*Uploading.*/L ๐ผ/; s/.*Downloading.*/M ๐ฝ/; s/.*%.*/Q โ/" | diff --git a/ar/.local/bin/statusbar/sb-volume b/ar/.local/bin/statusbar/sb-volume index 7881bfd..291e78d 100755 --- a/ar/.local/bin/statusbar/sb-volume +++ b/ar/.local/bin/statusbar/sb-volume @@ -5,7 +5,7 @@ case $BLOCK_BUTTON in 1) setsid -w -f "$TERMINAL" -e pulsemixer - pkill -RTMIN+5 "${STATUSBAR:-dwmblocks}" + pkill -RTMIN+4 "${STATUSBAR:-dwmblocks}" ;; 2) wpctl set-mute @DEFAULT_SINK@ toggle ;; 3) notify-send "๐ข Volume module" "\- Shows volume ๐, ๐ if muted diff --git a/ar/.local/bin/synctime b/ar/.local/bin/synctime index 47f4310..664639f 100755 --- a/ar/.local/bin/synctime +++ b/ar/.local/bin/synctime @@ -19,4 +19,4 @@ sudo hwclock --systohc echo "Current timezone: $current_zone" date -pkill -RTMIN+3 ${STATUSBAR:-dwmblocks} +pkill -RTMIN+2 ${STATUSBAR:-dwmblocks} diff --git a/ar/.local/bin/sysact b/ar/.local/bin/sysact index d4f3653..64ef127 100755 --- a/ar/.local/bin/sysact +++ b/ar/.local/bin/sysact @@ -11,10 +11,10 @@ lock() { mpc pause pauseallmpv wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle - kill -39 "$(pidof dwmblocks)" + kill -38 "$(pidof dwmblocks)" slock wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle - kill -39 "$(pidof dwmblocks)" + kill -38 "$(pidof dwmblocks)" } wmpid() { # This function is needed if there are multiple instances of the window manager. diff --git a/ar/.local/bin/td-toggle b/ar/.local/bin/td-toggle index 4bbe75c..c71d53f 100755 --- a/ar/.local/bin/td-toggle +++ b/ar/.local/bin/td-toggle @@ -8,4 +8,4 @@ else ifinstalled transmission-cli || exit [ "$(printf "No\\nYes" | dmenu -i -p "Turn on transmission daemon?")" = "Yes" ] && transmission-daemon && notify-send "๐ transmission-daemon enabled." fi -sleep 3 && pkill -RTMIN+22 "${STATUSBAR:-dwmblocks}" +sleep 3 && pkill -RTMIN+20 "${STATUSBAR:-dwmblocks}" diff --git a/ar/.local/bin/tordone b/ar/.local/bin/tordone index 4e097a0..016568f 100755 --- a/ar/.local/bin/tordone +++ b/ar/.local/bin/tordone @@ -5,6 +5,6 @@ if [ -n "$completed_torrents" ]; then for torrent_id in $completed_torrents; do transmission-remote -n "$USER" -t "$torrent_id" -r done - pkill -RTMIN+22 "${STATUSBAR:-dwmblocks}" && notify-send "โ
Transmission-daemon" "Torrent(s) $TR_TORRENT_NAME has completed downloading. Deleting torrent files." + pkill -RTMIN+20 "${STATUSBAR:-dwmblocks}" && notify-send "โ
Transmission-daemon" "Torrent(s) $TR_TORRENT_NAME has completed downloading. Deleting torrent files." [ -z "$(transmission-remote -n "$USER" -l | grep -v "Sum:")" ] && killall transmission-daemon && notify-send "โ Transmission-daemon disabled." fi diff --git a/ar/.local/bin/torwrap b/ar/.local/bin/torwrap index 54f5c0e..624778a 100755 --- a/ar/.local/bin/torwrap +++ b/ar/.local/bin/torwrap @@ -5,4 +5,4 @@ ifinstalled stig transmission-cli || exit 1 ! pidof transmission-daemon >/dev/null && transmission-daemon && notify-send "Starting torrent daemon..." "${TERMINAL:-st}" -n stig -e stig -pkill -RTMIN+22 "${STATUSBAR:-dwmblocks}" +pkill -RTMIN+20 "${STATUSBAR:-dwmblocks}" diff --git a/ar/.local/bin/transadd b/ar/.local/bin/transadd index ffd8ded..567b1bc 100755 --- a/ar/.local/bin/transadd +++ b/ar/.local/bin/transadd @@ -4,7 +4,7 @@ # transmission-daemon sometimes fails to take remote requests in its first moments, hence the sleep. -pidof transmission-daemon >/dev/null || (transmission-daemon && notify-send "๐ก Starting transmission daemon..." && sleep 3 && pkill -RTMIN+22 "${STATUSBAR:-dwmblocks}") +pidof transmission-daemon >/dev/null || (transmission-daemon && notify-send "๐ก Starting transmission daemon..." && sleep 3 && pkill -RTMIN+20 "${STATUSBAR:-dwmblocks}") directory="$HOME/Torrents" diff --git a/global/.gnupg/sshcontrol b/global/.gnupg/sshcontrol index 24243e0..e64aa3c 100644 --- a/global/.gnupg/sshcontrol +++ b/global/.gnupg/sshcontrol @@ -21,4 +21,7 @@ CEA80B05ABA46C5DE584655EFD7D26E81A2DFF65 # Ed25519 key added on: 2025-12-26 23:24:56 # Fingerprints: MD5:4d:4a:d4:bf:7f:05:d5:5c:b1:e6:15:dc:6f:f8:fb:d8 # SHA256:T8WNYKy8dz+VIYeVm3k3bqpcZiViQChxrNc3BIVgykk -B62CB11C68C40B7C5E743B2DD09D0D8CED85EB92 0 +# Ed25519 key added on: 2026-01-09 00:07:16 +# Fingerprints: MD5:94:45:bc:ff:b2:5e:9f:56:04:a1:b5:e4:6d:c0:1f:c1 +# SHA256:VL5p1d+iHFL8EJZ/y/tgrUXhpxads6ik1SoZim+U/fk +5A04F5DC42D5A09E50DFEB163B5F3E5A89FC04FE 0 diff --git a/global/.local/share/thesiah/chars/emoji b/global/.local/share/thesiah/chars/emoji index 485b03c..093c6c3 100644 --- a/global/.local/share/thesiah/chars/emoji +++ b/global/.local/share/thesiah/chars/emoji @@ -17,7 +17,7 @@ ๐คฉ star-struck ๐ face blowing a kiss ๐ kissing face -โบ๏ธ smiling face +โบ smiling face ๐ kissing face with closed eyes ๐ kissing face with smiling eyes ๐ฅฒ smiling face with tear @@ -73,7 +73,7 @@ ๐ซค face with diagonal mouth ๐ worried face ๐ slightly frowning face -โน๏ธ frowning face +โน frowning face ๐ฎ face with open mouth ๐ฏ hushed face ๐ฒ astonished face @@ -102,7 +102,7 @@ ๐ smiling face with horns ๐ฟ angry face with horns ๐ skull -โ ๏ธ skull and crossbones +โ skull and crossbones ๐ฉ pile of poo ๐คก clown face ๐น ogre @@ -132,9 +132,9 @@ ๐ revolving hearts ๐ two hearts ๐ heart decoration -โฃ๏ธ heart exclamation +โฃ heart exclamation ๐ broken heart -โค๏ธ red heart +โค red heart ๐ฉท pink heart ๐งก orange heart ๐ yellow heart @@ -153,15 +153,15 @@ ๐ซ dizzy ๐ฆ sweat droplets ๐จ dashing away -๐ณ๏ธ hole +๐ณ hole ๐ฌ speech balloon -๐จ๏ธ left speech bubble -๐ฏ๏ธ right anger bubble +๐จ left speech bubble +๐ฏ right anger bubble ๐ญ thought balloon ๐ค ZZZ ๐ waving hand ๐ค raised back of hand -๐๏ธ hand with fingers splayed +๐ hand with fingers splayed โ raised hand ๐ vulcan salute ๐ซฑ rightwards hand @@ -243,7 +243,7 @@ ๐คฆ person facepalming ๐คท person shrugging ๐ฎ police officer -๐ต๏ธ detective +๐ต detective ๐ guard ๐ฅท ninja ๐ท construction worker @@ -280,20 +280,21 @@ ๐ person running ๐ woman dancing ๐บ man dancing -๐ด๏ธ person in suit levitating +๐ด person in suit levitating ๐ฏ people with bunny ears ๐ง person in steamy room ๐ง person climbing ๐คบ person fencing ๐ horse racing -โท๏ธ skier +โท skier ๐ snowboarder -๐๏ธ person golfing +๐ person golfing ๐ person surfing +๐ derelict house ๐ฃ person rowing boat ๐ person swimming -โน๏ธ person bouncing ball -๐๏ธ person lifting weights +โน person bouncing ball +๐ person lifting weights ๐ด person biking ๐ต person mountain biking ๐คธ person cartwheeling @@ -612,26 +613,26 @@ ๐ globe showing Americas ๐ globe showing Asia-Australia ๐ globe with meridians -๐บ๏ธ world map +๐บ world map ๐พ map of Japan ๐งญ compass -๐๏ธ snow-capped mountain -โฐ๏ธ mountain +๐ snow-capped mountain +โฐ mountain ๐ volcano ๐ป mount fuji -๐๏ธ camping -๐๏ธ beach with umbrella -๐๏ธ desert -๐๏ธ desert island -๐๏ธ national park -๐๏ธ stadium -๐๏ธ classical building -๐๏ธ building construction +๐ camping +๐ beach with umbrella +๐ desert +๐ desert island +๐ national park +๐ stadium +๐ classical building +๐ building construction ๐งฑ brick ๐ชจ rock ๐ชต wood ๐ hut -๐๏ธ houses +๐ houses ๐๏ธ derelict house ๐ house ๐ก house with garden @@ -655,7 +656,8 @@ ๐ mosque ๐ hindu temple ๐ synagogue -โฉ๏ธ shinto shrine +โฉ shinto shrine +๐ cityscape ๐ kaaba โฒ fountain โบ tent @@ -667,7 +669,7 @@ ๐ cityscape at dusk ๐ sunset ๐ bridge at night -โจ๏ธ hot springs +โจ hot springs ๐ carousel horse ๐ playground slide ๐ก ferris wheel @@ -703,8 +705,8 @@ ๐ delivery truck ๐ articulated lorry ๐ tractor -๐๏ธ racing car -๐๏ธ motorcycle +๐ racing car +๐ motorcycle ๐ต motor scooter ๐ฆฝ manual wheelchair ๐ฆผ motorized wheelchair @@ -714,9 +716,9 @@ ๐น skateboard ๐ผ roller skate ๐ bus stop -๐ฃ๏ธ motorway -๐ค๏ธ railway track -๐ข๏ธ oil drum +๐ฃ motorway +๐ค railway track +๐ข oil drum โฝ fuel pump ๐ wheel ๐จ police car light @@ -729,12 +731,12 @@ โต sailboat ๐ถ canoe ๐ค speedboat -๐ณ๏ธ passenger ship -โด๏ธ ferry -๐ฅ๏ธ motor boat +๐ณ passenger ship +โด ferry +๐ฅ motor boat ๐ข ship -โ๏ธ airplane -๐ฉ๏ธ small airplane +โ airplane +๐ฉ small airplane ๐ซ airplane departure ๐ฌ airplane arrival ๐ช parachute @@ -743,18 +745,18 @@ ๐ suspension railway ๐ mountain cableway ๐ก aerial tramway -๐ฐ๏ธ satellite +๐ฐ satellite ๐ rocket ๐ธ flying saucer -๐๏ธ bellhop bell +๐ bellhop bell ๐งณ luggage โ hourglass done โณ hourglass not done โ watch โฐ alarm clock -โฑ๏ธ stopwatch -โฒ๏ธ timer clock -๐ฐ๏ธ mantelpiece clock +โฑ stopwatch +โฒ timer clock +๐ฐ mantelpiece clock ๐ twelve oโclock ๐ง twelve-thirty ๐ one oโclock @@ -791,8 +793,8 @@ ๐ new moon face ๐ first quarter moon face ๐ last quarter moon face -๐ก๏ธ thermometer -โ๏ธ sun +๐ก thermometer +โ sun ๐ full moon face ๐ sun with face ๐ช ringed planet @@ -800,29 +802,29 @@ ๐ glowing star ๐ shooting star ๐ milky way -โ๏ธ cloud +โ cloud โ
sun behind cloud -โ๏ธ cloud with lightning and rain -๐ค๏ธ sun behind small cloud -๐ฅ๏ธ sun behind large cloud -๐ฆ๏ธ sun behind rain cloud -๐ง๏ธ cloud with rain -๐จ๏ธ cloud with snow -๐ฉ๏ธ cloud with lightning -๐ช๏ธ tornado -๐ซ๏ธ fog -๐ฌ๏ธ wind face +โ cloud with lightning and rain +๐ค sun behind small cloud +๐ฅ sun behind large cloud +๐ฆ sun behind rain cloud +๐ง cloud with rain +๐จ cloud with snow +๐ฉ cloud with lightning +๐ช tornado +๐ซ fog +๐ฌ wind face ๐ cyclone ๐ rainbow ๐ closed umbrella -โ๏ธ umbrella +โ umbrella โ umbrella with rain drops -โฑ๏ธ umbrella on ground +โฑ umbrella on ground โก high voltage -โ๏ธ snowflake -โ๏ธ snowman +โ snowflake +โ snowman โ snowman without snow -โ๏ธ comet +โ comet ๐ฅ fire ๐ง droplet ๐ water wave @@ -844,10 +846,10 @@ ๐งง red envelope ๐ ribbon ๐ wrapped gift -๐๏ธ reminder ribbon -๐๏ธ admission tickets +๐ reminder ribbon +๐ admission tickets ๐ซ ticket -๐๏ธ military medal +๐ military medal ๐ trophy ๐
sports medal ๐ฅ 1st place medal @@ -873,7 +875,7 @@ ๐ฅ martial arts uniform ๐ฅ
goal net โณ flag in hole -โธ๏ธ ice skate +โธ ice skate ๐ฃ fishing pole ๐คฟ diving mask ๐ฝ running shirt @@ -888,7 +890,7 @@ ๐ฎ crystal ball ๐ช magic wand ๐ฎ video game -๐น๏ธ joystick +๐น joystick ๐ฐ slot machine ๐ฒ game die ๐งฉ puzzle piece @@ -896,16 +898,16 @@ ๐ช
piรฑata ๐ชฉ mirror ball ๐ช nesting dolls -โ ๏ธ spade suit -โฅ๏ธ heart suit -โฆ๏ธ diamond suit -โฃ๏ธ club suit -โ๏ธ chess pawn +โ spade suit +โฅ heart suit +โฆ diamond suit +โฃ club suit +โ chess pawn ๐ joker ๐ mahjong red dragon ๐ด flower playing cards ๐ญ performing arts -๐ผ๏ธ framed picture +๐ผ framed picture ๐จ artist palette ๐งต thread ๐ชก sewing needle @@ -935,7 +937,7 @@ ๐ purse ๐ handbag ๐ clutch bag -๐๏ธ shopping bags +๐ shopping bags ๐ backpack ๐ฉด thong sandal ๐ manโs shoe @@ -953,7 +955,7 @@ ๐ graduation cap ๐งข billed cap ๐ช military helmet -โ๏ธ rescue workerโs helmet +โ rescue workerโs helmet ๐ฟ prayer beads ๐ lipstick ๐ ring @@ -970,9 +972,9 @@ ๐ผ musical score ๐ต musical note ๐ถ musical notes -๐๏ธ studio microphone -๐๏ธ level slider -๐๏ธ control knobs +๐ studio microphone +๐ level slider +๐ control knobs ๐ค microphone ๐ง headphone ๐ป radio @@ -990,7 +992,7 @@ ๐ช harp ๐ฑ mobile phone ๐ฒ mobile phone with arrow -โ๏ธ telephone +โ telephone ๐ telephone receiver ๐ pager ๐ fax machine @@ -998,19 +1000,19 @@ ๐ชซ low battery ๐ electric plug ๐ป laptop -๐ฅ๏ธ desktop computer -๐จ๏ธ printer -โจ๏ธ keyboard -๐ฑ๏ธ computer mouse -๐ฒ๏ธ trackball +๐ฅ desktop computer +๐จ printer +โจ keyboard +๐ฑ computer mouse +๐ฒ trackball ๐ฝ computer disk ๐พ floppy disk ๐ฟ optical disk ๐ dvd ๐งฎ abacus ๐ฅ movie camera -๐๏ธ film frames -๐ฝ๏ธ film projector +๐ film frames +๐ฝ film projector ๐ฌ clapper board ๐บ television ๐ท camera @@ -1019,7 +1021,7 @@ ๐ผ videocassette ๐ magnifying glass tilted left ๐ magnifying glass tilted right -๐ฏ๏ธ candle +๐ฏ candle ๐ก light bulb ๐ฆ flashlight ๐ฎ red paper lantern @@ -1040,7 +1042,7 @@ ๐๏ธ rolled-up newspaper ๐ bookmark tabs ๐ bookmark -๐ท๏ธ label +๐ท label ๐ฐ money bag ๐ช coin ๐ด yen banknote @@ -1051,7 +1053,7 @@ ๐ณ credit card ๐งพ receipt ๐น chart increasing with yen -โ๏ธ envelope +โ envelope ๐ง e-mail ๐จ incoming envelope ๐ฉ envelope with arrow @@ -1063,22 +1065,22 @@ ๐ฌ open mailbox with raised flag ๐ญ open mailbox with lowered flag ๐ฎ postbox -๐ณ๏ธ ballot box with ballot -โ๏ธ pencil -โ๏ธ black nib -๐๏ธ fountain pen -๐๏ธ pen -๐๏ธ paintbrush -๐๏ธ crayon +๐ณ ballot box with ballot +โ pencil +โ black nib +๐ fountain pen +๐ pen +๐ paintbrush +๐ crayon ๐ memo ๐ผ briefcase ๐ file folder ๐ open file folder -๐๏ธ card index dividers +๐ card index dividers ๐
calendar ๐ tear-off calendar -๐๏ธ spiral notepad -๐๏ธ spiral calendar +๐ spiral notepad +๐ spiral calendar ๐ card index ๐ chart increasing ๐ chart decreasing @@ -1087,26 +1089,26 @@ ๐ pushpin ๐ round pushpin ๐ paperclip -๐๏ธ linked paperclips +๐ linked paperclips ๐ straight ruler ๐ triangular ruler -โ๏ธ scissors -๐๏ธ card file box -๐๏ธ file cabinet -๐๏ธ wastebasket +โ scissors +๐ card file box +๐ file cabinet +๐ wastebasket ๐ locked ๐ unlocked ๐ locked with pen ๐ locked with key ๐ key -๐๏ธ old key +๐ old key ๐จ hammer ๐ช axe -โ๏ธ pick -โ๏ธ hammer and pick -๐ ๏ธ hammer and wrench -๐ก๏ธ dagger -โ๏ธ crossed swords +โ pick +โ hammer and pick +๐ hammer and wrench +๐ก dagger +โ crossed swords ๐ฃ bomb ๐ช boomerang ๐น bow and arrow @@ -1115,18 +1117,18 @@ ๐ง wrench ๐ช screwdriver ๐ฉ nut and bolt -โ๏ธ gear -๐๏ธ clamp -โ๏ธ balance scale +โ gear +๐ clamp +โ balance scale ๐ฆฏ white cane ๐ link -โ๏ธ chains +โ chains ๐ช hook ๐งฐ toolbox ๐งฒ magnet ๐ช ladder ๐ช shovel -โ๏ธ alembic +โ alembic ๐งช test tube ๐งซ petri dish ๐งฌ dna @@ -1166,9 +1168,9 @@ ๐งฏ fire extinguisher ๐ shopping cart ๐ฌ cigarette -โฐ๏ธ coffin +โฐ coffin ๐ชฆ headstone -โฑ๏ธ funeral urn +โฑ funeral urn ๐งฟ nazar amulet ๐ชฌ hamsa ๐ฟ moai @@ -1198,22 +1200,22 @@ ๐ท no pedestrians ๐ต no mobile phones ๐ no one under eighteen -โข๏ธ radioactive -โฃ๏ธ biohazard -โฌ๏ธ up arrow -โ๏ธ up-right arrow -โก๏ธ right arrow -โ๏ธ down-right arrow -โฌ๏ธ down arrow -โ๏ธ down-left arrow -โฌ
๏ธ left arrow -โ๏ธ up-left arrow -โ๏ธ up-down arrow -โ๏ธ left-right arrow -โฉ๏ธ right arrow curving left -โช๏ธ left arrow curving right -โคด๏ธ right arrow curving up -โคต๏ธ right arrow curving down +โข radioactive +โฃ biohazard +โฌ up arrow +โ up-right arrow +โก right arrow +โ down-right arrow +โฌ down arrow +โ down-left arrow +โฌ
left arrow +โ up-left arrow +โ up-down arrow +โ left-right arrow +โฉ right arrow curving left +โช left arrow curving right +โคด right arrow curving up +โคต right arrow curving down ๐ clockwise vertical arrows ๐ counterclockwise arrows button ๐ BACK arrow @@ -1250,21 +1252,21 @@ ๐ shuffle tracks button ๐ repeat button ๐ repeat single button -โถ๏ธ play button +โถ play button โฉ fast-forward button -โญ๏ธ next track button -โฏ๏ธ play or pause button -โ๏ธ reverse button +โญ next track button +โฏ play or pause button +โ reverse button โช fast reverse button -โฎ๏ธ last track button +โฎ last track button ๐ผ upwards button โซ fast up button ๐ฝ downwards button โฌ fast down button -โธ๏ธ pause button -โน๏ธ stop button -โบ๏ธ record button -โ๏ธ eject button +โธ pause button +โน stop button +โบ record button +โ eject button ๐ฆ cinema ๐
dim button ๐ bright button @@ -1272,45 +1274,45 @@ ๐ wireless ๐ณ vibration mode ๐ด mobile phone off -โ๏ธ female sign -โ๏ธ male sign -โง๏ธ transgender symbol -โ๏ธ multiply +โ female sign +โ male sign +โง transgender symbol +โ multiply โ plus โ minus โ divide ๐ฐ heavy equals sign -โพ๏ธ infinity -โผ๏ธ double exclamation mark -โ๏ธ exclamation question mark +โพ infinity +โผ double exclamation mark +โ exclamation question mark โ red question mark โ white question mark โ white exclamation mark โ red exclamation mark -ใฐ๏ธ wavy dash +ใฐ wavy dash ๐ฑ currency exchange ๐ฒ heavy dollar sign -โ๏ธ medical symbol -โป๏ธ recycling symbol -โ๏ธ fleur-de-lis +โ medical symbol +โป recycling symbol +โ fleur-de-lis ๐ฑ trident emblem ๐ name badge ๐ฐ Japanese symbol for beginner โญ hollow red circle โ
check mark button -โ๏ธ check box with check -โ๏ธ check mark +โ check box with check +โ check mark โ cross mark โ cross mark button โฐ curly loop โฟ double curly loop -ใฝ๏ธ part alternation mark -โณ๏ธ eight-spoked asterisk -โด๏ธ eight-pointed star -โ๏ธ sparkle -ยฉ๏ธ copyright -ยฎ๏ธ registered -โข๏ธ trade mark +ใฝ part alternation mark +โณ eight-spoked asterisk +โด eight-pointed star +โ sparkle +ยฉ copyright +ยฎ registered +โข trade mark ๐ซ splatter #๏ธโฃ keycap: # *๏ธโฃ keycap: * @@ -1330,26 +1332,26 @@ ๐ข input numbers ๐ฃ input symbols ๐ค input latin letters -๐
ฐ๏ธ A button (blood type) +๐
ฐ A button (blood type) ๐ AB button (blood type) -๐
ฑ๏ธ B button (blood type) +๐
ฑ B button (blood type) ๐ CL button ๐ COOL button ๐ FREE button -โน๏ธ information +โน information ๐ ID button -โ๏ธ circled M +โ circled M ๐ NEW button ๐ NG button -๐
พ๏ธ O button (blood type) +๐
พ O button (blood type) ๐ OK button -๐
ฟ๏ธ P button +๐
ฟ P button ๐ SOS button ๐ UP! button ๐ VS button ๐ Japanese โhereโ button -๐๏ธ Japanese โservice chargeโ button -๐ท๏ธ Japanese โmonthly amountโ button +๐ Japanese โservice chargeโ button +๐ท Japanese โmonthly amountโ button ๐ถ Japanese โnot free of chargeโ button ๐ฏ Japanese โreservedโ button ๐ Japanese โbargainโ button @@ -1360,8 +1362,8 @@ ๐ธ Japanese โapplicationโ button ๐ด Japanese โpassing gradeโ button ๐ณ Japanese โvacancyโ button -ใ๏ธ Japanese โcongratulationsโ button -ใ๏ธ Japanese โsecretโ button +ใ Japanese โcongratulationsโ button +ใ Japanese โsecretโ button ๐บ Japanese โopen for businessโ button ๐ต Japanese โno vacancyโ button ๐ด red circle @@ -1382,12 +1384,12 @@ ๐ซ brown square โฌ black large square โฌ white large square -โผ๏ธ black medium square -โป๏ธ white medium square +โผ black medium square +โป white medium square โพ black medium-small square โฝ white medium-small square -โช๏ธ black small square -โซ๏ธ white small square +โช black small square +โซ white small square ๐ถ large orange diamond ๐ท large blue diamond ๐ธ small orange diamond @@ -1402,7 +1404,7 @@ ๐ฉ triangular flag ๐ crossed flags ๐ด black flag -๐ณ๏ธ white flag +๐ณ white flag ๐ฆ๐จ flag: Ascension Island ๐ฆ๐ฉ flag: Andorra ๐ฆ๐ช flag: United Arab Emirates diff --git a/global/.ssh/config b/global/.ssh/config index 95182bb..bbeb10f 100644 --- a/global/.ssh/config +++ b/global/.ssh/config @@ -1,14 +1,16 @@ Match host * exec "gpg-connect-agent UPDATESTARTUPTTY /bye" -Host recordings +Host diary HostName thesiah.xyz User root RequestTTY yes - RemoteCommand cd /var/www/thesiah/recordings && exec $SHELL -l + RemoteCommand cd /var/www/thesiah/diary && exec $SHELL -l -Host github.com +Host github + HostName github.com User git IdentityAgent ~/.gnupg/S.gpg-agent.ssh + IdentitiesOnly yes Host evcp HostName 3.36.92.165 diff --git a/global/Music/.music.txt b/global/Music/.music.txt index a64bfc5..723a23d 100644 --- a/global/Music/.music.txt +++ b/global/Music/.music.txt @@ -914,3 +914,5 @@ youtube edJ1dXbaqak youtube Qe8fa4b5xNU youtube RgKAFK5djSk youtube 6wmuFMBouyQ +youtube t8p8FF16zJs +youtube Ejc__vhP2U8 diff --git a/mac/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua b/mac/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua index 52ceb01..ee97612 100644 --- a/mac/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua +++ b/mac/.config/TheSiahxyz/lua/TheSiahxyz/plugins/ai.lua @@ -260,6 +260,75 @@ return { }, }, { + "greggh/claude-code.nvim", + dependencies = { + "nvim-lua/plenary.nvim", -- Required for git operations + }, + config = function() + require("claude-code").setup({ + -- Terminal window settings + window = { + split_ratio = 0.3, -- Percentage of screen for the terminal window (height for horizontal, width for vertical splits) + position = "vertical", -- Position of the window: "botright", "topleft", "vertical", "float", etc. + enter_insert = true, -- Whether to enter insert mode when opening Claude Code + hide_numbers = true, -- Hide line numbers in the terminal window + hide_signcolumn = true, -- Hide the sign column in the terminal window + + -- Floating window configuration (only applies when position = "float") + float = { + width = "80%", -- Width: number of columns or percentage string + height = "80%", -- Height: number of rows or percentage string + row = "center", -- Row position: number, "center", or percentage string + col = "center", -- Column position: number, "center", or percentage string + relative = "editor", -- Relative to: "editor" or "cursor" + border = "rounded", -- Border style: "none", "single", "double", "rounded", "solid", "shadow" + }, + }, + -- File refresh settings + refresh = { + enable = true, -- Enable file change detection + updatetime = 100, -- updatetime when Claude Code is active (milliseconds) + timer_interval = 1000, -- How often to check for file changes (milliseconds) + show_notifications = true, -- Show notification when files are reloaded + }, + -- Git project settings + git = { + use_git_root = true, -- Set CWD to git root when opening Claude Code (if in git project) + }, + -- Shell-specific settings + shell = { + separator = "&&", -- Command separator used in shell commands + pushd_cmd = "pushd", -- Command to push directory onto stack (e.g., 'pushd' for bash/zsh, 'enter' for nushell) + popd_cmd = "popd", -- Command to pop directory from stack (e.g., 'popd' for bash/zsh, 'exit' for nushell) + }, + -- Command settings + command = "claude", -- Command used to launch Claude Code + -- Command variants + command_variants = { + -- Conversation management + continue = "--continue", -- Resume the most recent conversation + resume = "--resume", -- Display an interactive conversation picker + + -- Output options + verbose = "--verbose", -- Enable verbose logging with full turn-by-turn output + }, + -- Keymaps + keymaps = { + toggle = { + normal = "<C-,>", -- Normal mode keymap for toggling Claude Code, false to disable + terminal = "<C-,>", -- Terminal mode keymap for toggling Claude Code, false to disable + variants = { + continue = "<leader>cC", -- Normal mode keymap for Claude Code with continue flag + verbose = "<leader>cV", -- Normal mode keymap for Claude Code with verbose flag + }, + }, + window_navigation = true, -- Enable window navigation keymaps (<C-h/j/k/l>) + scrolling = true, -- Enable scrolling keymaps (<C-f/b>) for page up/down + }, + }) + end, + }, + { "NickvanDyke/opencode.nvim", dependencies = { -- Recommended for `ask()` and `select()`. @@ -277,7 +346,7 @@ return { vim.o.autoread = true -- Recommended/example keymaps. - vim.keymap.set({ "n", "x" }, "<C-a>", function() + vim.keymap.set({ "n", "x" }, "<C-q>", function() require("opencode").ask("@this: ", { submit = true }) end, { desc = "Ask opencode" }) vim.keymap.set({ "n", "x" }, "<C-x>", function() @@ -387,7 +456,7 @@ return { instructions_file = "avante.md", ---@alias Provider "claude" | "openai" | "azure" | "gemini" | "cohere" | "copilot" | string ---@type Provider - provider = "openai", -- The provider used in Aider mode or in the planning phase of Cursor Planning Mode + provider = "claude", -- The provider used in Aider mode or in the planning phase of Cursor Planning Mode ---@alias Mode "agentic" | "legacy" ---@type Mode mode = "agentic", -- The default mode for interaction. "agentic" uses tools to automatically generate code, "legacy" uses the old planning method to generate code. @@ -398,6 +467,7 @@ return { providers = { claude = { endpoint = "https://api.anthropic.com", + auth_type = "max", -- Set to "max" to sign in with Claude Pro/Max subscription model = "claude-sonnet-4-20250514", timeout = 30000, -- Timeout in milliseconds extra_request_body = { diff --git a/mac/.config/shell/aliasrc b/mac/.config/shell/aliasrc index f263206..64783f8 100644 --- a/mac/.config/shell/aliasrc +++ b/mac/.config/shell/aliasrc @@ -383,7 +383,7 @@ alias skype='skypeforlinux' # ssh alias gts="ssh $THESIAH_SERVER" -alias wwr="ssh recordings" +alias wwr="ssh diary" # sudo alias su='sudo su -l root' diff --git a/mac/.config/zsh/scripts.zsh b/mac/.config/zsh/scripts.zsh index f92a6c4..ac59ca6 100644 --- a/mac/.config/zsh/scripts.zsh +++ b/mac/.config/zsh/scripts.zsh @@ -388,9 +388,13 @@ EOF ) [[ -z "${SELECTED_DIRS// }" ]] && return if [[ "$(echo "$SELECTED_DIRS" | wc -l)" -eq 1 ]]; then - cd "$SELECTED_DIRS" - if [[ -n "$(git -C "$SELECTED_DIRS" status --porcelain)" ]]; then - git status --porcelain 2>/dev/null + if [[ -n "$TMUX" ]]; then + opensessions "$SELECTED_DIRS" + else + cd "$SELECTED_DIRS" || return + if [[ -n "$(git -C "$SELECTED_DIRS" status --porcelain 2>/dev/null)" ]]; then + git status --porcelain + fi fi else opensessions "$SELECTED_DIRS" diff --git a/mac/.local/bin/opensessions b/mac/.local/bin/opensessions index 6f9f236..d16f42f 100755 --- a/mac/.local/bin/opensessions +++ b/mac/.local/bin/opensessions @@ -18,7 +18,10 @@ set -- $dirs for dir in $dirs; do if [ -d "$dir" ]; then session_name=$(get_session_name "$dir") - if ! tmux has-session -t "$session_name" 2>/dev/null; then + if tmux has-session -t "$session_name" 2>/dev/null; then + session_path=$(tmux display-message -t "$session_name" -p '#{session_path}') + tmux send-keys -t "$session_name" "cd \"$session_path\"" C-m + else tmux new-session -d -s "$session_name" -c "$dir" if git -C "$dir" rev-parse --is-inside-work-tree >/dev/null 2>&1 && [ -n "$(git -C "$dir" status --porcelain)" ]; then tmux send-keys -t "$session_name" "git status --porcelain" C-m |
