From 8f42578e4e4972455ccb0f91dfcd50bfe1cfd5ec Mon Sep 17 00:00:00 2001 From: Jan Andrle Date: Fri, 19 Sep 2025 14:47:38 +0200 Subject: [PATCH] :zap: new laptop and clean up - instead of vifm use bash and dolphin --- .bash/.bash_aliases | 135 ++++++--------- .bash/.bash_completions | 54 +++--- .bash/.bash_vifm | 93 ++++++++++ .bashrc | 26 +-- .config/TabNine/tabnine_config.json | 52 ------ .config/bubblemail/bubblemail.cfg | 37 ---- .../plugins/treebrowser/treebrowser.conf | 2 +- .config/github-releases/config.json | 27 +-- .config/kdedefaults/kwinrc | 3 - .../color-schemes/BreezeTmavéUpraveno.colors | 147 ---------------- .kde/share/config/kdeglobals | 162 ------------------ .local/bin/github-releases.mjs | 2 +- .local/bin/§wallpaper_BIOTD | 2 +- .vim/vimrc | 16 +- README.md | 63 ++----- 15 files changed, 206 insertions(+), 615 deletions(-) create mode 100644 .bash/.bash_vifm delete mode 100644 .config/TabNine/tabnine_config.json delete mode 100644 .config/bubblemail/bubblemail.cfg delete mode 100644 .kde/share/apps/color-schemes/BreezeTmavéUpraveno.colors delete mode 100644 .kde/share/config/kdeglobals diff --git a/.bash/.bash_aliases b/.bash/.bash_aliases index 692147b..7ea0e78 100644 --- a/.bash/.bash_aliases +++ b/.bash/.bash_aliases @@ -1,32 +1,24 @@ - # Make less more friendly for non-text input files, see lesspipe(1) -[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" alias gitdotfiles='/usr/bin/git --git-dir="$HOME/.dotfiles/" --work-tree="$HOME"' # enable color support of ls and also add handy aliases -alias ls='ls -pQFh --group-directories-first' if [ -x /usr/bin/dircolors ]; then - test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" - alias ls='ls --color=auto -pQFh --group-directories-first' - alias dir='dir --color=auto' - alias vdir='vdir --color=auto' - - alias grep='grep --color=auto' - alias fgrep='fgrep --color=auto' - alias egrep='egrep --color=auto' - alias diff='diff --color=auto' + if [[ -r "$HOME/.dircolors" ]]; then + eval "$(dircolors -b "$HOME/.dircolors")" + else + eval "$(dircolors -b)" + fi fi +alias ls='ls --color=auto -pQFh --group-directories-first' +alias grep='grep --color=auto' +alias fgrep='fgrep --color=auto' +alias egrep='egrep --color=auto' +alias diff='diff --color=auto' -alias §rm='rm -vi' -alias §cp='cp -vi' -alias §mv='mv -vi' alias §df='df -Th' §du(){ [[ "$1" == '--help' ]] && echo "§du; §du '../*'" && return 0 du -h -x -s -- ${1:-*} | sort -r -h; } -alias §xclip-copy='xclip -selection clipboard' -alias §xclip-paste='xclip -o -selection clipboard' - CROSS_SESSION="$BASH_DOTFILES/.bash_cross_session" [ -f "$CROSS_SESSION" ] && . "$CROSS_SESSION" crossSession() { @@ -39,80 +31,43 @@ crossSession() { echo ' Sets cross session variable to (or empty for unset).' return 0 fi - if [[ '--list' == "$1" ]]; then + if [[ '--list' == "$1" ]]; then cat "$CROSS_SESSION" return 0 fi - local name="$1" - local value="$2" + local name="$1" + local value="$2" - # Check if the variable already exists in the file - if grep -q "^export $name=" "$CROSS_SESSION"; then - if [ -z "$value" ]; then - # If new value is empty, remove the variable from the file - sed -i "/^export $name=/d" "$CROSS_SESSION" - else - # If it exists, replace the old value with the new value - sed -i "s|^export $name=.*|export $name=\"$value\"|" "$CROSS_SESSION" - fi - else - if [ -n "$value" ]; then - # If it doesn't exist and new value is not empty, append the new variable to the file - echo "export $name=\"$value\"" >> "$CROSS_SESSION" - fi - fi + # Check if the variable already exists in the file + if grep -q "^export $name=" "$CROSS_SESSION"; then + if [ -z "$value" ]; then + # If new value is empty, remove the variable from the file + sed -i "/^export $name=/d" "$CROSS_SESSION" + else + # If it exists, replace the old value with the new value + sed -i "s|^export $name=.*|export $name=\"$value\"|" "$CROSS_SESSION" + fi + else + if [ -n "$value" ]; then + # If it doesn't exist and new value is not empty, append the new variable to the file + echo "export $name=\"$value\"" >> "$CROSS_SESSION" + fi + fi +} +cd(){ + builtin cd "$@" || return $? + crossSession 'OLDPWD' "$(pwd)" } -cd(){ builtin cd "$@" && crossSession 'OLDPWD' "$(pwd)"; } - -history_clean(){ awk '!seen[$0]++ {print $0}' $HOME/.bash_history; } -history_edit(){ vim $HOME/.bash_history; } -history_cat(){ LC_ALL=C cat ~/.bash_history; } -history_most_used(){ LC_ALL=C cat ~/.bash_history | cut -d ';' -f 2- | §awk 1 | sort | uniq -c | sort -r -n | head -n ${1-10}; } §(){ [[ -z "$1" ]] && clear && return 0 echo "$ [--help]= clear or [print this text]" alias | grep "alias §" --color=never declare -F | grep 'declare -f §' --color=never - ls ~/bin | grep -P "^§" | sed 's/^§/~\/bin\/ §/' + \ls ~/.local/bin | grep -P "^§" | xargs -I{} echo '~/.local/bin/'{} + printenv | grep -e '^l' | xargs -I{} echo \${} } -alias §less='less -R -S' - -m(){ - if [[ '-d' == "$1" ]]; then - unset "m$2" - crossSession "m$2" - return 0 - fi - if [[ -z "$1" ]]; then - printenv | grep -e '^m' - return 0 - fi - if [[ "--help" == "$1" ]]; then - echo 'm [--help]' - echo ' Lists all marks or print this help.' - echo 'm -d ' - echo ' Deletes mark . Unsets variable and cross session variable.' - echo 'm [path]' - echo ' Sets mark to current directory or [path].' - echo ' The mark is just a bash variable, use `$m`.' - return 0 - fi - local n="m$1" - [[ -z "${!n}" ]] || return 1 - [[ -z "$2" ]] && local p="$(pwd)" || local p="$(readlink -f $2)" - crossSession "$n" "$p" - export $n="$p" -} -alias cd-vifm='cd `vifm --choose-dir -`' -mkcd(){ mkdir -p -- "$1" && cd -P -- "$1"; } - -alias gcalendar-dovolené='gcalendar --account "práce" --calendar "Dovolené"' -alias gcalendar-události='gcalendar --account "default" --calendar "Události"' - -alias §find.='find . -maxdepth 1' - alias pdftk='java -jar $HOME/bin/pdftk-all.jar' bw-session(){ bw logout @@ -126,12 +81,10 @@ bw-session(){ unset BW_CLIENTID } -alias §psmem_all='ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem' -alias §psmem='§psmem_all | head -n 10' -alias §pscpu_all='ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu' -alias §pscpu='§pscpu_all | head -n 10' -alias §psnet_all='lsof -P -i -n' -alias §ck-grep='cat /usr/share/X11/locale/en_US.UTF-8/Compose ~/.XCompose | grep -i' +export lps_mem='-eo pid,ppid,cmd,%mem,%cpu --sort=-%mem' +export lps_cpu='-eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu' +export llsoft_all='-P -i -n' +export lgrep_compose='-i /usr/share/X11/locale/en_US.UTF-8/Compose ~/.XCompose' §ping-test(){ # Pings ip address of noip.com and www.google.com. ping -c 1 -q 8.23.224.107 | grep --color=never -A 1 -i '\---' @@ -174,9 +127,17 @@ alias npx-markdown='npx -y markserv' EOF } -alias fzf=fzf-carroarmato0.fzf alias smerge='/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=sublime_merge --file-forwarding com.sublimemerge.App @@u %u @@' -kommit(){ command kommit $* > /dev/null 2>&1 & disown; } +kommit(){ + if flatpak info org.kde.kommit > /dev/null 2>&1; then + flatpak run \ + --branch=stable --arch=x86_64 \ + --file-forwarding \ + --command=kommit org.kde.kommit @@u $* @@ > /dev/null 2>&1 & disown; + else + command kommit $* > /dev/null 2>&1 & disown; + fi +} §url-curl(){ curl --silent -I "$1" | grep -i location; } diff --git a/.bash/.bash_completions b/.bash/.bash_completions index 99fe021..48dbc0e 100644 --- a/.bash/.bash_completions +++ b/.bash/.bash_completions @@ -1,18 +1,16 @@ eval "$(gh completion -s bash)" # gh tips: https://gist.github.com/ChristopherA/3cca24936fb2c84786a29f67bacacd3e # used ectension: heaths/gh-label -[[ $- != *i* ]] && return # dont include rest in Vim +[[ $- != *i* ]] && return # dont include rest in Vim SCRIPT_DIR=$( builtin cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) source "$SCRIPT_DIR/complete-alias/complete_alias" complete -F _complete_alias gitdotfiles -alias C--asana='eval "$($HOME/bin/asana.mjs completion_bash)"' alias C--brew='\. "$BASH_DOTFILES/brew.completion"' alias C--pnpm='\. "$BASH_DOTFILES/pnpm.completion"' -alias C--uu='eval "$($HOME/bin/uu --completion-bash)"' +alias C--uu='eval "$($HOME/.loacl/bin/uu --completion-bash)"' alias C--jc='eval "$(jc -B)" … newer version needed' -alias C--gb='source <(gb completion bash) && complete -F __start_git-bug gb' \. <(bs .completion bash) \. "$BASH_DOTFILES/cordova.completion" \. <(node --completion-bash) @@ -20,32 +18,32 @@ alias C--gb='source <(gb completion bash) && complete -F __start_git-bug gb' \. <(nodejsscript --completion bash) _npx() { - local cur="${COMP_WORDS[COMP_CWORD]}" + local cur="${COMP_WORDS[COMP_CWORD]}" - if [[ $COMP_CWORD != 1 ]]; then - case "${COMP_WORDS[1]}" in - gulp) - local compls=$(npx gulp --tasks-simple) - if [[ $compls == *"__autocomplete_bash"* ]]; then - compls="$compls $(npx gulp -L __autocomplete_bash --_l=$COMP_CWORD --_c=$cur)" - fi - ;; - esac - COMPREPLY=($(compgen -W "$compls" -- "$cur")) - return 0; - fi + if [[ $COMP_CWORD != 1 ]]; then + case "${COMP_WORDS[1]}" in + gulp) + local compls=$(npx gulp --tasks-simple) + if [[ $compls == *"__autocomplete_bash"* ]]; then + compls="$compls $(npx gulp -L __autocomplete_bash --_l=$COMP_CWORD --_c=$cur)" + fi + ;; + esac + COMPREPLY=($(compgen -W "$compls" -- "$cur")) + return 0; + fi - local dir=$(pwd -P) - while [[ -n "$dir" ]]; do - if [[ ! -d $dir/node_modules/.bin ]]; then - dir=${dir%/*} - continue - fi - local execs=( `cd $dir/node_modules/.bin; find -L . -type f -executable` ) - execs=( ${execs[@]/#.\//} ) - COMPREPLY=( $(compgen -W "${execs[*]} serve" -- "$cur" ) ) - break - done + local dir=$(pwd -P) + while [[ -n "$dir" ]]; do + if [[ ! -d $dir/node_modules/.bin ]]; then + dir=${dir%/*} + continue + fi + local execs=( `cd $dir/node_modules/.bin; find -L . -type f -executable` ) + execs=( ${execs[@]/#.\//} ) + COMPREPLY=( $(compgen -W "${execs[*]} serve" -- "$cur" ) ) + break + done } complete -F _npx npx diff --git a/.bash/.bash_vifm b/.bash/.bash_vifm new file mode 100644 index 0000000..baaac23 --- /dev/null +++ b/.bash/.bash_vifm @@ -0,0 +1,93 @@ +[[ $(command -v crossSession) ]] || source "$BASH_DOTFILES/.bash_aliases" +vifm() { + echo 'Use bash build-in:' + echo ' - cd (ch dir), ls or tree (list), find' + echo ' - mkdir (make dir), touch (make file), rm (remove)' + echo ' - cp (copy), mv (move+rename)' + echo ' - cat (print file), head (print first lines), tail (print last lines)' + echo ' - info (print file info), file (print file type), mimetype' + echo ' - ln (link), chmod (change perm), chown (change owner)' + echo ' - cd stack: pushd, popd, dirs -v' + echo 'Use helpers:' + echo ' - rsync (copy), fd (verbo-less find)' + echo ' - m (marks, `cd "$m"`), cd-kdialog' + echo ' - trash-* (trash)' + echo 'Use bash/terminal features:' + echo ' - history search (`cd …`)' + echo ' - tab completion' + echo ' - substitution: `!#:`, `!!:`' + echo 'Use GUI:' + echo ' - open . or open ' + echo ' - dolphin' + echo 'Use VIM:' + echo ' - ls > .sh → vim .sh → :wq → bash .sh' +} +m(){ + if [[ '-d' == "$1" ]]; then + unset "m$2" + crossSession "m$2" + return 0 + fi + if [[ -z "$1" ]]; then + printenv | grep -e '^m' | sort | xargs -I{} echo \${} + return 0 + fi + if [[ "--help" == "$1" ]]; then + echo 'm [--help]' + echo ' Lists all marks or print this help.' + echo 'm -d ' + echo ' Deletes mark . Unsets variable and cross session variable.' + echo 'm [path]' + echo ' Sets mark to current directory or [path].' + echo ' The mark is just a bash variable, use `$m`.' + echo 'cd $m' + echo ' cd to mark .' + return 0 + fi + local n="m$1" + [[ -z "${!n}" ]] || return 1 + [[ -z "$2" ]] && local p="$(pwd)" || local p="$(readlink -f $2)" + crossSession "$n" "$p" + export $n="$p" +} +alias cd-kdialog='cd "$(kdialog --getexistingdirectory --title "Vyberte složku" 2>/dev/null)"' +alias fd='fdfind' + +# vim-like aliases? +alias dw='rm' +alias cw='mv' +alias g='fdfind' + +# yanked files +export YANKED=() +p() { + for f in "${YANKED[@]}"; do + IFS=$'' echo "$f" + done +} # p | xargs -I{} … +P() { YANKED=(); echo 'YANKED=()'; } +y() { + local pwd="$(pwd)" + if [[ -z "$1" ]]; then + YANKED=("$pwd") + else + for f in "$@"; do + if [[ "$f" == /* ]]; then + YANKED+=("$f") + elif [[ "$f" == ./* || "$f" == '.' ]]; then + YANKED+=("$pwd${f:1}") + else + YANKED+=("$pwd/$f") + fi + done + fi + echo $(p) +} + +# tab completion +[[ $(command -v _complete_alias) ]] || source "$BASH_DOTFILES/complete-alias/complete_alias" +\. <(fdfind --gen-completions) +complete -F _complete_alias fd +complete -F _complete_alias dw +complete -F _complete_alias cw +complete -F _complete_alias g diff --git a/.bashrc b/.bashrc index 44e49cf..916620c 100644 --- a/.bashrc +++ b/.bashrc @@ -12,6 +12,7 @@ shopt -s expand_aliases [ -f $BASH_DOTFILES/.bash_sdkman ] && . $BASH_DOTFILES/.bash_sdkman [ -f $BASH_DOTFILES/.bash_nvm ] && . $BASH_DOTFILES/.bash_nvm export NODE_COMPILE_CACHE=~/.cache/nodejs-compile-cache # https://nolanlawson.com/2024/10/20/why-im-skeptical-of-rewriting-javascript-tools-in-faster-languages/ +export PATH="$HOME/.local/bin:$PATH" eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" [ -f $BASH_DOTFILES/.bash_completions ] && . $BASH_DOTFILES/.bash_completions # for Vim @@ -22,24 +23,10 @@ set -o vi # VIM mode for bash 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' -" -export PAGER=/usr/bin/vimpager +export MANPAGER="vim --appimage-extract-and-run +MANPAGER --not-a-term -c 'set ts=8 nolist number' -" +export PAGER=/usr/local/bin/vimpager alias less=$PAGER -alias cat=/usr/bin/vimcat -vhead() { - if [[ -t 1 && -n $1 ]]; then - command head "$@" | command vimcat - else - command head "$@" - fi -} -vtail() { - if [[ -t 1 && -n $1 ]]; then - command tail "$@" | command vimcat - else - command tail "$@" - fi -} +alias cat=/usr/local/bin/vimcat ## History export HISTCONTROL=ignoreboth:erasedups # No duplicate entries and started with spaces. See bash(1) for more options @@ -59,6 +46,7 @@ export LS_COLORS=$LS_COLORS:'tw=01;04;34:ow=01;04;34:' [ ! -x /usr/bin/tput ] || ! tput setaf 1 >&/dev/null && color_prompt= [ -f $BASH_DOTFILES/.bash_promt ] && . $BASH_DOTFILES/.bash_promt +[ -f $BASH_DOTFILES/.bash_vifm ] && . $BASH_DOTFILES/.bash_vifm # Add an "alert" alias for long running commands. Use like so: # sleep 10; alert @@ -83,3 +71,7 @@ shopt -s dirspell 2>/dev/null || true # bash >= 4 # if this is interactive shell, then bind hstr to Ctrl-space # if [[ $- =~ .*i.* ]]; then bind '"\C-@": "\e^ihstr -- \C-j"'; fi if [[ $- =~ .*i.* ]]; then bind '"\C-@": "\e^I history | grep '\''\e\e^A'\''\e\ei"'; fi + +export NVM_DIR="$HOME/.nvm" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm +[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion diff --git a/.config/TabNine/tabnine_config.json b/.config/TabNine/tabnine_config.json deleted file mode 100644 index 8c5bb6e..0000000 --- a/.config/TabNine/tabnine_config.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "version": "4.1.33", - "hide_promotional_message": false, - "beta_enabled": "No", - "ignore_all_lsp": false, - "creation_time": "2022-04-13T07:50:41.488698952Z", - "guuid": "b471d867de4cbd5f1e5dc6cbe0aaffdd1397ca828c49652904c7d1ca30db10eb", - "semantic_status": {}, - "enable_telemetry": true, - "user_understands_that_enabling_tabnine_cloud_sends_code_to_tabnine_servers": true, - "deep_completions_work_mode": "Hybrid", - "hosted_deep_completions_enabled": "Disabled", - "tabnine_cloud_host": null, - "tabnine_cloud_certificate_domain": null, - "tabnine_cloud_port": null, - "cloud_whitelist": [], - "num_of_suggestions": 5, - "line_suggestions": null, - "rlhf": null, - "omit_prefix_suggestions": null, - "api_key": null, - "api_base_url": null, - "binary_update_interval_seconds": null, - "local_enabled": "Unset", - "disable_local_when_using_battery": false, - "hide_deep_information_message": false, - "enable_power_saving_mode": false, - "rate_limit_interval_seconds": null, - "rate_limit_amount": null, - "generation": 47, - "local_model_size": null, - "model_hash_override": null, - "local_indexing": null, - "heartbeat_interval_seconds": null, - "last_service_level": "FreeCloud", - "override_beams": null, - "override_context_length": null, - "onboarding": null, - "has_git_repos": null, - "gusr": { - "dgc": "b471d867de4cbd5f1e5dc6cbe0aaffdd1397ca828c49652904c7d1ca30db10eb" - }, - "exclude_file_masks": null, - "inline_suggestions_mode": true, - "use_specialized_model_if_available": null, - "snippets_enabled_v2": true, - "inline_suggestions_mode_clients": null, - "tabnine_hub_port": null, - "manually_selected_model": null, - "hybrid_rendering_mode": null, - "force_local_hub": false -} \ No newline at end of file diff --git a/.config/bubblemail/bubblemail.cfg b/.config/bubblemail/bubblemail.cfg deleted file mode 100644 index 0e33ac0..0000000 --- a/.config/bubblemail/bubblemail.cfg +++ /dev/null @@ -1,37 +0,0 @@ -[core] -version = 1.8 -debug = 0 -poll_interval = 1 -show_auth_warn = 1 -window_size = [957, 993] -enabled_plugins = ["libnotifyplugin"] -plugins_order = ["libnotifyplugin", "spamfilterplugin", "userscriptplugin", "soundplugin"] - -[libnotifyplugin] -show_account_errors = 1 -show_account_name = 1 -show_avatar = 1 -newest_first = 1 -group_mails = 1 -max_visible_mails = 10 -show_unread_count = 1 - -[Account 16a4e497] -backend = imap -name = CentrumCZ -type = internal -server = imap.centrum.cz -user = andrle.jan -proxy = 0 -unsecure = 0 -enabled = 1 -webmail = -port = -pxytype = -pxyurl = -pxyport = -pxyusr = -pxypass = -uuid = 16a4e497 -folders = ["INBOX", "Hromadn\u00e1", "_Prace", "_Sluzby"] - diff --git a/.config/geany/plugins/treebrowser/treebrowser.conf b/.config/geany/plugins/treebrowser/treebrowser.conf index 11abc8a..f5537ac 100644 --- a/.config/geany/plugins/treebrowser/treebrowser.conf +++ b/.config/geany/plugins/treebrowser/treebrowser.conf @@ -3,7 +3,7 @@ open_external_cmd=xdg-open '%d' open_terminal=xterm reverse_filter=false one_click_chdoc=false -show_hidden_files=false +show_hidden_files=true hide_object_files=false show_bars=1 chroot_on_dclick=false diff --git a/.config/github-releases/config.json b/.config/github-releases/config.json index c50f2fc..2d5f239 100644 --- a/.config/github-releases/config.json +++ b/.config/github-releases/config.json @@ -49,19 +49,6 @@ "version": "v3.6.2", "glare": "AppImage" }, - { - "repository": "ArchGPT/insomnium", - "name": "insomnium", - "description": "Insomnium is a fast local API testing tool that is privacy-focused and 100% local. For testing GraphQL, REST, WebSockets and gRPC. This is a fork of Kong/insomnia", - "group": "skip-dev", - "file_name": "insomnium", - "exec": "yes", - "last_update": "2023-11-13T10:03:28Z", - "downloads": "/home/jaandrle/bin/insomnium", - "tag_name_regex": "core@.*", - "version": "core@0.2.3-a", - "glare": "AppImage" - }, { "repository": "rvpanoz/luna", "name": "luna", @@ -141,18 +128,6 @@ "version": "v1.11.8", "glare": ".*amd64.*.AppImage" }, - { - "repository": "ollama/ollama", - "name": "ollama", - "description": "Get up and running with Llama 2 and other large language models locally", - "group": "ai", - "file_name": "ollama", - "exec": "yes", - "last_update": "2025-09-04T17:27:40Z", - "downloads": "/home/jaandrle/bin/ollama", - "version": "v0.11.10", - "glare": "linux-amd64" - }, { "repository": "neovim/neovim", "name": "neovim", @@ -211,7 +186,7 @@ "last_update": "2025-08-28T10:22:10Z", "downloads": "/home/jaandrle/bin/jan", "version": "v0.6.9", - "glare": ".*x86_64.*.AppImage" + "glare": ".*amd64.AppImage" }, { "repository": "Bin-Huang/chatbox", diff --git a/.config/kdedefaults/kwinrc b/.config/kdedefaults/kwinrc index 3d53485..13b0dbc 100644 --- a/.config/kdedefaults/kwinrc +++ b/.config/kdedefaults/kwinrc @@ -1,6 +1,3 @@ -[TabBox] -LayoutName=org.kde.breeze.desktop - [Windows] Placement=Centered diff --git a/.kde/share/apps/color-schemes/BreezeTmavéUpraveno.colors b/.kde/share/apps/color-schemes/BreezeTmavéUpraveno.colors deleted file mode 100644 index 753b10c..0000000 --- a/.kde/share/apps/color-schemes/BreezeTmavéUpraveno.colors +++ /dev/null @@ -1,147 +0,0 @@ -[ColorEffects:Disabled] -Color=56,56,56 -ColorAmount=0 -ColorEffect=0 -ContrastAmount=0.65 -ContrastEffect=1 -IntensityAmount=0.1 -IntensityEffect=2 - -[ColorEffects:Inactive] -ChangeSelectionColor=true -Color=112,111,110 -ColorAmount=0.025 -ColorEffect=2 -ContrastAmount=0.1 -ContrastEffect=2 -Enable=false -IntensityAmount=0 -IntensityEffect=0 - -[Colors:Button] -BackgroundAlternate=30,87,116 -BackgroundNormal=49,54,59 -DecorationFocus=61,174,233 -DecorationHover=61,174,233 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[Colors:Complementary] -BackgroundAlternate=30,87,116 -BackgroundNormal=42,46,50 -DecorationFocus=61,174,233 -DecorationHover=61,174,233 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[Colors:Header] -BackgroundAlternate=42,46,50 -BackgroundNormal=49,54,59 -DecorationFocus=61,174,233 -DecorationHover=61,174,233 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[Colors:Header][Inactive] -BackgroundAlternate=49,54,59 -BackgroundNormal=42,46,50 -DecorationFocus=61,174,233 -DecorationHover=61,174,233 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[Colors:Selection] -BackgroundAlternate=30,87,116 -BackgroundNormal=61,174,233 -DecorationFocus=61,174,233 -DecorationHover=61,174,233 -ForegroundActive=252,252,252 -ForegroundInactive=161,169,177 -ForegroundLink=253,188,75 -ForegroundNegative=176,55,69 -ForegroundNeutral=198,92,0 -ForegroundNormal=252,252,252 -ForegroundPositive=23,104,57 -ForegroundVisited=155,89,182 - -[Colors:Tooltip] -BackgroundAlternate=42,46,50 -BackgroundNormal=49,54,59 -DecorationFocus=61,174,233 -DecorationHover=61,174,233 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[Colors:View] -BackgroundAlternate=35,38,41 -BackgroundNormal=27,30,32 -DecorationFocus=61,174,233 -DecorationHover=61,174,233 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[Colors:Window] -BackgroundAlternate=49,54,59 -BackgroundNormal=42,46,50 -DecorationFocus=61,174,233 -DecorationHover=61,174,233 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[General] -ColorScheme=BreezeDark -Name=Breeze Tmavé (upraveno) -shadeSortColumn=true - -[KDE] -contrast=7 - -[WM] -activeBackground=49,54,59 -activeBlend=252,252,252 -activeForeground=252,252,252 -inactiveBackground=42,46,50 -inactiveBlend=161,169,177 -inactiveForeground=161,169,177 diff --git a/.kde/share/config/kdeglobals b/.kde/share/config/kdeglobals deleted file mode 100644 index 0e16715..0000000 --- a/.kde/share/config/kdeglobals +++ /dev/null @@ -1,162 +0,0 @@ -[ColorEffects:Disabled] -Color=56,56,56 -ColorAmount=0 -ColorEffect=0 -ContrastAmount=0.65 -ContrastEffect=1 -IntensityAmount=0.1 -IntensityEffect=2 - -[ColorEffects:Inactive] -ChangeSelectionColor=true -Color=112,111,110 -ColorAmount=0.025 -ColorEffect=2 -ContrastAmount=0.1 -ContrastEffect=2 -Enable=false -IntensityAmount=0 -IntensityEffect=0 - -[Colors:Button] -BackgroundAlternate=30,87,116 -BackgroundNormal=49,54,59 -DecorationFocus=61,174,233 -DecorationHover=61,174,233 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[Colors:Complementary] -BackgroundAlternate=30,87,116 -BackgroundNormal=42,46,50 -DecorationFocus=61,174,233 -DecorationHover=61,174,233 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[Colors:Header] -BackgroundAlternate=42,46,50 -BackgroundNormal=49,54,59 -DecorationFocus=61,174,233 -DecorationHover=61,174,233 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[Colors:Header][Inactive] -BackgroundAlternate=49,54,59 -BackgroundNormal=42,46,50 -DecorationFocus=61,174,233 -DecorationHover=61,174,233 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[Colors:Selection] -BackgroundAlternate=30,87,116 -BackgroundNormal=61,174,233 -DecorationFocus=61,174,233 -DecorationHover=61,174,233 -ForegroundActive=252,252,252 -ForegroundInactive=161,169,177 -ForegroundLink=253,188,75 -ForegroundNegative=176,55,69 -ForegroundNeutral=198,92,0 -ForegroundNormal=252,252,252 -ForegroundPositive=23,104,57 -ForegroundVisited=155,89,182 - -[Colors:Tooltip] -BackgroundAlternate=42,46,50 -BackgroundNormal=49,54,59 -DecorationFocus=61,174,233 -DecorationHover=61,174,233 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[Colors:View] -BackgroundAlternate=35,38,41 -BackgroundNormal=27,30,32 -DecorationFocus=61,174,233 -DecorationHover=61,174,233 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[Colors:Window] -BackgroundAlternate=49,54,59 -BackgroundNormal=42,46,50 -DecorationFocus=61,174,233 -DecorationHover=61,174,233 -ForegroundActive=61,174,233 -ForegroundInactive=161,169,177 -ForegroundLink=29,153,243 -ForegroundNegative=218,68,83 -ForegroundNeutral=246,116,0 -ForegroundNormal=252,252,252 -ForegroundPositive=39,174,96 -ForegroundVisited=155,89,182 - -[General] -ColorScheme=BreezeDark -Name[cs_CZ]=Breeze Tmavé -Name=Breeze Dark -font=Ubuntu Condensed,10.5,-1,5,50,0,0,0,0,0 -menuFont=Ubuntu,10,-1,5,50,0,0,0,0,0 -shadeSortColumn=true -smallestReadableFont=Ubuntu,9,-1,5,50,0,0,0,0,0 -toolBarFont=Ubuntu,10,-1,5,50,0,0,0,0,0 -widgetStyle=Breeze - -[Icons] -Theme=breeze-dark - -[KDE] -ShowIconsInMenuItems=true -ShowIconsOnPushButtons=true -contrast=4 - -[Toolbar style] -ToolButtonStyle=TextBesideIcon -ToolButtonStyleOtherToolbars=TextBesideIcon - -[WM] -activeBackground=49,54,59 -activeBlend=252,252,252 -activeForeground=252,252,252 -inactiveBackground=42,46,50 -inactiveBlend=161,169,177 -inactiveForeground=161,169,177 diff --git a/.local/bin/github-releases.mjs b/.local/bin/github-releases.mjs index a72d5b8..e76aecc 100755 --- a/.local/bin/github-releases.mjs +++ b/.local/bin/github-releases.mjs @@ -273,7 +273,7 @@ async function fetchRelease({ repository, tag_name_regex }, cache){ const headers= { 'User-Agent': 'node' }; if(cache==="no") headers['Cache-Control'] = 'no-cache'; const url= urls_api[url_api]+repository+"/releases"; - const releases= await fetch(url, { headers }).then(res=> res.json()); + const releases= await fetch(url, { headers, redirect: "follow" }).then(res=> res.json()); if(releases.message) return $.error(url+": "+releases.message); if(url.includes("github.com")) diff --git a/.local/bin/§wallpaper_BIOTD b/.local/bin/§wallpaper_BIOTD index b10c73d..c27cc2d 100755 --- a/.local/bin/§wallpaper_BIOTD +++ b/.local/bin/§wallpaper_BIOTD @@ -13,7 +13,7 @@ desktops() }); JS nm-online -x -q && \ - node "/home/jaandrle/.nvm/versions/node/$(node --version)/bin/nodejsscript" /home/jaandrle/bin/§wallpaper_WCPOTD.mjs pull && \ + node "/home/jaandrle/.nvm/versions/node/$(node --version)/bin/nodejsscript" /home/jaandrle/.local/bin/§wallpaper_WCPOTD.mjs pull && \ qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "$JS" # plasma-apply-wallpaperimage '/home/jaandrle/Obrázky/Bing Image Of The Day/now.jpg' && plasma-apply-wallpaperimage '/home/jaandrle/Obrázky/Bing Image Of The Day/horizontally.jpg' # cd "/home/jaandrle/Obrázky/Bing Image Of The Day" && \ diff --git a/.vim/vimrc b/.vim/vimrc index 828cfd7..fb07130 100644 --- a/.vim/vimrc +++ b/.vim/vimrc @@ -88,14 +88,14 @@ set nobackup nowritebackup noswapfile " …there is issue #649 (for servers) and I’m using git/system backups try set undodir=~/.vim/undodir undofile | catch | endtry - command HELPundoClear echo 'undolevel='.&undolevels + command! HELPundoClear echo 'undolevel='.&undolevels "" #endregion SLH "" #region LLW – Left Column + Line + Wrap + Scrolling set signcolumn=yes set cursorline cursorcolumn " Always show current position set number foldcolumn=2 " enable line numbers and add a bit extra margin to the left set textwidth=120 colorcolumn=81,+1 - command HELPtextwidth echo "textwidth=".&textwidth." colorcolumn=".&colorcolumn + command! HELPtextwidth echo "textwidth=".&textwidth." colorcolumn=".&colorcolumn set nowrap " Don't wrap long lines by default set breakindent breakindentopt=shift:2 showbreak=↳ set scrolloff=5 sidescrolloff=10 " offset for lines/columns when scrolling @@ -130,7 +130,7 @@ "" #region FOS – File(s) + Openning + Saving set autowrite autoread | autocmd FocusGained,BufEnter *.* checktime set modeline - command HELPmodeline + command! HELPmodeline \ echo "tabstop=".&tabstop." shiftwidth=".&shiftwidth." textwidth=".&textwidth." expandtab=".&expandtab set path+=src/**,app/**,build/** " File matching for `:find` for ignore in [ '.git', '.npm', 'node_modules' ] @@ -140,7 +140,15 @@ set wildignore+=*.bmp,*.gif,*.ico,*.jpg,*.png,*.ico set wildignore+=*.pdf,*.psd - nmap e :Vifm + function! Explore() + let pwd = expand('%:p:h') + let file = system('kdialog --getopenfilename --title "Vyberte soubor" "'.pwd.'" 2>/dev/null') + if file != '' + exec 'e '.file + endif + endfunction + command! Explore call Explore() + nmap e :Explore nnoremap gx :silent exec "!xdg-open '".shellescape(substitute(expand(''), '?', '\\?', ''), 1)."'" \| redraw! vnoremap gx :silent exec "!xdg-open '".shellescape(substitute(mini_enhancement#selectedText(), '?', '\\?', ''), 1)."'" \| redraw! "" #endregion FOS diff --git a/README.md b/README.md index a96e4e8..a20322f 100644 --- a/README.md +++ b/README.md @@ -38,56 +38,21 @@ see for example [How to Store Dotfiles - A Bare Git Repository \| Atlassian Git ## PC log (cs) Sekce obsahuje log změn v Tuxedo laptopu s KDE Neon. -- [Aloxaf/silicon: Create beautiful image of your source code.](https://github.com/Aloxaf/silicon) {DONE <2024-03-07> *utils* agenda}$ +### TUXEDO OS (24.04.3 LTS / 2025-09-12) +- [ ] git new setup (fresh install) -### TUXEDO OS (24.04.2 LTS / 2025-07-15) -- [ ] (temporaly created new) `~/.config/plasma-org.kde.plasma.desktop-appletsrc.bak` see below -- [x] fixed by update (2025-07-17) — :bug: kwallet6 (pam) autounlock -- [ ] :zap: disabled (`Hiden`) for `/home/jaandrle/.config/autostart/re.sonny.Eloquent.desktop` - - -```terminal -plasmashell --replace - -kf.plasma.quick: Applet preload policy set to 1 -file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:178:25: QML FolderView -DropArea (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "minimumWidth": -file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:201:9 -Toolbox not loading, toolbox package is either invalid or disabled. -``` - -### TUXEDO OS (24.04.1 LTS) -- [x] no need anymore: !!! Event calendar widget (in progress [ALikesToCode/plasma-applet-eventcalendar at plasma-6](https://github.com/ALikesToCode/plasma-applet-eventcalendar/tree/plasma-6)) -- [x] ended up with Tiler: tilling → try to use native, try to use [zeroxoneafour/polonium: Tiling window manager for KWin 5.27](https://github.com/zeroxoneafour/polonium) (when there will be a new release) -- [x] see ↓: hud ([uszie/plasma-hud), in KDE Plasma.](https://github.com/uszie/plasma-hud)/[Zren/plasma-hud](https://github.com/Zren/plasma-hud) still works on X11), but maybe Ctrl+Alt+i and so on is OK? - - testing to use command palletes in programs and sets shortcuts to `ctr+;` (✓ kde programs, ✓ gimp, ✓ libreoffice, ✓ inkscape, ✓ vscode) -- [ ] [Fingerprint reader support : r/tuxedocomputers](https://www.reddit.com/r/tuxedocomputers/comments/176fscp/fingerprint_reader_support/), still receiving “no match” -- [ ] [`npx npmkill` — Why are node_modules SO BIG 🤦‍♂️ #javascript #software #technology #code #webdev - YouTube](https://www.youtube.com/shorts/VgPNtow7fNM?app=desktop&si=Kl7CH3vCoyH7tqFU) -- [ ] `brew install fabric-ai` - -### KDE Neon (staré) -- [x] KDE Plasma5 Fixes](https://zren.github.io/kde/) -- [x] `sudo apt install $(check-language-support)`, see [Popup Language support is incomplete](http://unix.stackexchange.com/questions/421066/ddg#421079) -- [x] kde plasma 5 - How to use miracast as an extended desktop on Linux? - Super User](https://superuser.com/questions/1160078/how-to-use-miracast-as-an-extended-desktop-on-linux) -- [x] Setup git on the CLI to use 2FA with GitHub](https://gist.github.com/ateucher/4634038875263d10fb4817e5ad3d332f) -- [x] G'MIC - GREYC's Magic for Image Computing: A Full-Featured Open-Source Framework for Image Processing - Main](https://gmic.eu/) -- [x] [PSA: How to re-enable LibreOffice integration in Plasma 6 : r/kde](https://www.reddit.com/r/kde/comments/1b9k755/psa_how_to_reenable_libreoffice_integration_in/) - -### Konsolidace klíčenek správce hesel -{DONE <2022-07-14 20:40> *cli* *hesla* agenda}$ - -- [x] cli pro KWalletManager - 1. `keyring get imap centrumCZ` - 1. `kwalletcli -f imap -e centrumCZ` -- [x] Firefox - - `nss-password -d ~/.mozilla/firefox/ezjfn8hg.default-release NAME` - - [infinity0/mozilla-gnome-keyring: A firefox extension that enables Gnome Keyring integration](https://github.com/infinity0/mozilla-gnome-keyring) -- [x] [Bitwarden CLI](https://bitwarden.com/help/cli/) - -### Varování v python scriptech -{DONE <2022-07-09 20:37> *python* *workaround* agenda}$ - -Postupováno podle návodu [Rename the `~/.local/lib/python3.8/site-packages/pkg_resources` folder to `pkg_resources_back`](https://askubuntu.com/a/1398073). +### Old device +- ended up with TUXEDO OS (24.04.2 LTS / 2025-07-15) + - [ ] :zap: disabled (`Hiden`) for `/home/jaandrle/.config/autostart/re.sonny.Eloquent.desktop` + - [Aloxaf/silicon: Create beautiful image of your source code.](https://github.com/Aloxaf/silicon) {DONE <2024-03-07> *utils* agenda}$ + - [x] no need anymore: !!! Event calendar widget (in progress [ALikesToCode/plasma-applet-eventcalendar at plasma-6](https://github.com/ALikesToCode/plasma-applet-eventcalendar/tree/plasma-6)) + - [x] ended up with Tiler: tilling → try to use native, try to use [zeroxoneafour/polonium: Tiling window manager for KWin 5.27](https://github.com/zeroxoneafour/polonium) (when there will be a new release) + - [ ] [`npx npmkill` — Why are node_modules SO BIG 🤦‍♂️ #javascript #software #technology #code #webdev - YouTube](https://www.youtube.com/shorts/VgPNtow7fNM?app=desktop&si=Kl7CH3vCoyH7tqFU) + - [ ] `brew install fabric-ai` +- prev (KDE Neon) + - [x] G'MIC - GREYC's Magic for Image Computing: A Full-Featured Open-Source Framework for Image Processing - Main](https://gmic.eu/) + - [x] [PSA: How to re-enable LibreOffice integration in Plasma 6 : r/kde](https://www.reddit.com/r/kde/comments/1b9k755/psa_how_to_reenable_libreoffice_integration_in/) + - [x] `sudo apt install $(check-language-support)`, see [Popup Language support is incomplete](http://unix.stackexchange.com/questions/421066/ddg#421079)
`{… cmd}$` explanation