diff --git a/.XCompose b/.XCompose index 4c49148..032a871 100644 --- a/.XCompose +++ b/.XCompose @@ -3,6 +3,7 @@ include "/usr/share/X11/locale/cs_CZ.UTF-8/Compose" # Include Czech locale Compo : " " U202F # Thin non-breaking space : "​" U200B # Zero-width space <8> <8> : "∞" U221E # Infinity symbol + : "≔" # Assignment operator : "≡" # Triple equals (identical to) : "≈" # Almost equal to : "≃" # Asymptotically equal to diff --git a/.bash/hooks/onpostgit b/.bash/hooks/onpostgit index afdf043..d516a83 100755 --- a/.bash/hooks/onpostgit +++ b/.bash/hooks/onpostgit @@ -2,4 +2,6 @@ if [[ -f "/dev/shm/bash/$BASHPID/onpostgit" ]]; then source "/dev/shm/bash/$BASHPID/onpostgit" fi -git +# not-interactine, not-redirecting, not-pipe +[[ "$-" != *i* || ! -t 0 || ! -t 1 || -p /dev/stdin ]] && return +git-i diff --git a/.bash/shell/bindings.sh b/.bash/shell/bindings.sh index 8416bce..d558984 100644 --- a/.bash/shell/bindings.sh +++ b/.bash/shell/bindings.sh @@ -12,4 +12,5 @@ bind -m vi-command 'Control-l: clear-screen' bind -m vi-insert 'Control-l: clear-screen' # export MANPAGER="/bin/sh -c \"sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | vim --appimage-extract-and-run --not-a-term -c 'set ft=man ts=8 nomod nolist noma' -\"" export MANPAGER="vim --appimage-extract-and-run +MANPAGER --not-a-term -c 'set ts=8 nolist number' -" -alias cat=/usr/local/bin/vimcat +/usr/local/bin/vimcat --version &>/dev/null && \ + alias cat=/usr/local/bin/vimcat diff --git a/.bash/shell/history.sh b/.bash/shell/history.sh index eb3e705..e1bc14d 100644 --- a/.bash/shell/history.sh +++ b/.bash/shell/history.sh @@ -1,4 +1,6 @@ #!/usr/bin/env bash +#source /home/linuxbrew/.linuxbrew/share/undo/undo.bash + [[ "$-" != *i* ]] && return export HISTCONTROL="ignoreboth:erasedups" diff --git a/.bash/shell/ux.sh b/.bash/shell/ux.sh index 013a71d..fdba902 100644 --- a/.bash/shell/ux.sh +++ b/.bash/shell/ux.sh @@ -5,46 +5,51 @@ shopt -s checkwinsize # Color support for ls and other tools -if [ -x /usr/bin/dircolors ]; then +if [[ -x /usr/bin/dircolors ]]; then if [[ -r "$HOME/.dircolors" ]]; then eval "$(dircolors -b "$HOME/.dircolors")" 2>/dev/null || true else eval "$(dircolors -b)" 2>/dev/null || true fi fi -alias grep='grep --color=auto' -alias fgrep='fgrep --color=auto' -alias egrep='egrep --color=auto' +grep --color=auto < /dev/null &>/dev/null && \ + alias grep='grep --color=auto' alias diff='diff --color=auto' -[[ -x /usr/bin/lesspipe ]] && eval "$(SHELL=/bin/sh lesspipe)" # make less more friendly for non-text input files, see lesspipe(1) +[[ -x /usr/bin/lesspipe ]] && \ + eval "$(SHELL=/bin/sh lesspipe)" # make less more friendly for non-text input files, see lesspipe(1) export LS_COLORS="$LS_COLORS:tw=01;04;34:ow=01;04;34:" -alias ls='ls --color=auto -pQFh --group-directories-first' +if ls --color=auto /dev/null &>/dev/null; then + alias ls='ls --color=auto -pQFh --group-directories-first' +else + alias ls='ls -pQFhG' +fi [[ "$-" != *i* ]] && return -updatePrompt() { +updatePrompt() { # ✓ ≡1 At 12:28 by jaandrle in ~/Dokumenty/Projekty local -r prev_exit="$?" # color_helper_>>color<< (Note: \[\]= escaping) + local -r chRst="\[\033[0m\]" #white local -r chR="\[\033[1;91m\]" #red - local -r chW="\[\033[00m\]" #white local -r chG="\[\033[01;32m\]" #green local -r chB="\[\033[0;34m\]" #blue local -r chP="\[\033[0;35m\]" #purple local -r chY="\[\033[0;33m\]" #yellow PS1="" if [ "$prev_exit" -eq 0 ]; then - PS1+="$chG✓ $chW" + PS1+="$chG✓$chRst" else - PS1+="$chR✗ $chW" + PS1+="$chR✗$chRst" fi + PS1+=" " local jobs jobs=$(jobs -p | wc -w) - [[ "$jobs" -ne 0 ]] && PS1+="${chY}≡${jobs}${chW}" + [[ "$jobs" -ne 0 ]] && PS1+="${chY}≡\j${chRst}" PS1+="${debian_chroot:+($debian_chroot)}" - PS1+=" At ${chG}\A${chW}" - PS1+=" by ${chP}\u${chW}" + PS1+=" At ${chG}\A${chRst}" + PS1+=" by ${chP}\u${chRst}" if sudo -n true 2>/dev/null; then - PS1+="${chR} (sudo)${chW}" + PS1+="${chR} (sudo)${chRst}" fi PS1+=" in " local -r git='command git' @@ -56,10 +61,10 @@ updatePrompt() { status="$($git for-each-ref --format='%(upstream:trackshort)' "$branch" 2>/dev/null | awk '!seen[$1]++ {printf $1}')" status+="$($git status --porcelain 2>/dev/null | awk '!seen[$1]++ {printf $1}')" [ "$status" != "" ] && \ - PS1+="|$chY$status$chW" + PS1+="|$chY$status$chRst" PS1+="] " fi - PS1+="${chB}\w${chW}" + PS1+="${chB}\w${chRst}" PS1+="\n${PS1_jaaENV:-:}" local -r hook="$BASH_DOTFILES/hooks/onprompt" diff --git a/.bash/system/java.sh b/.bash/system/java.sh index 9ce6576..9757618 100644 --- a/.bash/system/java.sh +++ b/.bash/system/java.sh @@ -1,3 +1,5 @@ #!/usr/bin/env bash [[ -z "$JAVA_HOME" ]] && \ - export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/" + export JAVA_HOME='/home/jaandrle/.jvman/current' #"/usr/lib/jvm/java-8-openjdk-amd64/" +export PATH="$PATH:$JAVA_HOME/bin" +export CLASSPATH=".:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar" diff --git a/.bash/toolchains/aliases.sh b/.bash/toolchains/aliases.sh index 7aadb2a..763abc0 100644 --- a/.bash/toolchains/aliases.sh +++ b/.bash/toolchains/aliases.sh @@ -2,6 +2,21 @@ export PATH="$PATH:$HOME/.local/share/soar/bin" alias vim='vim --servername v' +vim-remote(){ + local session=${1:-} + local rest="${*:2}" + if [[ -z "$session" || ! \[0-9\] =~ $session ]]; then + local -r session_full="$(tv -s 'command vim --serverlist')" + session="${session_full/V/}" + rest="${*:1}" + fi + if [[ \[1-9\] =~ $session ]]; then + session="v$session" + elif [[ -z "$session" || "$session" == "0" ]]; then + session="V" + fi + command vim --servername "$session" --remote-silent "$rest" +} crossSession 'm0' "$OLDPWD" cd() { @@ -42,9 +57,9 @@ kommit(){ flatpak run \ --branch=stable --arch=x86_64 \ --file-forwarding \ - --command=kommit org.kde.kommit @@u $* @@ > /dev/null 2>&1 & disown; + --command=kommit org.kde.kommit @@u "$@" @@ > /dev/null 2>&1 & disown; else - command kommit $* > /dev/null 2>&1 & disown; + command kommit "$@" > /dev/null 2>&1 & disown; fi } export SVN_CONFIG_DIR="$HOME/.config/subversion" diff --git a/.bash/toolchains/cross-session/store.sh b/.bash/toolchains/cross-session/store.sh index d552756..86e108d 100644 --- a/.bash/toolchains/cross-session/store.sh +++ b/.bash/toolchains/cross-session/store.sh @@ -1,7 +1,7 @@ -export OLDPWD="/home/jaandrle/.bash/toolchains" +export OLDPWD="/home/jaandrle/Dokumenty/Projekty/wpotd" export mb='/home/jaandrle/.bash' -export m0="/home/jaandrle/.bash/toolchains" export mg='/home/jaandrle/Vzdálené/GitHub' -export mp='/home/jaandrle/Dokumenty/Projekty' -export mm='/home/jaandrle/Vzdálené/GitHub/Facilitator-App-Native' export mmbs='/home/jaandrle/.config/bsrc/my/home/jaandrle/Vzdálené/GitHub/Facilitator-App-Native/bs' +export mwpotd='/home/jaandrle/Dokumenty/Projekty/wpotd' +export mp='/home/jaandrle/Dokumenty/Projekty' +export m0="/home/jaandrle/.bash/toolchains/jsonvar" diff --git a/.bash/toolchains/jsonvar b/.bash/toolchains/jsonvar index 57f55b9..88cde0a 160000 --- a/.bash/toolchains/jsonvar +++ b/.bash/toolchains/jsonvar @@ -1 +1 @@ -Subproject commit 57f55b99599983719399606353bf49dff70508e1 +Subproject commit 88cde0acb3cf342cf7f9f918a1bf8e7f1274517b diff --git a/.bash/toolchains/vifm.sh b/.bash/toolchains/vifm.sh index a3085c5..ca41619 100644 --- a/.bash/toolchains/vifm.sh +++ b/.bash/toolchains/vifm.sh @@ -2,7 +2,7 @@ # VIFM configuration - migrated from .bash_vifm vifm() { - \cat <<-"HELP" + command cat <<-"HELP" Use bash build-in: - cd (ch dir), ls or tree (list), find - mkdir (make dir), touch (make file), rm (remove) @@ -40,11 +40,12 @@ m() { return 0 fi if [[ -z "$1" ]]; then + command source "$BASH_DOTFILES/toolchains/cross-session/store.sh" printenv | grep -e '^m' | sort | xargs -I{} echo \${} return 0 fi if [[ "--help" == "$1" ]]; then - \cat <<-"HELP" + command cat <<-"HELP" m [--help] Lists all marks or print this help. m -d diff --git a/.config/github-releases/config.json b/.config/github-releases/config.json index 2209b58..537a1a5 100644 --- a/.config/github-releases/config.json +++ b/.config/github-releases/config.json @@ -1,54 +1,6 @@ { "target": "/home/jaandrle/.local/bin/", "packages": [ - { - "repository": "shiftkey/desktop", - "name": "GitHub Desktop", - "group": "skip-dev", - "file_name": "github-desktop", - "exec": "yes", - "description": "Fork of GitHub Desktop to support various Linux distributions", - "last_update": "2024-08-17T01:47:21Z", - "downloads": "/home/jaandrle/.local/bin/github-desktop", - "version": "release-3.4.4-linuxbeta2", - "glare": ".*x86_64.*.AppImage" - }, - { - "repository": "pinokiocomputer/pinokio", - "name": "Pinokio", - "group": "ai", - "file_name": "pinokio", - "exec": "yes", - "description": "AI Browser", - "glare": "AppImage", - "last_update": "2026-07-11T02:40:59Z", - "version": "v8.0.8", - "downloads": "/home/jaandrle/.local/bin/pinokio" - }, - { - "repository": "jaandrle/jaaCSS-cli", - "name": "jaaCSS", - "description": "EXPERIMENT – Helper for managing functional CSS classes", - "group": "dev", - "file_name": "jaaCSS.js", - "exec": "yes", - "downloads": "/home/jaandrle/.local/bin/jaaCSS.js", - "version": "v1.3.2", - "last_update": "2022-09-02T13:33:16Z", - "glare": "jaaCSS.js" - }, - { - "repository": "th-ch/youtube-music", - "name": "youtube-music", - "description": "YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)", - "group": "skip-nondev", - "file_name": "youtube-music", - "exec": "yes", - "last_update": "2024-10-16T11:58:54Z", - "downloads": "/home/jaandrle/.local/bin/youtube-music", - "version": "v3.6.2", - "glare": "AppImage" - }, { "repository": "rvpanoz/luna", "name": "luna", @@ -57,7 +9,6 @@ "file_name": "luna", "exec": "yes", "glare": "AppImage", - "last_update": "2020-10-29T23:06:39Z", "version": "v.3.4.6", "downloads": "/home/jaandrle/.local/bin/luna" }, @@ -77,7 +28,6 @@ "exec": "yes", "description": "Package desktop applications as AppImages that run on common Linux-based operating systems, such as RHEL, CentOS, openSUSE, SLED, Ubuntu, Fedora, debian and derivatives. Join #AppImage on irc.freenode.net", "glare": ".*x86_64.*.AppImage", - "last_update": "2023-03-08T23:25:46Z", "version": "continuous", "downloads": "/home/jaandrle/.local/bin/appimagekit" }, @@ -88,22 +38,9 @@ "group": "skip-nondev", "file_name": "normcap", "exec": "yes", - "last_update": "2023-12-12T22:23:37Z", "downloads": "/home/jaandrle/.local/bin/normcap", "version": "v0.5.2" }, - { - "repository": "upscayl/upscayl", - "name": "upscayl", - "description": "🆙 Upscayl - Free and Open Source AI Image Upscaler for Linux, MacOS and Windows built with Linux-First philosophy.", - "group": "nondev", - "file_name": "upscayl", - "exec": "yes", - "last_update": "2024-12-25T13:44:34Z", - "downloads": "/home/jaandrle/.local/bin/upscayl", - "version": "v2.15.0", - "glare": "AppImage" - }, { "repository": "h3poteto/fedistar", "name": "Fedistar", @@ -111,10 +48,10 @@ "group": "nondev", "file_name": "fedistar.appimage", "exec": "yes", - "last_update": "2026-06-01T15:16:44Z", "downloads": "/home/jaandrle/.local/bin/fedistar.appimage", "version": "v1.13.1", - "glare": ".*amd64.*.AppImage" + "glare": ".*amd64.*.AppImage", + "last_update": "2026-06-01T15:16:44Z" }, { "repository": "neovim/neovim", @@ -125,116 +62,18 @@ "file_name": "nvim", "exec": "yes", "downloads": "/home/jaandrle/.local/bin/nvim", - "version": "v0.9.5", - "last_update": "2023-12-30T13:31:47Z" + "version": "v0.9.5" }, { "repository": "vim/vim-appimage", "name": "vim", "description": "AppImage for gVim", - "group": "dev", + "group": "skip", "file_name": "vim", "exec": "yes", "downloads": "/home/jaandrle/.local/bin/vim", "version": "v9.2.0782", - "glare": "GVim.*x86_64.*.AppImage", - "last_update": "2026-07-04T02:42:41Z" - }, - { - "repository": "viarotel-org/escrcpy", - "name": "Escrcpy", - "description": "📱 Graphical Scrcpy to display and control Android, devices powered by Electron. | 使用图形化的 Scrcpy 显示和控制您的 Android 设备,由 Electron 驱动。", - "group": "dev", - "file_name": "escrcpy.appimage", - "exec": "yes", - "last_update": "2026-05-19T07:48:59Z", - "downloads": "/home/jaandrle/.local/bin/escrcpy.appimage", - "version": "v2.11.1", - "glare": ".*x86_64.*.AppImage" - }, - { - "repository": "drovp/drovp", - "name": "drovp", - "description": "Desktop app for encoding, converting, upscaling, and much more.", - "group": "dev-test", - "file_name": "drovp", - "exec": "yes", - "last_update": "2024-10-06T16:26:38Z", - "downloads": "/home/jaandrle/.local/bin/drovp", - "version": "0.8.2", - "glare": "x64.AppImage" - }, - { - "repository": "janhq/jan", - "name": "Jan", - "description": "Jan is an open source alternative to ChatGPT that runs 100% offline on your computer", - "group": "ai", - "file_name": "jan", - "exec": "yes", - "last_update": "2026-06-24T06:06:52Z", - "downloads": "/home/jaandrle/.local/bin/jan", - "version": "v0.8.3", - "glare": ".*amd64.AppImage" - }, - { - "repository": "Bin-Huang/chatbox", - "name": "Chatbox", - "description": "Chatbox is a desktop client for ChatGPT, Claude and other LLMs, available on Windows, Mac, Linux", - "group": "ai", - "file_name": "Chatbox", - "exec": "yes", - "last_update": "2026-06-12T08:19:15Z", - "downloads": "/home/jaandrle/.local/bin/Chatbox", - "version": "v1.21.1", - "glare": ".*x86_64.*.AppImage" - }, - { - "repository": "Martichou/rquickshare", - "group": "nondev", - "name": "r-quick-share", - "description": "Rust implementation of NearbyShare/QuickShare from Android for Linux and macOS.", - "file_name": "r-quick-share", - "exec": "yes", - "downloads": "/home/jaandrle/.local/bin/r-quick-share", - "glare": ".*main.*amd64.AppImage", - "last_update": "2025-02-23T18:15:49Z", - "version": "v0.11.5" - }, - { - "repository": "konnektoren/konnektoren-mobile-app", - "group": "nondev", - "name": "Konnektoren", - "description": "Konnektoren Mobile App (learning german) — https://konnektoren.help/home/", - "file_name": "konnektoren", - "exec": "yes", - "downloads": "/home/jaandrle/.local/bin/konnektoren", - "glare": "AppImage", - "last_update": "2025-04-27T07:33:51Z", - "version": "konnektoren-mobile-app-v0.1.4" - }, - { - "repository": "TibixDev/winboat", - "group": "nondev", - "name": "WinBoat", - "description": "Run Windows apps on 🐧 Linux with ✨ seamless integration", - "file_name": "winboat", - "exec": "yes", - "downloads": "/home/jaandrle/.local/bin/winboat", - "glare": ".*x86_64.AppImage", - "version": "v0.9.0", - "last_update": "2025-11-23T23:23:48Z" - }, - { - "repository": "Sarwarhridoy4/github-ssh-manager", - "group": "dev", - "name": "GitHub SSH Manager", - "description": "A cross-platform GUI tool built with **Go** and **Fyne** that allows you to manage multiple GitHub SSH keys effortlessly. Generate keys, view public keys, upload to GitHub, test SSH connections, and manage your `~/.ssh/config` all from one place.", - "file_name": "github-ssh-manager", - "exec": "yes", - "downloads": "/home/jaandrle/.local/bin/github-ssh-manager", - "glare": "AppImage", - "last_update": "2026-02-23T06:22:10Z", - "version": "2.5" + "glare": "GVim.*x86_64.*.AppImage" }, { "repository": "asinglebit/guitar", @@ -245,8 +84,8 @@ "exec": "yes", "downloads": "/home/jaandrle/.local/bin/guitar", "glare": "linux", - "last_update": "2026-06-21T11:31:28Z", - "version": "v1.0.4" + "version": "v1.0.4", + "last_update": "2026-06-21T11:31:28Z" } ] } \ No newline at end of file diff --git a/.config/tridactyl/tridactylrc b/.config/tridactyl/tridactylrc index 92a53af..cbce2b6 100644 --- a/.config/tridactyl/tridactylrc +++ b/.config/tridactyl/tridactylrc @@ -51,6 +51,7 @@ bindurl ^https://rss.jaandrle.cz/* ss nmode ignore 1 mode normal bindurl ^https://rss.jaandrle.cz/* sn hint -c div command mlpPritomne js const f= "filter[dostupnost][eq]"; const s= new URLSearchParams(location.search); s[s.has(f)?"delete":"set"](f, "pritomne"); location.search= "?"+s.toString(); +command mlpListSize js const size= "pageSize"; const s= new URLSearchParams(location.search); s.set(size, s.has(size) ? (s.get(size)=== "100" ? "48" : "100") : "48"); location.search= "?"+s.toString(); bindurl ^https://www.mlp.cz/* ss fillcmdline_notrail mlp command pauseVideos js Array.from(document.querySelectorAll("video")).forEach(el=> ( location.hostname!=="www.o2tv.cz" ? el.pause() : [ "Pauza" ].map(l=> document.querySelector(`[aria-label=${l}]`)).find(Boolean)?.dispatchEvent(new Event("click")) )) diff --git a/.inputrc b/.inputrc index abd0a14..fb7b5be 100644 --- a/.inputrc +++ b/.inputrc @@ -5,31 +5,39 @@ set editing-mode vi set keymap vi-command set keymap vi-insert # Show vim mode indicators -set show-mode-in-prompt on +set show-mode-in-prompt On set vi-ins-mode-string ">_" set vi-cmd-mode-string "$_" # aka set wildmode=longest:full:list,full (tab and shift+tab) TAB: menu-complete "\e[Z": menu-complete-backward -set show-all-if-ambiguous on -set menu-complete-display-prefix on +set show-all-if-ambiguous On +set menu-complete-display-prefix On +set visible-stats On +set colored-stats On +set colored-completion-prefix On +set completion-prefix-display-length 5 # aka vim cmd up/down "\e[A":history-search-backward "\e[B":history-search-forward +set mark-modified-lines On + # shift+enter -"OM": history-and-alias-expand-line +"\eOM": history-and-alias-expand-line +"\e[13;2u": history-and-alias-expand-line "\"\"": "\"\e\ea\"\e\ei" "''": "'\e\ea'\e\ei" "()": "(\e\ea)\e\ei" "{}": "{\e\ea}\e\ei" -set colored-stats On "":"\C-W" $if mode=vi set keymap vi-command +"u": undo +"U": redo "daw": "lbdW" "yaw": "lbyW" "caw": "lbcW" @@ -90,4 +98,5 @@ set keymap vi-command "ca:": "da:i" # esc+* = https://superuser.com/a/216169 "K": history-and-alias-expand-line +"!": "\e^Iundo run " $endif diff --git a/.local/bin/§bluetooth-toggle.sh b/.local/bin/§bluetooth-toggle.sh deleted file mode 100755 index afe4139..0000000 --- a/.local/bin/§bluetooth-toggle.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash -if bluetoothctl show | grep -q 'Powered: no'; then - bluetoothctl power on -else - bluetoothctl power off -fi diff --git a/.profile b/.profile index 39278d9..e52fe4f 100644 --- a/.profile +++ b/.profile @@ -9,5 +9,6 @@ && source "$HOME/.bash/system/index.sh" if [ -d "$HOME/.local/bin" ] ; then - PATH="$HOME/.local/bin:$PATH" + PATH="$HOME/.local/bin:$PATH" fi + diff --git a/.vim/vimrc b/.vim/vimrc index 94c060e..84d2a1b 100644 --- a/.vim/vimrc +++ b/.vim/vimrc @@ -1,4 +1,4 @@ -""" VIM config file | Jan Andrle | 2026-05-05 (VIM >=9.2 AppImage) +""" VIM config file | Jan Andrle | 2026-08-18 (VIM >=9.2 AppImage) "" #region B – Base scriptencoding utf-8 | set encoding=utf-8 set pythonthreedll=/lib/x86_64-linux-gnu/libpython3.12.so.1.0 @@ -280,14 +280,13 @@ augroup END "" #endregion EA "" #region AI -let g:codeium_disable_bindings = 1 -imap