10 Commits

Author SHA1 Message Date
33fae2e7cb 🐛 geany (filetypes README.md) 2024-08-05 12:57:54 +02:00
cc204f6570 improves conf of geany 2024-08-05 12:53:18 +02:00
ed31cb3c13 vim zsh 2024-05-19 00:07:36 +02:00
e9e415d818 vim, geany (ctags), zsh, gitconfig 2024-05-18 23:25:40 +02:00
e6701ccaca 🎉 2024-05-18 20:50:54 +02:00
ac48910f5e 🔤 Update README with instructions for setting up dotfiles on termux 2024-02-28 14:20:28 +01:00
4a6a47950f 🐛 source complete_alias 2024-02-28 14:10:14 +01:00
361beea62b completition 2024-02-28 14:06:02 +01:00
c7193de91f gitdotfiles 2024-02-28 12:52:58 +01:00
fba5b40824 Termux variant 2024-02-28 12:48:12 +01:00
135 changed files with 528 additions and 18666 deletions

View File

@@ -1,87 +0,0 @@
# jaandrle customizations
include "/usr/share/X11/locale/cs_CZ.UTF-8/Compose"
<Multi_key> <backslash> <space> : "" U202F # thin nonbreaking space
<Multi_key> <bar> <space> : "" U200B
<Multi_key> <8> <8> : "∞" U221E
<Multi_key> <equal> <equal>: "≡"
<Multi_key> <asciitilde> <asciitilde>: "≈"
<Multi_key> <equal> <asciitilde>: "≃"
<Multi_key> <asterisk> <asterisk>: "★"
<Multi_key> <c> <h> <e> <c> <k> : "✓"
<Multi_key> <c> <r> <o> <s> <s> : "✗"
<Multi_key> <a> <minus> <8> : "↑"
<Multi_key> <a> <minus> <6> : "→"
<Multi_key> <a> <minus> <2> : "↓"
<Multi_key> <a> <minus> <4> : "←"
<Multi_key> <a> <minus> <5> : "↔"
<Multi_key> <a> <minus> <7> : "↖"
<Multi_key> <a> <minus> <9> : "↗"
<Multi_key> <a> <minus> <3> : "↘"
<Multi_key> <a> <minus> <1> : "↙"
<Multi_key> <a> <minus> <KP_8> : "↑"
<Multi_key> <a> <minus> <KP_6> : "→"
<Multi_key> <a> <minus> <KP_2> : "↓"
<Multi_key> <a> <minus> <KP_4> : "←"
<Multi_key> <a> <minus> <KP_5> : "↔"
<Multi_key> <a> <minus> <KP_7> : "↖"
<Multi_key> <a> <minus> <KP_9> : "↗"
<Multi_key> <a> <minus> <KP_3> : "↘"
<Multi_key> <a> <minus> <KP_1> : "↙"
<Multi_key> <a> <equal> <8> : "⇑"
<Multi_key> <a> <equal> <6> : "⇒"
<Multi_key> <a> <equal> <2> : "⇓"
<Multi_key> <a> <equal> <4> : "⇐"
<Multi_key> <a> <equal> <5> : "⇔"
<Multi_key> <a> <equal> <KP_8> : "⇑"
<Multi_key> <a> <equal> <KP_6> : "⇒"
<Multi_key> <a> <equal> <KP_2> : "⇓"
<Multi_key> <a> <equal> <KP_4> : "⇐"
<Multi_key> <a> <equal> <KP_5> : "⇔"
# Greek ambiguities: epsilon/eta, theta/tau, pi/phi/psi, omega/omicron
<Multi_key> <g> <a> : "α"
<Multi_key> <g> <b> : "β"
<Multi_key> <g> <g> : "γ"
<Multi_key> <g> <d> : "δ"
<Multi_key> <g> <3> : "ε"
<Multi_key> <g> <z> : "ζ"
<Multi_key> <g> <e> : "η"
<Multi_key> <g> <h> : "θ"
<Multi_key> <g> <i> : "ι"
<Multi_key> <g> <k> : "κ"
<Multi_key> <g> <l> : "λ"
<Multi_key> <g> <m> : "μ"
<Multi_key> <g> <n> : "ν"
<Multi_key> <g> <x> : "ξ"
# note: no omicron
<Multi_key> <g> <p> : "π"
<Multi_key> <g> <p> : "Ϟ"
<Multi_key> <g> <r> : "ρ"
<Multi_key> <g> <s> : "σ"
<Multi_key> <g> <t> : "τ"
<Multi_key> <g> <u> : "ψ"
<Multi_key> <g> <f> : "φ"
<Multi_key> <g> <c> : "χ"
<Multi_key> <g> <o> : "ω"
<Multi_key> <g> <G> : "Γ"
<Multi_key> <g> <D> : "Δ"
<Multi_key> <g> <H> : "Θ"
<Multi_key> <g> <L> : "Λ"
<Multi_key> <g> <X> : "Ξ"
<Multi_key> <g> <P> : "Π"
<Multi_key> <g> <S> : "Σ"
<Multi_key> <g> <F> : "Φ"
<Multi_key> <g> <U> : "Ψ"
<Multi_key> <g> <O> : "Ω"
# Math (https://gist.github.com/m93a/187539552593dd4ed8b122167c09384c)
<Multi_key> <m> <E> : "∃"
<Multi_key> <m> <exclam> <E> : "∄"
<Multi_key> <m> <minus> : ""
<Multi_key> <m> <exclam> <minus> : "¬"
<Multi_key> <m> <i> <n> : "∈"
<Multi_key> <m> <exclam> <i> <n> : "∉"

View File

@@ -1,210 +0,0 @@
# 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'
fi
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() {
if [[ '--help' == "${1:---help}" ]]; then
echo 'crossSession [--help]'
echo ' Print this help.'
echo 'crossSession [--list]'
echo ' Lists all cross session variables or print this help.'
echo 'crossSession <name> [<value>]'
echo ' Sets cross session variable <name> to <value> (or empty for unset).'
return 0
fi
if [[ '--list' == "$1" ]]; then
cat "$CROSS_SESSION"
return 0
fi
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
}
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\/ §/'
}
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 <name>'
echo ' Deletes mark <name>. Unsets variable and cross session variable.'
echo 'm <name> [path]'
echo ' Sets mark <name> to current directory or [path].'
echo ' The mark is just a bash variable, use `$m<name>`.'
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
# login=`kwallet-query kdewallet -f accounts -r Bitwarden 2> /dev/null`
login=$(§kwallet.mjs --wallet kdewallet readPassword accounts bw-json)
export BW_CLIENTSECRET=`echo "$login" | jq -r .secret`
export BW_CLIENTID=`echo "$login" | jq -r .id`
bw login --apikey --raw
export BW_SESSION=`bw unlock --raw $(echo "$login" | jq -r .pass)` && echo "Bitwarden session ON" || echo "Bitwarden session FAILED"
unset BW_CLIENTSECRET
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'
§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 '\---'
ping -c 1 -q www.google.com | grep --color=never -A 1 -i '\---'
}
§whoami(){
[[ "$1" == '--help' ]] && echo '§whoami; §whoami --ip' && return 0
local ip=$(curl -s ifconfig.me)
[[ "$1" == '--ip' ]] && echo "$ip" && return 0
local L=" %s\n"
printf "\n"
printf "$L" "USER: $(echo $USER)"
printf "$L" "IP ADDR: $ip"
printf "$L" "HOSTNAME: $(hostname -f)"
printf "$L" "KERNEL: $(uname -rms)"
printf "\n"
}
§cmdfu(){ curl "https://www.commandlinefu.com/commands/matching/$@/$(echo -n $@ | openssl base64)/plaintext"; }
aai(){
[[ "$1" == '--help' ]] && ai ask --help && return 0;
#echo "ai ask \"$*, thanks for your help\""; ai ask "\"$*, thanks for your help\"";
aipick -m "hi, would like to ask for help: $*\n…please response only with plain text to be used in terminal command without any explanation, thanks for your help";
}
alias npx-wca='npx -y web-component-analyzer'
alias npx-qnm='npx -y qnm'
alias npx-hint='npx -y hint'
alias npx-markdown='npx -y markserv'
§interfaces() {
node <<-EOF
var os = require('os');
var i = os.networkInterfaces();
Object.keys(i).forEach(function(name) {
i[name].forEach(function(int) {
if (int.family === 'IPv4') {
console.log('%s: %s', name, int.address);
}
});
});
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; }
§url-curl(){ curl --silent -I "$1" | grep -i location; }
rpg(){
rpg-cli "$@"
if ( [[ "$1" == "cd" ]] || [[ "$1" == "ls" ]] ); then
[[ "$2" == "" ]] && $1 . && return 0
[[ "$2" == ".." ]] && $1 .. && return 0
[[ "-1" != "$(nodejsscript --print "s.ls().findIndex(e=> e==='$2'.replace(/\/$/, ''))")" ]] && $1 "$2" && return 0
fi
return 0
# [[ "$(rpg-cli pwd)" == "$(pwd)" ]] && return 0
# cd "$(rpg-cli pwd)"
}
rpg-dungeon(){
current=$(basename $PWD)
number_re='^[0-9]+$'
if [[ $current =~ $number_re ]]; then
next=$(($current + 1))
command mkdir -p $next && cd $next && rpg ls
elif [[ -d 1 ]] ; then
cd 1 && rpg ls
else
command mkdir -p dungeon/1 && cd dungeon/1 && rpg ls
fi
}
# alias adb-device='adb devices | tail -n +2 | head -n 1 | §awk 1'
# make-completion-wrapper, see https://gdhnotes.blogspot.com/2014/02/alias-bash-completion.html

View File

@@ -1,51 +0,0 @@
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
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--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)
\. <(npm completion)
\. <(nodejsscript --completion bash)
_npx() {
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
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

View File

@@ -1,153 +0,0 @@
function jaaENV {
if [ "$1" = "--help" ]; then
echo "Utility to combine nvm/sdk/… in one script/config file '.jaaENV'"
echo " ↘ instead of 'nvm use 16 & sdk use …'"
echo ""
echo "Usage:"
echo " jaaENV"
echo " jaaENV [--help|--ls]"
echo " jaaENV --save …to_save (example: jaaENV --save nodejs php)"
echo ""
echo "Description:"
echo " - Without arguments, loads info from '.jaaENV'"
echo " - 'ls' shows supported options to auto-load"
echo " - 'save' creates a config file '.jaaENV'"
echo ""
echo "Usage '.jaaENV' files: "
echo " typical: '\nphp=5.6\nnodejs=16.13.0'"
echo " link: '. ../.jaaENV' … use settings from parent folder"
echo " Options:"
echo " 'android_home': Exports 'ANDROID_HOME' (uses 'ANDROID_HOME_BAK') instead of 'ANDROID_SDK_ROOT'. Value can be anything (use '1')."
echo " 'jdk': Exports 'JAVA_HOME' based on the wanted version (currently 11/1.8)"
echo " 'nodejs'|'php': NodeJS/PHP versions"
echo " 'gradle': Cordova uses folder-scoped → so unnecesarly"
echo ""
echo "Install: "
echo " gradle ⇒ https://sdkman.io/"
echo " node ⇒ https://github.com/nvm-sh/nvm"
echo " php ⇒ \`update-alternatives\` + https://deb.sury.org/"
echo " java ⇒ \`update-alternatives\`"
echo ""
echo "Tips:"
echo " sudo update-alternatives --set php /usr/bin/php\$php"
return 0
fi
if [ "$1" == "--save" ]; then
shift
rm -vi .jaaENV
while [ $# -gt 0 ]; do
case "$1" in
nodejs|node)
echo "nodejs=$(node --version | cut -c2-)" >> .jaaENV
;;
gradle)
echo "gradle=$(gradle --version | awk '/Gradle/ {print $2}')" >> .jaaENV
;;
php)
echo "php=$(php --version | awk '/^PHP/ {print $2}')" >> .jaaENV
;;
java)
local java_version=$(java -version 2>&1 | awk -F '"' '/version/ {print $2}')
if [[ "$java_version" == 1.8* ]]; then
java_version=8
else
java_version=$(echo "$java_version" | cut -d'.' -f1)
fi
echo "java=$java_version" >> .jaaENV
;;
*)
echo "Unknown '$1' skipped"
;;
esac
shift
done
return 0
fi
if [ "$1" == "--ls" ]; then
echo ":: nvm ls --no-alias ::"
nvm ls --no-alias
echo ":: update-alternatives --list php ::"
update-alternatives --list php
echo ":: update-alternatives --list java ::"
update-alternatives --list java
echo ":: sdk ls gradle | grep -E '\*|>' :: "
sdk ls gradle | grep -E '\*|>'
return 0
fi
if [ -f "compose.yaml" ]; then
jdk=$(grep -Po 'VERSION_JAVA=\K.*' compose.yaml)
nodejs=$(grep -Po 'VERSION_NODEJS=\K.*' compose.yaml)
elif [ -f ".jaaENV" ]; then
. ./.jaaENV
else
echo 'No env file `compose.yaml` or `.jaaENV`'
return 1
fi
local chP="\[\033[0;35m\]" #purple
local chW="\[\033[00m\]" #white
export PS1_jaaENV="${chP}¦${chW}"
if [ ! -z ${ANDROID_SDK_ROOT_BAK+x} ]; then
export ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT_BAK
echo \$ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT_BAK
unset ANDROID_SDK_ROOT_BAK
fi
if [ ! -z ${unset_android_sdk+x} ]; then
export ANDROID_SDK_ROOT_BAK=$ANDROID_SDK_ROOT
unset ANDROID_SDK_ROOT
fi
if [ ! -z ${java+x} ]; then
[[ "$java" == "8" ]] && java=1.8
local java_local=$(java -version 2>&1 | awk -F '"' '/version/ {print $2}')
if [[ "$java_local" != "$java"* ]]; then
[[ "$java" == "1.8" ]] && java=8
echo "Switching Java version: $java$java_local"
local java_path="/usr/lib/jvm/java-$java-openjdk-amd64/"
[[ "$java" == "8" ]] && java_path+="jre/"
sudo update-alternatives --set java "${java_path}bin/java"
local javac=$(update-alternatives --list javac | grep java-$java)
[ -n "$javac" ] && sudo update-alternatives --set javac "$javac"
sudo -k
fi
export JAVA_HOME=$(readlink -f $(which java) | cut -d '/' -f1-5)/
echo "\$JAVA_HOME=$JAVA_HOME"
fi
if [ ! -z ${android_home+x} ]; then
export ANDROID_HOME=$ANDROID_HOME_BAK
echo "\$ANDROID_HOME=$ANDROID_HOME"
else
unset ANDROID_HOME
echo "\$ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT"
fi
if [ ! -z ${android_home_is_sdk+x} ]; then
export ANDROID_HOME=$ANDROID_SDK_ROOT
echo "\$ANDROID_HOME=$ANDROID_HOME"
fi
if [ ! -z ${JAVA_HOME_BAK+x} ]; then export JAVA_HOME=$JAVA_HOME_BAK; unset JAVA_HOME_BAK; fi
if [ ! -z ${jdk+x} ]; then
if (( $(echo "$jdk > 9" | bc -l) )); then
export JAVA_HOME_BAK=$JAVA_HOME
export JAVA_HOME="/snap/android-studio/current/android-studio/jre"
fi
echo "\$JAVA_HOME=$JAVA_HOME"
fi
if [ ! -z ${nodejs+x} ]; then nvm use $nodejs; fi
if [ ! -z ${gradle+x} ]; then sdk use gradle $gradle | tr -d '\n'; echo ; fi
if [ ! -z ${php+x} ]; then
local php_local=$(php --version | awk '/^PHP/ {print $2}')
if [[ "$php_local" == "$php"* ]]; then
echo "PHP version: $php"
else
echo "Switching PHP version: $php$php_local"
sudo update-alternatives --set php "/usr/bin/php$php"
sudo -k
fi
fi
# Cleanup variables
unset android_home unset_android_sdk nodejs gradle php java
}

View File

@@ -1,3 +0,0 @@
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

View File

@@ -1,66 +0,0 @@
function setPromt {
if [ "$color_prompt" != yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
return
fi
case "$TERM" in
xterm*|rxvt*)
;;
*)
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
return
;;
esac
PROMPT_COMMAND=updatePromt
PS2="|"
}
function updatePromt {
local prev_exit="$?"
# history -n; history -w; history -c; history -r;
# color_helper_>>color<< (Note: \[\]= escaping)
local chR="\[\e[1;91m\]" #red
local chW="\[\033[00m\]" #white
local chG="\[\033[01;32m\]" #green
local chB="\[\033[0;34m\]" #blue
local chP="\[\033[0;35m\]" #purple
local chY="\[\033[0;33m\]" #yellow
PS1=""
if [ $prev_exit == 0 ]; then
PS1+="$chG$chW"
else
PS1+="$chR$chW"
fi
local jobs="$(jobs | wc -l)"
if [ $jobs != 0 ]; then
PS1+="${chY}$jobs$chW"
fi
PS1+="${debian_chroot:+($debian_chroot)}"
PS1+=" At ${chG}\A${chW}"
PS1+=" by ${chP}\u${chW}"
if sudo -n true 2>/dev/null; then
PS1+="${chR} (sudo)${chW}"
fi
PS1+=" in "
if \git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
local branch="$(\git symbolic-ref -q HEAD)"
PS1+="[${branch#refs/heads/}"
local status="$(git for-each-ref --format='%(upstream:trackshort)' refs/heads | awk '!seen[$1]++ {printf $1}')"
status+="$(git status --porcelain | awk '!seen[$1]++ {printf $1}')"
if [ "$statua"s ]; then
PS1+="|$chY$status$chW"
fi
PS1+="] "
fi
PS1+="${chB}\w${chW}"
if [ ! -z ${PS1_jaaENV+x} ]; then
PS1+="\n$PS1_jaaENV"
else
PS1+="\n:"
fi
history -a
}
setPromt
unset color_prompt
unset -f setPromt
# vim: set filetype=sh tabstop=4 shiftwidth=4 textwidth=250 expandtab :

View File

@@ -1,3 +0,0 @@
#THIS MUST BE AT THE END OF THE `$HOME/.bashrc` FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="$HOME/.sdkman"
[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"

View File

@@ -1,6 +0,0 @@
# IMPORT IN `$HOME/.profile`
export ANDROID_HOME_BAK2="$HOME/.local/share/JetBrains/Toolbox/apps/android-studio/"
export ANDROID_HOME_BAK="$HOME/Android/Sdk"
export ANDROID_SDK_ROOT="$HOME/Android/Sdk"
export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools/
export PATH=$PATH:$ANDROID_SDK_ROOT/emulator/

View File

@@ -1,11 +0,0 @@
# Bash
## Related files
- [../.bashrc](../.bashrc)
- [../.profile](../.profile)
- [../.inputrc](../.inputrc) Vim bindings for bash
- [../.XCompose](../.XCompose) [Compose key - Wikipedia (en)](https://en.wikipedia.org/wiki/Compose_key), [Klávesa Compose a typografický exkurz z rychlíku (cs)](https://jaandrle.github.io/blog/2020-10/klavesa-compose-a-typografie/)
- [./\*](./)
## Bash completion
Completions on demand, use `C--*`, see [./.bash_completions](./.bash_completions)

View File

@@ -1,134 +0,0 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
platforms() {
get_cordova && COMPREPLY=( $(compgen -W "$(${CORDOVA_BIN} platform ls | tr -d "[]',")" -- $1) )
}
plugins() {
get_cordova && COMPREPLY=( $(compgen -W "$(${CORDOVA_BIN} plugin ls | tr -d "[]',")" -- $1) )
}
get_cordova() {
local cordova
if [[ -n "${CORDOVA_BIN}" ]]; then return 0; fi
cordova=$(eval echo ${COMP_WORDS[0]})
if [[ -x $cordova ]]; then CORDOVA_BIN=$cordova; return 0; fi
cordova=$(which cordova)
if [[ $? -eq 0 ]]; then CORDOVA_BIN=$cordova; return 0; fi
return 1
}
get_top_level_dir() {
local path
path=$(pwd)
while [ $path != '/' ]; do
if [ -d $path/.cordova ]; then
echo $path
return 0
fi
path=$(dirname $path)
done
return 1
}
_cordova()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
# Skip over any initial command line switches
local i=1
while [[ $i -lt ${#COMP_WORDS[*]} ]] && [[ "${COMP_WORDS[${i}]}" == -* ]]; do
i=$((i+1));
done
# For the first word, supply all of the valid top-level commands
if [[ ${COMP_CWORD} -eq $i ]]; then
opts="help create info platform plugin prepare compile build clean run emulate serve"
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
fi
case "${COMP_WORDS[$i]}" in
create)
if [[ ${COMP_CWORD} -eq $((i+1)) ]]; then
COMPREPLY=( $(compgen -d -- ${cur}) )
return 0
fi
;;
platform)
if [[ ${COMP_CWORD} -eq $((i+1)) ]]; then
opts="add rm remove ls"
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
fi
case "${COMP_WORDS[$((i+1))]}" in
add)
opts="ios android wp7 wp8 blackberry www"
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0;
;;
rm|remove)
platforms ${cur}
return 0
;;
esac
;;
plugin)
if [[ ${COMP_CWORD} -eq $((i+1)) ]]; then
opts="add rm remove ls"
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
fi
case "${COMP_WORDS[$((i+1))]}" in
add)
COMPREPLY=( $(compgen nospace -d -- ${cur}) )
return 0;
;;
rm|remove)
plugins ${cur}
return 0
;;
esac
;;
prepare|compile|emulate)
platforms ${cur}
return 0
;;
build)
platforms ${cur}
COMPREPLY+=( $(compgen -W '--release --debug --help --device --emulator --buildConfig' -- ${cur}) )
return 0
;;
run)
platforms ${cur}
COMPREPLY+=( $(compgen -W '--list --noprepare --nobuild --target --release --debug --help --device --emulator --buildConfig' -- ${cur}) )
return 0
;;
serve)
if [[ ${COMP_CWORD} -eq $((i+1)) ]]; then
platforms ${cur}
return 0
fi
;;
esac
}
complete -F _cordova cordova

85
.bashrc
View File

@@ -1,85 +0,0 @@
#### BASH Config file
### Jan Andrle
## Info:
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) for examples
export EDITOR='vim'
BASH_DOTFILES=$HOME/.bash
[ -f $BASH_DOTFILES/.bash_aliases ] && . $BASH_DOTFILES/.bash_aliases
shopt -s expand_aliases
[ -f $BASH_DOTFILES/.bash_jaaENV ] && . $BASH_DOTFILES/.bash_jaaENV
[ -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/
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
[ -f $BASH_DOTFILES/.bash_completions ] && . $BASH_DOTFILES/.bash_completions # for Vim
[[ $- != *i* ]] && return # If not running interactively, don't do anything
## General
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
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
}
## History
export HISTCONTROL=ignoreboth:erasedups # No duplicate entries and started with spaces. See bash(1) for more options
shopt -s histappend cmdhist # saving multiline + append
export HISTFILESIZE=10000 # increase history file size (default is 500)
export HISTSIZE=${HISTFILESIZE} # increase history size (default is 500)
export HSTR_CONFIG=hicolor,prompt-bottom
export HSTR_PROMPT='?: '
## UI/UX
# clors for .inputrc (set colored-stats On)
export LS_COLORS=$LS_COLORS:'tw=01;04;34:ow=01;04;34:'
# set variable identifying the chroot you work in (used in the prompt below)
[ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ] && debian_chroot=$(cat /etc/debian_chroot)
# Set a fancy prompt (non-color, unless we know we "want" color)
[[ $TERM == "xterm-color" ]] || [[ $TERM == *-256color ]] && color_prompt=yes
[ ! -x /usr/bin/tput ] || ! tput setaf 1 >&/dev/null && color_prompt=
[ -f $BASH_DOTFILES/.bash_promt ] && . $BASH_DOTFILES/.bash_promt
# Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
export GPG_TTY=$(tty)
shopt -s cdspell # autocorrects cd misspellings
shopt -s dirspell 2>/dev/null || true # bash >= 4
# HSTR configuration - add this to ~/.bashrc
# 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

View File

@@ -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
}

View File

@@ -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"]

View File

@@ -1,38 +0,0 @@
# A valid snippet should starts with:
#
# snippet trigger_word [ "description" [ options ] ]
#
# and end with:
#
# endsnippet
#
# Snippet options:
#
# b - Beginning of line.
# i - In-word expansion.
# w - Word boundary.
# r - Regular expression
# e - Custom context snippet
# A - Snippet will be triggered automatically, when condition matches.
#
# Basic example:
#
# snippet emitter "emitter properties" b
# private readonly ${1} = new Emitter<$2>()
# public readonly ${1/^_(.*)/$1/}: Event<$2> = this.$1.event
# endsnippet
#
# Online reference: https://github.com/SirVer/ultisnips/blob/master/doc/UltiSnips.txt
snippet cmt "/* | */"
${1}/* ${0} */
endsnippet
snippet f "inline function"
${1}function${2}(${3}){${0}}
endsnippet
snippet fun "function"
${1}function ${2:name}(${3:params}){
${0:/* code */}
}
endsnippet

View File

@@ -1,20 +0,0 @@
# an idea from https://github.com/robinpokorny/git3moji
# [![git3mojiv1.0](https://img.shields.io/badge/git3mojiv1.0-%E2%9A%A1%EF%B8%8F%F0%9F%90%9B%F0%9F%93%BA%F0%9F%91%AE%F0%9F%94%A4-fffad8.svg?style=flat-square)](https://robinpokorny.github.io/git3moji/)
snippet zap--⚡features-primary-concerns-3 ""
:zap:
endsnippet
snippet bug--🐛-fixes-3 ""
:bug:
endsnippet
snippet zapcop--⚡️👮-refactoring-3 ""
:zap::cop:
endsnippet
snippet tv--📺ci-tooling-configuration-3 ""
:tv:
endsnippet
snippet cop--👮tests-linting-comments-3 ""
:cop:
endsnippet
snippet abc--🔤-documentation-3 ""
:abc:
endsnippet

View File

@@ -1,204 +0,0 @@
snippet alembic--experimenting-new-things "" b
:alembic:
endsnippet
snippet alien--updating-code-due-to-external-api-changes "" b
:alien:
endsnippet
snippet ambulance--critical-hotfix "" b
:ambulance:
endsnippet
snippet apple--fixing-something-on-macos "" b
:apple:
endsnippet
snippet arrow_down--downgrading-dependencies "" b
:arrow_down:
endsnippet
snippet arrow_up--upgrading-dependencies "" b
:arrow_up:
endsnippet
snippet art--improving-structure--format-of-the-code "" b
:art:
endsnippet
snippet beers--writing-code-drunkenly "" b
:beers:
endsnippet
snippet bento--adding-or-updating-assets "" b
:bento:
endsnippet
snippet bookmark--releasing--version-tags "" b
:bookmark:
endsnippet
snippet boom--introducing-breaking-changes "" b
:boom:
endsnippet
snippet bug--fixing-a-bug "" b
:bug:
endsnippet
snippet building_construction--making-architectural-changes "" b
:building_construction:
endsnippet
snippet bulb--documenting-source-code "" b
:bulb:
endsnippet
snippet busts_in_silhouette--add-contributor(s) "" b
:busts_in_silhouette:
endsnippet
snippet camera_flash--adding-or-updating-snapshots "" b
:camera_flash:
endsnippet
snippet card_file_box--performing-database-related-changes "" b
:card_file_box:
endsnippet
snippet chart_with_upwards_trend--adding-analytics-or-tracking-code "" b
:chart_with_upwards_trend:
endsnippet
snippet checkered_flag--fixing-something-on-windows "" b
:checkered_flag:
endsnippet
snippet children_crossing--improving-user-experience--usability "" b
:children_crossing:
endsnippet
snippet clown_face--mocking-things "" b
:clown_face:
endsnippet
snippet construction--work-in-progress "" b
:construction:
endsnippet
snippet construction_worker--adding-ci-build-system "" b
:construction_worker:
endsnippet
snippet dizzy--adding-or-updating-animations-and-transitions "" b
:dizzy:
endsnippet
snippet egg--adding-an-easter-egg "" b
:egg:
endsnippet
snippet fire--removing-code-or-files "" b
:fire:
endsnippet
snippet globe_with_meridians--internationalization-and-localization "" b
:globe_with_meridians:
endsnippet
snippet goal_net--catching-errors"-b
:goal_net:
endsnippet
snippet green_apple--fixing-something-on-ios "" b
:green_apple:
endsnippet
snippet green_heart--fixing-ci-build "" b
:green_heart:
endsnippet
snippet heavy_minus_sign--removing-a-dependency "" b
:heavy_minus_sign:
endsnippet
snippet heavy_plus_sign--adding-a-dependency "" b
:heavy_plus_sign:
endsnippet
snippet iphone--working-on-responsive-design "" b
:iphone:
endsnippet
snippet label--adding-or-updating-types--flow--typescript "" b
:label:
endsnippet
snippet lipstick--updating-the-ui-and-style-files "" b
:lipstick:
endsnippet
snippet lock--fixing-security-issues "" b
:lock:
endsnippet
snippet loud_sound--adding-logs "" b
:loud_sound:
endsnippet
snippet mag--improving-seo "" b
:mag:
endsnippet
snippet memo--add-or-update-documentation "" b
:memo:
endsnippet
snippet mute--removing-logs "" b
:mute:
endsnippet
snippet ok_hand--updating-code-due-to-code-review-changes "" b
:ok_hand:
endsnippet
snippet package--updating-compiled-files-or-packages "" b
:package:
endsnippet
snippet page_facing_up--adding-or-updating-license "" b
:page_facing_up:
endsnippet
snippet pencil--writing-docs "" b
:pencil:
endsnippet
snippet pencil2--fixing-typos "" b
:pencil2:
endsnippet
snippet penguin--fixing-something-on-linux "" b
:penguin:
endsnippet
snippet poop--writing-bad-code-that-needs-to-be-improved "" b
:poop:
endsnippet
snippet pushpin--pinning-dependencies-to-specific-versions "" b
:pushpin:
endsnippet
snippet recycle--refactoring-code "" b
:recycle:
endsnippet
snippet rewind--reverting-changes "" b
:rewind:
endsnippet
snippet robot--fixing-something-on-android "" b
:robot:
endsnippet
snippet rocket--deploying-stuff "" b
:rocket:
endsnippet
snippet rotating_light--removing-linter-warnings "" b
:rotating_light:
endsnippet
snippet see_no_evil--adding-or-updating-a- "" b
:see_no_evil:
endsnippet
snippet seedling--adding-or-updating-seed-files"-b
:seedling:
endsnippet
snippet sparkles--introducing-new-features "" b
:sparkles:
endsnippet
snippet speech_balloon--updating-text-and-literals "" b
:speech_balloon:
endsnippet
snippet tada--initial-commit "" b
:tada:
endsnippet
snippet triangular_flag_on_post--adding--updating--or-removing-feature-flags "" b
:triangular_flag_on_post:
endsnippet
snippet truck--moving-or-renaming-files "" b
:truck:
endsnippet
snippet twisted_rightwards_arrows--merging-branches "" b
:twisted_rightwards_arrows:
endsnippet
snippet wastebasket--deprecating-code-that-needs-to-be-cleaned-up "" b
:wastebasket:
endsnippet
snippet whale--work-about-docker "" b
:whale:
endsnippet
snippet wheel_of_dharma--work-about-kubernetes "" b
:wheel_of_dharma:
endsnippet
snippet wheelchair--improving-accessibility "" b
:wheelchair:
endsnippet
snippet white_check_mark--updating-tests "" b
:white_check_mark:
endsnippet
snippet wrench--changing-configuration-files "" b
:wrench:
endsnippet
snippet zap--improving-performance "" b
:zap:
endsnippet

View File

@@ -1,38 +0,0 @@
snippet sceleton "HTML5" b
<!DOCTYPE html>
<!-- ${0}DEL IE https://www.paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<html class="no-js" lang="en">
<head>
<meta charset="utf-8" />
<!-- DEL IE https://stackoverflow.com/questions/6771258/what-does-meta-http-equiv-x-ua-compatible-content-ie-edge-do -->
<!-- DEL https://www.vzhurudolu.cz/prirucka/viewport-meta -->
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- DEL CSP https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP | https://github.com/Prinzhorn/minimal-csp -->
<!-- DEL https://github.com/jensimmons/cssremedy -->
<!-- DEL meta značky obecně https://www.vzhurudolu.cz/prirucka/meta-open-graph -->
<title></title>
<meta name="description" content="">
<!-- DEL IE https://www.sitepoint.com/html5-older-browsers-and-the-shiv/ -->
<!-- DEL https://www.vzhurudolu.cz/prirucka/checklist -->
</head>
<body>
<!-- DEL -->
</body>
</html>
endsnippet
snippet cmt "comment"
<!-- ${0} -->
endsnippet
snippet cmt.js "comment"
/* ${0} */
endsnippet
snippet viewport_cordova "viewport used in cordova apps"
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"/>
endsnippet
snippet csp_cordova "CSP used in cordova"
<meta http-equiv="Content-Security-Policy" content="default-src * gap://ready file: gulp_place('app.url_scheme', 'variable'):; style-src 'self' 'unsafe-inline'; img-src * data: *; script-src 'self' 'unsafe-inline' 'unsafe-eval'"/>
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; img-src 'self' data: android-webview-video-poster:; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
endsnippet

View File

@@ -1,87 +0,0 @@
snippet sceleton_node "nodejs" b
#!/usr/bin/env node
/* jshint esversion: 8,-W097, -W040, node: true, expr: true, undef: true */
${0}
endsnippet
snippet sceleton_cli "nodejsscript" b
#!/usr/bin/env nodejsscript
/* jshint esversion: 11,-W097, -W040, module: true, node: true, expr: true, undef: true *//* global echo, $, pipe, s, fetch, cyclicLoop */
${0}
endsnippet
snippet sceleton_zx "zx" b
#!/usr/bin/env zx
/* jshint esversion: 8,-W097, -W040, node: true, expr: true, undef: true */
${0}
endsnippet
snippet jshint "JSHint header" b
/* jshint esversion: 6,-W097, -W040, browser: true, expr: true, undef: true */
/* global ${0} */
endsnippet
snippet global "JSHint global"
/* global ${0} */
endsnippet
snippet global_ns "JSHint global"
/* ${1} *//* global ${0} */
endsnippet
snippet devel "JSHint devel"
${1}/* jshint devel: true *///gulp.keep.line${0}
endsnippet
snippet log "console.log"
${1}console.log('${0}');
endsnippet
snippet stor "localStorage"
${1}localStorage.${2:g}etItem("${0}");
endsnippet
snippet import "import with backward order"
import ${2:values} from "${1:specifier}";$0
endsnippet
snippet promise "return? new Promise"
${1:return }new Promise(function(resolve, reject){
${0:/* async code */}
});
endsnippet
snippet for "classical loop"
for(${1:let} ${2:i}= 0, ${2}_length= ${3:ITERABLE}.length; ${2}<${2}_length; ${2}++){
${0:/* statement */}
}
endsnippet
snippet foreach "PHP-like name" b
for(${2:const} ${3:element} of ${1:iterable}){
${0:/* statement */}
}
endsnippet
snippet switch "classical switch"
switch (${1}){
case ${2}:
${0}
break;
default:
}
endsnippet
snippet desctr "object destructure"
${1:const} { $0 }= ${2:def};
endsnippet
snippet ready "document ready"
${1}document.addEventListener('DOMContentLoaded', ${0}, false)
endsnippet
snippet readyEvent "vanilla JS content ready event name"
${1}DOMContentLoaded${0}
endsnippet
snippet selid
${1}document.getElementById('${0}')
endsnippet
snippet seltag
${1}getElementsByTagName('${0}')
endsnippet
snippet selclass
${1}getElementsByClassName('${0}')
endsnippet
snippet sel
${1}querySelector('${0}')
endsnippet
snippet selall
${1}querySelectorAll('${0}')
endsnippet

View File

@@ -1 +0,0 @@
extends javascript

View File

@@ -1,14 +0,0 @@
snippet jshint "JSHint config for package.json" b
"jshintConfig": {
"esversion": 6,
"browser": "true",
"undef": "true",
"latedef": "true",
"maxparams": 4,
"maxdepth": 3,
"maxcomplexity": 17,
"globals": {
"gulp_place": false
}
}
endsnippet

View File

@@ -1,37 +0,0 @@
extends html
snippet sceleton "HTML5" b
<!DOCTYPE html>
<!-- ${0}DEL IE https://www.paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<html class="no-js" lang="en">
<head>
<meta charset="utf-8" />
<!-- DEL IE https://stackoverflow.com/questions/6771258/what-does-meta-http-equiv-x-ua-compatible-content-ie-edge-do -->
<!-- DEL https://www.vzhurudolu.cz/prirucka/viewport-meta -->
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- DEL CSP https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP | https://github.com/Prinzhorn/minimal-csp -->
<!-- DEL https://github.com/jensimmons/cssremedy -->
<!-- DEL meta značky obecně https://www.vzhurudolu.cz/prirucka/meta-open-graph -->
<title></title>
<meta name="description" content="">
<!-- DEL IE https://www.sitepoint.com/html5-older-browsers-and-the-shiv/ -->
<!-- DEL https://www.vzhurudolu.cz/prirucka/checklist -->
</head>
<body>
<!-- DEL -->
</body>
</html>
endsnippet
snippet cmt "comment"
<!-- ${0} -->
endsnippet
snippet viewport_cordova "viewport used in cordova apps"
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"/>
endsnippet
snippet csp_cordova "CSP used in cordova"
<meta http-equiv="Content-Security-Policy" content="default-src * gap://ready file: gulp_place('app.url_scheme', 'variable'):; style-src 'self' 'unsafe-inline'; img-src * data: *; script-src 'self' 'unsafe-inline' 'unsafe-eval'"/>
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; img-src 'self' data: android-webview-video-poster:; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
endsnippet
#endextends

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +0,0 @@
snippet sceleton "bash" b
#!/usr/bin/env ${1:bash}
set -eou pipefail
${0}
endsnippet
snippet info "script name and version" b
this="${0##*/}"
version="`date +%Y-%m-%d`"
endsnippet

View File

@@ -1 +0,0 @@
extends javascript

View File

@@ -1 +0,0 @@
extends javascript

View File

@@ -1,124 +0,0 @@
extends javascript, html
snippet sceleton_node "nodejs" b
#!/usr/bin/env node
/* jshint esversion: 8,-W097, -W040, node: true, expr: true, undef: true */
${0}
endsnippet
snippet sceleton_cli "nodejsscript" b
#!/usr/bin/env nodejsscript
/* jshint esversion: 11,-W097, -W040, module: true, node: true, expr: true, undef: true *//* global echo, $, pipe, s, fetch, cyclicLoop */
${0}
endsnippet
snippet sceleton_zx "zx" b
#!/usr/bin/env zx
/* jshint esversion: 8,-W097, -W040, node: true, expr: true, undef: true */
${0}
endsnippet
snippet jshint "JSHint header" b
/* jshint esversion: 6,-W097, -W040, browser: true, expr: true, undef: true */
/* global ${0} */
endsnippet
snippet global "JSHint global"
/* global ${0} */
endsnippet
snippet global_ns "JSHint global"
/* ${1} *//* global ${0} */
endsnippet
snippet devel "JSHint devel"
${1}/* jshint devel: true *///gulp.keep.line${0}
endsnippet
snippet log "console.log"
${1}console.log('${0}');
endsnippet
snippet stor "localStorage"
${1}localStorage.${2:g}etItem("${0}");
endsnippet
snippet import "import with backward order"
import ${2:values} from "${1:specifier}";$0
endsnippet
snippet promise "return? new Promise"
${1:return }new Promise(function(resolve, reject){
${0:/* async code */}
});
endsnippet
snippet for "classical loop"
for(${1:let} ${2:i}= 0, ${2}_length= ${3:ITERABLE}.length; ${2}<${2}_length; ${2}++){
${0:/* statement */}
}
endsnippet
snippet foreach "PHP-like name" b
for(${2:const} ${3:element} of ${1:iterable}){
${0:/* statement */}
}
endsnippet
snippet switch "classical switch"
switch (${1}){
case ${2}:
${0}
break;
default:
}
endsnippet
snippet desctr "object destructure"
${1:const} { $0 }= ${2:def};
endsnippet
snippet ready "document ready"
${1}document.addEventListener('DOMContentLoaded', ${0}, false)
endsnippet
snippet readyEvent "vanilla JS content ready event name"
${1}DOMContentLoaded${0}
endsnippet
snippet selid
${1}document.getElementById('${0}')
endsnippet
snippet seltag
${1}getElementsByTagName('${0}')
endsnippet
snippet selclass
${1}getElementsByClassName('${0}')
endsnippet
snippet sel
${1}querySelector('${0}')
endsnippet
snippet selall
${1}querySelectorAll('${0}')
endsnippet
snippet sceleton "HTML5" b
<!DOCTYPE html>
<!-- ${0}DEL IE https://www.paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<html class="no-js" lang="en">
<head>
<meta charset="utf-8" />
<!-- DEL IE https://stackoverflow.com/questions/6771258/what-does-meta-http-equiv-x-ua-compatible-content-ie-edge-do -->
<!-- DEL https://www.vzhurudolu.cz/prirucka/viewport-meta -->
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- DEL CSP https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP | https://github.com/Prinzhorn/minimal-csp -->
<!-- DEL https://github.com/jensimmons/cssremedy -->
<!-- DEL meta značky obecně https://www.vzhurudolu.cz/prirucka/meta-open-graph -->
<title></title>
<meta name="description" content="">
<!-- DEL IE https://www.sitepoint.com/html5-older-browsers-and-the-shiv/ -->
<!-- DEL https://www.vzhurudolu.cz/prirucka/checklist -->
</head>
<body>
<!-- DEL -->
</body>
</html>
endsnippet
snippet cmt "comment"
<!-- ${0} -->
endsnippet
snippet viewport_cordova "viewport used in cordova apps"
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"/>
endsnippet
snippet csp_cordova "CSP used in cordova"
<meta http-equiv="Content-Security-Policy" content="default-src * gap://ready file: gulp_place('app.url_scheme', 'variable'):; style-src 'self' 'unsafe-inline'; img-src * data: *; script-src 'self' 'unsafe-inline' 'unsafe-eval'"/>
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; img-src 'self' data: android-webview-video-poster:; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
endsnippet
#endextends

View File

@@ -1,5 +1,5 @@
#
# This library is free software; you can baseRedistribute it and/or
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
@@ -27,20 +27,21 @@ base1=#282828
base2=#3f3f3f
base3=#808080
base4=#303030
baseKeyword=#C89FE3
baseString=#6FB2EA
baseKeyWord2=#747e9e
baseNumber=#F19B78
baseComment=#94B386
baseRed=#f00
baseRedbg=#751212
baseGreen=#859900
baseKeyword3=#DCB55F
baseFunction=#dcdcaa
vsblue=#AA89C0
aqua=#6FB2EA
bluegrey=#747e9e
orange=#CE9563
lime=#65ff00
grey=#94B386
red=#f00
redbg=#751212
green=#859900
blue=#268bd2
yellow=#dcdcaa
[named_styles]
default=base0;base1;true;false
error=baseRed
error=red
# Editor styles
@@ -48,76 +49,76 @@ error=baseRed
selection=;#000000;;true
current_line=;#212121;true
brace_good=base0;base2;true
brace_bad=baseRed;;true
brace_bad=red;;true
margin_line_number=base3;base4
margin_folding=base3;#212121
fold_symbol_highlight=base2
indent_guide=base2;;true
caret=baseString;;false
caret=aqua;;false
marker_line=#fff;#00f;
marker_search=#fff;#d791a8;
marker_mark=;
call_tips=base0;base1
white_space=base3;;true
white_space=base2;;true
# Programming languages
#-------------------------------------------------------------------------------
comment=baseComment
comment=grey
comment_doc=comment
comment_line=comment
comment_line_doc=comment_doc
comment_doc_keyword=comment_doc,bold
comment_doc_keyword_error=comment_doc,italic
number=baseNumber
number=orange
number_1=number
number_2=number_1
type=baseKeyword;;true
class=baseString
function=baseFunction
type=vsblue;;true
class=aqua
function=yellow
parameter=function
keyword=baseKeyword;;true
keyword=vsblue;;true
keyword_1=keyword
keyword_2=baseKeyword3;;true
keyword_3=baseKeyWord2
keyword_2=blue;;true
keyword_3=bluegrey
keyword_4=keyword_3
identifier=default
identifier_1=identifier
identifier_2=baseNumber
identifier_3=identifier_2
identifier_4=identifier_3
identifier_2=identifier_1
identifier_3=identifier_1
identifier_4=identifier_1
string=baseString
string=aqua
string_1=string
string_2=string_1
string_3=default
string_4=default
string_eol=baseRed
string_eol=red
character=string_1
backticks=string_2
here_doc=string_2
scalar=string_2
label=keyword,bold
preprocessor=baseString
preprocessor=aqua
regex=number_1
operator=base0
decorator=string_1,bold
other=baseString
other=aqua
# Markup-type languages
#-------------------------------------------------------------------------------
tag=baseKeyword
tag=vsblue
tag_unknown=tag,bold
tag_end=tag,bold
attribute=baseString
attribute=aqua
attribute_unknown=attribute,bold
value=string_1
entity=default
@@ -126,6 +127,6 @@ entity=default
# Diff
#-------------------------------------------------------------------------------
line_added=baseGreen
line_removed=baseRed
line_changed=baseKeyword3
line_added=green
line_removed=red
line_changed=blue

View File

@@ -1,2 +1,2 @@
Copy files from /usr/share/geany/filedefs to this directory to overwrite them. To use the defaults, just delete the file in this directory.
For more information read the documentation (in /usr/share/doc/geany/html/index.html or visit https://www.geany.org/).
Copy files from /Applications/Geany.app/Contents/Resources/share/geany/filedefs to this directory to overwrite them. To use the defaults, just delete the file in this directory.
For more information read the documentation (in /Applications/Geany.app/Contents/Resources/share/doc/geany/html/index.html or visit https://www.geany.org/).

View File

@@ -24,7 +24,7 @@ lexer.cpp.track.preprocessor=1
lexer.cpp.update.preprocessor=1
[settings=CSS]
extension=styl
extension=less
lexer_filetype=python
tag_parser=CSS

View File

@@ -43,7 +43,7 @@ Dockerfile=Dockerfile;dockerfile;*.dockerfile;*.Dockerfile;
#Haxe=*.hx;
#HTML=*.htm;*.html;*.shtml;*.hta;*.htd;*.htt;*.cfm;*.tpl;
#Java=*.java;*.jsp;
JavaScript=*.js;*.mjs;*.jsx;
JavaScript=*.js;*.mjs;
#JSON=*.json;
#Julia=*.jl;
#Kotlin=*.kt;*.kts;

View File

@@ -10,9 +10,9 @@ beep_on_errors=true
auto_focus=false
sidebar_symbol_visible=true
sidebar_openfiles_visible=true
editor_font=BlexMono Nerd Font Mono Medium 8
tagbar_font=Ubuntu Mono 8
msgwin_font=Ubuntu Mono Bold 8
editor_font=Menlo Bold 12
tagbar_font=Helvetica Medium 12
msgwin_font=Menlo Medium 12
show_notebook_tabs=false
show_tab_cross=true
tab_order_ltr=true
@@ -134,18 +134,16 @@ msgwin_messages_visible=true
msgwin_scribble_visible=true
warn_on_project_close=true
documents_show_paths=true
sidebar_page=3
sidebar_page=0
pref_main_project_session=true
use_native_windows_dialogs=false
treeview_position=226
msgwindow_position=710
geometry=321;29;1275;1020;0;
use_native_dialogs=true
skip_confirmation_for_replace_in_session=false
treeview_position=245
msgwindow_position=724
geometry=0;26;1277;1024;0;
[tools]
terminal_cmd=konsole "%c"
browser_cmd=firefox
terminal_cmd=open -a terminal %c
browser_cmd=open -a safari
grep_cmd=grep
shell_cmd=/bin/bash
@@ -157,11 +155,10 @@ print_page_numbers=true
print_page_header=true
page_header_basename=false
page_header_datefmt=%c
print_cmd_common_format=lpr '%d/%f'
[VTE]
load_vte=true
font=Monospace 10
font=Menlo Bold 12
scroll_on_key=true
scroll_on_out=true
enable_bash_keys=true
@@ -176,7 +173,7 @@ colour_fore=#DEDDDA
colour_back=#2B2B2B
send_cmd_prefix=
send_selection_unsafe=false
last_dir=/home/jaandrle
last_dir=/home/jaandrle/Vzdálené/GitHub/deka-dom-el/src
[build-menu]
number_ft_menu_items=0
@@ -206,30 +203,30 @@ find_close_dialog=true
replace_regexp=false
replace_regexp_multiline=false
replace_case_sensitive=false
replace_escape_sequences=true
replace_escape_sequences=false
replace_match_whole_word=false
replace_match_word_start=false
replace_search_backwards=false
replace_close_dialog=true
find_all_expanded=false
replace_all_expanded=true
position_find_x=1014
position_find_y=519
position_replace_x=504
position_replace_y=397
replace_all_expanded=false
position_find_x=1590
position_find_y=459
position_replace_x=-1
position_replace_y=-1
position_fif_x=-1
position_fif_y=-1
[plugins]
load_plugins=true
custom_plugin_path=
active_plugins=/usr/lib/x86_64-linux-gnu/geany/addons.so;/usr/lib/x86_64-linux-gnu/geany/autoclose.so;/usr/lib/x86_64-linux-gnu/geany/automark.so;/usr/lib/x86_64-linux-gnu/geany/commander.so;/usr/lib/x86_64-linux-gnu/geany/export.so;/usr/lib/x86_64-linux-gnu/geany/geanyextrasel.so;/usr/lib/x86_64-linux-gnu/geany/htmlchars.so;/usr/lib/x86_64-linux-gnu/geany/geanymacro.so;/usr/lib/x86_64-linux-gnu/geany/filebrowser.so;/usr/lib/x86_64-linux-gnu/geany/projectorganizer.so;/usr/lib/x86_64-linux-gnu/geany/spellcheck.so;/usr/lib/x86_64-linux-gnu/geany/saveactions.so;/usr/lib/x86_64-linux-gnu/geany/vimode.so;
active_plugins=/usr/lib/x86_64-linux-gnu/geany/addons.so;/usr/lib/x86_64-linux-gnu/geany/autoclose.so;/usr/lib/x86_64-linux-gnu/geany/automark.so;/usr/lib/x86_64-linux-gnu/geany/commander.so;/usr/lib/x86_64-linux-gnu/geany/export.so;/usr/lib/x86_64-linux-gnu/geany/geanyctags.so;/usr/lib/x86_64-linux-gnu/geany/htmlchars.so;/usr/lib/x86_64-linux-gnu/geany/keyrecord.so;/usr/lib/x86_64-linux-gnu/geany/geanymacro.so;/usr/lib/x86_64-linux-gnu/geany/filebrowser.so;/usr/lib/x86_64-linux-gnu/geany/projectorganizer.so;/usr/lib/x86_64-linux-gnu/geany/saveactions.so;
[project]
session_file=
session_file=/home/jaandrle/Dokumenty/Projekty/geany/
project_file_path=/home/jaandrle/Dokumenty/Projekty/geany
[files]
recent_files=/home/jaandrle/.local/share/krunner-sources/krunner-alias-main/install.sh;/home/jaandrle/.local/share/krunner-sources/kolors/install.sh;/tmp/evolution-jaandrle-RZCWV2/Re: Fwd: 🎃Výstava dýní po mexicku🎃;/home/jaandrle/.vim/bundle/vim-html-template-literals/autoload/htl_syntax.vim;/home/jaandrle/.vim/bundle/vim-html-template-literals/test/example-code-tests/example-code-tests.vader;/home/jaandrle/Stažené/placeholder-sticker.svg;/media/jaandrle/neon/home/jaandrle/Vzdálené/GitHub/dcp-be-proxy-functions(1)/__azurite_db_blob__.json;/home/jaandrle/Vzdálené/GitHub/facilitator-network-cell/src/types/vite-env.d.ts;/media/jaandrle/neon/home/jaandrle/Stažené/.test_snap/wse_yl/test_conf/test.key;/home/jaandrle/Android/Sdk/emulator/NOTICE.txt;
recent_projects=/home/jaandrle/Dokumenty/Projekty/geany/Facilitator-App-Native.geany;/home/jaandrle/Dokumenty/Projekty/geany/deka-dom-el.geany;/home/jaandrle/Dokumenty/Projekty/geany/Facilitator-App-Native;/home/jaandrle/Dokumenty/Projekty/geany/deka-dom-el;/home/jaandrle/Dokumenty/Projekty/geany/deka-dom-el/deka-dom-el;/home/jaandrle/Dokumenty/Projekty/geany/.babelrc;
recent_files=/home/jaandrle/Vzdálené/GitHub/deka-dom-el/src/dom.js;/home/jaandrle/Dokumenty/Projekty/geany/deka-dom-el.tags;/home/jaandrle/Vzdálené/GitHub/deka-dom-el/src/dom-common.js;/home/jaandrle/Vzdálené/GitHub/deka-dom-el/src/signals-common.js;/home/jaandrle/Dokumenty/Projekty/geany/deka-dom-el;/home/jaandrle/.config/geany/colorschemes/zenburn.conf;/home/jaandrle/.config/geany/colorschemes/kary-pro-colors-dark.conf;/home/jaandrle/Vzdálené/GitHub/deka-dom-el/index.js;/home/jaandrle/Vzdálené/GitHub/deka-dom-el/index.d.ts;/home/jaandrle/README.md;
recent_projects=/home/jaandrle/Dokumenty/Projekty/geany/deka-dom-el;/home/jaandrle/Dokumenty/Projekty/geany/deka-dom-el/deka-dom-el;/home/jaandrle/Dokumenty/Projekty/geany/.babelrc;
current_page=-1

View File

@@ -7,16 +7,16 @@ menu_saveas=
menu_saveall=<Primary><Shift>s
file_properties=
menu_print=
menu_close=<Primary>w
menu_close=<Control>w
menu_closeall=<Primary><Shift>w
menu_reloadfile=<Primary>r
menu_reloadall=
file_openlasttab=
menu_quit=<Primary>q
menu_undo=<Primary>z
menu_redo=<Primary><Shift>z
edit_duplicateline=
edit_deleteline=
menu_redo=<Primary>y
edit_duplicateline=<Primary>d
edit_deleteline=<Primary>k
edit_deletelinetoend=<Primary><Shift>Delete
edit_deletelinetobegin=<Primary><Shift>BackSpace
edit_transposeline=
@@ -24,11 +24,11 @@ edit_scrolltoline=<Primary><Shift>l
edit_scrolllineup=<Alt>Up
edit_scrolllinedown=<Alt>Down
edit_completesnippet=Tab
move_snippetnextcursor=<Shift>ISO_Left_Tab
move_snippetnextcursor=
edit_suppresssnippetcompletion=
popup_contextaction=
edit_autocomplete=<Primary>space
edit_calltip=<Primary>space
edit_autocomplete=<Control>space
edit_calltip=<Primary><Control>space
edit_wordpartcompletion=Tab
edit_movelineup=<Alt>Page_Up
edit_movelinedown=<Alt>Page_Down
@@ -64,7 +64,7 @@ edit_sendtocmd9=
edit_sendtovte=
format_reflowparagraph=<Primary>j
edit_joinlines=
menu_insert_date=
menu_insert_date=<Shift><Alt>d
edit_insertwhitespace=
edit_insertlinebefore=
edit_insertlineafter=
@@ -140,12 +140,12 @@ switch_compiler=
switch_messages=
switch_scribble=F6
switch_vte=F4
switch_sidebar=<Shift>F2
switch_sidebar=
switch_sidebar_symbol_list=
switch_sidebar_doc_list=
switch_tableft=<Primary>Page_Up
switch_tabright=<Primary>Page_Down
switch_tablastused=<Primary>Tab
switch_tablastused=<Control>Tab
move_tableft=<Primary><Shift>Page_Up
move_tabright=<Primary><Shift>Page_Down
move_tabfirst=
@@ -171,8 +171,8 @@ switch_head_impl=<Shift><Alt>s
goto_file=<Shift><Alt>g
[commander]
show_panel=
show_panel_commands=<Primary>semicolon
show_panel=<Control>less
show_panel_commands=
show_panel_files=
[file_browser]
@@ -190,7 +190,7 @@ insert_for_dummies=
[ProjectOrganizer]
find_in_project=
find_file=<Primary>p
find_file=<Control>p
find_tag=
swap_header_source=
focus_project_sidebar=
@@ -217,6 +217,7 @@ insert_html_chars=
replace_special_characters=
htmltoogle_toggle_plugin_status=
[extra_select]
column_mode=<Primary><Shift>v
goto_line_extend=<Primary><Shift>g
@@ -225,7 +226,3 @@ convert_selection=
set_anchor=
select_to_anchor=
rect_select_to_anchor=
[spellcheck]
spell_check=
spell_toggle_typing=

BIN
.config/geany/plugins/.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -0,0 +1,32 @@
[files]
recent_files=/Users/janandrle/Documents/appky/Facilitator-App-Native/app/(app)/dashboard.tsx;/Users/janandrle/Documents/appky/Facilitator-App-Native/components/SessionList/index.ts;/Users/janandrle/Documents/appky/Facilitator-App-Native/app/(app)/session/hooks/useSession.tsx;/Users/janandrle/Documents/appky/Facilitator-App-Native/models/Session.model.ts;/Users/janandrle/.config/geany/filetype_extensions.conf;/Users/janandrle/.config/geany/filedefs/filetypes.TypeScript.conf;/Users/janandrle/Documents/appky/Facilitator-App-Native/app/(app)/index.ts;/Users/janandrle/.config/geany/plugins/autoclose/autoclose.conf;/Users/janandrle/.config/geany/plugins/vimode/vimode.conf;/Users/janandrle/.config/geany/plugins/addons/addons.conf;
recent_projects=/Users/janandrle/Documents/geany/Facilitator-App-Native.geany;
current_page=-1
[project]
session_file=/Users/janandrle/Documents/geany/Facilitator-App-Native.geany
project_file_path=/Users/janandrle/projekty
[geany]
treeview_position=233
msgwindow_position=582
geometry=0;-125;1680;997;0;
sidebar_page=0
[VTE]
last_dir=/home/jaandrle/Vzdálené/GitHub/deka-dom-el/src
[search]
find_all_expanded=false
replace_all_expanded=false
position_find_x=384
position_find_y=361
position_replace_x=-1
position_replace_y=-1
position_fif_x=720
position_fif_y=-3
[plugins]
load_plugins=true
custom_plugin_path=
active_plugins=/Applications/Geany.app/Contents/Resources/lib/geany/addons.so;/Applications/Geany.app/Contents/Resources/lib/geany/autoclose.so;/Applications/Geany.app/Contents/Resources/lib/geany/automark.so;/Applications/Geany.app/Contents/Resources/lib/geany/commander.so;/Applications/Geany.app/Contents/Resources/lib/geany/export.so;/Applications/Geany.app/Contents/Resources/lib/geany/geanyctags.so;/Applications/Geany.app/Contents/Resources/lib/geany/htmlchars.so;/Applications/Geany.app/Contents/Resources/lib/geany/keyrecord.so;/Applications/Geany.app/Contents/Resources/lib/geany/geanymacro.so;/Applications/Geany.app/Contents/Resources/lib/geany/filebrowser.so;/Applications/Geany.app/Contents/Resources/lib/geany/projectorganizer.so;/Applications/Geany.app/Contents/Resources/lib/geany/saveactions.so;/Applications/Geany.app/Contents/Resources/lib/geany/vimode.so;

View File

@@ -1,19 +0,0 @@
# What protocol to use when performing git operations. Supported values: ssh, https
git_protocol: ssh
# What editor gh should run when creating issues, pull requests, etc. If blank, will refer to environment.
editor:
# When to interactively prompt. This is a global config that cannot be overridden by hostname. Supported values: enabled, disabled
prompt: enabled
# A pager program to send command output to, e.g. "less". Set the value to "cat" to disable the pager.
pager:
# Aliases allow you to create nicknames for gh commands
aliases:
§modules: issue list --label "modules (auxiliary)" --state "closed"
§grepAsana_: '!grep "Issue is synchronized with this \[Asana task\]" | §awk -F "(" 2 | §awk -F ")" 1 | §awk -F "/" 6'
§indigo: api user/orgs -q '.[0].login'
§workflow-test: '!git commit -mWIP .github/workflows/$1 && git push && gh workflow run --ref $(git rev-parse --abbrev-ref HEAD) $@'
# The path to a unix socket through which send HTTP connections. If blank, HTTP traffic will be handled by net/http.DefaultTransport.
http_unix_socket:
# What web browser gh should use when opening URLs. If blank, will refer to environment.
browser:
version: "1"

View File

@@ -1,113 +0,0 @@
# better? defaults
[help]
autocorrect = prompt
[init]
defaultBranch = main
[column]
ui = auto
[branch]
sort = -committerdate
[tag]
sort = version:refname
[status]
branch = true
short = true
showStash = true
showUntrackedFiles = all
submoduleSummary = true
[log]
date = iso
[fetch]
prune = true
pruneTags = true
[push]
autoSetupRemote = true
followTags = true
recurseSubmodules = on-demand
[pull]
rebase = true
[rerere]
enabled = true
autoupdate = true
[gc]
reflogExpire = 200
reflogExpireUnreachable = 90
[commit]
verbose = true
gpgsign = true
template = ~/.config/git/template
[rebase]
autoSquash = true
autoStash = true
updateRefs = true
# my setup
[core]
editor = vim
pager = PAGER=less delta
whitespace = -trailing-space,-space-before-tab
compression = 9 # trade cpu for network
[alias]
commit--interactive= !clear && git status && git commit --interactive
diff-dirs = diff --dirstat --find-copies --find-renames --histogram --color
notes-json = !git notes | njs -p '$.stdin.lines().map(l=> l.split(\" \")).map(([ id_note, id_commit ])=> ({id_commit, id_note, head: s.$().run`git show ${id_note}`.head().toString().split(\"\\n\")}))' 'o=> JSON.stringify(o, null, \"\t\")'
submodule-update-merge = submodule update --remote --merge
symbolic-ref-defaultBranch = !git symbolic-ref refs/remotes/origin/HEAD | cut -d'/' -f4-
tag-l = tag -l --sort=-creatordate --format='%(refname:short): [%(creatordate:short)] %(subject)'
h-branches = !echo 'brv (git-extras)'
h-format-htma = !echo '%Cred%h%Creset %Cgreen[%ad] -%C(yellow)%d%Creset %s %C(bold blue)<%an>%Creset'
h-unstage = !echo reset HEAD --
h-undoall = !echo reset --soft HEAD^
h-submodule-delete = !echo 'delete-submodule (git-extras)'
[diff]
wsErrorHighlight = all
tool = vimdiff
submodule = log
algorithm = histogram
# https://git-scm.com/docs/git-diff#Documentation/git-diff.txt-code--color-movedltmodegtcode
colorMoved = dimmed-zebra
mnemonicPrefix = true
renames = true
[interactive]
diffFilter = delta --color-only
[merge]
tool = vimdiff
conflictstyle = zdiff3
[delta] # [dandavison/delta: A syntax-highlighting pager for git, diff, and grep output](https://github.com/dandavison/delta)
syntax-theme= Visual Studio Dark+
dark = true
navigate = true
side-by-side = true
line-numbers = true
[filter "lfs"]
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
[diff "exif"]
textconv = exiftool
[difftool "kommitdiff"]
cmd = kommitdiff \"$LOCAL\" \"$REMOTE\"
[mergetool "kommitmerge"]
cmd = kommitmerge \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"
trustExitCode = true
[maintenance]
repo = /home/jaandrle/Vzdálené/GitHub/dcp-fe-container-certifedpassport
repo = /home/jaandrle/Vzdálené/GitHub/DHLC-Internet-Networking-old
repo = /home/jaandrle/Vzdálené/GitHub/DGF-Certified-Supervisory-Academy
[submodule]
recurse = true
[format]
coverLetter = auto
compactSummary = true
minimal = true
signOff = true
outputDirectory = .patches
thread = shallow
numbered = auto
[am]
# keepcr = true # to preserve line endings
threeWay = true
[include]
path = ./identities/current.conf

View File

@@ -1,64 +0,0 @@
set mainfont {{Ubuntu Mono} 11}
set textfont {{Ubuntu Mono} 11}
set uifont {{Ubuntu Mono} 11 bold}
set tabstop 8
set findmergefiles 0
set maxgraphpct 50
set maxwidth 16
set cmitmode patch
set wrapcomment none
set autoselect 1
set autosellen 40
set showneartags 1
set maxrefs 20
set visiblerefs {"master"}
set hideremotes 0
set showlocalchanges 1
set datetimeformat {%Y-%m-%d %H:%M:%S}
set limitdiffs 1
set uicolor #302c2c
set want_ttk 1
set bgcolor #2e3031
set fgcolor #d9dedc
set uifgcolor black
set uifgdisabledcolor #999
set colors {"#00ff00" red blue magenta darkgrey brown orange}
set diffcolors {{#ffffff} #ffffff #3376f0}
set mergecolors {red blue "#00ff00" purple brown "#009090" magenta "#808000" "#009000" "#ff0080" cyan "#b07070" "#70b0f0" "#70f0b0" "#f0b070" "#ff70b0"}
set markbgcolor #8b8b8e
set diffcontext 3
set selectbgcolor #000000
set foundbgcolor yellow
set currentsearchhitbgcolor orange
set extdifftool meld
set perfile_attrs 0
set headbgcolor #00ff00
set headfgcolor black
set headoutlinecolor black
set remotebgcolor #ffddaa
set tagbgcolor yellow
set tagfgcolor black
set tagoutlinecolor black
set reflinecolor black
set filesepbgcolor #aaaaaa
set filesepfgcolor black
set linehoverbgcolor #ffff80
set linehoverfgcolor black
set linehoveroutlinecolor black
set mainheadcirclecolor yellow
set workingfilescirclecolor red
set indexcirclecolor #00ff00
set circlecolors {white blue gray blue blue}
set linkfgcolor blue
set circleoutlinecolor black
set diffbgcolors {{#600000} #004800}
set web_browser xdg-open
set geometry(main) 1920x1023+0+26
set geometry(state) normal
set geometry(topwidth) 1920
set geometry(topheight) 255
set geometry(pwsash0) "672 1"
set geometry(pwsash1) "1008 1"
set geometry(botwidth) 836
set geometry(botheight) 763
set permviews {}

View File

@@ -1,21 +0,0 @@
[user]
name = Jan Andrle
email = andrle.jan@centrum.cz
signingkey = B3A25AED155AFFAB
[credential]
# see https://stackoverflow.com/questions/5343068/is-there-a-way-to-cache-https-credentials-for-pushing-commits/18362082#18362082
helper = /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
[credential "https://github.com"]
helper = !/usr/bin/gh auth git-credential
[credential "https://gist.github.com"]
helper = !/usr/bin/gh auth git-credential
[credential "https://git.dhl.com"]
helper = !/usr/bin/gh auth git-credential
[sendemail]
anotate = true
smtpserver = smtp.centrum.cz
# chainReplyTo = false
suppresscc = self
smtpuser = andrle.jan@centrum.cz
smtpencryption = ssl
smtpserverport = 465

View File

@@ -1,253 +0,0 @@
{
"target": "/home/jaandrle/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/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": "2025-06-09T14:57:33Z",
"version": "3.9.0",
"downloads": "/home/jaandrle/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/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/bin/youtube-music",
"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",
"description": "Manage npm dependencies through a modern UI.",
"group": "skip-dev",
"file_name": "luna",
"exec": "yes",
"glare": "AppImage",
"last_update": "2020-10-29T23:06:39Z",
"version": "v.3.4.6",
"downloads": "/home/jaandrle/bin/luna"
},
{
"repository": "angela-d/wifi-channel-watcher",
"name": "wifi-channel-watcher",
"group": "skip-nondev",
"file_name": "wifi-channel-watcher",
"exec": "no",
"description": "Monitor channel usage of neighboring routers & get an alert if your active channel is not optimal.\tTroubleshoot wifi without lifting a finger!"
},
{
"repository": "AppImage/AppImageKit",
"name": "AppImageKit",
"group": "skip-nondev",
"file_name": "appimagekit",
"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/bin/appimagekit"
},
{
"repository": "dynobo/normcap",
"name": "NormCap",
"description": "Switched to flatpak version | OCR powered screen-capture tool to capture information instead of images",
"group": "skip-nondev",
"file_name": "normcap",
"exec": "yes",
"last_update": "2023-12-12T22:23:37Z",
"downloads": "/home/jaandrle/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/bin/upscayl",
"version": "v2.15.0",
"glare": "AppImage"
},
{
"repository": "jaandrle/bs",
"name": "bs",
"description": "The simplest possible build system using executables",
"group": "dev",
"file_name": "bs",
"exec": "yes",
"last_update": "2024-10-22T12:04:29Z",
"downloads": "/home/jaandrle/bin/bs",
"version": "v0.8.0",
"glare": "bs-linux"
},
{
"repository": "h3poteto/fedistar",
"name": "Fedistar",
"description": "Multi-column Mastodon, Pleroma, and Friendica client for desktop",
"group": "nondev",
"file_name": "fedistar.appimage",
"exec": "yes",
"last_update": "2025-07-29T14:08:34Z",
"downloads": "/home/jaandrle/bin/fedistar.appimage",
"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",
"tag_name_regex": "v.*",
"description": "Vim-fork focused on extensibility and usability",
"group": "skip-dev",
"file_name": "nvim",
"exec": "yes",
"downloads": "/home/jaandrle/bin/nvim",
"version": "v0.9.5",
"last_update": "2023-12-30T13:31:47Z"
},
{
"repository": "vim/vim-appimage",
"name": "vim",
"description": "AppImage for gVim",
"group": "dev",
"file_name": "vim",
"exec": "yes",
"downloads": "/home/jaandrle/bin/vim",
"version": "v9.1.1744",
"last_update": "2025-09-09T01:22:24Z",
"glare": "GVim.*x86_64.*.AppImage"
},
{
"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": "2025-09-08T03:15:03Z",
"downloads": "/home/jaandrle/bin/escrcpy.appimage",
"version": "v1.32.0",
"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/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": "2025-08-28T10:22:10Z",
"downloads": "/home/jaandrle/bin/jan",
"version": "v0.6.9",
"glare": ".*x86_64.*.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": "2025-01-14T13:29:06Z",
"downloads": "/home/jaandrle/bin/Chatbox",
"version": "v0.10.4",
"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/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/bin/konnektoren",
"glare": "AppImage",
"last_update": "2025-04-27T07:33:51Z",
"version": "konnektoren-mobile-app-v0.1.4"
}
]
}

View File

@@ -1,2 +0,0 @@
[Mouse]
cursorTheme=breeze_cursors

View File

@@ -1,8 +0,0 @@
[General]
ColorScheme=TUXEDODark
[Icons]
Theme=tuxedo-breeze-dark
[KDE]
widgetStyle=Breeze

View File

@@ -1,3 +0,0 @@
[KSplash]
Engine=KSplashQML
Theme=org.tuxedodark.desktop

View File

@@ -1,10 +0,0 @@
[TabBox]
LayoutName=org.kde.breeze.desktop
[Windows]
Placement=Centered
[org.kde.kdecoration2]
NoPlugin=false
library=org.kde.breeze
theme=Breeze

View File

@@ -1 +0,0 @@
org.tuxedodark.desktop

View File

@@ -1,2 +0,0 @@
[Theme]
name=tuxedo-dark

View File

@@ -1,77 +0,0 @@
{
"version": "1.0",
"scripts": {
"§vim_plugins.mjs": {
"npx": false,
"completions": {
"path": [],
"clone": [
"-t",
"--target",
"-b",
"--branch"
],
"C": "clone",
"remove": [],
"R": "remove",
"rm": "remove",
"list": [
"-t",
"--type"
],
"L": "list",
"ls": "list",
"export": [],
"status": [],
"S": "status",
"pull": [],
"P": "pull",
"update": "pull"
},
"completions_all": [
"--help",
"--version"
]
},
"§time.mjs": {
"npx": false,
"completions": {
"diff": [
"--unit"
],
"?": "diff",
"zone": [
"--z"
]
},
"completions_all": [
"--help",
"--version"
]
},
"/home/jaandrle/Vzdálené/GitHub/DGF-Certified-Supervisory-Academy/build/bs/publishModule.mjs": {
"npx": true,
"completions": {},
"completions_all": [
"--lang",
"--division",
"--APP_CODE",
"--help",
"--version"
]
},
"§pdftk-data.mjs": {
"npx": false,
"completions": {
"extract": [],
"update": [],
"convert": []
},
"completions_all": [
"--debug",
"--help",
"--version"
]
}
}
}

View File

@@ -1,18 +0,0 @@
Reflect.defineProperty($, "clipboard", {
get(){
if($.env.XDG_SESSION_TYPE === "x11")
return s.$().run`xclip -o -selection clipboard`;
return s.$().run`wl-paste`;
}
})
// /** Custom uncaughtException function */
// export const uncaughtException= console.log;
// /** Place for custom code when script starts */
// export function onscript(){}
/** Place for custom code when REPL starts (`--interactive`) */
export function onrepl(){
Reflect.defineProperty(s, "jq", { get(){ return file=> s.cat(file).xargs(JSON.parse); } });
}
/** Place for custom code when eval starts (`--eval`/`--print`) */
// export function oneval(){}

View File

@@ -1,11 +0,0 @@
[General]
color=#FF2E88
has-screenshot-permission=true
language=ces, eng
last-update-check=0
mode=parse
notification=true
show-introduction=false
tray=false
update=false
version=false

View File

@@ -1,6 +0,0 @@
// Settings in here override those in "Default/Preferences.sublime-settings",
// and are overridden in turn by syntax-specific settings.
{
"theme": "Merge Dark.sublime-theme",
"hardware_acceleration": "opengl",
}

View File

@@ -1,3 +0,0 @@
{
"spell_check": false
}

View File

@@ -1,31 +0,0 @@
// https://github.com/Sublime-Instincts/CommandsBrowser/tree/master/sm_commands_metadata
[
{
"caption": "Switch…",
"command": "checkout_branch",
},
{
"caption": "Switch -C…",
"command": "create_branch",
},
{
"caption": "Checkout -B…",
"command": "create_branch",
},
{
"caption": "Commit…",
"command": "commit",
},
{
"caption": "Browse repository",
"command": "git",
"args": { "argv": [ "browse" ] }
},
{
"caption": "Branch -D --all (delete remote and local branch)",
"command": "delete_branch",
"args": {
"argv": [ true, true, true ]
}
}
]

View File

@@ -1,6 +0,0 @@
[
{
"keys": ["ctrl+;"],
"command": "show_command_palette"
},
]

View File

@@ -1,4 +0,0 @@
{
"draw_white_space": "all",
"word_wrap": true,
}

View File

@@ -1,13 +0,0 @@
// Settings in here override those in "Default/Preferences.sublime-settings",
// and are overridden in turn by syntax-specific settings.
{
"hardware_acceleration": "opengl",
"diff_algorithm": "match_git",
"diff_style": "auto",
"font_face": "Ubuntu Mono",
"side_bar_layout": "tabs",
"signature_error_highlighting": "no_public_key",
"theme": "Merge Dark.sublime-theme",
"expand_merge_commits_by_default": true,
"ignore_diff_white_space": false,
}

View File

@@ -1,298 +0,0 @@
/* stylelint-disable declaration-colon-space-after, scss/dollar-variable-colon-space-after */
:root {
--background-0: #1d2021;
--background-1: #282828;
--background-2: #32302f;
--background-3: #3c3836;
--background-4: #504945;
--background-5: #665c54;
--foreground-0: #665c54;
--foreground-1: #bdae93;
--foreground-2: #d5c4a1;
--foreground-3: #ebdbb2;
--foreground-4: #fbf1c7;
--red: #ea6962;
--orange: #e78a4e;
--yellow: #d8a657;
--green: #a9b665;
--cyan: #89b482;
--blue: #7daea3;
--magenta: #d3869b;
}
:root {
--border-radius-0: 3px;
--border-radius-1: 4px;
--border-radius-2: 6px;
--border-radius-3: 8px;
--space-1: 4px;
--space-2: 8px;
--space-3: 12px;
--shadow-0:
0 0.1px 0.1px 0 rgb(0 0 0 / 35%),
0 0.4px 0.5px -0.7px rgb(0 0 0 / 35%),
0 1.1px 1.2px -1.5px rgb(0 0 0 / 25%),
0 2.7px 3.2px -2px rgb(0 0 0 / 35%),
0 -0.1px 1.2px 0 rgb(0 0 0 / 20%),
0 0 3.5px -2.2px rgb(0 0 0 / 30%);
--shadow-1:
rgb(0 0 0 / 7%) 0 0.4px 0.5px 0,
rgb(0 0 0 / 7%) 0 1.2px 1.3px -0.8px,
rgb(0 0 0 / 7%) 0 2.9px 3.3px -1.7px,
rgb(0 0 0 / 7%) 0.1px 6.9px 7.8px -2.5px,
rgb(0 0 0 / 10%) 0 0 7.8px -2.5px;
--shadow-2:
rgb(0 0 0 / 15%) 0 0.4px 0.5px 0,
rgb(0 0 0 / 15%) 0 1.8px 2px -0.4px,
rgb(0 0 0 / 15%) 0 3.3px 3.7px -0.7px,
rgb(0 0 0 / 15%) 0.1px 5.3px 6px -1.1px,
rgb(0 0 0 / 15%) 0.1px 8.4px 9.5px -1.4px,
rgb(0 0 0 / 15%) 0.1px 13.1px 14.7px -1.8px,
rgb(0 0 0 / 15%) 0.2px 19.9px 22.4px -2.1px,
rgb(0 0 0 / 15%) 0.3px 29.3px 33px -2.5px,
rgb(0 0 0 / 17.5%) 0 0 9.5px -1.4px;
--font-family-sans:
-apple-system,
blinkmacsystemfont,
"Open Sans",
"Helvetica Neue",
"Segoe UI",
roboto,
oxygen,
ubuntu,
cantarell,
sans-serif;
--font-family-mono:
"Mono Lisa",
sfmono-regular,
"Source Code Pro",
menlo,
monaco,
consolas,
"Liberation Mono",
monospace;
--font-size-1: 10px;
--font-size-2: 16px;
--font-size-3: 20px;
--font-weight-mono-normal: 400;
--font-weight-sans-normal: 400;
--font-weight-mono-semibold: 500;
--font-weight-sans-semibold: 500;
--font-weight-mono-bold: 600;
--font-weight-sans-bold: 600;
}
:root {
--tridactyl-cmdl-font-size: var(--font-size-3);
--tridactyl-header-font-size: var(--font-size-2);
--tridactyl-cmdl-font-family: var(--font-family-mono);
--tridactyl-cmplt-font-family: var(--font-family-mono);
--tridactyl-header-font-weight: var(--font-weight-mono-semibold);
--tridactyl-fg: var(--foreground-2);
--tridactyl-bg: var(--background-2);
--tridactyl-url-fg: var(--blue);
--tridactyl-url-bg: var(--background-2);
--tridactyl-highlight-box-bg: var(--green);
--tridactyl-highlight-box-fg: var(--background-2);
--tridactyl-photon-colours-accent-1: var(--blue);
--tridactyl-hintspan-fg: var(--background-2) !important;
--tridactyl-hintspan-bg: var(--cyan) !important;
--tridactyl-hint-active-fg: none;
--tridactyl-hint-active-bg: none;
--tridactyl-hint-active-outline: none;
--tridactyl-hint-bg: none;
--tridactyl-hint-outline: none;
}
span.TridactylHint {
padding: 1px var(--space-1) 2px !important;
border-radius: var(--border-radius-0) !important;
font-family: var(--font-family-mono) !important;
font-weight: var(--font-weight-mono-semibold) !important;
box-shadow: var(--shadow-0) !important;
animation: 3s linear 1s infinite running hint !important;
}
span.TridactylHint:nth-child(1n) {
background: #ea6962 !important;
}
span.TridactylHint:nth-child(2n) {
background: #e78a4e !important;
}
span.TridactylHint:nth-child(3n) {
background: #d8a657 !important;
}
span.TridactylHint:nth-child(4n) {
background: #a9b665 !important;
}
span.TridactylHint:nth-child(5n) {
background: #89b482 !important;
}
span.TridactylHint:nth-child(6n) {
background: #7daea3 !important;
}
span.TridactylHint:nth-child(7n) {
background: #d3869b !important;
}
#trinewtab > img {
display: none;
}
.TridactylStatusIndicator {
position: fixed !important;
right: 5px !important;
bottom: 0 !important;
bottom: 5px !important;
padding: 0.25rem 0.375rem !important;
border: unset !important;
background: var(--tridactyl-bg) !important;
border-radius: var(--border-radius-1) !important;
box-shadow: var(--shadow-1) !important;
color: var(--yellow) !important;
font-size: 0.75rem !important;
font-weight: 500 !important;
opacity: 0.75;
}
#cmdline_iframe {
position: fixed !important;
z-index: 2147483647 !important;
top: 20% !important;
bottom: unset;
left: 10% !important;
width: 80% !important;
color-scheme: light;
}
.TridactylOwnNamespace > body {
display: flex;
box-sizing: border-box;
flex-direction: column;
align-items: stretch;
padding: 3rem;
}
#command-line-holder {
display: flex;
overflow: hidden;
flex-direction: row;
align-items: center;
order: 1;
background: var(--background-0);
border-radius: 0;
border-top-left-radius: var(--border-radius-3);
border-top-right-radius: var(--border-radius-3);
box-shadow: var(--shadow-2);
color: var(--tridactyl-bg);
opacity: 0.95;
}
#command-line-holder #tridactyl-colon {
padding-left: 0.75rem;
color: var(--foreground-1);
font-size: 1.25rem;
opacity: 0.5;
}
#tridactyl-input {
width: 100%;
box-sizing: border-box;
padding: 1rem;
padding-left: 0.25rem;
background: transparent;
color: var(--tridactyl-fg);
line-height: 1.5;
}
#completions {
--option-height: 1.4em;
display: inline-block;
overflow: hidden;
width: auto;
order: 2;
padding-bottom: 0.5rem;
border-top: unset;
background: var(--tridactyl-bg);
border-radius: 0;
border-bottom-left-radius: var(--border-radius-3);
border-bottom-right-radius: var(--border-radius-3);
box-shadow: var(--shadow-2);
color: var(--tridactyl-fg);
font-size: unset;
opacity: 0.95;
}
#completions > div {
min-height: auto;
max-height: calc(20 * var(--option-height));
}
#completions .sectionHeader {
padding: 0.5rem !important;
padding-bottom: 0.2rem;
padding-left: unset;
border-bottom: unset;
background: var(--background-1);
font-weight: var(--font-weight-mono-semibold);
}
#completions table.optionContainer {
padding-top: 0;
padding-bottom: 1rem;
border-spacing: 0;
table-layout: fixed;
}
#completions table.optionContainer td {
padding: 0.25rem 0.5rem;
}
#completions table.optionContainer td.content, #completions table.optionContainer td.documentation, #completions table.optionContainer td.title {
font-family: var(--font-family-sans);
font-weight: var(--font-weight-sans-normal);
}
#completions table.optionContainer td.title {
width: 50%;
font-weight: var(--font-weight-sans-semibold);
}
#completions table.optionContainer td.privatewindow, #completions table.optionContainer td.container {
display: none;
}
#completions table.optionContainer td.prefix {
color: var(--foreground-0);
font-weight: var(--font-weight-mono-bold);
}
#completions table.optionContainer td.icon {
position: relative;
}
#completions table.optionContainer td.icon img {
filter: sepia(100%);
}
#completions .focused {
background: var(--background-4);
color: var(--foreground-3);
}
#completions .focused .excmd {
color: var(--magenta);
}
#completions .focused .url {
background: var(--background-4);
color: var(--magenta);
}
#completions .BmarkCompletionSource {
min-height: unset;
max-height: unset;
}
#completions .BufferCompletionSource {
min-height: unset;
max-height: unset;
}
#completions .HistoryCompletionSource {
min-height: unset;
max-height: unset;
}
#completions .BufferCompletionSource tablecompletion-table {
width: unset;
border-spacing: unset;
font-size: unset;
table-layout: unset;
}
#completions .HistoryCompletionSource td.prefix {
display: none;
}
/*# sourceMappingURL=dark-soft.css.map */

View File

@@ -1,133 +0,0 @@
:root {
/* Generic */
--tridactyl-font-family: Monospace;
--tridactyl-font-size: 12pt;
--tridactyl-bg: #141414;
--tridactyl-highlight: #C25C3C;
--tridactyl-focused-bg: #2F2F2F;
--tridactyl-fg: #E0D3B3;
--tridactyl-url: #4988BF;
--tridactyl-hint-fg: #FF774D;
/* Hint character tags */
--tridactyl-hintspan-font-family: var(--tridactyl-font-family);
--tridactyl-hintspan-font-size: var(--tridactyl-font-size);
--tridactyl-hintspan-font-weight: bold;
--tridactyl-hintspan-fg: var(--tridactyl-hint-fg);
--tridactyl-hintspan-bg: rgba(0, 0, 0, 0.7);
--tridactyl-hintspan-border-color: black;
--tridactyl-hintspan-border-width: 1px;
--tridactyl-hintspan-border-style: solid;
--tridactyl-hintspan-js-background: hsla(0, 0%, 65%);
/* Element highlights */
--tridactyl-hint-active-fg: none;
--tridactyl-hint-active-bg: none;
--tridactyl-hint-active-outline: none;
--tridactyl-hint-bg: none;
--tridactyl-hint-outline: 0px solid black;
/* :viewsource */
--tridactyl-vs-bg: var(--tridactyl-bg);
--tridactyl-vs-fg: var(--tridactyl-fg);
--tridactyl-vs-font-family: var(--tridactyl-font-family);
/*commandline*/
--tridactyl-cmdl-bg: var(--tridactyl-bg);
--tridactyl-cmdl-fg: var(--tridactyl-fg);
--tridactyl-font-size-cmdl: 1.30rem;
--tridactyl-cmdl-line-height: 1.30em;
--tridactyl-cmdl-font-family: var(--tridactyl-font-family);
--tridactyl-cmdl-font-size: var(--tridactyl-font-size-cmdl);
--tridactyl-cmdl-font-weight: 800;
/*completions*/
--tridactyl-cmplt-option-height: 1.60em;
--tridactyl-cmplt-fg: var(--tridactyl-fg);
--tridactyl-cmplt-bg: var(--tridactyl-bg);
--tridactyl-cmplt-font-size: var(--tridactyl-font-size);
--tridactyl-cmplt-font-family: var(--tridactyl-font-family);
/*url style*/
--tridactyl-url-text-decoration: none;
--tridactyl-url-fg: var(--tridactyl-url);
--tridactyl-url-bg: var(--tridactyl-bg);
--tridactyl-url-cursor: pointer;
}
.TridactylOwnNamespace body {
max-height: 500px;
min-height: 500px;
}
:root #command-line-holder {
order: 2;
border-top: 1px solid black; /* cmdline top */
background: var(--tridactyl-focused-bg);
}
:root #tridactyl-input {
background: var(--tridactyl-focused-bg);
}
:root #completions {
max-height: 470px;
min-height: 470px;
font-weight: 200;
}
:root #completions .sectionHeader {
display: none;
}
:root #tridactyl-colon::before {
content: " :";
font-size: var(--tridactyl-font-size-cmdl);
}
:root #completions > div {
max-height: 500px;
min-height: 500px;
padding: 5px;
}
:root #completions table {
white-space: nowrap;
-webkit-mask-image: linear-gradient(to right, rgba(0,0,0,1) 97%, rgba(0,0,0,0));
}
:root #completions table tr td.prefix,
:root #completions table tr td.privatewindow,
:root #completions table tr td.container {
display: none;
}
:root #completions .focused,
:root #completions .focused .url {
background: var(--tridactyl-focused-bg);
color: var(--tridactyl-highlight);
text-decoration: none;
}
:root #completions .SessionCompletionOption .extraInfo {
color: var(--tridactyl-url);
}
:root #completions table tr .title {
padding-left: 5px !important;
}
:root #cmdline_iframe {
position: fixed !important;
bottom: unset;
/* opacity: 1; */
top: 30% !important;
left: 23% !important;
width: 60% !important;
z-index: 2147483647 !important;
border: 1px solid black !important; /* around window */
box-shadow: rgba(0, 0, 0, 0.8) 0px 0px 5px !important;
}
:root #cmdline_iframe.cleanslate.hidden {
display: none !important;
}

View File

@@ -1,116 +0,0 @@
""" Tridactyl config file | Jan Andrle | 2024-02-28
" General Settings 
set configversion 2.0
set theme dark
set modeindicatorshowkeys true
set modeindicatormodes.ignore false
set modeindicator true
set hintfiltermode simple
set hintchars fsahjklgyuiopqwertnmzxcvb
set smoothscroll true
unbind zI
unbind zM
unbind zO
unbind zR
unbind zi
unbind zm
unbind zo
unbind zr
unbind zz
bind zt hint -z
bind zz composite hint -z ; scrollpage -0.5
bind zb composite hint -z ; scrollpage -0.95
bind gm scrollto 42.5 x
bind gM scrollto 42.5 x
bind 0zo zoom 1
bind zo zoom 0.1 true
bind §zo zoom 0.5 true
bind zO zoom -0.1 true
bind §zO zoom -0.5 true
bind §§h scrollpx -1000
bind §h scrollpx -500
bind §l scrollpx 500
bind §§l scrollpx 1000
" /?*# … search collising with native ui + another problems
" https://gist.github.com/BurntSushi/393546a65db38d57cedcfd72c6d89bf3#file-tridactylrc-L18
unbind <c-f> " pgdown for scrolling
bind gi hint -Jc input,textarea,[contenteditable="true"]
unbindurl ^https://www.youtube.com/* >>
unbindurl ^https://www.youtube.com/* <<
" see https://gist.github.com/jaandrle/031198ab5130deb903065138532cc066
bindurl ^https://www.youtube.com/* ss fillcmdline open B: YT
bindurl ^https://www.o2tv.cz/* ss fillcmdline open B: O2
bindurl ^https://chatgpt.com/* ss fillcmdline open B: OPENAI
bindurl ^https://chat.mistral.ai/chat* ss fillcmdline open B: OPENAI
bindurl ^https://rss.jaandrle.cz/* ss nmode ignore 1 mode normal
bindurl ^https://rss.jaandrle.cz/* sn hint -c div
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")) ))
tri.controller.acceptExCmd(`tabopen -c pracovní https://gist.github.com/jaandrle/ff1de72c500557f401e190b4ec05aa62#${document.title.replace(/["':|\.,\?\!_]/g, '').replace(/ /g, '-').toLowerCase()}`)
bind ůp js (v=> { if(!v) return; v.paused ? v.play() : tri.controller.acceptExCmd("pauseVideos"); })(document.querySelector("video"))
bind ůP js (v=> { if(!v) return; v.playbackRate ? (v.playbackRate= 0) : (v.playbackRate= 1); })(document.querySelector("video"))
bind ůl js (v=> { if(!v) return; v.currentTime+= 15 })(document.querySelector("video"))
bind ůh js (v=> { if(!v) return; v.currentTime-= 15 })(document.querySelector("video"))
bind ůL fillcmdline_notrail js document.querySelector("video").currentTime+= 15*30
bind ůůl fillcmdline_notrail js document.querySelector("video").currentTime+= 15*30
bind ůk js (v=> { if(!v) return; v.playbackRate+= 0.25 })(document.querySelector("video"))
bind ůj js (v=> { if(!v) return; v.playbackRate-= 0.25 })(document.querySelector("video"))
bind ů= js (v=> { if(!v) return; v.playbackRate= 1 })(document.querySelector("video"))
bind ůG js (v=> { if(!v) return; v.play(); v.currentTime= ( location.hostname!=="www.disneyplus.com" ? v.duration : (document.querySelector(".time-remaining-label").textContent.split(":").reduce((acc, curr, i)=> (!i ? 60 : 1)*curr+acc, 0)+v.currentTime) )-10; setTimeout(()=> tri.controller.acceptExCmd("pauseVideos"), 5000); })(document.querySelector("video"))
unbind --mode=normal d
bind dd tabclose
unbind --mode=normal s
bind st fillcmdline_notrail tab
bind \t fillcmdline_notrail tab
" h keyboardlayoutoverrides … https://gistpreview.github.io/?324119c773fac31651f6422087b36804
" set keyboardlayoutoverrides "Digit2: ;, Backquote: :"
set keytranslatemap {"ě":";",";":":"}
bindurl ^https://mail.centrum.cz/* ;; composite hint_focus ; js document.activeElement.dispatchEvent(new CustomEvent("mouseover"))
bind --mode=normal ;gt hint -c [tabindex]
bind š tab #
bind sš fillcmdline tab
" b→t→n to make more consistent with gn*
unbind --mode=normal b
unbind --mode=normal B
bind --mode=normal t fillcmdline tab
bind --mode=normal T fillcmdline taball
bind --mode=normal n fillcmdline tabopen
bind --mode=normal N current_url tabopen
bind -c fillcmdline recontain
bind \c fillcmdline_notrail container
bind --mode=visual \t composite js "https://libretranslate.com/?source=auto&target=cs&q="+encodeURI(document.getSelection().toString()) | tabopen
bind --mode=visual \T composite js "https://translate.google.com/?sl=auto&tl=cs&op=translate&text="+encodeURI(document.getSelection().toString()) | tabopen
bind --mode=normal \t composite js "http://translate.google.com/translate?js=n&tl=cs&u="+encodeURI(location.href) | tabopen
bind gnk tabopen -c osobní https://keep.google.com/u/0/#NOTE/1UXE_BEihe2EexHwZqEYA2oSdILLxF74SPcaLFMStfIpMkWPnStWJDQqH5C1TryJld_dC
bind gok open -c osobní https://keep.google.com/u/0/#NOTE/1UXE_BEihe2EexHwZqEYA2oSdILLxF74SPcaLFMStfIpMkWPnStWJDQqH5C1TryJld_dC
bind gwk winopen -c osobní https://keep.google.com/u/0/#NOTE/1UXE_BEihe2EexHwZqEYA2oSdILLxF74SPcaLFMStfIpMkWPnStWJDQqH5C1TryJld_dC
bind gnC tabopen -c osobní https://calendar.google.com
bind goC open -c osobní https://calendar.google.com
bind gwC winopen -c osobní https://calendar.google.com
alias hint_focus hint -;
quickmark c moz-extension://616498c0-3916-4f0b-b0a9-ce01ecf2298d/popup.html
command mastodonUncoverAll composite hint_focus .scrollable ; js (onclick=document.createEvent("Events"), onclick.initEvent("click", true, false), Array.from(document.activeElement.getElementsByClassName("status__content__spoiler-link")).forEach(el=> el.dispatchEvent(onclick)))
command mastodonRedirectHome js const canonicalHref = document.querySelector('link[rel=canonical]')?.href; const parts = (canonicalHref ? new URL(canonicalHref) : location).pathname.split('/'); if(parts.length===2) location.href= `https://fosstodon.org/${parts[1]}@${location.host}`; else location.href= `https://fosstodon.org/authorize_interaction?uri=${location.href}`;
bind sm fillcmdline_notrail mastodon
command data_delall composite hint_focus * ; js document.activeElement.querySelectorAll("input").forEach(el=> el.checked=false)
command scrollblur js tri.scrolling.setCurrentFocus(document.documentElement || document.body)
autocmd DocLoad https://user.centrum.cz/?url=http%3A%2F%2Fmail.centrum.cz open https://mail.centrum.cz/?fld=-666
" For syntax highlighting see https://github.com/tridactyl/vim-tridactyl
" vim: set filetype=tridactyl
" vim: set ft=vim :

View File

@@ -1,8 +0,0 @@
# Vifm
[Vifm - Manual](https://vifm.info/manual.shtml).
## Related files
- [./\*](./)
## Additional
- [How to use bat as a fileviewer · Issue #404 · vifm/vifm](https://github.com/vifm/vifm/issues/404)

View File

@@ -1,81 +0,0 @@
" You can edit this file by hand.
" The " character at the beginning of a line comments out the line.
" Blank lines are ignored.
" The Default color scheme is used for any directory that does not have
" a specified scheme and for parts of user interface like menus. A
" color scheme set for a base directory will also
" be used for the sub directories.
" The standard ncurses colors are:
" Default = -1 = None, can be used for transparency or default color
" Black = 0
" Red = 1
" Green = 2
" Yellow = 3
" Blue = 4
" Magenta = 5
" Cyan = 6
" White = 7
" Light versions of colors are also available (set bold attribute):
" LightBlack
" LightRed
" LightGreen
" LightYellow
" LightBlue
" LightMagenta
" LightCyan
" LightWhite
" Available attributes (some of them can be combined):
" bold
" underline
" reverse or inverse
" standout
" italic (on unsupported systems becomes reverse)
" none
" Vifm supports 256 colors you can use color numbers 0-255
" (requires properly set up terminal: set your TERM environment variable
" (directly or using resources) to some color terminal name (e.g.
" xterm-256color) from /usr/lib/terminfo/; you can check current number
" of colors in your terminal with tput colors command)
" highlight group cterm=attrs ctermfg=foreground_color ctermbg=background_color
highlight clear
highlight Win cterm=none ctermfg=white ctermbg=black
highlight Directory cterm=bold ctermfg=cyan ctermbg=default
highlight Link cterm=bold ctermfg=yellow ctermbg=default
highlight BrokenLink cterm=bold ctermfg=red ctermbg=default
highlight Socket cterm=bold ctermfg=magenta ctermbg=default
highlight Device cterm=bold ctermfg=red ctermbg=default
highlight Fifo cterm=bold ctermfg=cyan ctermbg=default
highlight Executable cterm=bold ctermfg=green ctermbg=default
highlight Selected cterm=bold ctermfg=magenta ctermbg=default
highlight CurrLine cterm=bold,reverse ctermfg=default ctermbg=default
highlight TopLine cterm=none ctermfg=black ctermbg=white
highlight TopLineSel cterm=bold ctermfg=black ctermbg=default
highlight StatusLine cterm=bold ctermfg=black ctermbg=white
highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black
highlight CmdLine cterm=none ctermfg=white ctermbg=black
highlight ErrorMsg cterm=none ctermfg=red ctermbg=black
highlight Border cterm=none ctermfg=black ctermbg=white
highlight JobLine cterm=bold,reverse ctermfg=black ctermbg=white
highlight SuggestBox cterm=bold ctermfg=default ctermbg=default
highlight CmpMismatch cterm=bold ctermfg=white ctermbg=red
highlight AuxWin cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
highlight TabLine cterm=none ctermfg=white ctermbg=black
highlight TabLineSel cterm=bold,reverse ctermfg=default ctermbg=default
highlight User1 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
highlight User2 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
highlight User3 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
highlight User4 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
highlight User5 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
highlight User6 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
highlight User7 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
highlight User8 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
highlight User9 cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default
highlight OtherWin cterm=bold,underline,reverse,standout,italic ctermfg=default ctermbg=default

View File

@@ -1,26 +0,0 @@
" codedark like color scheme for vifm
" Reset all styles first
highlight clear
highlight Win cterm=none ctermfg=188 ctermbg=none
highlight Border cterm=none ctermfg=none ctermbg=none
highlight TopLine cterm=none ctermfg=117 ctermbg=235
highlight TopLineSel cterm=bold ctermfg=75 ctermbg=235
highlight StatusLine cterm=bold ctermfg=65 ctermbg=234
highlight ErrorMsg cterm=bold ctermfg=203 ctermbg=235
highlight JobLine cterm=bold ctermfg=75 ctermbg=235
highlight WildMenu cterm=bold ctermfg=188 ctermbg=235
highlight CmdLine cterm=none ctermfg=188 ctermbg=235
highlight CurrLine cterm=none ctermfg=none ctermbg=0
highlight OtherLine cterm=none ctermfg=247 ctermbg=237
highlight Selected cterm=none ctermfg=none ctermbg=235
highlight Directory cterm=none ctermfg=179 ctermbg=none
highlight Executable cterm=none ctermfg=176 ctermbg=none
highlight Link cterm=none ctermfg=173 ctermbg=none
highlight BrokenLink cterm=none ctermfg=164 ctermbg=none
highlight Device cterm=none ctermfg=187 ctermbg=none
highlight Fifo cterm=none ctermfg=187 ctermbg=none
highlight Socket cterm=none ctermfg=187 ctermbg=none

View File

@@ -1,27 +0,0 @@
" ph
highlight clear
highlight Win cterm=none ctermfg=248 ctermbg=234
highlight Directory cterm=bold ctermfg=033 ctermbg=234
highlight Link cterm=bold ctermfg=yellow ctermbg=234
highlight BrokenLink cterm=reverse ctermfg=red ctermbg=default
highlight Socket cterm=bold ctermfg=125 ctermbg=default
highlight Device cterm=bold ctermfg=red ctermbg=default
highlight Fifo cterm=bold ctermfg=cyan ctermbg=default
highlight Executable cterm=bold ctermfg=166 ctermbg=default
highlight Selected cterm=bold ctermfg=255 ctermbg=237
highlight CurrLine cterm=bold ctermfg=default ctermbg=237
highlight TopLine cterm=bold ctermfg=black ctermbg=235
highlight TopLineSel cterm=bold ctermfg=black ctermbg=default
highlight StatusLine cterm=bold ctermfg=black ctermbg=235
highlight WildMenu cterm=underline,reverse ctermfg=white ctermbg=black
highlight CmdLine cterm=none ctermfg=white ctermbg=black
highlight ErrorMsg cterm=none ctermfg=red ctermbg=black
highlight Border cterm=none ctermfg=black ctermbg=234
highlight JobLine cterm=bold,reverse ctermfg=black ctermbg=white
highlight SuggestBox cterm=bold ctermfg=default ctermbg=default
if $USER == 'root'
highlight Border ctermbg=red
endif

View File

@@ -1,29 +0,0 @@
" zenburn like color scheme for vifm
" http://kippura.org/zenburnpage/
" Reset all styles first
highlight clear
highlight Border cterm=none ctermfg=235 ctermbg=237
highlight TopLine cterm=none ctermfg=108 ctermbg=235
highlight TopLineSel cterm=bold ctermfg=186 ctermbg=235
highlight Win cterm=none ctermfg=188 ctermbg=237
highlight Directory cterm=none ctermfg=108 ctermbg=237
highlight CurrLine cterm=none ctermfg=223 ctermbg=235
highlight OtherLine cterm=none ctermfg=247 ctermbg=237
highlight Selected cterm=none ctermfg=116 ctermbg=238
highlight JobLine cterm=bold ctermfg=116 ctermbg=238
highlight StatusLine cterm=bold ctermfg=144 ctermbg=236
highlight ErrorMsg cterm=bold ctermfg=115 ctermbg=237
highlight WildMenu cterm=bold ctermfg=235 ctermbg=144
highlight CmdLine cterm=none ctermfg=188 ctermbg=237
highlight Executable cterm=none ctermfg=172 ctermbg=237
highlight Link cterm=none ctermfg=142 ctermbg=237
highlight BrokenLink cterm=none ctermfg=174 ctermbg=237
highlight Device cterm=none ctermfg=228 ctermbg=237
highlight Fifo cterm=none ctermfg=109 ctermbg=237
highlight Socket cterm=none ctermfg=110 ctermbg=237

View File

@@ -1,857 +0,0 @@
vifm-!! vifm-help.txt /*vifm-!!*
vifm-$ vifm-help.txt /*vifm-$*
vifm-$HOME vifm-help.txt /*vifm-$HOME*
vifm-$MYVIFMRC vifm-help.txt /*vifm-$MYVIFMRC*
vifm-$VIFM vifm-help.txt /*vifm-$VIFM*
vifm-$VIFM_FUSE_FILE vifm-help.txt /*vifm-$VIFM_FUSE_FILE*
vifm-% vifm-help.txt /*vifm-%*
vifm-%C vifm-help.txt /*vifm-%C*
vifm-%D vifm-help.txt /*vifm-%D*
vifm-%F vifm-help.txt /*vifm-%F*
vifm-%IU vifm-help.txt /*vifm-%IU*
vifm-%Iu vifm-help.txt /*vifm-%Iu*
vifm-%L vifm-help.txt /*vifm-%L*
vifm-%M vifm-help.txt /*vifm-%M*
vifm-%N vifm-help.txt /*vifm-%N*
vifm-%Pl vifm-help.txt /*vifm-%Pl*
vifm-%Pz vifm-help.txt /*vifm-%Pz*
vifm-%S vifm-help.txt /*vifm-%S*
vifm-%U vifm-help.txt /*vifm-%U*
vifm-%a vifm-help.txt /*vifm-%a*
vifm-%b vifm-help.txt /*vifm-%b*
vifm-%c vifm-help.txt /*vifm-%c*
vifm-%d vifm-help.txt /*vifm-%d*
vifm-%f vifm-help.txt /*vifm-%f*
vifm-%i vifm-help.txt /*vifm-%i*
vifm-%l vifm-help.txt /*vifm-%l*
vifm-%m vifm-help.txt /*vifm-%m*
vifm-%n vifm-help.txt /*vifm-%n*
vifm-%pc vifm-help.txt /*vifm-%pc*
vifm-%pd vifm-help.txt /*vifm-%pd*
vifm-%ph vifm-help.txt /*vifm-%ph*
vifm-%pu vifm-help.txt /*vifm-%pu*
vifm-%pw vifm-help.txt /*vifm-%pw*
vifm-%px vifm-help.txt /*vifm-%px*
vifm-%py vifm-help.txt /*vifm-%py*
vifm-%q vifm-help.txt /*vifm-%q*
vifm-%r vifm-help.txt /*vifm-%r*
vifm-%s vifm-help.txt /*vifm-%s*
vifm-%u vifm-help.txt /*vifm-%u*
vifm-%v vifm-help.txt /*vifm-%v*
vifm-' vifm-help.txt /*vifm-'*
vifm-'aproposprg' vifm-help.txt /*vifm-'aproposprg'*
vifm-'autocd' vifm-help.txt /*vifm-'autocd'*
vifm-'autochpos' vifm-help.txt /*vifm-'autochpos'*
vifm-'caseoptions' vifm-help.txt /*vifm-'caseoptions'*
vifm-'cd' vifm-help.txt /*vifm-'cd'*
vifm-'cdpath' vifm-help.txt /*vifm-'cdpath'*
vifm-'cf' vifm-help.txt /*vifm-'cf'*
vifm-'chaselinks' vifm-help.txt /*vifm-'chaselinks'*
vifm-'classify' vifm-help.txt /*vifm-'classify'*
vifm-'co' vifm-help.txt /*vifm-'co'*
vifm-'columns' vifm-help.txt /*vifm-'columns'*
vifm-'confirm' vifm-help.txt /*vifm-'confirm'*
vifm-'cpo' vifm-help.txt /*vifm-'cpo'*
vifm-'cpoptions' vifm-help.txt /*vifm-'cpoptions'*
vifm-'cvoptions' vifm-help.txt /*vifm-'cvoptions'*
vifm-'deleteprg' vifm-help.txt /*vifm-'deleteprg'*
vifm-'dirsize' vifm-help.txt /*vifm-'dirsize'*
vifm-'dotdirs' vifm-help.txt /*vifm-'dotdirs'*
vifm-'dotfiles' vifm-help.txt /*vifm-'dotfiles'*
vifm-'fastrun' vifm-help.txt /*vifm-'fastrun'*
vifm-'fcs' vifm-help.txt /*vifm-'fcs'*
vifm-'fillchars' vifm-help.txt /*vifm-'fillchars'*
vifm-'findprg' vifm-help.txt /*vifm-'findprg'*
vifm-'followlinks' vifm-help.txt /*vifm-'followlinks'*
vifm-'fusehome' vifm-help.txt /*vifm-'fusehome'*
vifm-'gd' vifm-help.txt /*vifm-'gd'*
vifm-'gdefault' vifm-help.txt /*vifm-'gdefault'*
vifm-'grepprg' vifm-help.txt /*vifm-'grepprg'*
vifm-'hi' vifm-help.txt /*vifm-'hi'*
vifm-'histcursor' vifm-help.txt /*vifm-'histcursor'*
vifm-'history' vifm-help.txt /*vifm-'history'*
vifm-'hls' vifm-help.txt /*vifm-'hls'*
vifm-'hlsearch' vifm-help.txt /*vifm-'hlsearch'*
vifm-'ic' vifm-help.txt /*vifm-'ic'*
vifm-'iec' vifm-help.txt /*vifm-'iec'*
vifm-'ignorecase' vifm-help.txt /*vifm-'ignorecase'*
vifm-'incsearch' vifm-help.txt /*vifm-'incsearch'*
vifm-'iooptions' vifm-help.txt /*vifm-'iooptions'*
vifm-'is' vifm-help.txt /*vifm-'is'*
vifm-'laststatus' vifm-help.txt /*vifm-'laststatus'*
vifm-'lines' vifm-help.txt /*vifm-'lines'*
vifm-'locateprg' vifm-help.txt /*vifm-'locateprg'*
vifm-'ls' vifm-help.txt /*vifm-'ls'*
vifm-'lsoptions' vifm-help.txt /*vifm-'lsoptions'*
vifm-'lsview' vifm-help.txt /*vifm-'lsview'*
vifm-'mediaprg' vifm-help.txt /*vifm-'mediaprg'*
vifm-'milleroptions' vifm-help.txt /*vifm-'milleroptions'*
vifm-'millerview' vifm-help.txt /*vifm-'millerview'*
vifm-'mintimeoutlen' vifm-help.txt /*vifm-'mintimeoutlen'*
vifm-'nu' vifm-help.txt /*vifm-'nu'*
vifm-'number' vifm-help.txt /*vifm-'number'*
vifm-'numberwidth' vifm-help.txt /*vifm-'numberwidth'*
vifm-'nuw' vifm-help.txt /*vifm-'nuw'*
vifm-'previewoptions' vifm-help.txt /*vifm-'previewoptions'*
vifm-'previewprg' vifm-help.txt /*vifm-'previewprg'*
vifm-'quickview' vifm-help.txt /*vifm-'quickview'*
vifm-'relativenumber' vifm-help.txt /*vifm-'relativenumber'*
vifm-'rnu' vifm-help.txt /*vifm-'rnu'*
vifm-'ruf' vifm-help.txt /*vifm-'ruf'*
vifm-'rulerformat' vifm-help.txt /*vifm-'rulerformat'*
vifm-'runexec' vifm-help.txt /*vifm-'runexec'*
vifm-'scb' vifm-help.txt /*vifm-'scb'*
vifm-'scrollbind' vifm-help.txt /*vifm-'scrollbind'*
vifm-'scrolloff' vifm-help.txt /*vifm-'scrolloff'*
vifm-'scs' vifm-help.txt /*vifm-'scs'*
vifm-'sessionoptions' vifm-help.txt /*vifm-'sessionoptions'*
vifm-'sh' vifm-help.txt /*vifm-'sh'*
vifm-'shcf' vifm-help.txt /*vifm-'shcf'*
vifm-'shell' vifm-help.txt /*vifm-'shell'*
vifm-'shellcmdflag' vifm-help.txt /*vifm-'shellcmdflag'*
vifm-'shm' vifm-help.txt /*vifm-'shm'*
vifm-'shortmess' vifm-help.txt /*vifm-'shortmess'*
vifm-'showtabline' vifm-help.txt /*vifm-'showtabline'*
vifm-'sizefmt' vifm-help.txt /*vifm-'sizefmt'*
vifm-'slowfs' vifm-help.txt /*vifm-'slowfs'*
vifm-'smartcase' vifm-help.txt /*vifm-'smartcase'*
vifm-'so' vifm-help.txt /*vifm-'so'*
vifm-'sort' vifm-help.txt /*vifm-'sort'*
vifm-'sortgroups' vifm-help.txt /*vifm-'sortgroups'*
vifm-'sortnumbers' vifm-help.txt /*vifm-'sortnumbers'*
vifm-'sortorder' vifm-help.txt /*vifm-'sortorder'*
vifm-'ssop' vifm-help.txt /*vifm-'ssop'*
vifm-'stal' vifm-help.txt /*vifm-'stal'*
vifm-'statusline' vifm-help.txt /*vifm-'statusline'*
vifm-'stl' vifm-help.txt /*vifm-'stl'*
vifm-'suggestoptions' vifm-help.txt /*vifm-'suggestoptions'*
vifm-'syncregs' vifm-help.txt /*vifm-'syncregs'*
vifm-'syscalls' vifm-help.txt /*vifm-'syscalls'*
vifm-'tablabel' vifm-help.txt /*vifm-'tablabel'*
vifm-'tabprefix' vifm-help.txt /*vifm-'tabprefix'*
vifm-'tabscope' vifm-help.txt /*vifm-'tabscope'*
vifm-'tabstop' vifm-help.txt /*vifm-'tabstop'*
vifm-'tabsuffix' vifm-help.txt /*vifm-'tabsuffix'*
vifm-'timefmt' vifm-help.txt /*vifm-'timefmt'*
vifm-'timeoutlen' vifm-help.txt /*vifm-'timeoutlen'*
vifm-'title' vifm-help.txt /*vifm-'title'*
vifm-'tm' vifm-help.txt /*vifm-'tm'*
vifm-'to' vifm-help.txt /*vifm-'to'*
vifm-'trash' vifm-help.txt /*vifm-'trash'*
vifm-'trashdir' vifm-help.txt /*vifm-'trashdir'*
vifm-'ts' vifm-help.txt /*vifm-'ts'*
vifm-'tuioptions' vifm-help.txt /*vifm-'tuioptions'*
vifm-'ul' vifm-help.txt /*vifm-'ul'*
vifm-'undolevels' vifm-help.txt /*vifm-'undolevels'*
vifm-'vicmd' vifm-help.txt /*vifm-'vicmd'*
vifm-'viewcolumns' vifm-help.txt /*vifm-'viewcolumns'*
vifm-'vifminfo' vifm-help.txt /*vifm-'vifminfo'*
vifm-'vimhelp' vifm-help.txt /*vifm-'vimhelp'*
vifm-'vixcmd' vifm-help.txt /*vifm-'vixcmd'*
vifm-'wildmenu' vifm-help.txt /*vifm-'wildmenu'*
vifm-'wildstyle' vifm-help.txt /*vifm-'wildstyle'*
vifm-'wmnu' vifm-help.txt /*vifm-'wmnu'*
vifm-'wordchars' vifm-help.txt /*vifm-'wordchars'*
vifm-'wrap' vifm-help.txt /*vifm-'wrap'*
vifm-'wrapscan' vifm-help.txt /*vifm-'wrapscan'*
vifm-'ws' vifm-help.txt /*vifm-'ws'*
vifm-( vifm-help.txt /*vifm-(*
vifm-) vifm-help.txt /*vifm-)*
vifm-, vifm-help.txt /*vifm-,*
vifm--+c vifm-help.txt /*vifm--+c*
vifm---choose-dir vifm-help.txt /*vifm---choose-dir*
vifm---choose-files vifm-help.txt /*vifm---choose-files*
vifm---delimiter vifm-help.txt /*vifm---delimiter*
vifm---help vifm-help.txt /*vifm---help*
vifm---logging vifm-help.txt /*vifm---logging*
vifm---no-configs vifm-help.txt /*vifm---no-configs*
vifm---on-choose vifm-help.txt /*vifm---on-choose*
vifm---remote vifm-help.txt /*vifm---remote*
vifm---remote-expr vifm-help.txt /*vifm---remote-expr*
vifm---select vifm-help.txt /*vifm---select*
vifm---server-list vifm-help.txt /*vifm---server-list*
vifm---server-name vifm-help.txt /*vifm---server-name*
vifm---version vifm-help.txt /*vifm---version*
vifm--c vifm-help.txt /*vifm--c*
vifm--f vifm-help.txt /*vifm--f*
vifm--h vifm-help.txt /*vifm--h*
vifm--v vifm-help.txt /*vifm--v*
vifm-. vifm-help.txt /*vifm-.*
vifm-/ vifm-help.txt /*vifm-\/*
vifm-0 vifm-help.txt /*vifm-0*
vifm-: vifm-help.txt /*vifm-:*
vifm-:! vifm-help.txt /*vifm-:!*
vifm-:!! vifm-help.txt /*vifm-:!!*
vifm-:alink vifm-help.txt /*vifm-:alink*
vifm-:apropos vifm-help.txt /*vifm-:apropos*
vifm-:au vifm-help.txt /*vifm-:au*
vifm-:autocmd vifm-help.txt /*vifm-:autocmd*
vifm-:bar vifm-help.txt /*vifm-:bar*
vifm-:bmark vifm-help.txt /*vifm-:bmark*
vifm-:bmarks vifm-help.txt /*vifm-:bmarks*
vifm-:bmgo vifm-help.txt /*vifm-:bmgo*
vifm-:c vifm-help.txt /*vifm-:c*
vifm-:ca vifm-help.txt /*vifm-:ca*
vifm-:cabbrev vifm-help.txt /*vifm-:cabbrev*
vifm-:cd vifm-help.txt /*vifm-:cd*
vifm-:cds vifm-help.txt /*vifm-:cds*
vifm-:change vifm-help.txt /*vifm-:change*
vifm-:chmod vifm-help.txt /*vifm-:chmod*
vifm-:chown vifm-help.txt /*vifm-:chown*
vifm-:clone vifm-help.txt /*vifm-:clone*
vifm-:cm vifm-help.txt /*vifm-:cm*
vifm-:cmap vifm-help.txt /*vifm-:cmap*
vifm-:cno vifm-help.txt /*vifm-:cno*
vifm-:cnorea vifm-help.txt /*vifm-:cnorea*
vifm-:cnoreabbrev vifm-help.txt /*vifm-:cnoreabbrev*
vifm-:cnoremap vifm-help.txt /*vifm-:cnoremap*
vifm-:co vifm-help.txt /*vifm-:co*
vifm-:colo vifm-help.txt /*vifm-:colo*
vifm-:colorscheme vifm-help.txt /*vifm-:colorscheme*
vifm-:com vifm-help.txt /*vifm-:com*
vifm-:comc vifm-help.txt /*vifm-:comc*
vifm-:comclear vifm-help.txt /*vifm-:comclear*
vifm-:command vifm-help.txt /*vifm-:command*
vifm-:command-params vifm-help.txt /*vifm-:command-params*
vifm-:compare vifm-help.txt /*vifm-:compare*
vifm-:cope vifm-help.txt /*vifm-:cope*
vifm-:copen vifm-help.txt /*vifm-:copen*
vifm-:copy vifm-help.txt /*vifm-:copy*
vifm-:cq vifm-help.txt /*vifm-:cq*
vifm-:cquit vifm-help.txt /*vifm-:cquit*
vifm-:cu vifm-help.txt /*vifm-:cu*
vifm-:cuna vifm-help.txt /*vifm-:cuna*
vifm-:cunabbrev vifm-help.txt /*vifm-:cunabbrev*
vifm-:cunmap vifm-help.txt /*vifm-:cunmap*
vifm-:d vifm-help.txt /*vifm-:d*
vifm-:delbmarks vifm-help.txt /*vifm-:delbmarks*
vifm-:delc vifm-help.txt /*vifm-:delc*
vifm-:delcommand vifm-help.txt /*vifm-:delcommand*
vifm-:delete vifm-help.txt /*vifm-:delete*
vifm-:delm vifm-help.txt /*vifm-:delm*
vifm-:delmarks vifm-help.txt /*vifm-:delmarks*
vifm-:delsession vifm-help.txt /*vifm-:delsession*
vifm-:di vifm-help.txt /*vifm-:di*
vifm-:dirs vifm-help.txt /*vifm-:dirs*
vifm-:display vifm-help.txt /*vifm-:display*
vifm-:dm vifm-help.txt /*vifm-:dm*
vifm-:dmap vifm-help.txt /*vifm-:dmap*
vifm-:dn vifm-help.txt /*vifm-:dn*
vifm-:dnoremap vifm-help.txt /*vifm-:dnoremap*
vifm-:du vifm-help.txt /*vifm-:du*
vifm-:dunmap vifm-help.txt /*vifm-:dunmap*
vifm-:e vifm-help.txt /*vifm-:e*
vifm-:ec vifm-help.txt /*vifm-:ec*
vifm-:echo vifm-help.txt /*vifm-:echo*
vifm-:edit vifm-help.txt /*vifm-:edit*
vifm-:el vifm-help.txt /*vifm-:el*
vifm-:else vifm-help.txt /*vifm-:else*
vifm-:elsei vifm-help.txt /*vifm-:elsei*
vifm-:elseif vifm-help.txt /*vifm-:elseif*
vifm-:empty vifm-help.txt /*vifm-:empty*
vifm-:en vifm-help.txt /*vifm-:en*
vifm-:endif vifm-help.txt /*vifm-:endif*
vifm-:exe vifm-help.txt /*vifm-:exe*
vifm-:execute vifm-help.txt /*vifm-:execute*
vifm-:exi vifm-help.txt /*vifm-:exi*
vifm-:exit vifm-help.txt /*vifm-:exit*
vifm-:f vifm-help.txt /*vifm-:f*
vifm-:file vifm-help.txt /*vifm-:file*
vifm-:filet vifm-help.txt /*vifm-:filet*
vifm-:filetype vifm-help.txt /*vifm-:filetype*
vifm-:filev vifm-help.txt /*vifm-:filev*
vifm-:fileviewer vifm-help.txt /*vifm-:fileviewer*
vifm-:filex vifm-help.txt /*vifm-:filex*
vifm-:filextype vifm-help.txt /*vifm-:filextype*
vifm-:filter vifm-help.txt /*vifm-:filter*
vifm-:fin vifm-help.txt /*vifm-:fin*
vifm-:find vifm-help.txt /*vifm-:find*
vifm-:fini vifm-help.txt /*vifm-:fini*
vifm-:finish vifm-help.txt /*vifm-:finish*
vifm-:go vifm-help.txt /*vifm-:go*
vifm-:goto vifm-help.txt /*vifm-:goto*
vifm-:gr vifm-help.txt /*vifm-:gr*
vifm-:grep vifm-help.txt /*vifm-:grep*
vifm-:h vifm-help.txt /*vifm-:h*
vifm-:help vifm-help.txt /*vifm-:help*
vifm-:hi vifm-help.txt /*vifm-:hi*
vifm-:hideui vifm-help.txt /*vifm-:hideui*
vifm-:highlight vifm-help.txt /*vifm-:highlight*
vifm-:his vifm-help.txt /*vifm-:his*
vifm-:histnext vifm-help.txt /*vifm-:histnext*
vifm-:history vifm-help.txt /*vifm-:history*
vifm-:histprev vifm-help.txt /*vifm-:histprev*
vifm-:if vifm-help.txt /*vifm-:if*
vifm-:invert vifm-help.txt /*vifm-:invert*
vifm-:jobs vifm-help.txt /*vifm-:jobs*
vifm-:keepsel vifm-help.txt /*vifm-:keepsel*
vifm-:let vifm-help.txt /*vifm-:let*
vifm-:locate vifm-help.txt /*vifm-:locate*
vifm-:ls vifm-help.txt /*vifm-:ls*
vifm-:lstrash vifm-help.txt /*vifm-:lstrash*
vifm-:m vifm-help.txt /*vifm-:m*
vifm-:ma vifm-help.txt /*vifm-:ma*
vifm-:map vifm-help.txt /*vifm-:map*
vifm-:mark vifm-help.txt /*vifm-:mark*
vifm-:marks vifm-help.txt /*vifm-:marks*
vifm-:media vifm-help.txt /*vifm-:media*
vifm-:mes vifm-help.txt /*vifm-:mes*
vifm-:messages vifm-help.txt /*vifm-:messages*
vifm-:mkdir vifm-help.txt /*vifm-:mkdir*
vifm-:mm vifm-help.txt /*vifm-:mm*
vifm-:mmap vifm-help.txt /*vifm-:mmap*
vifm-:mn vifm-help.txt /*vifm-:mn*
vifm-:mnoremap vifm-help.txt /*vifm-:mnoremap*
vifm-:move vifm-help.txt /*vifm-:move*
vifm-:mu vifm-help.txt /*vifm-:mu*
vifm-:munmap vifm-help.txt /*vifm-:munmap*
vifm-:nm vifm-help.txt /*vifm-:nm*
vifm-:nmap vifm-help.txt /*vifm-:nmap*
vifm-:nn vifm-help.txt /*vifm-:nn*
vifm-:nnoremap vifm-help.txt /*vifm-:nnoremap*
vifm-:no vifm-help.txt /*vifm-:no*
vifm-:noh vifm-help.txt /*vifm-:noh*
vifm-:nohlsearch vifm-help.txt /*vifm-:nohlsearch*
vifm-:noremap vifm-help.txt /*vifm-:noremap*
vifm-:norm vifm-help.txt /*vifm-:norm*
vifm-:normal vifm-help.txt /*vifm-:normal*
vifm-:nun vifm-help.txt /*vifm-:nun*
vifm-:nunmap vifm-help.txt /*vifm-:nunmap*
vifm-:on vifm-help.txt /*vifm-:on*
vifm-:only vifm-help.txt /*vifm-:only*
vifm-:plugin vifm-help.txt /*vifm-:plugin*
vifm-:plugins vifm-help.txt /*vifm-:plugins*
vifm-:popd vifm-help.txt /*vifm-:popd*
vifm-:pu vifm-help.txt /*vifm-:pu*
vifm-:pushd vifm-help.txt /*vifm-:pushd*
vifm-:put vifm-help.txt /*vifm-:put*
vifm-:pw vifm-help.txt /*vifm-:pw*
vifm-:pwd vifm-help.txt /*vifm-:pwd*
vifm-:q vifm-help.txt /*vifm-:q*
vifm-:qa vifm-help.txt /*vifm-:qa*
vifm-:qall vifm-help.txt /*vifm-:qall*
vifm-:qm vifm-help.txt /*vifm-:qm*
vifm-:qmap vifm-help.txt /*vifm-:qmap*
vifm-:qn vifm-help.txt /*vifm-:qn*
vifm-:qnoremap vifm-help.txt /*vifm-:qnoremap*
vifm-:quit vifm-help.txt /*vifm-:quit*
vifm-:qun vifm-help.txt /*vifm-:qun*
vifm-:qunmap vifm-help.txt /*vifm-:qunmap*
vifm-:range vifm-help.txt /*vifm-:range*
vifm-:redr vifm-help.txt /*vifm-:redr*
vifm-:redraw vifm-help.txt /*vifm-:redraw*
vifm-:reg vifm-help.txt /*vifm-:reg*
vifm-:registers vifm-help.txt /*vifm-:registers*
vifm-:regular vifm-help.txt /*vifm-:regular*
vifm-:rename vifm-help.txt /*vifm-:rename*
vifm-:restart vifm-help.txt /*vifm-:restart*
vifm-:restore vifm-help.txt /*vifm-:restore*
vifm-:rlink vifm-help.txt /*vifm-:rlink*
vifm-:s vifm-help.txt /*vifm-:s*
vifm-:screen vifm-help.txt /*vifm-:screen*
vifm-:se vifm-help.txt /*vifm-:se*
vifm-:select vifm-help.txt /*vifm-:select*
vifm-:session vifm-help.txt /*vifm-:session*
vifm-:set vifm-help.txt /*vifm-:set*
vifm-:setg vifm-help.txt /*vifm-:setg*
vifm-:setglobal vifm-help.txt /*vifm-:setglobal*
vifm-:setl vifm-help.txt /*vifm-:setl*
vifm-:setlocal vifm-help.txt /*vifm-:setlocal*
vifm-:sh vifm-help.txt /*vifm-:sh*
vifm-:shell vifm-help.txt /*vifm-:shell*
vifm-:siblnext vifm-help.txt /*vifm-:siblnext*
vifm-:siblprev vifm-help.txt /*vifm-:siblprev*
vifm-:so vifm-help.txt /*vifm-:so*
vifm-:sor vifm-help.txt /*vifm-:sor*
vifm-:sort vifm-help.txt /*vifm-:sort*
vifm-:source vifm-help.txt /*vifm-:source*
vifm-:sp vifm-help.txt /*vifm-:sp*
vifm-:split vifm-help.txt /*vifm-:split*
vifm-:st vifm-help.txt /*vifm-:st*
vifm-:stop vifm-help.txt /*vifm-:stop*
vifm-:substitute vifm-help.txt /*vifm-:substitute*
vifm-:sync vifm-help.txt /*vifm-:sync*
vifm-:tabc vifm-help.txt /*vifm-:tabc*
vifm-:tabclose vifm-help.txt /*vifm-:tabclose*
vifm-:tabm vifm-help.txt /*vifm-:tabm*
vifm-:tabmove vifm-help.txt /*vifm-:tabmove*
vifm-:tabn vifm-help.txt /*vifm-:tabn*
vifm-:tabname vifm-help.txt /*vifm-:tabname*
vifm-:tabnew vifm-help.txt /*vifm-:tabnew*
vifm-:tabnext vifm-help.txt /*vifm-:tabnext*
vifm-:tabo vifm-help.txt /*vifm-:tabo*
vifm-:tabonly vifm-help.txt /*vifm-:tabonly*
vifm-:tabp vifm-help.txt /*vifm-:tabp*
vifm-:tabprevious vifm-help.txt /*vifm-:tabprevious*
vifm-:touch vifm-help.txt /*vifm-:touch*
vifm-:tr vifm-help.txt /*vifm-:tr*
vifm-:trashes vifm-help.txt /*vifm-:trashes*
vifm-:tree vifm-help.txt /*vifm-:tree*
vifm-:undol vifm-help.txt /*vifm-:undol*
vifm-:undolist vifm-help.txt /*vifm-:undolist*
vifm-:unl vifm-help.txt /*vifm-:unl*
vifm-:unlet vifm-help.txt /*vifm-:unlet*
vifm-:unm vifm-help.txt /*vifm-:unm*
vifm-:unmap vifm-help.txt /*vifm-:unmap*
vifm-:unselect vifm-help.txt /*vifm-:unselect*
vifm-:ve vifm-help.txt /*vifm-:ve*
vifm-:version vifm-help.txt /*vifm-:version*
vifm-:vie vifm-help.txt /*vifm-:vie*
vifm-:view vifm-help.txt /*vifm-:view*
vifm-:vifm vifm-help.txt /*vifm-:vifm*
vifm-:vm vifm-help.txt /*vifm-:vm*
vifm-:vmap vifm-help.txt /*vifm-:vmap*
vifm-:vn vifm-help.txt /*vifm-:vn*
vifm-:vnoremap vifm-help.txt /*vifm-:vnoremap*
vifm-:volume vifm-help.txt /*vifm-:volume*
vifm-:vs vifm-help.txt /*vifm-:vs*
vifm-:vsplit vifm-help.txt /*vifm-:vsplit*
vifm-:vu vifm-help.txt /*vifm-:vu*
vifm-:vunmap vifm-help.txt /*vifm-:vunmap*
vifm-:w vifm-help.txt /*vifm-:w*
vifm-:winc vifm-help.txt /*vifm-:winc*
vifm-:wincmd vifm-help.txt /*vifm-:wincmd*
vifm-:windo vifm-help.txt /*vifm-:windo*
vifm-:winrun vifm-help.txt /*vifm-:winrun*
vifm-:wq vifm-help.txt /*vifm-:wq*
vifm-:wqa vifm-help.txt /*vifm-:wqa*
vifm-:wqall vifm-help.txt /*vifm-:wqall*
vifm-:write vifm-help.txt /*vifm-:write*
vifm-:x vifm-help.txt /*vifm-:x*
vifm-:xa vifm-help.txt /*vifm-:xa*
vifm-:xall vifm-help.txt /*vifm-:xall*
vifm-:xit vifm-help.txt /*vifm-:xit*
vifm-:y vifm-help.txt /*vifm-:y*
vifm-:yank vifm-help.txt /*vifm-:yank*
vifm-; vifm-help.txt /*vifm-;*
vifm-= vifm-help.txt /*vifm-=*
vifm-? vifm-help.txt /*vifm-?*
vifm-C vifm-help.txt /*vifm-C*
vifm-CTRL-A vifm-help.txt /*vifm-CTRL-A*
vifm-CTRL-B vifm-help.txt /*vifm-CTRL-B*
vifm-CTRL-C vifm-help.txt /*vifm-CTRL-C*
vifm-CTRL-D vifm-help.txt /*vifm-CTRL-D*
vifm-CTRL-E vifm-help.txt /*vifm-CTRL-E*
vifm-CTRL-F vifm-help.txt /*vifm-CTRL-F*
vifm-CTRL-G vifm-help.txt /*vifm-CTRL-G*
vifm-CTRL-I vifm-help.txt /*vifm-CTRL-I*
vifm-CTRL-L vifm-help.txt /*vifm-CTRL-L*
vifm-CTRL-N vifm-help.txt /*vifm-CTRL-N*
vifm-CTRL-O vifm-help.txt /*vifm-CTRL-O*
vifm-CTRL-P vifm-help.txt /*vifm-CTRL-P*
vifm-CTRL-R vifm-help.txt /*vifm-CTRL-R*
vifm-CTRL-U vifm-help.txt /*vifm-CTRL-U*
vifm-CTRL-W_+ vifm-help.txt /*vifm-CTRL-W_+*
vifm-CTRL-W_- vifm-help.txt /*vifm-CTRL-W_-*
vifm-CTRL-W_< vifm-help.txt /*vifm-CTRL-W_<*
vifm-CTRL-W_= vifm-help.txt /*vifm-CTRL-W_=*
vifm-CTRL-W_> vifm-help.txt /*vifm-CTRL-W_>*
vifm-CTRL-W_H vifm-help.txt /*vifm-CTRL-W_H*
vifm-CTRL-W_J vifm-help.txt /*vifm-CTRL-W_J*
vifm-CTRL-W_K vifm-help.txt /*vifm-CTRL-W_K*
vifm-CTRL-W_L vifm-help.txt /*vifm-CTRL-W_L*
vifm-CTRL-W__ vifm-help.txt /*vifm-CTRL-W__*
vifm-CTRL-W_b vifm-help.txt /*vifm-CTRL-W_b*
vifm-CTRL-W_bar vifm-help.txt /*vifm-CTRL-W_bar*
vifm-CTRL-W_h vifm-help.txt /*vifm-CTRL-W_h*
vifm-CTRL-W_j vifm-help.txt /*vifm-CTRL-W_j*
vifm-CTRL-W_k vifm-help.txt /*vifm-CTRL-W_k*
vifm-CTRL-W_l vifm-help.txt /*vifm-CTRL-W_l*
vifm-CTRL-W_o vifm-help.txt /*vifm-CTRL-W_o*
vifm-CTRL-W_p vifm-help.txt /*vifm-CTRL-W_p*
vifm-CTRL-W_s vifm-help.txt /*vifm-CTRL-W_s*
vifm-CTRL-W_t vifm-help.txt /*vifm-CTRL-W_t*
vifm-CTRL-W_v vifm-help.txt /*vifm-CTRL-W_v*
vifm-CTRL-W_w vifm-help.txt /*vifm-CTRL-W_w*
vifm-CTRL-W_x vifm-help.txt /*vifm-CTRL-W_x*
vifm-CTRL-W_z vifm-help.txt /*vifm-CTRL-W_z*
vifm-CTRL-X vifm-help.txt /*vifm-CTRL-X*
vifm-CTRL-Y vifm-help.txt /*vifm-CTRL-Y*
vifm-D vifm-help.txt /*vifm-D*
vifm-DD vifm-help.txt /*vifm-DD*
vifm-Enter vifm-help.txt /*vifm-Enter*
vifm-Escape vifm-help.txt /*vifm-Escape*
vifm-F vifm-help.txt /*vifm-F*
vifm-FUSE_MOUNT vifm-help.txt /*vifm-FUSE_MOUNT*
vifm-FUSE_MOUNT2 vifm-help.txt /*vifm-FUSE_MOUNT2*
vifm-FUSE_MOUNT3 vifm-help.txt /*vifm-FUSE_MOUNT3*
vifm-G vifm-help.txt /*vifm-G*
vifm-H vifm-help.txt /*vifm-H*
vifm-L vifm-help.txt /*vifm-L*
vifm-M vifm-help.txt /*vifm-M*
vifm-N vifm-help.txt /*vifm-N*
vifm-P vifm-help.txt /*vifm-P*
vifm-PageDown vifm-help.txt /*vifm-PageDown*
vifm-PageUp vifm-help.txt /*vifm-PageUp*
vifm-SHIFT-Tab vifm-help.txt /*vifm-SHIFT-Tab*
vifm-Space vifm-help.txt /*vifm-Space*
vifm-Tab vifm-help.txt /*vifm-Tab*
vifm-V vifm-help.txt /*vifm-V*
vifm-Y vifm-help.txt /*vifm-Y*
vifm-ZQ vifm-help.txt /*vifm-ZQ*
vifm-ZZ vifm-help.txt /*vifm-ZZ*
vifm-[R vifm-help.txt /*vifm-[R*
vifm-[c vifm-help.txt /*vifm-[c*
vifm-[count] vifm-help.txt /*vifm-[count]*
vifm-[d vifm-help.txt /*vifm-[d*
vifm-[r vifm-help.txt /*vifm-[r*
vifm-[s vifm-help.txt /*vifm-[s*
vifm-[z vifm-help.txt /*vifm-[z*
vifm-]R vifm-help.txt /*vifm-]R*
vifm-]c vifm-help.txt /*vifm-]c*
vifm-]d vifm-help.txt /*vifm-]d*
vifm-]r vifm-help.txt /*vifm-]r*
vifm-]s vifm-help.txt /*vifm-]s*
vifm-]z vifm-help.txt /*vifm-]z*
vifm-^ vifm-help.txt /*vifm-^*
vifm-al vifm-help.txt /*vifm-al*
vifm-app.txt vifm-help.txt /*vifm-app.txt*
vifm-av vifm-help.txt /*vifm-av*
vifm-cW vifm-help.txt /*vifm-cW*
vifm-c_ALT-. vifm-help.txt /*vifm-c_ALT-.*
vifm-c_ALT-B vifm-help.txt /*vifm-c_ALT-B*
vifm-c_ALT-D vifm-help.txt /*vifm-c_ALT-D*
vifm-c_ALT-F vifm-help.txt /*vifm-c_ALT-F*
vifm-c_Backspace vifm-help.txt /*vifm-c_Backspace*
vifm-c_CTRL-A vifm-help.txt /*vifm-c_CTRL-A*
vifm-c_CTRL-B vifm-help.txt /*vifm-c_CTRL-B*
vifm-c_CTRL-C vifm-help.txt /*vifm-c_CTRL-C*
vifm-c_CTRL-D vifm-help.txt /*vifm-c_CTRL-D*
vifm-c_CTRL-E vifm-help.txt /*vifm-c_CTRL-E*
vifm-c_CTRL-F vifm-help.txt /*vifm-c_CTRL-F*
vifm-c_CTRL-G vifm-help.txt /*vifm-c_CTRL-G*
vifm-c_CTRL-H vifm-help.txt /*vifm-c_CTRL-H*
vifm-c_CTRL-I vifm-help.txt /*vifm-c_CTRL-I*
vifm-c_CTRL-K vifm-help.txt /*vifm-c_CTRL-K*
vifm-c_CTRL-M vifm-help.txt /*vifm-c_CTRL-M*
vifm-c_CTRL-N vifm-help.txt /*vifm-c_CTRL-N*
vifm-c_CTRL-P vifm-help.txt /*vifm-c_CTRL-P*
vifm-c_CTRL-R_= vifm-help.txt /*vifm-c_CTRL-R_=*
vifm-c_CTRL-T vifm-help.txt /*vifm-c_CTRL-T*
vifm-c_CTRL-U vifm-help.txt /*vifm-c_CTRL-U*
vifm-c_CTRL-W vifm-help.txt /*vifm-c_CTRL-W*
vifm-c_CTRL-X_/ vifm-help.txt /*vifm-c_CTRL-X_\/*
vifm-c_CTRL-X_= vifm-help.txt /*vifm-c_CTRL-X_=*
vifm-c_CTRL-X_CTRL-X_c vifm-help.txt /*vifm-c_CTRL-X_CTRL-X_c*
vifm-c_CTRL-X_CTRL-X_d vifm-help.txt /*vifm-c_CTRL-X_CTRL-X_d*
vifm-c_CTRL-X_CTRL-X_e vifm-help.txt /*vifm-c_CTRL-X_CTRL-X_e*
vifm-c_CTRL-X_CTRL-X_r vifm-help.txt /*vifm-c_CTRL-X_CTRL-X_r*
vifm-c_CTRL-X_CTRL-X_t vifm-help.txt /*vifm-c_CTRL-X_CTRL-X_t*
vifm-c_CTRL-X_a vifm-help.txt /*vifm-c_CTRL-X_a*
vifm-c_CTRL-X_c vifm-help.txt /*vifm-c_CTRL-X_c*
vifm-c_CTRL-X_d vifm-help.txt /*vifm-c_CTRL-X_d*
vifm-c_CTRL-X_e vifm-help.txt /*vifm-c_CTRL-X_e*
vifm-c_CTRL-X_m vifm-help.txt /*vifm-c_CTRL-X_m*
vifm-c_CTRL-X_r vifm-help.txt /*vifm-c_CTRL-X_r*
vifm-c_CTRL-X_t vifm-help.txt /*vifm-c_CTRL-X_t*
vifm-c_CTRL-] vifm-help.txt /*vifm-c_CTRL-]*
vifm-c_CTRL-_ vifm-help.txt /*vifm-c_CTRL-_*
vifm-c_Delete vifm-help.txt /*vifm-c_Delete*
vifm-c_Down vifm-help.txt /*vifm-c_Down*
vifm-c_End vifm-help.txt /*vifm-c_End*
vifm-c_Enter vifm-help.txt /*vifm-c_Enter*
vifm-c_Esc vifm-help.txt /*vifm-c_Esc*
vifm-c_Home vifm-help.txt /*vifm-c_Home*
vifm-c_Left vifm-help.txt /*vifm-c_Left*
vifm-c_Right vifm-help.txt /*vifm-c_Right*
vifm-c_SHIFT-Tab vifm-help.txt /*vifm-c_SHIFT-Tab*
vifm-c_Tab vifm-help.txt /*vifm-c_Tab*
vifm-c_Up vifm-help.txt /*vifm-c_Up*
vifm-cancellation vifm-help.txt /*vifm-cancellation*
vifm-cg vifm-help.txt /*vifm-cg*
vifm-chooseopt() vifm-help.txt /*vifm-chooseopt()*
vifm-cl vifm-help.txt /*vifm-cl*
vifm-clientserver vifm-help.txt /*vifm-clientserver*
vifm-co vifm-help.txt /*vifm-co*
vifm-color-schemes vifm-help.txt /*vifm-color-schemes*
vifm-colors vifm-help.txt /*vifm-colors*
vifm-column-view vifm-help.txt /*vifm-column-view*
vifm-command-line vifm-help.txt /*vifm-command-line*
vifm-command-line-edit vifm-help.txt /*vifm-command-line-edit*
vifm-commands vifm-help.txt /*vifm-commands*
vifm-commands-and-selection vifm-help.txt /*vifm-commands-and-selection*
vifm-commands-bg vifm-help.txt /*vifm-commands-bg*
vifm-compare-views vifm-help.txt /*vifm-compare-views*
vifm-configure vifm-help.txt /*vifm-configure*
vifm-count vifm-help.txt /*vifm-count*
vifm-count-variable vifm-help.txt /*vifm-count-variable*
vifm-count1-variable vifm-help.txt /*vifm-count1-variable*
vifm-cp vifm-help.txt /*vifm-cp*
vifm-cpo-f vifm-help.txt /*vifm-cpo-f*
vifm-cpo-s vifm-help.txt /*vifm-cpo-s*
vifm-cpo-t vifm-help.txt /*vifm-cpo-t*
vifm-custom-views vifm-help.txt /*vifm-custom-views*
vifm-cw vifm-help.txt /*vifm-cw*
vifm-d vifm-help.txt /*vifm-d*
vifm-dd vifm-help.txt /*vifm-dd*
vifm-do vifm-help.txt /*vifm-do*
vifm-dp vifm-help.txt /*vifm-dp*
vifm-e vifm-help.txt /*vifm-e*
vifm-env-vars vifm-help.txt /*vifm-env-vars*
vifm-executable() vifm-help.txt /*vifm-executable()*
vifm-expand() vifm-help.txt /*vifm-expand()*
vifm-expr-!= vifm-help.txt /*vifm-expr-!=*
vifm-expr-' vifm-help.txt /*vifm-expr-'*
vifm-expr-+ vifm-help.txt /*vifm-expr-+*
vifm-expr-- vifm-help.txt /*vifm-expr--*
vifm-expr-. vifm-help.txt /*vifm-expr-.*
vifm-expr-< vifm-help.txt /*vifm-expr-<*
vifm-expr-<= vifm-help.txt /*vifm-expr-<=*
vifm-expr-== vifm-help.txt /*vifm-expr-==*
vifm-expr-> vifm-help.txt /*vifm-expr->*
vifm-expr->= vifm-help.txt /*vifm-expr->=*
vifm-expr-env vifm-help.txt /*vifm-expr-env*
vifm-expr-function vifm-help.txt /*vifm-expr-function*
vifm-expr-nesting vifm-help.txt /*vifm-expr-nesting*
vifm-expr-number vifm-help.txt /*vifm-expr-number*
vifm-expr-option vifm-help.txt /*vifm-expr-option*
vifm-expr-quote vifm-help.txt /*vifm-expr-quote*
vifm-expr-string vifm-help.txt /*vifm-expr-string*
vifm-expr-unary-! vifm-help.txt /*vifm-expr-unary-!*
vifm-expr-unary-+ vifm-help.txt /*vifm-expr-unary-+*
vifm-expr-unary-- vifm-help.txt /*vifm-expr-unary--*
vifm-expr-variable vifm-help.txt /*vifm-expr-variable*
vifm-expr1 vifm-help.txt /*vifm-expr1*
vifm-expr2 vifm-help.txt /*vifm-expr2*
vifm-expr3 vifm-help.txt /*vifm-expr3*
vifm-expr4 vifm-help.txt /*vifm-expr4*
vifm-expr5 vifm-help.txt /*vifm-expr5*
vifm-expr6 vifm-help.txt /*vifm-expr6*
vifm-expr7 vifm-help.txt /*vifm-expr7*
vifm-expression-syntax vifm-help.txt /*vifm-expression-syntax*
vifm-ext-rename vifm-help.txt /*vifm-ext-rename*
vifm-extcached() vifm-help.txt /*vifm-extcached()*
vifm-f vifm-help.txt /*vifm-f*
vifm-filename-modifiers vifm-help.txt /*vifm-filename-modifiers*
vifm-filetype() vifm-help.txt /*vifm-filetype()*
vifm-filters vifm-help.txt /*vifm-filters*
vifm-fnameescape() vifm-help.txt /*vifm-fnameescape()*
vifm-functions vifm-help.txt /*vifm-functions*
vifm-fuse vifm-help.txt /*vifm-fuse*
vifm-gA vifm-help.txt /*vifm-gA*
vifm-gF vifm-help.txt /*vifm-gF*
vifm-gT vifm-help.txt /*vifm-gT*
vifm-gU vifm-help.txt /*vifm-gU*
vifm-gUU vifm-help.txt /*vifm-gUU*
vifm-gUgU vifm-help.txt /*vifm-gUgU*
vifm-ga vifm-help.txt /*vifm-ga*
vifm-general-keys vifm-help.txt /*vifm-general-keys*
vifm-getpanetype() vifm-help.txt /*vifm-getpanetype()*
vifm-gf vifm-help.txt /*vifm-gf*
vifm-gg vifm-help.txt /*vifm-gg*
vifm-gh vifm-help.txt /*vifm-gh*
vifm-gj vifm-help.txt /*vifm-gj*
vifm-gk vifm-help.txt /*vifm-gk*
vifm-gl vifm-help.txt /*vifm-gl*
vifm-globs vifm-help.txt /*vifm-globs*
vifm-gr vifm-help.txt /*vifm-gr*
vifm-gs vifm-help.txt /*vifm-gs*
vifm-gt vifm-help.txt /*vifm-gt*
vifm-gu vifm-help.txt /*vifm-gu*
vifm-gugu vifm-help.txt /*vifm-gugu*
vifm-guu vifm-help.txt /*vifm-guu*
vifm-gv vifm-help.txt /*vifm-gv*
vifm-h vifm-help.txt /*vifm-h*
vifm-has() vifm-help.txt /*vifm-has()*
vifm-i vifm-help.txt /*vifm-i*
vifm-j vifm-help.txt /*vifm-j*
vifm-jobcount-variable vifm-help.txt /*vifm-jobcount-variable*
vifm-k vifm-help.txt /*vifm-k*
vifm-l vifm-help.txt /*vifm-l*
vifm-layoutis() vifm-help.txt /*vifm-layoutis()*
vifm-literal-string vifm-help.txt /*vifm-literal-string*
vifm-local-options vifm-help.txt /*vifm-local-options*
vifm-ls-view vifm-help.txt /*vifm-ls-view*
vifm-m vifm-help.txt /*vifm-m*
vifm-m_/ vifm-help.txt /*vifm-m_\/*
vifm-m_: vifm-help.txt /*vifm-m_:*
vifm-m_:exi vifm-help.txt /*vifm-m_:exi*
vifm-m_:exit vifm-help.txt /*vifm-m_:exit*
vifm-m_:noh vifm-help.txt /*vifm-m_:noh*
vifm-m_:nohlsearch vifm-help.txt /*vifm-m_:nohlsearch*
vifm-m_:q vifm-help.txt /*vifm-m_:q*
vifm-m_:quit vifm-help.txt /*vifm-m_:quit*
vifm-m_:range vifm-help.txt /*vifm-m_:range*
vifm-m_:w vifm-help.txt /*vifm-m_:w*
vifm-m_:write vifm-help.txt /*vifm-m_:write*
vifm-m_:x vifm-help.txt /*vifm-m_:x*
vifm-m_:xit vifm-help.txt /*vifm-m_:xit*
vifm-m_? vifm-help.txt /*vifm-m_?*
vifm-m_B vifm-help.txt /*vifm-m_B*
vifm-m_CTRL-B vifm-help.txt /*vifm-m_CTRL-B*
vifm-m_CTRL-C vifm-help.txt /*vifm-m_CTRL-C*
vifm-m_CTRL-D vifm-help.txt /*vifm-m_CTRL-D*
vifm-m_CTRL-E vifm-help.txt /*vifm-m_CTRL-E*
vifm-m_CTRL-F vifm-help.txt /*vifm-m_CTRL-F*
vifm-m_CTRL-L vifm-help.txt /*vifm-m_CTRL-L*
vifm-m_CTRL-N vifm-help.txt /*vifm-m_CTRL-N*
vifm-m_CTRL-P vifm-help.txt /*vifm-m_CTRL-P*
vifm-m_CTRL-U vifm-help.txt /*vifm-m_CTRL-U*
vifm-m_CTRL-Y vifm-help.txt /*vifm-m_CTRL-Y*
vifm-m_Enter vifm-help.txt /*vifm-m_Enter*
vifm-m_Escape vifm-help.txt /*vifm-m_Escape*
vifm-m_G vifm-help.txt /*vifm-m_G*
vifm-m_H vifm-help.txt /*vifm-m_H*
vifm-m_L vifm-help.txt /*vifm-m_L*
vifm-m_M vifm-help.txt /*vifm-m_M*
vifm-m_N vifm-help.txt /*vifm-m_N*
vifm-m_ZQ vifm-help.txt /*vifm-m_ZQ*
vifm-m_ZZ vifm-help.txt /*vifm-m_ZZ*
vifm-m_b vifm-help.txt /*vifm-m_b*
vifm-m_c vifm-help.txt /*vifm-m_c*
vifm-m_e vifm-help.txt /*vifm-m_e*
vifm-m_gf vifm-help.txt /*vifm-m_gf*
vifm-m_gg vifm-help.txt /*vifm-m_gg*
vifm-m_j vifm-help.txt /*vifm-m_j*
vifm-m_k vifm-help.txt /*vifm-m_k*
vifm-m_l vifm-help.txt /*vifm-m_l*
vifm-m_n vifm-help.txt /*vifm-m_n*
vifm-m_q vifm-help.txt /*vifm-m_q*
vifm-m_v vifm-help.txt /*vifm-m_v*
vifm-m_zH vifm-help.txt /*vifm-m_zH*
vifm-m_zL vifm-help.txt /*vifm-m_zL*
vifm-m_zb vifm-help.txt /*vifm-m_zb*
vifm-m_zh vifm-help.txt /*vifm-m_zh*
vifm-m_zl vifm-help.txt /*vifm-m_zl*
vifm-m_zt vifm-help.txt /*vifm-m_zt*
vifm-m_zz vifm-help.txt /*vifm-m_zz*
vifm-macros vifm-help.txt /*vifm-macros*
vifm-mappings vifm-help.txt /*vifm-mappings*
vifm-menus-and-dialogs vifm-help.txt /*vifm-menus-and-dialogs*
vifm-more vifm-help.txt /*vifm-more*
vifm-n vifm-help.txt /*vifm-n*
vifm-normal vifm-help.txt /*vifm-normal*
vifm-options vifm-help.txt /*vifm-options*
vifm-p vifm-help.txt /*vifm-p*
vifm-pager vifm-help.txt /*vifm-pager*
vifm-paneisat() vifm-help.txt /*vifm-paneisat()*
vifm-patterns vifm-help.txt /*vifm-patterns*
vifm-plugin vifm-help.txt /*vifm-plugin*
vifm-q/ vifm-help.txt /*vifm-q\/*
vifm-q: vifm-help.txt /*vifm-q:*
vifm-q= vifm-help.txt /*vifm-q=*
vifm-q? vifm-help.txt /*vifm-q?*
vifm-q_% vifm-help.txt /*vifm-q_%*
vifm-q_/ vifm-help.txt /*vifm-q_\/*
vifm-q_< vifm-help.txt /*vifm-q_<*
vifm-q_> vifm-help.txt /*vifm-q_>*
vifm-q_? vifm-help.txt /*vifm-q_?*
vifm-q_A vifm-help.txt /*vifm-q_A*
vifm-q_ALT-< vifm-help.txt /*vifm-q_ALT-<*
vifm-q_ALT-> vifm-help.txt /*vifm-q_ALT->*
vifm-q_ALT-Space vifm-help.txt /*vifm-q_ALT-Space*
vifm-q_ALT-V vifm-help.txt /*vifm-q_ALT-V*
vifm-q_CTRL-B vifm-help.txt /*vifm-q_CTRL-B*
vifm-q_CTRL-D vifm-help.txt /*vifm-q_CTRL-D*
vifm-q_CTRL-E vifm-help.txt /*vifm-q_CTRL-E*
vifm-q_CTRL-F vifm-help.txt /*vifm-q_CTRL-F*
vifm-q_CTRL-K vifm-help.txt /*vifm-q_CTRL-K*
vifm-q_CTRL-L vifm-help.txt /*vifm-q_CTRL-L*
vifm-q_CTRL-N vifm-help.txt /*vifm-q_CTRL-N*
vifm-q_CTRL-P vifm-help.txt /*vifm-q_CTRL-P*
vifm-q_CTRL-R vifm-help.txt /*vifm-q_CTRL-R*
vifm-q_CTRL-U vifm-help.txt /*vifm-q_CTRL-U*
vifm-q_CTRL-V vifm-help.txt /*vifm-q_CTRL-V*
vifm-q_CTRL-Y vifm-help.txt /*vifm-q_CTRL-Y*
vifm-q_Enter vifm-help.txt /*vifm-q_Enter*
vifm-q_F vifm-help.txt /*vifm-q_F*
vifm-q_G vifm-help.txt /*vifm-q_G*
vifm-q_N vifm-help.txt /*vifm-q_N*
vifm-q_Q vifm-help.txt /*vifm-q_Q*
vifm-q_R vifm-help.txt /*vifm-q_R*
vifm-q_SHIFT-Tab vifm-help.txt /*vifm-q_SHIFT-Tab*
vifm-q_Space vifm-help.txt /*vifm-q_Space*
vifm-q_Tab vifm-help.txt /*vifm-q_Tab*
vifm-q_ZZ vifm-help.txt /*vifm-q_ZZ*
vifm-q_a vifm-help.txt /*vifm-q_a*
vifm-q_b vifm-help.txt /*vifm-q_b*
vifm-q_d vifm-help.txt /*vifm-q_d*
vifm-q_e vifm-help.txt /*vifm-q_e*
vifm-q_f vifm-help.txt /*vifm-q_f*
vifm-q_g vifm-help.txt /*vifm-q_g*
vifm-q_i vifm-help.txt /*vifm-q_i*
vifm-q_j vifm-help.txt /*vifm-q_j*
vifm-q_k vifm-help.txt /*vifm-q_k*
vifm-q_n vifm-help.txt /*vifm-q_n*
vifm-q_p vifm-help.txt /*vifm-q_p*
vifm-q_q vifm-help.txt /*vifm-q_q*
vifm-q_r vifm-help.txt /*vifm-q_r*
vifm-q_u vifm-help.txt /*vifm-q_u*
vifm-q_v vifm-help.txt /*vifm-q_v*
vifm-q_w vifm-help.txt /*vifm-q_w*
vifm-q_y vifm-help.txt /*vifm-q_y*
vifm-q_z vifm-help.txt /*vifm-q_z*
vifm-ranges vifm-help.txt /*vifm-ranges*
vifm-regexp vifm-help.txt /*vifm-regexp*
vifm-registers vifm-help.txt /*vifm-registers*
vifm-reserved vifm-help.txt /*vifm-reserved*
vifm-rl vifm-help.txt /*vifm-rl*
vifm-scripts vifm-help.txt /*vifm-scripts*
vifm-see-also vifm-help.txt /*vifm-see-also*
vifm-selection vifm-help.txt /*vifm-selection*
vifm-selectors vifm-help.txt /*vifm-selectors*
vifm-servername-variable vifm-help.txt /*vifm-servername-variable*
vifm-session-variable vifm-help.txt /*vifm-session-variable*
vifm-sessions vifm-help.txt /*vifm-sessions*
vifm-set-options vifm-help.txt /*vifm-set-options*
vifm-skip-param vifm-help.txt /*vifm-skip-param*
vifm-startup vifm-help.txt /*vifm-startup*
vifm-system() vifm-help.txt /*vifm-system()*
vifm-t vifm-help.txt /*vifm-t*
vifm-tabpagenr() vifm-help.txt /*vifm-tabpagenr()*
vifm-term() vifm-help.txt /*vifm-term()*
vifm-to-l vifm-help.txt /*vifm-to-l*
vifm-to-p vifm-help.txt /*vifm-to-p*
vifm-to-r vifm-help.txt /*vifm-to-r*
vifm-to-s vifm-help.txt /*vifm-to-s*
vifm-to-u vifm-help.txt /*vifm-to-u*
vifm-to-v vifm-help.txt /*vifm-to-v*
vifm-trash vifm-help.txt /*vifm-trash*
vifm-u vifm-help.txt /*vifm-u*
vifm-v vifm-help.txt /*vifm-v*
vifm-v:count vifm-help.txt /*vifm-v:count*
vifm-v:count1 vifm-help.txt /*vifm-v:count1*
vifm-v:jobcount vifm-help.txt /*vifm-v:jobcount*
vifm-v:servername vifm-help.txt /*vifm-v:servername*
vifm-v:session vifm-help.txt /*vifm-v:session*
vifm-v_: vifm-help.txt /*vifm-v_:*
vifm-v_CTRL-C vifm-help.txt /*vifm-v_CTRL-C*
vifm-v_CTRL-G vifm-help.txt /*vifm-v_CTRL-G*
vifm-v_Enter vifm-help.txt /*vifm-v_Enter*
vifm-v_Escape vifm-help.txt /*vifm-v_Escape*
vifm-v_O vifm-help.txt /*vifm-v_O*
vifm-v_U vifm-help.txt /*vifm-v_U*
vifm-v_V vifm-help.txt /*vifm-v_V*
vifm-v_av vifm-help.txt /*vifm-v_av*
vifm-v_cl vifm-help.txt /*vifm-v_cl*
vifm-v_cw vifm-help.txt /*vifm-v_cw*
vifm-v_gU vifm-help.txt /*vifm-v_gU*
vifm-v_gu vifm-help.txt /*vifm-v_gu*
vifm-v_gv vifm-help.txt /*vifm-v_gv*
vifm-v_o vifm-help.txt /*vifm-v_o*
vifm-v_u vifm-help.txt /*vifm-v_u*
vifm-v_v vifm-help.txt /*vifm-v_v*
vifm-view vifm-help.txt /*vifm-view*
vifm-view-look vifm-help.txt /*vifm-view-look*
vifm-vifminfo vifm-help.txt /*vifm-vifminfo*
vifm-vifmrc vifm-help.txt /*vifm-vifmrc*
vifm-visual vifm-help.txt /*vifm-visual*
vifm-y vifm-help.txt /*vifm-y*
vifm-yy vifm-help.txt /*vifm-yy*
vifm-zM vifm-help.txt /*vifm-zM*
vifm-zO vifm-help.txt /*vifm-zO*
vifm-zR vifm-help.txt /*vifm-zR*
vifm-za vifm-help.txt /*vifm-za*
vifm-zb vifm-help.txt /*vifm-zb*
vifm-zd vifm-help.txt /*vifm-zd*
vifm-zf vifm-help.txt /*vifm-zf*
vifm-zj vifm-help.txt /*vifm-zj*
vifm-zk vifm-help.txt /*vifm-zk*
vifm-zm vifm-help.txt /*vifm-zm*
vifm-zo vifm-help.txt /*vifm-zo*
vifm-zr vifm-help.txt /*vifm-zr*
vifm-zt vifm-help.txt /*vifm-zt*
vifm-zx vifm-help.txt /*vifm-zx*
vifm-zz vifm-help.txt /*vifm-zz*
vifm-{ vifm-help.txt /*vifm-{*
vifm-} vifm-help.txt /*vifm-}*

File diff suppressed because it is too large Load Diff

View File

@@ -1,372 +0,0 @@
"" VIFM Config file / 2023-03-16 / Jan Andrle
"" #region B Bookmarks
if !has('win')
:bmark! "~/" home
:bmark! "~/Stažené/" downloads
:bmark! "~/Dokumenty/" documents
:bmark! "~/Dokumenty/Projekty/" projects
:bmark! "~/Vzdálené/GitHub/" git github
:bmark! "~/Vzdálené/ftp/" ftp
:bmark! "~/Vzdálené/OneDrive" onedrive
:bmark! "~/.config/vifm/" vifm
:bmark! "~/.chatgpt/notes" chatgpt-notes
:bmark! "/media/jaandrle/" volumes
else
:bmark! "~/" home
:bmark! "C:/Projekty/" projects cordova
:bmark! "~/Documents/GitHub/" projects git github
:bmark! "y:/" qnap
:bmark! "y:/DHL/" qnap dhl
:bmark! "~/Downloads/" downloads
:bmark! "~/Downloads/FTPtemp/" ftp temp
:bmark! "~/AppData/Roaming/Vifm/" vifm
endif
mark b ~/bin/
mark h ~/
"" #endregion B
"" #region G General
" set vicmd=elvis\ -G\ termcap | " set vicmd=vile
set vicmd=vim
command! README :!vim ~/Dokumenty/GitHub/dotfiles/vifm/README.md
command! Help :!vim ~/.config/vifm/vifm-help.txt
map <f1> :Help<cr>
" cabbrev help Help
set vimhelp
if !has('win')
set fusehome=/tmp/vifm_FUSE
set slowfs=curlftpfs
endif
set syscalls norunexec
" Automatically resolve symbolic links on l or Enter.
set notrash
nmap dd :!trash %"f<cr>
nmap d? :exe "!clear && echo 'Native system trash (`trash-cli`): use `trash`|`trash-empty`|`trash-list`|`trash-put`|`trash-restore`|`trash-rm`' && trash-list | sort -r" | shell<cr>
set history=100 undolevels=100
" What should be saved automatically between vifm sessions. Drop "savedirs"
" value if you don't want vifm to remember last visited directories for you.
set vifminfo=dhistory,savedirs,chistory,state,tui,shistory,
\phistory,fhistory,dirstack,registers,bookmarks,bmarks
cmap  <c-b>
cmap  <c-f>
nmap ; :
nmap š <tab>
nnoremap <c-h> :history<cr>
nnoremap \= :filter !{}<left><left>
" Open console in current directory
if !has('win')
nnoremap Ot :!(exo-open --launch TerminalEmulator --working-directory %d > /dev/null 2>&1) &<cr>
nnoremap Ov :!(exo-open --launch TerminalEmulator --working-directory %d -- -e "vifm ." > /dev/null 2>&1) &<cr>
nnoremap OV :!vim<cr>
else
nnoremap Ot :!start "[Vifm] PowerShell %d" powershell.exe -c "powershell.exe -NoExit -Command Set-Location -LiteralPath '%d'"<cr>
endif
"" #endregion G
"" #region AD Apperance/Default
set quickview
command! SetView :view
set dotfiles
colorscheme codedark
set wildmenu wildstyle=popup
set suggestoptions=normal,visual,view,otherpane,keys,foldsubkeys,marks,registers
set ignorecase smartcase incsearch
set scrolloff=4
highlight User1 cterm=italic
set statusline=" %-E %-d %-A %1*»%-z«%* %= %{&sort} "
" hide side borders + use Unicode ellipsis
set tuioptions-=s
if $TERM != 'linux' | set tuioptions+=u | endif
" change appearance of middle border
" set fillchars=vborder:·
if has('win')
set columns=97
nnoremap <c-L>c :set columns=97<cr>
map <c-L>1 33<c-W>|
map <c-L>2 49<c-W>|
map <c-L>3 66<c-W>|
endif
"" #endregion AD
"" #region AT Apperance/Texts
" Use KiB, MiB, ... instead of KB, MB, ...
set noiec
set tabstop=2
set timefmt=%y-%m-%dT%H:%M
" Customize view columns a bit (enable ellipsis for truncated file names)
set viewcolumns=-{root}..,5.4{ext},-6{}
command! SetViewColumnsDefault :set viewcolumns=-{root}..,5.4{ext},-6{}
command! SetViewColumnsShort :set viewcolumns=-{name}..,{}
command! SetWrap :set wrap!
"" #endregion AT
"" #region AS Apperance/Sorting+Numbers
set sortnumbers sort=+iname
command! SetSortAll :sort
command! SetSort
\ :if &sort == '-size,+name'
\ | set sort=-mtime
\ | echo 'Sorted by modification date (from latest)'
\ |elseif &sort == '-size,+iname'
\ | set sort=-mtime
\ | echo 'Sorted by modification date (from latest)'
\ |elseif &sort == '+iname'
\ | set sort=-size
\ | echo 'Sorted by size'
\ |else
\ | set sort=+iname
\ | echo 'Sorted by name'
\ |endif
set number
command! SetNumber
\ :if &relativenumber
\ | set norelativenumber
\ | set number
\ | echo 'Numbers showned'
\ |elseif &number
\ | set nonumber
\ | echo 'No Numbers'
\ |else
\ | set relativenumber
\ | echo 'Relative numbers showned'
\ |endif
"" #endregion AS
"" #region C Commands
cnoremap <c-b> <a-b>
cnoremap <c-f> <a-f>
cnoremap <> <><left>
cnoremap () ()<left>
cnoremap {} {}<left>
cnoremap "" ""<left>
cnoremap '' ''<left>
" #region :com[mand][!] command_name action
" The following macros can be used in a command
" %a is replaced with the user arguments.
" %c the current file under the cursor.
" %C the current file under the cursor in the other directory.
" %f the current selected file, or files.
" %F the current selected file, or files in the other directory.
" %b same as %f %F.
" %d the current directory name.
" %D the other window directory name.
" %m run the command in a menu window
" #endregion
if has('win')
command! meld "C:\Program Files (x86)\Meld\Meld.exe" %"f %"F &
command! zipAll powershell Compress-Archive -Path %"c/* -CompressionLevel Fastest -DestinationPath %c:r.zip
command! isrunnig %m tasklist /FI "IMAGENAME eq %a" 2>NUL | find /I /N "%a"
else
command! onedrive xfce4-terminal -x bash -c 'echo Microsoft Onedrive Log:; onedrive --synchronize &
command! meld meld %"f %"F 2> /dev/null &
command! zipAll zip -r "%c:r.zip" ./*
command! terminal !(exo-open --launch TerminalEmulator > /dev/null 2>&1) &
nmap \t :terminal<cr>
endif
if !has('win')
command! volumes :cd /media/jaandrle/
endif
command! df df -h %m 2> /dev/null
command! diff vim -d %f %F
command! vim vim %"f
command! make !!make %a
command! mkcd :mkdir %a | cd %a
command! vgrep vim "+grep %a"
command! reload :write | restart
command! run !! ./%f
command! runGUI !! ./%f &
nmap or :runGUI<cr>
nmap oR :run<cr>
"" #endregion C
" #region F Filetypes
nnoremap ov :!vim %"f<cr>
nnoremap oo :file &<cr>l
nnoremap oO :file &<cr>/[#$]<cr>l
nnoremap on :file &<cr>/xdg-open<cr>l
" #region Farch Archives
if has('win')
fileviewer *.zip,*.jar,*.war,*.ear,*.oxt,
\*.docx,*.pptx,*.xmlx,*.epub
\ tar -tf %c
else
fileviewer *.zip,*.jar,*.war,*.ear,*.oxt,
\*.docx,*.pptx,*.xmlx,*.epub
\ zip -sf %c
endif
filetype *.zip,*.jar,*.war,*.ear,*.oxt,*.apkg,
\*.docx,*.pptx,*.xmlx,
\*.epub,*.eml
\ {Mount with fuse-zip}
\ FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR,
\ {View contents}
\ zip -sf %c | less,
\ {Extract here}
\ §extract %"f
filetype *.tar,*.tar.bz2,*.tbz2,*.tgz,*.tar.gz,*.tar.xz,*.txz
\ {Mount with archivemount}
\ FUSE_MOUNT|archivemount %SOURCE_FILE %DESTINATION_DIR,
\ {Extract here}
\ §extract %"f
fileviewer *.tgz,*.tar.gz tar -tzf %c
fileviewer *.tar.bz2,*.tbz2 tar -tjf %c
fileviewer *.tar.txz,*.txz xz --list %c
fileviewer *.tar tar -tf %c
filetype *.rar {Mount with rar2fs}
\ FUSE_MOUNT|rar2fs %SOURCE_FILE %DESTINATION_DIR,
\ {Extract here}
\ §extract %"f
fileviewer *.rar unrar v %c
filetype *.iso {Mount with fuseiso}
\ FUSE_MOUNT|fuseiso %SOURCE_FILE %DESTINATION_DIR,
\ {Extract here}
\ §extract %"f
filetype *.7z {Mount with fuse-7z}
\ FUSE_MOUNT|fuse-7z %SOURCE_FILE %DESTINATION_DIR,
\ {Extract here}
\ §extract %"f
fileviewer *.7z 7z l %c
" #endregion Farch
filetype *.ftp {Mount with curlftpfs}
\ FUSE_MOUNT2|curlftpfs -o disable_eprt %PARAM %DESTINATION_DIR %FOREGROUND %CLEAR,
"\ FUSE_MOUNT2|curlftpfs -o ftp_port=-,,disable_eprt %PARAM %DESTINATION_DIR %FOREGROUND %CLEAR,
filetype *.ssh {Mount with sshfs}
\ FUSE_MOUNT2|sshfs %PARAM %DESTINATION_DIR %FOREGROUND,
if has('win')
" filetype * start, explorer
filetype *
\ {File Explorer}
\ explorer %"c:p &,
\ {Total Commander}
\ "C:\Program Files (x86)\totalcmd\TOTALCMD.EXE" /O %"c:p &,
\ {Notepad++}
\ "C:\Program Files\Notepad++\notepad++.exe" %"c:p &
filextype *.txt {Open with Notepad} start notepad.exe %f
else
filetype * {Native Open} xdg-open > /dev/null 2>&1 &
endif
" #region Futils Utils (eg. hashs checks)
filetype *.torrent ktorrent %f &
fileviewer *.torrent dumptorrent -v %c
" Object
filetype *.o nm %f | less
" Man page
filetype *.[1-8] man ./%c
fileviewer *.[1-8] man ./%c | col -b
" MD5 SHA1 SHA256 SHA512 GPG signature
filetype *.md5 {Check MD5 hash sum}
\ md5sum -c %f %S,
filetype *.sha1 {Check SHA1 hash sum}
\ sha1sum -c %f %S,
filetype *.sha256 {Check SHA256 hash sum}
\ sha256sum -c %f %S,
filetype *.sha512 {Check SHA512 hash sum}
\ sha512sum -c %f %S,
filetype *.asc {Check signature}
\ !!gpg --verify %c,
" #endregion Futils
" #region FmediaBin
if has('win')
fileviewer
\*.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm,
\*.exe,*.epub,*.doc,*.docx
\*.wav,*.mp3,*.flac,*.m4a,*.wma,*.ape,*.ac3,*.og[agx],*.spx,*.opus,
\*.avi,*.mp4,*.wmv,*.dat,*.3gp,*.ogv,*.mkv,*.mpg,*.mpeg,*.vob,
\*.fl[icv],*.m2v,*.mov,*.webm,*.ts,*.mts,*.m4v,*.r[am],*.qt,*.divx,
\*.as[fx]
" \ powershell New-Object System.IO.FileInfo(\"%c:p\")
\ forfiles /M %"c /C "cmd /c (echo @path && echo . . . && echo Last modification: @fdate @ftime)" && echo . . . && type %"c
else
fileviewer
\*.bmp,*.jpg,*.jpeg,*.png,*.gif,*.xpm,
\ env -u COLORTERM viu %"c -w %pw -t &&
\ echo $(file -b %f)
\ %pc
fileviewer
\*.exe,*.doc,
\*.svg,
\ echo $(file -b %f) && echo — && echo $(ls -lh %f)&& echo — && echo $(head %f | tr -d '\0')
fileviewer *.pdf pdftotext -nopgbrk %c -
fileviewer <video/*>,<audio/*> mediainfo %c
endif
" #endregion FmediaBin
fileviewer .*/,*/ tree %c -L 3 -C &
fileviewer ../ tree %c -L 1 -C &
fileviewer *.js,*.mjs,*.ts,*.sh,
\*.css,*.scss,
\*.php,
\*.md,*.html,
\*.json,*.xml
\ env -uCOLORTERM batcat --color always --theme 'Visual Studio Dark+' --wrap never --pager never --tabs 2 %c -p
fileviewer <text/x-*>,<application/*> env -uCOLORTERM batcat --color always --theme 'Visual Studio Dark+' --wrap never --pager never --tabs 2 %c -p
" #endregion F
" #region S sS keys
nnoremap sf :file &
nnoremap sjj :cd ./
nnoremap sjh :cd ~/
nnoremap sjg :cd ~/Vzdálené/GitHub/
nnoremap sjp :cd ~/Dokumenty/Projekty/
nnoremap sb :bmg
nnoremap sS :Set
nnoremap SS :<up><cr>
" #endregion S
" #region Y Copy files/names/…
nmap ycc :clone <cr>
" copy/move files to the opposite pane
nmap yp :copy <cr>
nmap yP :move <cr>
" Interaction with system clipboard (yank directory path/curr.file path/filename)
if has('win')
nnoremap ycp :!echo %"d:gs!\!/! %i | clip<cr>:echo expand('%"d') "is yanked to clipboard"<cr>
nnoremap ycf :!echo %"c:gs!\!/! %i | clip<cr>:echo expand('%"c:p') "is yanked to clipboard"<cr>
nnoremap ycn :!echo %"c %i | clip<cr>:echo expand('%"c') "is yanked to clipboard"<cr>
elseif executable('xclip')
nnoremap ycd :!echo -n %d | xclip -selection clipboard %i<cr>:echo expand('%"d') "is yanked to clipboard"<cr>
nnoremap ycf :!echo -n %c:p | xclip -selection clipboard %i<cr>:echo expand('%"c:p') "is yanked to clipboard"<cr>
nnoremap ycn :!echo -n %c | xclip -selection clipboard %i<cr>:echo expand('%"c') "is yanked to clipboard"<cr>
elseif executable('xsel')
nnoremap ycd :!echo -n %d | xsel --input --primary %i && echo -n %d | xsel --clipboard --input %i<cr>:echo expand('%"d') "is yanked to clipboard"<cr>
nnoremap ycf :!echo -n %c:p | xsel --input --primary %i && echo -n %c:p | xsel --clipboard --input %i<cr>:echo expand('%"c:p') "is yanked to clipboard"<cr>
nnoremap ycn :!echo -n %c | xsel --input --primary %i && echo -n %c | xsel --clipboard --input %i<cr>:echo expand('%"c') "is yanked to clipboard"<cr>
endif
" #endregion Y
"" #region N Notes
"Filter-out build and temporary files
" windo filter! /^.*\.(lo|o|d|class|py[co])$|.*~$/
" Example of standard two-panel file managers mappings
" nnoremap <f3> :!less %f<cr>
" nnoremap <f4> :edit<cr>
" nnoremap <f5> :copy<cr>
" nnoremap <f6> :move<cr>
" nnoremap <f7> :mkdir<space>
" nnoremap <f8> :delete<cr>
" ------------------------------------------------------------------------------
" Various customization examples
" Use ag (the silver searcher) instead of grep
"
" set grepprg=ag\ --line-numbers\ %i\ %a\ %s
" Add additional place to look for executables
"
" let $PATH = $HOME.'/bin/fuse:'.$PATH
" Block particular shortcut
"
" nnoremap <left> <nop>
" Export IPC name of current instance as environment variable and use it to
" communicate with the instance later.
"
" It can be used in some shell script that gets run from inside vifm, for
" example, like this:
" vifm --server-name "$VIFM_SERVER_NAME" --remote +"cd '$PWD'"
"
" let $VIFM_SERVER_NAME = v:servername
" #endregion N
" vim: set filetype=vifm tabstop=4 shiftwidth=4 textwidth=250 noexpandtab :
" vim>60: set foldmethod=marker foldmarker=#region,#endregion :

View File

@@ -1,4 +0,0 @@
keymap:
- name: Ctrl+tab alias
remap:
C-KEY_KPSLASH: C-KEY_TAB

50
.ctags
View File

@@ -1,51 +1,5 @@
--exclude="*/node_modules/*"
--exclude=*.min.js
--exclude=*.min.css
--exclude=*.map
--exclude=.backup
--exclude=.sass-cache
--exclude=vendors
--exclude=.git
--langdef=css
--langmap=css:.css
--langmap=css:+.styl
--langmap=css:+.less
--regex-css=/^[ \t]*\.([A-Za-z0-9_-]+)/\1/c,class,classes/
--regex-css=/^[ \t]*#([A-Za-z0-9_-]+)/\1/i,id,ids/
--regex-css=/^[ \t]*(([A-Za-z0-9_-]+[ \t\n,]+)+)\{/\1/t,tag,tags/
--regex-css=/^[ \t]*@media\s+([A-Za-z0-9_-]+)/\1/m,media,medias/
--langdef=scss
--langmap=scss:.sass
--langmap=scss:+.scss
--regex-scss=/^[ \t]*@mixin ([A-Za-z0-9_-]+)/\1/m,mixin,mixins/
--regex-scss=/^[ \t]*@function ([A-Za-z0-9_-]+)/\1/f,function,functions/
--regex-scss=/^[ \t]*\$([A-Za-z0-9_-]+)/\1/v,variable,variables/
--regex-scss=/^([A-Za-z0-9_-]*)*\.([A-Za-z0-9_-]+) *[,{]/\2/c,class,classes/
--regex-scss=/^[ \t]+\.([A-Za-z0-9_-]+) *[,{]/\1/c,class,classes/
--regex-scss=/^(.*)*\#([A-Za-z0-9_-]+) *[,{]/\2/i,id,ids/
--regex-scss=/^[ \t]*#([A-Za-z0-9_-]+)/\1/i,id,ids/
--regex-scss=/(^([A-Za-z0-9_-])*([A-Za-z0-9_-]+)) *[,|\{]/\1/t,tag,tags/
--regex-scss=/(^([^\/\/])*)[ \t]+([A-Za-z0-9_-]+)) *[,|\{]/\3/t,tag,tags/
--regex-scss=/(^(.*, *)([A-Za-z0-9_-]+)) *[,|\{]/\3/t,tag,tags/
--regex-scss=/(^[ \t]+([A-Za-z0-9_-]+)) *[,|\{]/\1/t,tag,tags/
--regex-scss=/^[ \t]*@media\s+([A-Za-z0-9_-]+)/\1/d,media,media/
--langdef=stylus
--langmap=stylus:.styl
--regex-stylus=/^[ \t]*\.([A-Za-z0-9_-]+)/\1/c,class,classes/
--regex-stylus=/^[ \t]*#([A-Za-z0-9_-]+)/\1/i,id,ids/
--regex-stylus=/^[ \t]*(([A-Za-z0-9_-]+[ \t\n,]+)+)\{/\1/t,tag,tags/
--regex-stylus=/^[ \t]*@media\s+([A-Za-z0-9_-]+)/\1/m,media,medias/
--langdef=markdown
--langmap=markdown:.md
--regex-markdown=/^# (<.*>)?(.+)/\2/i,h1/
--regex-markdown=/^## (<.*>)?(.+)/\2/i,h2/
--regex-markdown=/^### (<.*>)?(.+)/\2/i,h3/
--langdef=js
--exclude=node_modules
--exclude=gulp
--langmap=javascript:.js.es6.es.jsx.mjs
--javascript-kinds=-c-f-m-p-v

76
.gitconfig Normal file
View File

@@ -0,0 +1,76 @@
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[user]
name = Jan Andrle
email = andrle.jan@centrum.cz
# signingkey = B3A25AED155AFFAB
[credential]
# see https://stackoverflow.com/questions/5343068/is-there-a-way-to-cache-https-credentials-for-pushing-commits/18362082#18362082
helper = /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
[alias]
# * replaced by git-extras
aliases = !git config -l | grep ^alias | cut -c 7- | sort # List all aliases. Stolen from here: https://twitter.com/TrevorBramble/status/774292970681937920
checkout-default= !git checkout `git branch-default`
checkout-default--= !git checkout-default && git branch --delete @{-1} --verbose
branch-default = !git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@'
branches = for-each-ref --sort=-committerdate refs --format=\"%(authordate:iso8601)\t%(color:blue)%(refname:short)%(HEAD)\t%(if:notequals="")%(upstream:short)%(then)→ %(upstream:short)%(color:reset)%(else)%(color:yellow)%(objectname:short)%(color:reset)\t%(contents:subject)%(end)\"
tags = tag -l --sort=-creatordate --format='%(refname:short): [%(creatordate:short)] %(subject)'
# * authors: log-authors = shortlog -ns
log-list = log --color --graph --pretty=format:'%Cred%h%Creset %Cgreen[%ad] -%C(yellow)%d%Creset %s %C(bold blue)<%an>%Creset'
log-list-nocolors = log --graph --pretty=format:'%h [%ad] -%d %s <%an>'
status--= !git fetch && git status && echo && echo Commits unpushed: && git log @{push}..HEAD && echo
commit--= !clear && git status -sb | grep -v -e '^ M' & git commit --interactive -v
stashpush = !git stash && git pull && git push && git stash pop
unstage = reset HEAD --
undoall = reset --soft HEAD^
diff-dirs = diff --dirstat --find-copies --find-renames --histogram --color
status-submodule = !git submodule --quiet foreach 'git fetch' && git submodule foreach 'git status && echo'
# * delete-submodule: rm-submodule = !git submodule deinit -f $1 && rm -rf .git/modules/$1 && git rm -rf $1
update-submodule = submodule update --remote --merge
pull-submodule = submodule foreach 'git pull'
diff-submodule = submodule foreach 'git diff'
set-upstream = !git branch --set-upstream-to=origin/`git symbolic-ref --short HEAD`
push-new=!git push -u origin `git rev-parse --abbrev-ref HEAD`
[core]
editor = vim
pager = delta
whitespace = -trailing-space,-space-before-tab
[diff]
tool = vimdiff
colorMoved = default
[merge]
tool = vimdiff
conflictstyle = diff3
[log]
date=iso
[interactive]
diffFilter = delta --color-only
[delta] # [dandavison/delta: A syntax-highlighting pager for git, diff, and grep output](https://github.com/dandavison/delta)
syntax-theme= Visual Studio Dark+
navigate = true
side-by-side = true
line-numbers = true
[gc]
reflogExpire = 200
reflogExpireUnreachable = 90
[push]
autoSetupRemote = true
[init]
defaultBranch = main
[commit]
# gpgsign = true
[rerere]
enabled = 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
[credential "https://git.dhl.com"]
helper =
helper = !/usr/bin/gh auth git-credential
[maintenance]

4
.gitmodules vendored
View File

@@ -1,4 +0,0 @@
[submodule ".bash/complete-alias"]
path = .bash/complete-alias
url = git@github.com:cykerway/complete-alias.git
branch = master

View File

@@ -8,7 +8,7 @@ set keymap vi-insert
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)
# aka set wildmode=longest:full:list,full
TAB: menu-complete
"\e[Z": menu-complete-backward
set show-all-if-ambiguous on
@@ -17,8 +17,7 @@ set menu-complete-display-prefix on
"\e[A":history-search-backward
"\e[B":history-search-forward
# shift+enter
"OM": history-and-alias-expand-line
"\e\C-e": history-and-alias-expand-line
set colored-stats On

View File

@@ -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

View File

@@ -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

View File

@@ -1,907 +0,0 @@
# bin — My helpers scritps/executable
## uu
- [./uu](./uu)
- [~/.config/uurc](../../.config/uurc)
## asciinema, asciinema-agg
plays/records terminal commands (agg cast→gif)
## Lists executables via `npm`, `pip`, …
<details>
<summary>brew</summary>
```
#region brew list --installed-on-request
act
azure-functions-core-tools@4
bash-completion
docker-compose
fabric-ai
pastel
pipx
podman
podman-compose
sc-im
silicon
viu
yt-dlp
#endregion
```
</details>
<details>
<summary>NPM executables</summary>
```
#region >_:npm ls --location global
/home/jaandrle/.nvm/versions/node/v22.17.1/lib
├── @abhagsain/ai-cli@1.3.0
├── @anthropic-ai/claude-code@1.0.62
├── @bitwarden/cli@2025.6.1
├── @google/gemini-cli@0.1.22
├── @openai/codex@0.10.0
├── aipick@1.0.2
├── azurite@3.34.0
├── bs@0.8.2 -> ./../../../../../Vzdálené/GitHub/bs-repo
├── catage@1.1.3
├── chrome-remote-interface@0.33.3
├── cordova-res@0.15.4
├── cordova@12.0.0
├── corepack@0.34.0
├── cssmodules-language-server@1.5.1
├── eslint@9.32.0
├── jshint@2.13.6
├── json-server@1.0.0-beta.3
├── mdexpr-agenda@0.6.0 -> ./../../../../../Vzdálené/GitHub/mdexpr-agenda
├── nodejsscript@1.0.3 -> ./../../../../../Vzdálené/GitHub/nodejsscript
├── npm@11.5.1
├── typescript@5.8.3
└── vscode-langservers-extracted@4.10.0
#endregion
```
</details>
<details>
<summary>APT</summary>
```
#region apt list '~i !~M !~E !(~npython3-*|~slib|~nx11-*|~nxserver-*|~ntuxedo-*)'
7zip/noble,now 23.01+dfsg-11 amd64 [instalovaný]
accounts-qml-module-doc/tuxedo,tuxedo,now 0.7+git20231028.05e79eb-6~tux1 all [instalovaný]
accountsservice/noble,now 23.13.9-2ubuntu6 amd64 [instalovaný]
acl/noble-updates,now 2.3.2-1build1.1 amd64 [instalovaný]
acpi-support/now 0.144 amd64 [instalovaný,lokální]
acpica-tools/noble,now 20230628-1 amd64 [instalovaný]
acpid/noble,now 1:2.0.34-1ubuntu2 amd64 [instalovaný]
adduser/noble,noble,now 3.137ubuntu1 all [instalovaný]
adwaita-icon-theme/noble,noble,now 46.0-1 all [instalovaný]
adwaita-qt/noble,now 1.4.2-3build4 amd64 [instalovaný]
aha/noble,now 0.5.1-3build1 amd64 [instalovaný]
alsa-base/noble,noble,now 1.0.25+dfsg-0ubuntu7 all [instalovaný]
alsa-utils/noble,now 1.2.9-1ubuntu5 amd64 [instalovaný]
amd64-microcode/noble-updates,noble-security,now 3.20250311.1ubuntu0.24.04.1 amd64 [instalovaný]
anacron/noble,now 2.3-39ubuntu2 amd64 [instalovaný]
apparmor-utils/noble-updates,noble-updates,now 4.0.1really4.0.1-0ubuntu0.24.04.4 all [instalovaný]
appstream/tuxedo,now 1.0.4-1~tux1 amd64 [instalovaný]
apt-config-icons-hidpi/tuxedo,tuxedo,now 1.0.4-1~tux1 all [instalovaný]
apt-config-icons-large-hidpi/tuxedo,tuxedo,now 1.0.4-1~tux1 all [instalovaný]
apt-config-icons-large/tuxedo,tuxedo,now 1.0.4-1~tux1 all [instalovaný]
apt-config-icons/tuxedo,tuxedo,now 1.0.4-1~tux1 all [instalovaný]
apt-file/noble,noble,now 3.3 all [instalovaný]
apt-transport-https/noble-updates,noble-updates,now 2.8.3 all [instalovaný]
apt-utils/noble-updates,now 2.8.3 amd64 [instalovaný]
apt-xapian-index/noble,noble,now 0.54ubuntu1 all [instalovaný]
aptitude-common/noble,noble,now 0.8.13-5ubuntu5 all [instalovaný]
aptitude/noble,now 0.8.13-5ubuntu5 amd64 [instalovaný]
ark/tuxedo,now 4:24.12.3-1ubuntu1~tux1 amd64 [instalovaný]
aspell-de/noble,noble,now 20161207-12 all [instalovaný]
aspell-en/noble,noble,now 2020.12.07-0-1 all [instalovaný]
aspell/noble,now 0.60.8.1-1build1 amd64 [instalovaný]
at-spi2-common/noble,noble,now 2.52.0-1build1 all [instalovaný]
at-spi2-core/noble,now 2.52.0-1build1 amd64 [instalovaný]
attr/noble-updates,now 1:2.5.2-1build1.1 amd64 [instalovaný]
avahi-autoipd/noble,now 0.8-13ubuntu6 amd64 [instalovaný]
avahi-daemon/noble,now 0.8-13ubuntu6 amd64 [instalovaný]
avahi-utils/noble,now 0.8-13ubuntu6 amd64 [instalovaný]
backintime-qt/noble,noble,now 1.4.3-1 all [instalovaný]
bash-completion/noble,noble,now 1:2.11-8 all [instalovaný]
bat/noble,now 0.24.0-1build1 amd64 [instalovaný]
bc/noble,now 1.07.1-3ubuntu4 amd64 [instalovaný]
bind9-dnsutils/noble-updates,noble-security,now 1:9.18.30-0ubuntu0.24.04.2 amd64 [instalovaný]
bind9-host/noble-updates,noble-security,now 1:9.18.30-0ubuntu0.24.04.2 amd64 [instalovaný]
binutils-common/noble-updates,noble-security,now 2.42-4ubuntu2.5 amd64 [instalovaný]
binutils-x86-64-linux-gnu/noble-updates,noble-security,now 2.42-4ubuntu2.5 amd64 [instalovaný]
binutils/noble-updates,noble-security,now 2.42-4ubuntu2.5 amd64 [instalovaný]
bluedevil/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
bluetooth/tuxedo,tuxedo,now 5.82-1tux1 all [instalovaný]
bluez-cups/tuxedo,now 5.82-1tux1 amd64 [instalovaný]
bluez-obexd/tuxedo,now 5.82-1tux1 amd64 [instalovaný]
bluez/tuxedo,now 5.82-1tux1 amd64 [instalovaný]
bolt/noble,now 0.9.7-1 amd64 [instalovaný]
bpfcc-tools/noble,noble,now 0.29.1+ds-1ubuntu7 all [instalovaný]
bpftrace/noble-updates,now 0.20.2-1ubuntu4.3 amd64 [instalovaný]
breeze-cursor-theme/tuxedo,tuxedo,now 4:6.3.5-0ubuntu1~tux1 all [instalovaný]
breeze-gtk-theme/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
breeze/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
bsdextrautils/noble-updates,now 2.39.3-9ubuntu6.3 amd64 [instalovaný]
btrfs-progs/noble,now 6.6.3-1.1build2 amd64 [instalovaný]
bubblewrap/noble-updates,noble-security,now 0.9.0-1ubuntu0.1 amd64 [instalovaný]
build-essential/noble,now 12.10ubuntu1 amd64 [instalovaný]
bup-doc/noble,noble,now 0.33.3-1build2 all [instalovaný]
bup/noble,now 0.33.3-1build2 amd64 [instalovaný]
bzip2/noble-updates,now 1.0.8-5.1build0.1 amd64 [instalovaný]
ca-certificates/noble,noble,now 20240203 all [instalovaný]
caca-utils/noble,now 0.99.beta20-4build2 amd64 [instalovaný]
cargo/noble-updates,now 1.75.0+dfsg0ubuntu1-0ubuntu7.1 amd64 [instalovaný]
catdoc/noble,now 1:0.95-5build1 amd64 [instalovaný]
cdrdao/noble,now 1:1.2.4-3build1 amd64 [instalovaný]
chafa/noble,now 1.14.0-1.1build1 amd64 [instalovaný]
cifs-utils/noble-updates,noble-security,now 2:7.0-2ubuntu0.2 amd64 [instalovaný]
clinfo/noble,now 3.0.23.01.25-1build1 amd64 [instalovaný]
cmake/tuxedo,now 3.31.6-1ubuntu1~tux1 amd64 [instalovaný]
code/stable,now 1.103.2-1755709794 amd64 [instalovaný]
colord-data/noble,noble,now 1.4.7-1build2 all [instalovaný]
colord/noble,now 1.4.7-1build2 amd64 [instalovaný]
command-not-found/noble,noble,now 23.04.0 all [instalovaný]
console-data/noble,noble,now 2:1.12-9 all [instalovaný]
console-setup-linux/noble,noble,now 1.226ubuntu1 all [instalovaný]
console-setup/noble,noble,now 1.226ubuntu1 all [instalovaný]
containerd.io/noble,now 1.7.27-1 amd64 [instalovaný]
cpio/noble,now 2.15+dfsg-1ubuntu2 amd64 [instalovaný]
cpp-13-x86-64-linux-gnu/noble-updates,noble-security,now 13.3.0-6ubuntu2~24.04 amd64 [instalovaný]
cpp-13/noble-updates,noble-security,now 13.3.0-6ubuntu2~24.04 amd64 [instalovaný]
cpp-x86-64-linux-gnu/noble,now 4:13.2.0-7ubuntu1 amd64 [instalovaný]
cpp/noble,now 4:13.2.0-7ubuntu1 amd64 [instalovaný]
cpufrequtils/noble,now 008-2build2 amd64 [instalovaný]
cpuid/noble,now 20240330-1ubuntu2 amd64 [instalovaný]
cracklib-runtime/noble,now 2.9.6-5.1build2 amd64 [instalovaný]
cron-daemon-common/noble,noble,now 3.0pl1-184ubuntu2 all [instalovaný]
cron/noble,now 3.0pl1-184ubuntu2 amd64 [instalovaný]
cryfs/noble,now 0.11.4-1build5 amd64 [instalovaný]
cryptmount/noble,now 6.2.0-2 amd64 [instalovaný]
cryptsetup-bin/noble-updates,now 2:2.7.0-1ubuntu4.2 amd64 [instalovaný]
cryptsetup-initramfs/noble-updates,noble-updates,now 2:2.7.0-1ubuntu4.2 all [instalovaný]
cryptsetup/noble-updates,now 2:2.7.0-1ubuntu4.2 amd64 [instalovaný]
cups-browsed/noble-updates,now 2.0.0-0ubuntu10.3 amd64 [instalovaný]
cups-bsd/noble-updates,noble-security,now 2.4.7-1.2ubuntu7.3 amd64 [instalovaný]
cups-client/noble-updates,noble-security,now 2.4.7-1.2ubuntu7.3 amd64 [instalovaný]
cups-common/noble-updates,noble-updates,noble-security,noble-security,now 2.4.7-1.2ubuntu7.3 all [instalovaný]
cups-core-drivers/noble-updates,noble-security,now 2.4.7-1.2ubuntu7.3 amd64 [instalovaný]
cups-daemon/noble-updates,noble-security,now 2.4.7-1.2ubuntu7.3 amd64 [instalovaný]
cups-filters-core-drivers/noble,now 2.0.0-0ubuntu4 amd64 [instalovaný]
cups-filters/noble,now 2.0.0-0ubuntu4 amd64 [instalovaný]
cups-ipp-utils/noble-updates,noble-security,now 2.4.7-1.2ubuntu7.3 amd64 [instalovaný]
cups-pk-helper/noble,now 0.2.6-1ubuntu8 amd64 [instalovaný]
cups-ppdc/noble-updates,noble-security,now 2.4.7-1.2ubuntu7.3 amd64 [instalovaný]
cups-server-common/noble-updates,noble-updates,noble-security,noble-security,now 2.4.7-1.2ubuntu7.3 all [instalovaný]
cups/noble-updates,noble-security,now 2.4.7-1.2ubuntu7.3 amd64 [instalovaný]
curl/noble-updates,noble-security,now 8.5.0-2ubuntu10.6 amd64 [instalovaný]
curlftpfs/now 0.9.2-9build1 amd64 [instalovaný,lokální]
dbus-bin/noble-updates,now 1.14.10-4ubuntu4.1 amd64 [instalovaný]
dbus-daemon/noble-updates,now 1.14.10-4ubuntu4.1 amd64 [instalovaný]
dbus-session-bus-common/noble-updates,noble-updates,now 1.14.10-4ubuntu4.1 all [instalovaný]
dbus-system-bus-common/noble-updates,noble-updates,now 1.14.10-4ubuntu4.1 all [instalovaný]
dbus-user-session/noble-updates,now 1.14.10-4ubuntu4.1 amd64 [instalovaný]
dbus/noble-updates,now 1.14.10-4ubuntu4.1 amd64 [instalovaný]
dc/noble,now 1.07.1-3ubuntu4 amd64 [instalovaný]
dconf-cli/noble,now 0.40.0-4build2 amd64 [instalovaný]
debconf-i18n/noble,noble,now 1.5.86ubuntu1 all [instalovaný]
debconf-kde-data/noble,noble,now 1.1.0-1build3 all [instalovaný]
debconf-kde-helper/noble,now 1.1.0-1build3 amd64 [instalovaný]
debconf/noble,noble,now 1.5.86ubuntu1 all [instalovaný]
debhelper/noble,noble,now 13.14.1ubuntu5 all [instalovaný]
desktop-file-utils/noble,now 0.27-2build1 amd64 [instalovaný]
devscripts/noble,noble,now 2.23.7 all [instalovaný]
dhcpcd-base/noble-updates,now 1:10.0.6-1ubuntu3.1 amd64 [instalovaný]
dialog/noble,now 1.3-20240101-1 amd64 [instalovaný]
dict/noble,now 1.13.1+dfsg-1build1 amd64 [instalovaný]
dictionaries-common/noble,noble,now 1.29.7 all [instalovaný]
dirmngr/noble-updates,noble-security,now 2.4.4-2ubuntu17.3 amd64 [instalovaný]
distro-defaults/tuxedo,now 4.1.4~tux1 amd64 [instalovaný]
distro-info-data/noble-updates,noble-updates,now 0.60ubuntu0.3 all [instalovaný]
distro-info/noble,now 1.7build1 amd64 [instalovaný]
dkms/noble,noble,now 3.0.11-1ubuntu13 all [instalovaný]
dmeventd/noble-updates,now 2:1.02.185-3ubuntu3.2 amd64 [instalovaný]
dmidecode/noble-updates,now 3.5-3ubuntu0.1 amd64 [instalovaný]
dmsetup/noble-updates,now 2:1.02.185-3ubuntu3.2 amd64 [instalovaný]
dns-root-data/noble-updates,noble-updates,now 2024071801~ubuntu0.24.04.1 all [instalovaný]
dnsmasq-base/noble-updates,now 2.90-2ubuntu0.1 amd64 [instalovaný]
dnsutils/noble-updates,noble-updates,noble-security,noble-security,now 1:9.18.30-0ubuntu0.24.04.2 all [instalovaný]
docbook-xml/noble,noble,now 4.5-12 all [instalovaný]
docbook-xsl/noble,noble,now 1.79.2+dfsg-7 all [instalovaný]
docker-buildx-plugin/noble 0.27.0-1~ubuntu.24.04~noble amd64 [aktualizovatelný z: 0.26.1-1~ubuntu.24.04~noble]
docker-ce-cli/noble 5:28.4.0-1~ubuntu.24.04~noble amd64 [aktualizovatelný z: 5:28.3.3-1~ubuntu.24.04~noble]
docker-ce/noble 5:28.4.0-1~ubuntu.24.04~noble amd64 [aktualizovatelný z: 5:28.3.3-1~ubuntu.24.04~noble]
docker-compose-plugin/noble 2.39.2-1~ubuntu.24.04~noble amd64 [aktualizovatelný z: 2.39.1-1~ubuntu.24.04~noble]
dolphin-plugins/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
dolphin/tuxedo,now 4:25.04.3-0ubuntu0~tux1 amd64 [instalovaný]
dosfstools/noble,now 4.2-1.1build1 amd64 [instalovaný]
dracut-install/noble-updates,now 060+5-1ubuntu3.3 amd64 [instalovaný]
drkonqi/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
e2fsprogs/noble-updates,now 1.47.0-2.4~exp1ubuntu4.1 amd64 [instalovaný]
ed/noble,now 1.20.1-1 amd64 [instalovaný]
edid-decode/noble,now 0.1~git20220315.cb74358c2896-1.1 amd64 [instalovaný]
efibootmgr/noble,now 18-1build2 amd64 [instalovaný]
efivar/noble,now 38-3.1build1 amd64 [instalovaný]
eject/noble-updates,now 2.39.3-9ubuntu6.3 amd64 [instalovaný]
emacsen-common/noble,noble,now 3.0.5 all [instalovaný]
encfs/noble,now 1.9.5-2ubuntu3 amd64 [instalovaný]
eobcanka/now 3.4.3 amd64 [instalovaný,lokální]
equivs/noble,noble,now 2.3.1 all [instalovaný]
ethtool/noble,now 1:6.7-1build1 amd64 [instalovaný]
evolution/noble-updates,now 3.52.3-0ubuntu1 amd64 [instalovaný]
exfat-fuse/noble,now 1.4.0-2 amd64 [instalovaný]
exfatprogs/noble,now 1.2.2-1build1 amd64 [instalovaný]
ext4magic/noble,now 0.3.2-14build2 amd64 [instalovaný]
fakeroot/noble,now 1.33-1 amd64 [instalovaný]
fbset/noble,now 2.1-33build1 amd64 [instalovaný]
fdisk/noble-updates,now 2.39.3-9ubuntu6.3 amd64 [instalovaný]
ffmpeg/noble,now 7:6.1.1-3ubuntu5 amd64 [instalovaný]
ffmpegthumbs/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
file/noble,now 1:5.45-3build1 amd64 [instalovaný]
finalrd/noble,noble,now 9build1 all [instalovaný]
firebird3.0-common-doc/noble,noble,now 3.0.11.33703.ds4-2ubuntu2 all [instalovaný]
firebird3.0-common/noble,noble,now 3.0.11.33703.ds4-2ubuntu2 all [instalovaný]
firmware-sof-signed/noble-updates,noble-updates,now 2023.12.1-1ubuntu1.7 all [instalovaný]
flatpak/noble-updates,noble-security,now 1.14.6-1ubuntu0.1 amd64 [instalovaný]
fontconfig/noble,now 2.15.0-1.1ubuntu2 amd64 [instalovaný]
fonts-dejavu-core/noble,noble,now 2.37-8 all [instalovaný]
fonts-dejavu-mono/noble,noble,now 2.37-8 all [instalovaný]
fonts-freefont-ttf/noble,noble,now 20211204+svn4273-2 all [instalovaný]
fonts-hack/noble,noble,now 3.003-3 all [instalovaný]
fonts-kacst-one/noble,noble,now 5.0+svn11846-10 all [instalovaný]
fonts-kacst/noble,noble,now 2.01+mry-15 all [instalovaný]
fonts-khmeros-core/noble,noble,now 5.0-9ubuntu1 all [instalovaný]
fonts-lao/noble,noble,now 0.0.20060226-10ubuntu2 all [instalovaný]
fonts-lato/noble,noble,now 2.015-1 all [instalovaný]
fonts-liberation-sans-narrow/noble,noble,now 1:1.07.6-4 all [instalovaný]
fonts-liberation2/noble,noble,now 1:2.1.5-3 all [instalovaný]
fonts-liberation/noble,noble,now 1:2.1.5-3 all [instalovaný]
fonts-noto-cjk/noble,noble,now 1:20230817+repack1-3 all [instalovaný]
fonts-noto-color-emoji/noble-updates,noble-updates,now 2.047-0ubuntu0.24.04.1 all [instalovaný]
fonts-noto-core/noble,noble,now 20201225-2 all [instalovaný]
fonts-noto-hinted/noble,noble,now 20201225-2 all [instalovaný]
fonts-noto-mono/noble,noble,now 20201225-2 all [instalovaný]
fonts-noto-ui-core/noble,noble,now 20201225-2 all [instalovaný]
fonts-noto-unhinted/noble,noble,now 20201225-2 all [instalovaný]
fonts-opensymbol/tuxedo,tuxedo,now 4:102.12+LibO25.2.5-0tux1 all [instalovaný]
fonts-ubuntu-console/noble,noble,now 0.869+git20240321-0ubuntu1 all [instalovaný]
fonts-ubuntu/noble,noble,now 0.869+git20240321-0ubuntu1 all [instalovaný]
fonts-urw-base35/noble,noble,now 20200910-8 all [instalovaný]
fonts-vlgothic/noble,noble,now 20220612-1ubuntu1 all [instalovaný]
foomatic-db-compressed-ppds/noble,noble,now 20230202-1 all [instalovaný]
fprintd/noble,now 1.94.3-1 amd64 [instalovaný]
freecell-solver-bin/noble,now 5.0.0-2build1 amd64 [instalovaný]
friendly-recovery/noble,noble,now 0.2.42 all [instalovaný]
fuse3/noble,now 3.14.0-5build1 amd64 [instalovaný]
fwupd-signed/noble,now 1.52+1.4-1 amd64 [instalovaný]
fwupd/noble-updates,now 1.9.31-0ubuntu1~24.04.1 amd64 [instalovaný]
g++-13-x86-64-linux-gnu/noble-updates,noble-security,now 13.3.0-6ubuntu2~24.04 amd64 [instalovaný]
g++-13/noble-updates,noble-security,now 13.3.0-6ubuntu2~24.04 amd64 [instalovaný]
g++-x86-64-linux-gnu/noble,now 4:13.2.0-7ubuntu1 amd64 [instalovaný]
g++/noble,now 4:13.2.0-7ubuntu1 amd64 [instalovaný]
gcc-13-x86-64-linux-gnu/noble-updates,noble-security,now 13.3.0-6ubuntu2~24.04 amd64 [instalovaný]
gcc-13/noble-updates,noble-security,now 13.3.0-6ubuntu2~24.04 amd64 [instalovaný]
gcc-x86-64-linux-gnu/noble,now 4:13.2.0-7ubuntu1 amd64 [instalovaný]
gcc/noble,now 4:13.2.0-7ubuntu1 amd64 [instalovaný]
gdb/noble,now 15.0.50.20240403-0ubuntu1 amd64 [instalovaný]
gddrescue/noble,now 1.27-1 amd64 [instalovaný]
gdebi-core/noble,noble,now 0.9.5.7+nmu7 all [instalovaný]
genisoimage/noble,now 9:1.1.11-3.5 amd64 [instalovaný]
geoip-database/noble,noble,now 20240403-1ubuntu1 all [instalovaný]
gettext-base/noble,now 0.21-14ubuntu2 amd64 [instalovaný]
gh/noble-updates,noble-security,now 2.45.0-1ubuntu0.3 amd64 [instalovaný]
ghostscript/noble-updates,noble-security,now 10.02.1~dfsg1-0ubuntu7.7 amd64 [instalovaný]
gir1.2-atk-1.0/noble,now 2.52.0-1build1 amd64 [instalovaný]
gir1.2-atspi-2.0/noble,now 2.52.0-1build1 amd64 [instalovaný]
gir1.2-freedesktop/noble,now 1.80.1-1 amd64 [instalovaný]
gir1.2-gdkpixbuf-2.0/noble-updates,noble-security,now 2.42.10+dfsg-3ubuntu3.2 amd64 [instalovaný]
gir1.2-girepository-2.0/noble,now 1.80.1-1 amd64 [instalovaný]
gir1.2-glib-2.0/noble-updates,noble-security,now 2.80.0-6ubuntu3.4 amd64 [instalovaný]
gir1.2-gstreamer-1.0/noble-updates,noble-security,now 1.24.2-1ubuntu0.1 amd64 [instalovaný]
gir1.2-gtk-3.0/noble-updates,now 3.24.41-4ubuntu1.3 amd64 [instalovaný]
gir1.2-handy-1/noble,now 1.8.3-1build2 amd64 [instalovaný]
gir1.2-harfbuzz-0.0/noble,now 8.3.0-2build2 amd64 [instalovaný]
gir1.2-notify-0.7/noble,now 0.8.3-1build2 amd64 [instalovaný]
gir1.2-packagekitglib-1.0/noble-updates,now 1.2.8-2ubuntu1.2 amd64 [instalovaný]
gir1.2-pango-1.0/noble,now 1.52.1+ds-1build1 amd64 [instalovaný]
gir1.2-polkit-1.0/noble-updates,now 124-2ubuntu1.24.04.2 amd64 [instalovaný]
gir1.2-secret-1/noble,now 0.21.4-1build3 amd64 [instalovaný]
gir1.2-wnck-3.0/noble,now 43.0-3build4 amd64 [instalovaný]
git-delta/noble,now 0.16.5-5 amd64 [instalovaný]
git-email/noble-updates,noble-updates,noble-security,noble-security,now 1:2.43.0-1ubuntu7.3 all [instalovaný]
git-extras/noble,noble,now 7.1.0-1 all [instalovaný]
git-man/noble-updates,noble-updates,noble-security,noble-security,now 1:2.43.0-1ubuntu7.3 all [instalovaný]
git/noble-updates,noble-security,now 1:2.43.0-1ubuntu7.3 amd64 [instalovaný]
gnome-icon-theme/noble,noble,now 3.12.0-5 all [instalovaný]
gnupg-agent/noble-updates,noble-updates,noble-security,noble-security,now 2.4.4-2ubuntu17.3 all [instalovaný]
gnupg-l10n/noble-updates,noble-updates,noble-security,noble-security,now 2.4.4-2ubuntu17.3 all [instalovaný]
gnupg-utils/noble-updates,noble-security,now 2.4.4-2ubuntu17.3 amd64 [instalovaný]
gnupg2/noble-updates,noble-updates,noble-security,noble-security,now 2.4.4-2ubuntu17.3 all [instalovaný]
gnupg/noble-updates,noble-updates,noble-security,noble-security,now 2.4.4-2ubuntu17.3 all [instalovaný]
gnutls-bin/noble-updates,noble-security,now 3.8.3-1.1ubuntu3.4 amd64 [instalovaný]
go-mtpfs/noble-updates,noble-security,now 1.0.0+git20200111.42254b1-1ubuntu0.24.04.3 amd64 [instalovaný]
gpg-agent/noble-updates,noble-security,now 2.4.4-2ubuntu17.3 amd64 [instalovaný]
gpg-wks-client/noble-updates,noble-security,now 2.4.4-2ubuntu17.3 amd64 [instalovaný]
gpg-wks-server/noble-updates,noble-security,now 2.4.4-2ubuntu17.3 amd64 [instalovaný]
gpg/noble-updates,noble-security,now 2.4.4-2ubuntu17.3 amd64 [instalovaný]
gpgconf/noble-updates,noble-security,now 2.4.4-2ubuntu17.3 amd64 [instalovaný]
gpgsm/noble-updates,noble-security,now 2.4.4-2ubuntu17.3 amd64 [instalovaný]
gpgv/noble-updates,noble-security,now 2.4.4-2ubuntu17.3 amd64 [instalovaný]
gpm/noble,now 1.20.7-11 amd64 [instalovaný]
groff-base/noble,now 1.23.0-3build2 amd64 [instalovaný]
grub-common/noble-updates,now 2.12-1ubuntu7.3 amd64 [instalovaný]
grub-efi-amd64-bin/noble-updates,now 2.12-1ubuntu7.3 amd64 [instalovaný]
grub-efi-amd64-signed/noble-updates,now 1.202.5+2.12-1ubuntu7.3 amd64 [instalovaný]
grub-gfxpayload-lists/noble,now 0.7build2 amd64 [instalovaný]
grub-pc-bin/noble-updates,now 2.12-1ubuntu7.3 amd64 [instalovaný]
grub-pc/noble-updates,now 2.12-1ubuntu7.3 amd64 [instalovaný]
grub2-common/noble-updates,now 2.12-1ubuntu7.3 amd64 [instalovaný]
gstreamer-qapt/noble,now 3.0.5-2build3 amd64 [instalovaný]
gstreamer1.0-nice/noble,now 0.1.21-2build3 amd64 [instalovaný]
gstreamer1.0-tools/noble-updates,noble-security,now 1.24.2-1ubuntu0.1 amd64 [instalovaný]
gtk-update-icon-cache/noble-updates,now 3.24.41-4ubuntu1.3 amd64 [instalovaný]
gtk2-engines-pixbuf/noble-updates,noble-security,now 2.24.33-4ubuntu1.1 amd64 [instalovaný]
guile-3.0-libs/noble,now 3.0.9-1build2 amd64 [instalovaný]
hdparm/noble,now 9.65+ds-1build1 amd64 [instalovaný]
hicolor-icon-theme/noble,noble,now 0.17-2 all [instalovaný]
hplip-data/noble,noble,now 3.23.12+dfsg0-0ubuntu5 all [instalovaný]
hplip/noble,now 3.23.12+dfsg0-0ubuntu5 amd64 [instalovaný]
hspell/noble,now 1.4-3.1build1 amd64 [instalovaný]
htop/noble,now 3.3.0-4build1 amd64 [instalovaný]
humanity-icon-theme/noble,noble,now 0.6.16 all [instalovaný]
hunspell-cs/noble,noble,now 1:24.2.1-1 all [instalovaný]
hunspell-en-gb/noble,noble,now 1:24.2.1-1 all [instalovaný]
hunspell-en-us/noble,noble,now 1:2020.12.07-2 all [instalovaný]
hunspell/noble,now 1.7.2+really1.7.2-10build3 amd64 [instalovaný]
hw-probe/noble,noble,now 1.6.5-1 all [instalovaný]
hwdata/tuxedo,tuxedo,now 0.394-1tux1 all [instalovaný]
hwinfo/noble,now 21.82-1.1build1 amd64 [instalovaný]
hyphen-de/noble,noble,now 1:24.2.1-1 all [instalovaný]
hyphen-en-gb/noble,noble,now 1:24.2.1-1 all [instalovaný]
hyphen-en-us/noble,noble,now 2.8.8-7build3 all [instalovaný]
i2c-tools/noble,now 4.3-4build2 amd64 [instalovaný]
i965-va-driver/noble,now 2.4.1+dfsg1-1build2 amd64 [instalovaný]
ibus-data/noble,noble,now 1.5.29-2 all [instalovaný]
ibverbs-providers/noble-updates,now 50.0-2ubuntu0.2 amd64 [instalovaný]
icaclient/now 24.8.0.98 amd64 [instalovaný,lokální]
ieee-data/noble,noble,now 20220827.1 all [instalovaný]
iio-sensor-proxy/tuxedo,tuxedo,now 3.5-5tux1 amd64 [instalovaný]
imagemagick-6.q16/noble,now 8:6.9.12.98+dfsg1-5.2build2 amd64 [instalovaný]
imagemagick-7.q16/tuxedo,now 8:7.1.1.43+dfsg1-1~rux1 amd64 [instalovaný]
info/noble,now 7.1-3build2 amd64 [instalovaný]
initramfs-tools-bin/tuxedo,now 2:0.142ubuntu26-tux1 amd64 [instalovaný]
initramfs-tools-core/tuxedo,tuxedo,now 2:0.142ubuntu26-tux1 all [instalovaný]
initramfs-tools/tuxedo,tuxedo,now 2:0.142ubuntu26-tux1 all [instalovaný]
inotify-tools/noble,now 3.22.6.0-4 amd64 [instalovaný]
install-info/noble,now 7.1-3build2 amd64 [instalovaný]
intel-media-va-driver/noble-updates,now 24.1.0+dfsg1-1ubuntu0.1 amd64 [instalovaný]
intel-microcode/noble-updates,noble-security,now 3.20250512.0ubuntu0.24.04.1 amd64 [instalovaný]
inxi/tuxedo,tuxedo,now 3.3.38-1-1tux1 all [instalovaný]
ipp-usb/noble-updates,noble-security,now 0.9.24-0ubuntu3.3 amd64 [instalovaný]
iproute2/noble-updates,now 6.1.0-1ubuntu6.2 amd64 [instalovaný]
iptables/noble,now 1.8.10-3ubuntu2 amd64 [instalovaný]
iputils-ping/noble-updates,noble-security,now 3:20240117-1ubuntu0.1 amd64 [instalovaný]
iputils-tracepath/noble-updates,noble-security,now 3:20240117-1ubuntu0.1 amd64 [instalovaný]
irqbalance/noble,now 1.9.3-2ubuntu5 amd64 [instalovaný]
isa-support/noble,now 21build1 amd64 [instalovaný]
isc-dhcp-client/noble,now 4.4.3-P1-4ubuntu2 amd64 [instalovaný]
isc-dhcp-common/noble,now 4.4.3-P1-4ubuntu2 amd64 [instalovaný]
isoimagewriter/tuxedo,now 24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
iucode-tool/noble,now 2.3.1-3build1 amd64 [instalovaný]
iw/noble,now 6.7-1build1 amd64 [instalovaný]
javascript-common/noble,noble,now 11+nmu1 all [instalovaný]
jfsutils/noble,now 1.1.15-5build4 amd64 [instalovaný]
jp2a/noble,now 1.1.1-2ubuntu2 amd64 [instalovaný]
jq/noble-updates,noble-security,now 1.7.1-3ubuntu0.24.04.1 amd64 [instalovaný]
kaccounts-integration/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
kactivitymanagerd/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
kalgebra/tuxedo,now 4:24.12.3-1ubuntu1~tux1 amd64 [instalovaný]
kamera/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
kamoso/tuxedo,now 24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
kate/tuxedo,now 4:24.12.3-2ubuntu1~tux1 amd64 [instalovaný]
kbd/noble,now 2.6.4-2ubuntu2 amd64 [instalovaný]
kcalc/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
kcharselect/tuxedo,now 4:24.12.3-1ubuntu1~tux1 amd64 [instalovaný]
kde-baseapps/tuxedo,now 4:24.12.0+5.162ubuntu0~tux2 amd64 [instalovaný]
kde-cli-tools/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
kde-config-cddb/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
kde-config-cron/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
kde-config-gtk-style-preview/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
kde-config-gtk-style/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
kde-config-sddm/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
kde-config-tablet/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
kde-config-updates/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
kde-config-whoopsie/noble,now 15.10ubuntu6 amd64 [instalovaný]
kde-spectacle/tuxedo,now 4:6.3.5-oubuntu1~tux1 amd64 [instalovaný]
kde-style-breeze/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
kde-zeroconf/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
kdeadmin/tuxedo,now 4:24.12.0+5.162ubuntu0~tux2 amd64 [instalovaný]
kdeconnect/tuxedo,now 24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
kdegames-mahjongg-data-kf6/tuxedo,tuxedo,now 4:24.12.3-1ubuntu1~tux1 all [instalovaný]
kdegraphics-thumbnailers/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
kdenetwork-filesharing/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
kdeplasma-addons-data/tuxedo,tuxedo,now 4:6.3.5-0ubuntu1~tux1 all [instalovaný]
kdialog/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
kdoctools6/tuxedo,now 6.15.0-0ubuntu0~tux1 amd64 [instalovaný]
keditbookmarks/tuxedo,now 24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
kerneloops/noble,now 0.12+git20140509-6ubuntu8 amd64 [instalovaný]
keyboard-configuration/noble,noble,now 1.226ubuntu1 all [instalovaný]
keyboxd/noble-updates,noble-security,now 2.4.4-2ubuntu17.3 amd64 [instalovaný]
keyutils/noble,now 1.6.3-3build1 amd64 [instalovaný]
kf6-breeze-icon-theme/tuxedo,tuxedo,now 6.15.0-0ubuntu0~tux1 all [instalovaný]
kfind/tuxedo,now 4:24.12.3-1ubuntu1~tux1 amd64 [instalovaný]
kgamma/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
kglobalacceld/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
khelpcenter/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
khotkeys-data/noble,noble,now 4:5.27.11-0ubuntu2 all [instalovaný]
khotkeys/noble,now 4:5.27.11-0ubuntu2 amd64 [instalovaný]
kimageformat-plugins/tuxedo,now 5.116.0-0ubuntu7~tux1 amd64 [instalovaný]
kio-admin/tuxedo,now 24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
kio-extras/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
kmahjongg/tuxedo,now 4:24.12.3-1ubuntu1~tux1 amd64 [instalovaný]
kmenuedit/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
kmod/noble-updates,now 31+20240202-2ubuntu7.1 amd64 [instalovaný]
konsole-kpart/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
konsole/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
kpackagetool5/tuxedo,now 5.116.0-0ubuntu1~tux1 amd64 [instalovaný]
krb5-locales/noble-updates,noble-updates,noble-security,noble-security,now 1.20.1-6ubuntu2.6 all [instalovaný]
krdc/tuxedo,now 4:25.03.70~git20250114.786409a6-2~tux1 amd64 [instalovaný]
kruler/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
krunner-symbols/now 1.1.0 amd64 [instalovaný,lokální]
kscreen/tuxedo,now 4:6.3.5-0ubuntu1~tux2 amd64 [instalovaný]
ksshaskpass/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
ksystemlog/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
ksystemstats/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
kubuntu-restricted-addons/noble,now 29 amd64 [instalovaný]
kubuntu-restricted-extras/noble,now 67 amd64 [instalovaný]
kup-backup/tuxedo,now 0.10.0-0ubuntu3~tux1 amd64 [instalovaný]
kwalletmanager/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
kwayland-integration/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
kwin-style-breeze/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
kwrite/tuxedo,now 4:24.12.3-2ubuntu1~tux1 amd64 [instalovaný]
kwrited/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
lame/noble,now 3.100-6build1 amd64 [instalovaný]
language-pack-cs/noble-updates,noble-updates,now 1:24.04+20250724 all [instalovaný]
language-pack-de-base/noble-updates,noble-updates,now 1:24.04+20250724 all [instalovaný]
language-pack-de/noble-updates,noble-updates,now 1:24.04+20250724 all [instalovaný]
language-pack-en-base/noble-updates,noble-updates,now 1:24.04+20250724 all [instalovaný]
language-pack-en/noble-updates,noble-updates,now 1:24.04+20250724 all [instalovaný]
language-pack-gnome-cs-base/noble-updates,noble-updates,now 1:24.04+20250724 all [instalovaný]
language-pack-gnome-de-base/noble-updates,noble-updates,now 1:24.04+20250724 all [instalovaný]
language-pack-gnome-de/noble-updates,noble-updates,now 1:24.04+20250724 all [instalovaný]
language-pack-kde-cs/noble,noble,now 1:24.04.0ubuntu1 all [instalovaný]
language-pack-kde-de/noble,noble,now 1:24.04.0ubuntu1 all [instalovaný]
language-pack-kde-en/noble,noble,now 1:24.04.0ubuntu1 all [instalovaný]
language-selector-common/noble,noble,now 0.225 all [instalovaný]
laptop-detect/noble,noble,now 0.16 all [instalovaný]
layer-shell-qt/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
less/noble-updates,noble-security,now 590-2ubuntu2.1 amd64 [instalovaný]
libimage-exiftool-perl/noble,noble,now 12.76+dfsg-1 all [instalovaný]
libkeyutils1/noble,now 1.6.3-3build1 amd64 [instalovaný]
libnotify-bin/noble,now 0.8.3-1build2 amd64 [instalovaný]
libnss-mdns/noble,now 0.15.1-4build1 amd64 [instalovaný]
libpam-fprintd/noble,now 1.94.3-1 amd64 [instalovaný]
libpam-kwallet5/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
libpam-modules-bin/noble-updates,noble-security,now 1.5.3-5ubuntu5.4 amd64 [instalovaný]
libpam-modules/noble-updates,noble-security,now 1.5.3-5ubuntu5.4 amd64 [instalovaný]
libpam-runtime/noble-updates,noble-updates,noble-security,noble-security,now 1.5.3-5ubuntu5.4 all [instalovaný]
libsasl2-modules/noble-updates,now 2.1.28+dfsg1-5ubuntu3.1 amd64 [instalovaný]
linux-firmware/noble-updates,noble-security,now 20240318.git3b128b60-0ubuntu2.15 amd64 [instalovaný]
lm-sensors/noble,now 1:3.6.0-9build1 amd64 [instalovaný]
logrotate/noble,now 3.21.0-2build1 amd64 [instalovaný]
logsave/noble-updates,now 1.47.0-2.4~exp1ubuntu4.1 amd64 [instalovaný]
lp-solve/noble-updates,now 5.5.2.5-2ubuntu0.1 amd64 [instalovaný]
lsb-base/noble,noble,now 11.6 all [instalovaný]
lsb-release/noble,noble,now 12.0-2 all [instalovaný]
lshw/noble,now 02.19.git.2021.06.19.996aaad9c7-2build3 amd64 [instalovaný]
lsof/noble,now 4.95.0-1build3 amd64 [instalovaný]
lto-disabled-list/noble,noble,now 47 all [instalovaný]
lvm2/noble-updates,now 2.03.16-3ubuntu3.2 amd64 [instalovaný]
mailcap/noble,noble,now 3.70+nmu1ubuntu1 all [instalovaný]
make/noble,now 4.3-4.1build2 amd64 [instalovaný]
maliit-framework/tuxedo,now 2.3.0+z30~tux1 amd64 [instalovaný]
man-db/noble,now 2.12.0-4build2 amd64 [instalovaný]
manpages-de/noble,noble,now 4.21.0-2 all [instalovaný]
manpages/noble,noble,now 6.7-2 all [instalovaný]
markdownpart/tuxedo,now 24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
mawk/noble,now 1.3.4.20240123-1build1 amd64 [instalovaný]
mc-data/tuxedo,tuxedo,now 3:4.8.31-1tux1 all [instalovaný]
mc/tuxedo,now 3:4.8.31-1tux1 amd64 [instalovaný]
mdadm/noble-updates,now 4.3-1ubuntu2.1 amd64 [instalovaný]
media-player-info/noble,noble,now 24-3 all [instalovaný]
media-types/noble,noble,now 10.1.0 all [instalovaný]
meld/noble,noble,now 3.22.2-1 all [instalovaný]
memtest86+/noble,now 7.00-1build1 amd64 [instalovaný]
memtester/noble,now 4.6.0-1 amd64 [instalovaný]
menu/noble,now 2.1.50 amd64 [instalovaný]
mesa-utils-bin/noble,now 9.0.0-2 amd64 [instalovaný]
mesa-utils/noble,now 9.0.0-2 amd64 [instalovaný]
milou/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
mlocate/now 1.1.15-1ubuntu2 all [instalovaný,lokální]
mobile-broadband-provider-info/noble,noble,now 20230416-1 all [instalovaný]
modemmanager/noble,now 1.23.4-0ubuntu2 amd64 [instalovaný]
mokutil/noble,now 0.6.0-2build3 amd64 [instalovaný]
most/noble,now 5.2.0-1 amd64 [instalovaný]
mount/noble-updates,now 2.39.3-9ubuntu6.3 amd64 [instalovaný]
mpack/noble,now 1.6-18 amd64 [instalovaný]
mpg123/noble-updates,noble-security,now 1.32.5-1ubuntu1.1 amd64 [instalovaný]
mscompress/noble,now 0.4-10build1 amd64 [instalovaný]
mtools/noble,now 4.0.43-1build1 amd64 [instalovaný]
mtr-tiny/noble-updates,now 0.95-1.1ubuntu0.1 amd64 [instalovaný]
mysql-common/noble,noble,now 5.8+1.1.0build1 all [instalovaný]
nano/noble-updates,noble-security,now 7.2-2ubuntu0.1 amd64 [instalovaný]
net-tools/noble-updates,noble-security,now 2.10-0.1ubuntu4.4 amd64 [instalovaný]
netbase/noble,noble,now 6.4 all [instalovaný]
netcat-traditional/noble,now 1.10-48 amd64 [instalovaný]
netpbm/noble,now 2:11.05.02-1.1build1 amd64 [instalovaný]
netplan-generator/noble-updates,now 1.1.2-2~ubuntu24.04.2 amd64 [instalovaný]
netplan.io/noble-updates,now 1.1.2-2~ubuntu24.04.2 amd64 [instalovaný]
network-manager-openconnect/noble,now 1.2.10-3build2 amd64 [instalovaný]
network-manager-openvpn/noble,now 1.10.2-4build2 amd64 [instalovaný]
network-manager-pptp/noble,now 1.2.12-3build2 amd64 [instalovaný]
network-manager-vpnc/noble,now 1.2.8-7build2 amd64 [instalovaný]
network-manager/noble-updates,now 1.46.0-1ubuntu2.2 amd64 [instalovaný]
networkd-dispatcher/noble,noble,now 2.2.4-1 all [instalovaný]
nfs-common/noble-updates,now 1:2.6.4-3ubuntu5.1 amd64 [instalovaný]
nftables/noble,now 1.0.9-1build1 amd64 [instalovaný]
ntfs-3g/noble,now 1:2022.10.3-1.2ubuntu3 amd64 [instalovaný]
nvme-cli/noble-updates,now 2.8-1ubuntu0.1 amd64 [instalovaný]
ocean-sound-theme/tuxedo,tuxedo,now 6.3.5-0ubuntu1~tux1 all [instalovaný]
okular-extra-backends/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
okular/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
oneko/noble,now 1.2.sakura.6-15 amd64 [instalovaný]
openconnect/noble,now 9.12-1build5 amd64 [instalovaný]
openjdk-17-jdk/noble-updates,noble-security,now 17.0.16+8~us1-0ubuntu1~24.04.1 amd64 [instalovaný]
openjdk-17-jre/noble-updates,noble-security,now 17.0.16+8~us1-0ubuntu1~24.04.1 amd64 [instalovaný]
openjdk-21-jre/noble-updates,noble-security,now 21.0.8+9~us1-0ubuntu1~24.04.1 amd64 [instalovaný]
openjdk-8-jdk/noble-updates,noble-security,now 8u462-ga~us1-0ubuntu2~24.04.2 amd64 [instalovaný]
openjdk-8-jre/noble-updates,noble-security,now 8u462-ga~us1-0ubuntu2~24.04.2 amd64 [instalovaný]
opensnitch/noble-updates,noble-security,now 1.5.8.1-1ubuntu0.24.04.3 amd64 [instalovaný]
openssh-client/noble-updates,now 1:9.6p1-3ubuntu13.13 amd64 [instalovaný]
openssl/noble-updates,noble-security,now 3.0.13-0ubuntu3.5 amd64 [instalovaný]
openvpn/noble-updates,now 2.6.14-0ubuntu0.24.04.1 amd64 [instalovaný]
orca/noble,noble,now 46.1-1ubuntu1 all [instalovaný]
os-prober/noble,now 1.81ubuntu4 amd64 [instalovaný]
ovmf/noble-updates,noble-updates,now 2024.02-2ubuntu0.4 all [instalovaný]
oxygen-sounds/tuxedo,tuxedo,now 4:6.3.5-0ubuntu1~tux1 all [instalovaný]
p11-kit-modules/noble-updates,now 0.25.3-4ubuntu2.1 amd64 [instalovaný]
p11-kit/noble-updates,now 0.25.3-4ubuntu2.1 amd64 [instalovaný]
p7zip-full/noble,noble,now 16.02+transitional.1 all [instalovaný]
p7zip/noble,noble,now 16.02+transitional.1 all [instalovaný]
packagekit/noble-updates,now 1.2.8-2ubuntu1.2 amd64 [instalovaný]
pampi/noble,noble,now 1.1+dfsg1-9 all [instalovaný]
pandoc/noble,now 3.1.3+ds-2 amd64 [instalovaný]
par2/noble,now 0.8.1-3build1 amd64 [instalovaný]
parallel/noble,noble,now 20231122+ds-1 all [instalovaný]
parted/noble,now 3.6-4build1 amd64 [instalovaný]
partitionmanager/tuxedo,now 24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
passwd/noble-updates,now 1:4.13+dfsg1-4ubuntu3.2 amd64 [instalovaný]
pastebinit/noble,noble,now 1.6.2-1 all [instalovaný]
patch/noble,now 2.7.6-7build3 amd64 [instalovaný]
pci.ids/noble-updates,noble-updates,now 0.0~2024.03.31-1ubuntu0.1 all [instalovaný]
pciutils/noble,now 1:3.10.0-2build1 amd64 [instalovaný]
pcmciautils/noble,now 018-14build1 amd64 [instalovaný]
perl-openssl-defaults/noble,now 7build3 amd64 [instalovaný]
perl/noble-updates,noble-security,now 5.38.2-3.2ubuntu0.2 amd64 [instalovaný]
phonon4qt6-backend-vlc/tuxedo,now 0.12.0-3build4~tux1 amd64 [instalovaný]
php5.6-cli/noble,now 5.6.40-86+ubuntu24.04.1+deb.sury.org+1 amd64 [instalovaný]
php5.6/noble,noble,now 5.6.40-86+ubuntu24.04.1+deb.sury.org+1 all [instalovaný]
php8.4-cli/noble,now 8.4.12-1+ubuntu24.04.1+deb.sury.org+1 amd64 [instalovaný]
php8.4/noble,noble,now 8.4.12-1+ubuntu24.04.1+deb.sury.org+1 all [instalovaný]
pinentry-curses/noble,now 1.2.1-3ubuntu5 amd64 [instalovaný]
pinentry-qt/noble,now 1.2.1-3ubuntu5 amd64 [instalovaný]
pipewire-bin/tuxedo,now 1.4.7-3tux1 amd64 [instalovaný]
pipewire-pulse/tuxedo,now 1.4.7-3tux1 amd64 [instalovaný]
pipewire-v4l2/tuxedo,now 1.4.7-3tux1 amd64 [instalovaný]
pkexec/noble-updates,now 124-2ubuntu1.24.04.2 amd64 [instalovaný]
pkgconf-bin/noble,now 1.8.1-2build1 amd64 [instalovaný]
pkgconf/noble,now 1.8.1-2build1 amd64 [instalovaný]
plasma-browser-integration/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
plasma-calendar-addons/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
plasma-dataengines-addons/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
plasma-desktop/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
plasma-discover-backend-flatpak/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
plasma-discover-backend-fwupd/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
plasma-discover-backend-snap/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
plasma-discover/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
plasma-disks/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
plasma-firewall/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
plasma-nm/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
plasma-pa/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
plasma-runner-installer/noble,now 3.0.5-2build3 amd64 [instalovaný]
plasma-runners-addons/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
plasma-systemmonitor/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
plasma-thunderbolt/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
plasma-vault/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
plasma-wallpapers-addons/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
plasma-workspace-wallpapers/tuxedo,tuxedo,now 4:6.3.5-0ubuntu1~tux1 all [instalovaný]
plocate/noble,now 1.1.19-2ubuntu2 amd64 [instalovaný]
policykit-1/noble-updates,now 124-2ubuntu1.24.04.2 amd64 [instalovaný]
policykit-desktop-privileges/noble,noble,now 0.22 all [instalovaný]
polkit-kde-agent-1/tuxedo,now 4:6.3.5-0ubunntu1~tux1 amd64 [instalovaný]
polkitd/noble-updates,now 124-2ubuntu1.24.04.2 amd64 [instalovaný]
poppler-data/noble,noble,now 0.4.12-1 all [instalovaný]
poppler-utils/noble-updates,noble-security,now 24.02.0-1ubuntu9.6 amd64 [instalovaný]
power-profiles-daemon/noble-updates,now 0.21-1ubuntu1 amd64 [instalovaný]
powerdevil-data/tuxedo,tuxedo,now 4:6.3.5-0ubuntu1~tux1 all [instalovaný]
powerdevil/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
powermgmt-base/noble-updates,noble-updates,now 1.37ubuntu0.1 all [instalovaný]
powertop/noble,now 2.15-3build1 amd64 [instalovaný]
ppp/noble,now 2.4.9-1+1.1ubuntu4 amd64 [instalovaný]
pptp-linux/noble,now 1.10.0-1build4 amd64 [instalovaný]
print-manager/tuxedo,now 6:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
printer-driver-brlaser/noble,now 6-3build2 amd64 [instalovaný]
printer-driver-c2esp/noble,now 27-11ubuntu7 amd64 [instalovaný]
printer-driver-foo2zjs-common/noble,noble,now 20200505dfsg0-2ubuntu6 all [instalovaný]
printer-driver-foo2zjs/noble,now 20200505dfsg0-2ubuntu6 amd64 [instalovaný]
printer-driver-hpcups/noble,now 3.23.12+dfsg0-0ubuntu5 amd64 [instalovaný]
printer-driver-m2300w/noble,now 0.51-15build2 amd64 [instalovaný]
printer-driver-min12xxw/noble,now 0.0.9-11build3 amd64 [instalovaný]
printer-driver-postscript-hp/noble,now 3.23.12+dfsg0-0ubuntu5 amd64 [instalovaný]
printer-driver-ptouch/noble,now 1.7-1build2 amd64 [instalovaný]
printer-driver-pxljr/noble,now 1.4+repack0-6build2 amd64 [instalovaný]
printer-driver-sag-gdi/noble,noble,now 0.1-8 all [instalovaný]
printer-driver-splix/noble,now 2.0.0+svn315-7fakesync1ubuntu1 amd64 [instalovaný]
procps/noble-updates,now 2:4.0.4-4ubuntu3.2 amd64 [instalovaný]
psmisc/noble,now 23.7-1build1 amd64 [instalovaný]
publicsuffix/noble,noble,now 20231001.0357-0.1 all [instalovaný]
pwgen/noble,now 2.08-2build2 amd64 [instalovaný]
python-apt-common/noble-updates,noble-updates,now 2.7.7ubuntu5 all [instalovaný]
qapt-batch/noble,now 3.0.5-2build3 amd64 [instalovaný]
qapt-deb-installer/noble,now 3.0.5-2build3 amd64 [instalovaný]
qdbus-qt6/tuxedo,now 6.8.2-3~tux1 amd64 [instalovaný]
qml-module-org-kde-kirigami2/tuxedo,now 5.116.0-0ubuntu2~tux1 amd64 [instalovaný]
qml6-module-org-kde-kaccounts/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
qt5-qmake-bin/noble,now 5.15.13+dfsg-1ubuntu1 amd64 [instalovaný]
qt5-qmake/noble,now 5.15.13+dfsg-1ubuntu1 amd64 [instalovaný]
qt6-translations-l10n/tuxedo,tuxedo,now 6.8.2-2~tux1 all [instalovaný]
qttranslations5-l10n/noble,noble,now 5.15.13-1 all [instalovaný]
rake/noble,noble,now 13.0.6-3 all [instalovaný]
rdate/noble,now 1:1.11-3ubuntu2 amd64 [instalovaný]
read-edid/noble,now 3.0.2-1.1 amd64 [instalovaný]
readline-common/noble,noble,now 8.2-4build1 all [instalovaný]
reiserfsprogs/noble,now 1:3.6.27-7.1build1 amd64 [instalovaný]
rfkill/noble-updates,now 2.39.3-9ubuntu6.3 amd64 [instalovaný]
ripgrep/noble,now 14.1.0-1 amd64 [instalovaný]
rpcbind/noble,now 1.2.6-7ubuntu2 amd64 [instalovaný]
rsync/noble-updates,noble-security,now 3.2.7-1ubuntu1.2 amd64 [instalovaný]
rtkit/noble,now 0.13-5build1 amd64 [instalovaný]
ruby-net-telnet/noble,noble,now 0.2.0-1 all [instalovaný]
ruby-rubygems/noble,noble,now 3.4.20-1 all [instalovaný]
ruby-sdbm/noble,now 1.0.0-5build4 amd64 [instalovaný]
ruby-webrick/noble-updates,noble-updates,noble-security,noble-security,now 1.8.1-1ubuntu0.2 all [instalovaný]
ruby-xmlrpc/noble,noble,now 0.3.2-2 all [instalovaný]
ruby3.2/noble-security 3.2.3-1ubuntu0.24.04.6 amd64 [aktualizovatelný z: 3.2.3-1ubuntu0.24.04.5]
ruby/noble,now 1:3.2~ubuntu1 amd64 [instalovaný]
rubygems-integration/noble,noble,now 1.18 all [instalovaný]
samba-common-bin/noble-updates,now 2:4.19.5+dfsg-4ubuntu9.3 amd64 [instalovaný]
samba-common/noble-updates,noble-updates,now 2:4.19.5+dfsg-4ubuntu9.3 all [instalovaný]
sane-airscan/noble,now 0.99.29-0ubuntu4 amd64 [instalovaný]
sane-utils/noble,now 1.2.1-7build4 amd64 [instalovaný]
sbsigntool/noble,now 0.9.4-3.1ubuntu7 amd64 [instalovaný]
screen-resolution-extra/noble-updates,noble-updates,now 0.18.3ubuntu0.24.04.1 all [instalovaný]
sddm/tuxedo,now 1:0.21.0-5~24.04-1tux2 amd64 [instalovaný]
seafile-gui/noble,now 9.0.4+ds1-1ubuntu2 amd64 [instalovaný]
sensible-utils/noble,noble,now 0.0.22 all [instalovaný]
session-migration/noble,now 0.3.9build1 amd64 [instalovaný]
sgml-base/noble,noble,now 1.31 all [instalovaný]
sgml-data/noble,noble,now 2.0.11+nmu1 all [instalovaný]
shared-mime-info/noble,now 2.4-4 amd64 [instalovaný]
shellcheck/noble,now 0.9.0-1 amd64 [instalovaný]
shim-signed/noble,now 1.58+15.8-0ubuntu1 amd64 [instalovaný]
signon-kwallet-extension/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
signon-ui-service/tuxedo,tuxedo,now 0.18-1~tux1 all [instalovaný]
signond/tuxedo,now 8.61+git20231015.c8ad982-7ubuntu1~tux1 amd64 [instalovaný]
skanlite/tuxedo,now 24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
smartmontools/noble,now 7.4-2build1 amd64 [instalovaný]
smbclient/noble-updates,now 2:4.19.5+dfsg-4ubuntu9.3 amd64 [instalovaný]
snapd/noble-updates,now 2.68.5+ubuntu24.04.1 amd64 [instalovaný]
socat/noble,now 1.8.0.0-4build3 amd64 [instalovaný]
software-properties-common/noble-updates,noble-updates,now 0.99.49.3 all [instalovaný]
software-properties-qt/noble-updates,noble-updates,now 0.99.49.3 all [instalovaný]
sound-icons/noble,noble,now 0.1-8 all [instalovaný]
sound-theme-freedesktop/noble,noble,now 0.8-2ubuntu1 all [instalovaný]
speech-dispatcher-audio-plugins/noble,now 0.12.0~rc2-2build3 amd64 [instalovaný]
speech-dispatcher/noble,now 0.12.0~rc2-2build3 amd64 [instalovaný]
squashfs-tools/noble,now 1:4.6.1-1build1 amd64 [instalovaný]
sse3-support/noble,now 21build1 amd64 [instalovaný]
sshfs/noble,now 3.7.3-1.1build3 amd64 [instalovaný]
ssl-cert/noble,noble,now 1.1.2ubuntu1 all [instalovaný]
sudo/noble-updates,noble-security,now 1.9.15p5-3ubuntu5.24.04.1 amd64 [instalovaný]
svgpart/tuxedo,now 4:24.12.3-0ubuntu1~tux1 amd64 [instalovaný]
switcheroo-control/noble,now 2.6-2build2 amd64 [instalovaný]
synaptic/noble,now 0.91.3build4 amd64 [instalovaný]
sysstat/noble,now 12.6.1-2 amd64 [instalovaný]
system-config-printer-common/noble,noble,now 1.5.18-1ubuntu9 all [instalovaný]
system-config-printer-udev/noble,now 1.5.18-1ubuntu9 amd64 [instalovaný]
system-config-printer/noble,noble,now 1.5.18-1ubuntu9 all [instalovaný]
systemd-hwe-hwdb/noble-updates,noble-updates,now 255.1.4 all [instalovaný]
systemd-resolved/noble-updates,now 255.4-1ubuntu8.10 amd64 [instalovaný]
systemd-sysv/noble-updates,now 255.4-1ubuntu8.10 amd64 [instalovaný]
systemd-timesyncd/noble-updates,now 255.4-1ubuntu8.10 amd64 [instalovaný]
systemd/noble-updates,now 255.4-1ubuntu8.10 amd64 [instalovaný]
systemsettings/tuxedo,now 4:6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
tcl8.6/noble,now 8.6.14+dfsg-1build1 amd64 [instalovaný]
tcl/noble,now 8.6.14build1 amd64 [instalovaný]
testdisk/noble,now 7.1-5+nmu1build2 amd64 [instalovaný]
tex-gyre/noble,noble,now 20180621-6 all [instalovaný]
texlive-xetex/noble,noble,now 2023.20240207-1 all [instalovaný]
thermald/noble-updates,now 2.5.6-2ubuntu0.24.04.2 amd64 [instalovaný]
thin-provisioning-tools/noble-updates,now 0.9.0-2ubuntu5.1 amd64 [instalovaný]
time/noble,now 1.9-0.2build1 amd64 [instalovaný]
timgm6mb-soundfont/noble,noble,now 1.3-5 all [instalovaný]
toilet-fonts/noble,noble,now 0.3-1.4build1 all [instalovaný]
toilet/noble,now 0.3-1.4build1 amd64 [instalovaný]
tpm-udev/noble,noble,now 0.6ubuntu1 all [instalovaný]
trash-cli/noble,noble,now 0.23.11.10-1 all [instalovaný]
tree/noble,now 2.1.1-2ubuntu3 amd64 [instalovaný]
trezor-udev/now 2 all [instalovaný,lokální]
tzdata-legacy/noble-updates,noble-updates,noble-security,noble-security,now 2025b-0ubuntu0.24.04.1 all [instalovaný]
ubuntu-drivers-common/noble-updates,now 1:0.9.7.6ubuntu3.2 amd64 [instalovaný]
ubuntu-kernel-accessories/noble-updates,now 1.539.2 amd64 [instalovaný]
ubuntu-keyring/noble,noble,now 2023.11.28.1 all [instalovaný]
ubuntu-mono/noble,noble,now 24.04-0ubuntu1 all [instalovaný]
ubuntu-pro-client/noble-updates,now 36ubuntu0~24.04 amd64 [instalovaný]
ubuntu-release-upgrader-core/noble-updates,noble-updates,now 1:24.04.27 all [instalovaný]
ubuntu-restricted-extras/noble,now 67 amd64 [instalovaný]
ucf/noble,noble,now 3.0043+nmu1 all [instalovaný]
udev/noble-updates,now 255.4-1ubuntu8.10 amd64 [instalovaný]
udevil/noble,now 0.4.4-3build2 amd64 [instalovaný]
udisks2/noble-updates,noble-security,now 2.10.1-6ubuntu1.3 amd64 [instalovaný]
ufw/noble,noble,now 0.36.2-6 all [instalovaný]
unattended-upgrades/noble,noble,now 2.9.1+nmu4ubuntu1 all [instalovaný]
unp/noble,noble,now 2.0 all [instalovaný]
unrar/noble,now 1:7.0.7-1build1 amd64 [instalovaný]
unzip/noble-updates,noble-security,now 6.0-28ubuntu4.1 amd64 [instalovaný]
update-inetd/noble,noble,now 4.53 all [instalovaný]
update-manager-core/noble-updates,noble-updates,now 1:24.04.12 all [instalovaný]
upower/noble,now 1.90.3-1 amd64 [instalovaný]
usb-modeswitch-data/noble,noble,now 20191128-6 all [instalovaný]
usb-modeswitch/noble,now 2.6.1-3ubuntu3 amd64 [instalovaný]
usb.ids/noble,noble,now 2024.03.18-1 all [instalovaný]
usbmuxd/noble,now 1.1.1-5~exp3ubuntu2 amd64 [instalovaný]
usbutils/noble,now 1:017-3build1 amd64 [instalovaný]
va-driver-all/tuxedo,now 2.22.0-1tux1 amd64 [instalovaný]
vdpau-driver-all/noble,now 1.5-2build1 amd64 [instalovaný]
vdpauinfo/noble,now 1.5-2 amd64 [instalovaný]
ventoy/tuxedo,now 1.1.05-1~tux1 amd64 [instalovaný]
vifm/noble,now 0.12-1build2 amd64 [instalovaný]
vim-common/noble-updates,noble-updates,noble-security,noble-security,now 2:9.1.0016-1ubuntu7.8 all [instalovaný]
vim-runtime/noble-updates,noble-updates,noble-security,noble-security,now 2:9.1.0016-1ubuntu7.8 all [instalovaný]
vim/noble-updates,noble-security,now 2:9.1.0016-1ubuntu7.8 amd64 [instalovaný]
vimpager/now 2.06-2 all [instalovaný,lokální]
vlc-bin/noble,now 3.0.20-3build6 amd64 [instalovaný]
vlc-data/noble,noble,now 3.0.20-3build6 all [instalovaný]
vlc-l10n/noble,noble,now 3.0.20-3build6 all [instalovaný]
vlc-plugin-access-extra/noble,now 3.0.20-3build6 amd64 [instalovaný]
vlc-plugin-base/noble,now 3.0.20-3build6 amd64 [instalovaný]
vlc-plugin-notify/noble,now 3.0.20-3build6 amd64 [instalovaný]
vlc-plugin-qt/noble,now 3.0.20-3build6 amd64 [instalovaný]
vlc-plugin-samba/noble,now 3.0.20-3build6 amd64 [instalovaný]
vlc-plugin-skins2/noble,now 3.0.20-3build6 amd64 [instalovaný]
vlc-plugin-video-output/noble,now 3.0.20-3build6 amd64 [instalovaný]
vlc-plugin-video-splitter/noble,now 3.0.20-3build6 amd64 [instalovaný]
vlc-plugin-visualization/noble,now 3.0.20-3build6 amd64 [instalovaný]
vlc/noble,now 3.0.20-3build6 amd64 [instalovaný]
vpnc-scripts/noble,noble,now 0.1~git20220510-1 all [instalovaný]
vpnc/noble,now 0.5.3+git20220927-1build2 amd64 [instalovaný]
vulkan-tools/noble,now 1.3.275.0+dfsg1-1 amd64 [instalovaný]
w3m-img/noble,now 0.5.3+git20230121-2ubuntu5 amd64 [instalovaný]
w3m/noble,now 0.5.3+git20230121-2ubuntu5 amd64 [instalovaný]
wamerican/noble,noble,now 2020.12.07-2 all [instalovaný]
watchman/noble,now 4.9.0-7build4 amd64 [instalovaný]
wayland-utils/noble,now 1.2.0-1build1 amd64 [instalovaný]
wbritish/noble,noble,now 2020.12.07-2 all [instalovaný]
webp/noble,now 1.3.2-0.4build3 amd64 [instalovaný]
wget/noble-updates,noble-security,now 1.21.4-1ubuntu4.1 amd64 [instalovaný]
whiptail/noble,now 0.52.24-2ubuntu2 amd64 [instalovaný]
whohas/noble,noble,now 0.29.1-1.1 all [instalovaný]
whoopsie-preferences/noble,now 23build3 amd64 [instalovaný]
whoopsie/noble,now 0.2.77build3 amd64 [instalovaný]
wireless-regdb/noble-updates,noble-updates,noble-security,noble-security,now 2024.10.07-0ubuntu2~24.04.1 all [instalovaný]
wireless-tools/noble,now 30~pre9-16.1ubuntu2 amd64 [instalovaný]
wireplumber/tuxedo,now 0.5.10-1 amd64 [instalovaný]
wl-clipboard/noble,now 2.2.1-1build1 amd64 [instalovaný]
wngerman/noble,noble,now 20161207-12 all [instalovaný]
wpasupplicant/noble-updates,noble-security,now 2:2.10-21ubuntu0.2 amd64 [instalovaný]
xauth/noble,now 1:1.1.2-1build1 amd64 [instalovaný]
xautomation/noble,now 1.09-4build2 amd64 [instalovaný]
xbindkeys-config/now 0.1.3-2.3 amd64 [instalovaný,lokální]
xbindkeys/noble,now 1.8.7-2 amd64 [instalovaný]
xbrlapi/noble,now 6.6-4ubuntu5 amd64 [instalovaný]
xdg-dbus-proxy/noble,now 0.1.5-1build2 amd64 [instalovaný]
xdg-desktop-portal-gtk/tuxedo,now 1.15.3-1tux1 amd64 [instalovaný]
xdg-desktop-portal-kde/tuxedo,now 6.3.5-0ubuntu1~tux1 amd64 [instalovaný]
xdg-desktop-portal/tuxedo,now 1.20.3+ds-1tux1 amd64 [instalovaný]
xdg-user-dirs/noble,now 0.18-1build1 amd64 [instalovaný]
xdg-utils/tuxedo,tuxedo,now 1.2.1-2ubuntu1~tux1 all [instalovaný]
xfonts-base/noble,noble,now 1:1.0.5+nmu1 all [instalovaný]
xfonts-encodings/noble,noble,now 1:1.0.5-0ubuntu2 all [instalovaný]
xfonts-utils/noble,now 1:7.7+6build3 amd64 [instalovaný]
xfsprogs/noble-updates,now 6.6.0-1ubuntu2.1 amd64 [instalovaný]
xinit/noble,now 1.4.1-0ubuntu5 amd64 [instalovaný]
xinput/noble,now 1.6.4-1build1 amd64 [instalovaný]
xkb-data/noble-updates,noble-updates,now 2.41-2ubuntu1.1 all [instalovaný]
xml-core/noble,noble,now 0.19 all [instalovaný]
xorg-docs-core/noble,noble,now 1:1.7.1-1.2 all [instalovaný]
xorg-sgml-doctools/noble,noble,now 1:1.11-1.1 all [instalovaný]
xorg/noble,now 1:7.7+23ubuntu3 amd64 [instalovaný]
xsettingsd/noble,now 1.0.2-1build1 amd64 [instalovaný]
xwayland/tuxedo,now 2:24.1.7-1tux1 amd64 [instalovaný]
xwaylandvideobridge/tuxedo,now 0.4.0-2build2~tux1 amd64 [instalovaný]
xxd/noble-updates,noble-security,now 2:9.1.0016-1ubuntu7.8 amd64 [instalovaný]
xz-utils/noble-updates,noble-security,now 5.6.1+really5.4.5-1ubuntu0.2 amd64 [instalovaný]
zenity-common/noble,noble,now 4.0.1-1build3 all [instalovaný]
zenity/noble,now 4.0.1-1build3 amd64 [instalovaný]
zip/noble-updates,now 3.0-13ubuntu0.2 amd64 [instalovaný]
zstd/noble-updates,now 1.5.5+dfsg2-2build1.1 amd64 [instalovaný]
#endregion
```
</details>
<details>
<summary>SNAP</summary>
```
#region snap list
Název Verze Rev Následuje Vydavatel Poznámky
asciinema 2.2.0 35 latest/stable asciinema classic
bare 1.0 5 latest/stable canonical** base
bw 2025.8.0 87 latest/stable bitwarden** -
chromium 139.0.7258.138 3235 latest/stable canonical** -
core18 20250730 2940 latest/stable canonical** base
core20 20250526 2599 latest/stable canonical** base
core22 20250730 2111 latest/stable canonical** base
core24 20250618 1055 latest/stable canonical** base
cups 2.4.12-2 1100 latest/stable openprinting** -
gnome-3-28-1804 3.28.0-19-g98f9e67.98f9e67 198 latest/stable canonical** -
gnome-3-38-2004 0+git.efb213a 143 latest/stable canonical** -
gnome-42-2204 0+git.38ea591 202 latest/stable canonical** -
gtk-common-themes 0.1-81-g442e511 1535 latest/stable canonical** -
kf5-5-110-qt-5-15-11-core22 5.110 3 latest/stable kde** -
kf5-5-111-qt-5-15-11-core22 5.111 7 latest/stable kde** -
kf6-core22 6.10.0 43 latest/stable kde** -
lunacy 11.6 101 latest/stable icons8 -
pastel 0.8.0 9 latest/stable badpurvesh11 -
pdftk-snap 2.02-4 1 latest/stable drcoccodrillus -
snapd 2.71 25202 latest/candidate canonical** snapd
storage-explorer 1.39.1 71 latest/stable msft-storage-tools** -
#endregion
```
</details>
<details>
<summary>FLATPAK</summary>
```
#region flatpak list --app
Boxy SVG com.boxy_svg.BoxySVG 4.75.0 stable system
NormCap com.github.dynobo.normcap 0.6.0 stable system
Whaler com.github.sdv43.whaler 1.2.4 stable system
Flatseal com.github.tchx84.Flatseal 2.3.1 stable system
Google Chrome com.google.Chrome 139.0.7258.154-1 stable system
Sigil com.sigil_ebook.Sigil 2.3.1 stable system
Sublime Merge com.sublimemerge.App 2112 stable system
Láhve com.usebottles.bottles 51.24 stable system
Bruno com.usebruno.Bruno v2.10.0 stable system
XnView MP com.xnview.XnViewMP 1.9.3 stable system
Clapgrep de.leopoldluley.Clapgrep 25.07 stable system
Zed dev.zed.Zed v0.201.8 stable system
MailViewer io.github.alescdb.mailviewer 1.0.1 stable system
Qt QDBusViewer io.qt.qdbusviewer 6.9 stable system
Gear Lever it.mijorus.gearlever 3.4.2 stable system
Dev Toolbox me.iepure.devtoolbox 1.3.0 stable system
Datovka org.cznic.Datovka 4.25.0 stable system
Geany org.geany.Geany 2.1.0 stable system
GNU Image Manipulation Program org.gimp.GIMP 3.0.4 stable system
Web org.gnome.Epiphany 48.5 stable system
Síťové displeje GNOME org.gnome.NetworkDisplays 0.97.0 stable system
Inkscape org.inkscape.Inkscape 1.4.2 stable system
Crow Translate org.kde.CrowTranslate 3.1.0 stable system
Kigo org.kde.kigo 0.6.25080 stable system
Konquest org.kde.konquest 2.4.25080 stable system
Kontrast org.kde.kontrast 25.08.0 stable system
KTorrent org.kde.ktorrent 25.08.0 stable system
LabPlot org.kde.labplot 2.12.1 stable system
Lokalize org.kde.lokalize 25.08.0 stable system
LibreOffice org.libreoffice.LibreOffice 25.8.1.1 stable system
Luanti org.luanti.luanti 5.13.0 stable system
Eloquent re.sonny.Eloquent 1.2 stable system
#endregion
```
</details>

View File

@@ -1,76 +0,0 @@
#!/usr/bin/env nodejsscript
/* jshint esversion: 11,-W097, -W040, module: true, node: true, expr: true, undef: true *//* global echo, $, pipe, s, fetch, cyclicLoop */
$.is_fatal= true;
const css= echo.css`
.code, .url{ color: lightblue; }
.code::before, .code::after{ content: "\`"; }
`;
testRequirements();
$.api()
.version("2023-03-21")
.describe([
"Small utility to find out FTP url with credentials using Bitwarden CLI.",
echo.format("The idea is to use saved login %cusername%c, %cpassword%c and %curl%c.",
css.code, css.unset, css.code, css.unset, css.code, css.unset)
])
.command("get [name]", "Get url with credentials.")
.alias("item")
.option("--copy", echo.format("Uses %cxclip -selection clipboard%c.", css.code))
.action(get)
.command("list", echo.format("List all %cftp-*%c.", css.code))
.option("--json", "Print output in JSON format.")
.action(list)
.parse();
async function get(name, { copy: is_copy= false }){
if(!name)
name= await $.read({
"-p": "Name",
completions: list({ is_internal: true }).map(o=> o.name)
});
const item= s.$().run`bw get item ${name}`;
if(!item.trim())
$.error(`No record found for ${name}.`);
const { uris, username, password }= item
.xargs(JSON.parse)
.login;
const url= urlFromUris(uris).replace('://', `://${username}:${password}@`);
if(!is_copy){
echo(url);
$.exit(0);
}
s.echo(url).run`xclip -selection clipboard 2>1 > /dev/null`;
$.exit(0);
}
function list({ json= false, is_internal= false }){
const list= s.$().run`bw list items --search="ftp"`
.xargs(JSON.parse)
.filter(o=> o.name.startsWith("ftp-"))
.map(({ name, note, login: { uris } })=> ({ name, url: urlFromUris(uris), note }))
.filter(o=> o.url);
if(is_internal)
return list;
if(json)
$.exit(0, echo(JSON.stringify(list)));
list.forEach(pipe(
line=> echo.format(line),
t=> t.replaceAll("\n", " ").slice(2, -2),
echo
));
$.exit(0);
}
function urlFromUris(uris){ return uris.find(o=> o.uri)?.uri; }
function testRequirements(){
if(!s.which("bw"))
$.error([
echo.format("The %cbw%c utility has not been found.", css.code),
echo.format("Please install it using %cnpm i @bitwarden/cli --location=global%c.", css.code),
echo.format("Respectively, follow the instructions at %chttps://github.com/bitwarden/clients/tree/master/apps/cli", css.url)
].join("\n"));
}
// vim: set tabstop=4 shiftwidth=4 textwidth=250 noexpandtab :
// vim>60: set foldmethod=indent foldlevel=1 foldnestmax=2:

View File

@@ -1,82 +0,0 @@
#!/usr/bin/env nodejsscript
/* jshint esversion: 11,-W097, -W040, module: true, node: true, expr: true, undef: true *//* global echo, $, pipe, s, fetch, cyclicLoop */
const css= echo.css`
.url{ color: lightblue; }
.code { font-style: italic; }
.code::before, .code::after { content: "\`"; }
`;
$.api()
.version("2023-03-23")
.describe([
echo.format("This is small utility around %cchrome-remote-interface%c¹ to auto open inspect for cordova apps.", css.code),
echo.format("[1] %chttps://github.com/cyrus-and/chrome-remote-interface", css.url)
])
.command("open", "This open browser and after 30secs enable auto inspect openning.", true)
.option("--browser, -B", "Browser exec. Use one of supported browsers, such as chrome, chromium, opera, edge, …", "chromium")
.option("--port, -P", "Chanhe debugging port", 9222)
.action(async function({ browser, port }){
s.runA`${browser} --remote-debugging-port=${port}`;
const { setTimeout }= await import("node:timers/promises");
await setTimeout(30_000);
await register();
$.exit(0);
})
.command("enable", "Enable auto inspect openning for already running browser.")
.action(async function(){
await register();
$.exit(0);
})
.parse();
async function register(){
const { default: CDP } = await import($.xdg.globalPackage`chrome-remote-interface`);
let client;
try{
await CDP.New();
client= await CDP();
const { Network, Page, Runtime }= client;
await Network.enable();
await Page.enable();
await Page.navigate({url: 'chrome://inspect/#devices'});
await Page.loadEventFired();
await Runtime.evaluate({ expression: `const debugCordova= (${autoRunCordovaAppInspect.toString()})();` });
} finally {
if(!client) return;
return await client.close();
}
}
function autoRunCordovaAppInspect(){
const { filter, map }= Array.prototype;
let /* filters */
device_filter, app_filter, last_state;
const /* get elements */
devicesElements= ()=> filter.call(document.getElementsByClassName("device"), el=> el.id!=="device:localhost"),
getApp= el=> el.getElementsByClassName("browser-name")[0].textContent,
appTest= browser_candidate_el=> getApp(browser_candidate_el).indexOf(app_filter)!==-1,
browsersElements= wrapper_el=> wrapper_el.getElementsByClassName("browser"),
actionElementFilter= wrapper_el=> filter.call(wrapper_el.getElementsByClassName("action"), el=> el.textContent==="inspect")[0];
function run(){
const device= !device_filter ? (d=> d&&d[d.length-1])(devicesElements()) : filter.call(devicesElements(), el=> el.id===device_filter)[0];
if(!device) return false;
const app= !app_filter ? (a=> a&&a[a.length-1])(browsersElements(device)) : filter.call(browsersElements(document), appTest)[0];
if(!app) return false;
const { id }= app;
if(last_state===id) return false;
last_state= id;
const action= actionElementFilter(app);
if(!action) return false;
action.click();
}
const observer= new MutationObserver(run);
observer.observe(document.getElementById("devices-list"), { childList: true, subtree: true })
return {
/* Set string to filter, typically app id or ip */
setApp: _app_filter=> app_filter= _app_filter,
/* Apply only for given device (see debugCordova.devices). */
setDevice: _device_filter=> device_filter= _device_filter,
get apps(){ return map.call(browsersElements(document), getApp); },
get devices(){ return map.call(devicesElements(), el=> el.id); }
};
}

View File

@@ -1,39 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
config="$HOME/.config/git/identities"
input="${1:-}"
usage="Usage
git identity [<name>|help|-]
git-identity --help
"
[ -z "$input" ] \
&& echo "$usage"\
&& echo -e "$config/current.conf … current identity:" \
&& cat "$config/current.conf" \
&& exit 0
[ "$input" = --help ] \
&& input="help"
[ "$input" = help ] \
&& echo "$usage"\
&& echo '- _empty_: shows usage and current identity' \
&& echo '- <name>: set identity' \
&& echo '- -: show path to identities directory' \
&& echo '- help: shows this help' \
&& echo -e '\n\nExamples' \
&& echo '- git identity' \
&& echo '- git identity user' \
&& echo '- ls $(git identity -)' \
&& echo -e '\n\nGit config' \
&& echo "- git config --global include.path '$config/current.conf'" \
&& exit 0
[ "$input" = - ] \
&& echo "$config" \
&& exit 0
identity="$config/$input.conf"
[ ! -e "$identity" ] \
&& echo "No such identity: $input" >&2 \
&& echo "$identity" >&2 \
&& exit 1
ln --verbose --force "$identity" "$config/current.conf"

View File

@@ -1,300 +0,0 @@
#!/usr/bin/env nodejsscript
/* jshint esversion: 11,-W097, -W040, module: true, node: true, expr: true, undef: true *//* global echo, $, pipe, s, fetch, cyclicLoop */
// "\x1b[38;2;150;150;150m"
// https://talyian.github.io/ansicolors/
/**
* Represents a package record stored locally
*
* @typedef ConfigPackage
* @type {Object}
* @property {string} repository - Repo in the form `<owner>/<repo>`
* @property {string} name - Name/Identifier
* @property {string} description - A description of the repo/package
* @property {string} file_name - The name of the file as stored locally
* @property {"yes"|"no"} exec - Whether the file is executable
* @property {string} last_update - The date and time of the last update
* @property {string} downloads - The path to the file
* @property {string} version - The version of the file
* @property {string} tag_name_regex - Filter only matching releases
* */
/**
* @typedef Config
* @type {{ packages: ConfigPackage[] }}
* */
/**
* Represents a GitHub release information.
*
* @typedef {Object} GitHubRelease
* @property {number} id - The ID of the GitHub release.
* @property {string} url - The URL of the GitHub release.
* @property {string} assets_url - The URL of the assets associated with the GitHub release.
* @property {string} html_url - The HTML URL of the GitHub release.
* @property {string} tag_name - The tag name of the GitHub release.
* @property {string} published_at - The publication date of the GitHub release.
*/
import { join } from "node:path";
const path_config= $.xdg.config`github-releases`;
const paths= {
/** config file path — JSON stringify of {@link Config} */ config: join(path_config, "config.json"),
/** path to lock file to prevent multiple instances */ lock: join(path_config, "lock"),
};
const path_temp= $.xdg.temp`github-releases.json`;
let url_api= "github";
const urls_api= {
github: "https://api.github.com/repos/",
ungh: "https://ungh.cc/repos/"
};
const url_download= "https://glare.now.sh/"; // https://github.com/Contextualist/glare
const css= echo.css`
.pkg { color: lightcyan; }
.ok { color: lightgreen; }
.err { color: lightred; }
.skip { color: red; color: gray; }
.spin { display: list-item; list-style: --terminal-spin; }
`;
$.api()
.version("2.2.0")
.describe("Helper for working with “packages” stored in GitHub releases.")
.option("--verbose", "Verbose output (WIP)")
.option("--group, -G", "Filter by group (not awaiable for noGRA)")
.option("--repository, -R", "Filter by repository (not awaiable for noGRA)")
.option("--api", [ "Choose API URL",
"- GitHub (default): https://api.github.com/repos/",
"- Ungh: https://ungh.cc/repos/", "(not awaiable for noGRA)" ], "github")
.command("unlock", "[noGRA] DANGER: Removes lock file. Use only if you know what you are doing!")
.action(function(){
s.rm(paths.lock);
})
.command("config [mode]", [ "[noGRA] Config (file), use `mode` with these options:",
"- `edit`: opens config file in terminal editor using `$EDITOR` (defaults to vim)",
"- `path`: prints path to config file"
])
.action(async function(mode= "path"){
switch(mode){
case "path": echo(paths.config); break;
case "edit":
const editor= $.env.EDITOR || "vim";
await s.runA`${editor} ${paths.config}`.pipe(process.stdout);
break;
default:
echo(`Unknown mode: '${mode}'. See '--help' for details.`);
}
$.exit(0);
})
.command("edit <repository>", "Edit “package” information")
.alias("add")
.action(async function(repository){
if(!repository || !repository.includes("/"))
$.error(`Invalid repository: '${repository}'. Repository must be in the form '<owner>/<repo>'.`);
const config= /** @type {Config} */ ( readConfig() );
const i= config.packages.findIndex(r=> r.repository===repository);
echo(repository + `${i==-1 ? "New" : "Edit"} package:`);
echo(`Use <tab> to autocomplete${i===-1 ? "" : " and empty to keep current value"}.`);
echo("");
const pkg= config.packages[i] || { repository, group: "" };
const groups= [ ...new Set(config.packages.map(r=> r.group)) ];
const q= (question, initial, ...c)=> {
const completions= [ ...new Set([initial, ...c.flat()]) ].filter(Boolean);
if(initial) question+= ` (current \`${initial}\`)`;
question= echo.format("%c"+question, css.pkg);
return s.read({ "-p": question+": ", completions }).then(pipe(
value=> value || initial,
value=> value ? value : $.error(`Missing '${question}'.`)
));
};
try{
const name= await q("Name", pkg.name);
echo("(i) use `skip` as part of the group to skip it during checking/updating (“just register package”).");
const group= await q("Group", pkg.group, groups);
const { description: description_remote }= await fetch(urls_api[url_api]+repository).then(r=> r.json()).catch(_=> ({}));
const description= await q("Description", pkg.description, description_remote);
const file_name= await q("File name", pkg.file_name, repository.split("/"));
const downloads= config.target+file_name;
const exec= await q("Is executable", pkg.exec, [ "yes", "no" ]);
echo("(i) The glare is used to determine the right file to download. It is regular expression.");
const glare= await q("Glare", pkg.glare);
const pkg_edit= Object.assign({}, pkg,
{ repository, name, description, group, file_name, exec, downloads, glare });
config.packages[i===-1 ? config.packages.length : i]= pkg_edit;
s.echo(JSON.stringify(config, null, "\t")).to(paths.config);
echo(`%cSaved into config file '${paths.config}'.`, css.ok);
$.exit(0);
} catch(e){
if(e instanceof $.Error) echo("%c"+e, css.err);
else echo();
$.exit(1);
}
})
.command("ls", [ "Lists registered packages",
"Repositories marked with `-` signifies that the package is in the 'skip' group.",
"These are registered by this script but not managed by it (updates, etc).",
"Repositories marked with `+` signify that updates of the package are checked."
])
.action(function(filter){
const config = readConfig();
for(const { repository, version, description, group } of grepPackages(config, filter))
if(group && !group.includes("skip"))
echo(`+ %c${repository}%c@${version ? version : "—"}: %c${description}`, css.pkg, css.unset, css.skip);
else
echo(`- %c${repository}: ${description}`, css.skip);
$.exit(0);
})
.command("check", "Shows/checks updates for registered packages")
.option("--cache", "Use cache [yes, no]", "yes")
.action(async function({ cache, ...filter }){
const config = readConfig();
const results= await check(grepPackages(config, filter), cache);
for(const { status, value } of results)
echoPkgStatus(status, value);
if(!results.length) echo("Nothing to do.");
$.exit(0);
})
.command("update", "Updates registered packages")
.action(async function(filter){
if(s.test("-f", paths.lock))
return $.error(`The lock file '${paths.lock}' already exists! Check if some other instance is running.`);
s.touch(paths.lock);
const config = readConfig();
const results= await check(grepPackages(config, filter));
let done= 0;
let todo= [];
echo("Collecting packages to update…");
for(const { status, value } of results){
if(status!==3 || (value.local.group || "skip").includes("skip")) continue;
echo("%c"+value.local.repository, css.pkg);
todo.push(download(
value,
()=> done+= 1,
config.target
));
}
const { length }= todo;
if(!length){
echo("%cAll up-to-date!%c Nothing to do.", css.ok);
} else {
const id= setInterval(()=>
echo.use("-R", `%cUpdating packages (${done}/${length})`, css.spin), 500);
const updates= await Promise.allSettled(todo);
clearInterval(id);
echo("Updating packages completed:");
for (const { status, value, reason } of updates) {
if(status==="rejected"){
echo("%c✗ TBD reason.local.repository: %c"+reason.err, css.err);
continue;
}
const { local, remote }= value;
echo("%c✓ "+local.repository+"%c@"+remote.tag_name, css.ok, css.skip);
}
s.echo(JSON.stringify(config, null, "\t")).to(paths.config);
}
s.rm(paths.lock);
$.exit(0);
})
.parse();
import { createWriteStream } from "node:fs";
async function download(value, onprogress, target){
const { repository, glare }= value.local;
const { tag_name }= value.remote;
if(!glare) return Promise.reject({ err: "Missing 'glare' in config.", ...value });
const response= await fetch(url_download+repository+`@${tag_name}/${glare}`);
const buffer= Buffer.from(await response.arrayBuffer());
const downloads= target+value.local.file_name;
const ws= createWriteStream(downloads, { flags: "w" });
ws.write(buffer);
Object.assign(value.local, {
last_update: value.remote.published_at,
version: value.remote.tag_name,
downloads
});
if(value.local.exec==="yes")
s.chmod("+x", downloads);
onprogress();
return value;
}
function grepPackages({ packages }, { group, repository, api, verbose }){
if(api && api!==url_api && urls_api.hasOwnProperty(api))
url_api= api;
if(verbose)
echo(`Using API: ${url_api} (${urls_api[url_api]})`);
const f= {};
let is_filter= false;
if(group){ is_filter= true; f.group= group; }
if(repository){ is_filter= true; f.repository= repository; }
if(verbose)
echo("Filter:", f);
if(!is_filter) return packages;
return packages.filter(r=> Object.keys(f).every(k=> r[k]===f[k]));
}
function echoPkgStatus(status, { local, remote }){
let status_css, status_text;
if(local.group && local.group.includes("skip")){
status_text= "skipped";
status_css= "skip";
} else {
status_text= status===3 ? "outdated" : "up-to-date";
status_css= status===3 ? "err" : "ok";
}
echo((status_text==="outdated" ? "+" : "-") + " %c"+local.repository + "%c: %c"+status_text+"%c (%c"+remote.tag_name+"%c)",
css.pkg, css.unset, css[status_css], css.unset, css.skip, css.unset);
}
/**
* @param {Config.packages} packages
* @return {Promise<{ status: 0|1|2|3, value: { remote: GitHubRelease, local: ConfigPackage } }>}
* */
async function check(packages, cache){
return (await pipe(
ps=> ps.map(p=> fetchRelease(p, cache).then(remote=> ({ local: p, remote }))),
ps=> Promise.allSettled(ps)
)(packages))
.map(({ status, ...v })=> status==="rejected" ?
{ status: -1, value: v } :
{ status: packageStatus(v.value.local, v.value.remote), value: v.value })
.filter(({ status, value })=> {
if(status!==-1) return true;
echo("%c"+value.reason, css.err);
});
}
/** @type {(local: ConfigPackage, remote: GitHubRelease)=> 0|1|2|3} */
function packageStatus({ last_update: local }, { published_at: remote }){
if(!remote) return 0;
if(!local) return 3;
if(remote===local) return 1;
return 2+(local<remote);
}
/** @param {ConfigPackage} package */
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());
if(releases.message) return $.error(url+": "+releases.message);
if(url.includes("github.com"))
return releases.find(function ({ draft, published_at, tag_name }){
if(draft||!published_at) return false;
if(!tag_name_regex) return true;
return (new RegExp(tag_name_regex, 'g')).test(tag_name);
});
const { draft, publishedAt, tag }= releases.releases.find(function ({ draft, publishedAt, tag }){
if(draft||!publishedAt) return false;
if(!tag_name_regex) return true;
return (new RegExp(tag_name_regex, 'g')).test(tag);
});
return { draft, published_at: publishedAt, tag_name: tag };
}
function readConfig(){
if(!s.test("-f", paths.config)) return { packages: [] };
const out= Object.assign({ target: "~/bin/" },
s.cat(paths.config).xargs(JSON.parse));
if(out.target.startsWith("~/")) out.target= $.xdg.home(out.target.slice(2));
return out;
}

View File

@@ -1,8 +0,0 @@
{
"include": [
"/home/jaandrle/.nvm/versions/node/v22.17.1/lib/node_modules/nodejsscript/index.d.ts",
"./*.mjs",
"./*.js",
"chrome-autoinspect.mjs"
]
}

View File

@@ -1,78 +0,0 @@
#!/usr/bin/env nodejsscript
/* jshint esversion: 11,-W097, -W040, module: true, node: true, expr: true, undef: true *//* global echo, $, pipe, s, fetch, cyclicLoop */
const pathLastDesktop= ()=> $.xdg.temp`kde6-workarounds-last-desktop.txt`;
const css= echo.css`
.code { color: gray; }
`;
$.api()
.version("2024-02-29")
.describe("Workarounds for KDE6.")
.command("logout")
.action(function(){
$.is_silent= true;
const res= s.run([
"echo ::options::",
"|",
"rofi -dmenu -p 'Logout' -l 4 -theme-str 'window { width: 25ch; }' -normal-window"
].join(" "), {
options: [ "-", "poweroff", "reboot" ].join("\n")
}).trim();
if(res && res!=="-") s.run(res);
$.exit(0);
})
.command("klipper-edit", "Edit last item in klipper.")
.action(async function(){
$.is_silent= true;
const qdbus= "qdbus org.kde.klipper /klipper org.kde.klipper.klipper.";
try{
const candidate= s.run(`${qdbus}getClipboardContents`).trim();
const content= await $.read({ "-p": "Edit", completions: [ candidate ] });
s.run(`${qdbus}setClipboardContents "${content}"`);
$.exit(0);
} catch (_){
$.exit(1);
}
})
.command("desktops-alttab", "Workaround for KDE6 alt-tab between virtual desktops.")
.action(function(){
const path= pathLastDesktop();
// Regarding ★ : this is a workaround for diagonal switching (it duplicates desktop index)
let desktop= s.cat(path).trim() || "1";
if(desktop.length>3){ // ★
const [ _1, _2, ..._3 ]= desktop.slice(-4, desktop.length);
if(_1===_2)
desktop= desktop.slice(0, -4).concat(_1, ..._3);
}
if(desktop.length>2){ // ★
const [ _1, _2 ]= desktop.slice(-2, desktop.length);
if(_1===_2)
desktop= desktop.slice(0, -1);
}
if(desktop.length>2){
desktop= desktop.slice(-2, desktop.length);
s.echo(desktop).to(path);
}
echo(desktop);
s.run`qdbus org.kde.KWin /KWin org.kde.KWin.setCurrentDesktop ${desktop[0]}`;
$.exit(0);
})
.command("desktops-last-dbus")
.action(function(){
echo([
"dbus-monitor",
'"interface=org.kde.KWin.VirtualDesktopManager" "member=currentChanged"',
"|",
'xargs -e -I {} kde6-workarounds.mjs desktops-last-save {}'
].join(" "));
$.exit(0);
})
.command("desktops-last-save <dbus>", "Workaround for KDE6 alt-tab between virtual desktops.")
.action(function(dbus){
if(-1===dbus.indexOf("path=/VirtualDesktopManager; interface=org.kde.KWin.VirtualDesktopManager; member=currentChanged"))
return $.exit(1);
const desktop= s.run`qdbus org.kde.KWin /KWin org.kde.KWin.currentDesktop`.trim();
s.echo(desktop).toEnd(pathLastDesktop());
})
.parse();

View File

@@ -1,3 +0,0 @@
#!/usr/bin/env bash
set -eou pipefail
dbus-monitor "interface=org.kde.KWin.VirtualDesktopManager" "member=currentChanged" | xargs -e -I {} kde6-workarounds.mjs desktops-last-save {}

View File

@@ -1,20 +0,0 @@
#!/usr/bin/env nodejsscript
/* jshint esversion: 11,-W097, -W040, module: true, node: true, expr: true, undef: true *//* global echo, $, pipe, s, fetch, cyclicLoop */
import { kwallet } from "./§kwallet.mjs";
const url_api= "https://nocodb.jaandrle.cz/api/v1/db/data/v1/Linky/Linky";
$.api()
.command("add-md")
.action(async function addMd(){
const { clipboard }= $;
const [ title, url ]= clipboard.split("](");
const res= await fetch(url_api, {
body: JSON.stringify({ Popis: title.slice(1), Url: url.slice(0, -1) }),
headers: { "xc-token": kwallet([ "readPassword", "Passwords", "nocodb-linky" ])[0].toString(),
"accept": "application/json", "Content-Type": "application/json"
},
method: "post"
}).then(res=>res.json());
echo(res);
})
.parse();

View File

@@ -1,71 +0,0 @@
#!/usr/bin/env nodejsscript
/* jshint esversion: 11,-W097, -W040, module: true, node: true, expr: true, undef: true *//* global echo, $, pipe, s, fetch, cyclicLoop */
const p_home= $.xdg.home`Applications/piper/`
const p_models= p_home+"models/"
$.api("", true)
.version("2023-05-31")
.describe([
"This is a wrapper around the piper CLI.",
"It allows you to get the list of available models, or to simplify `piper` callings.",
"",
"Visit: https://github.com/rhasspy/piper",
"Original help:",
...s.$().run`${p_home}piper --help`.stderr.split("\n").filter(Boolean).map(l=> "\t"+l)
])
.option("--models", "prints available models")
.option("--model, -m", "chooses voice model by it's index or by text search (full name)")
.option("--input_file, -I", "path to input text file (defaults to stdin)")
.action(function main({
models: is_models,
model= 0,
input_file,
_,
...pass
}){
if(is_models){
models()
.forEach(l=> echo(l));
echo(helpTextModels("…for more models"))
$.exit(0);
}
model= getModel(model);
pass= Object.entries(pass)
.map(([ name, value ])=> `${name.length > 1 ? "--" : "-"}${name} '${value}'`)
.join(" ");
const o= s.run(`echo ${text(input_file)} | ${p_home}piper --model ${model} ${pass}`);
$.exit(o.code);
})
.parse();
function text(input_file){
const candidate= input_file ? s.cat(input_file).stdout : $.stdin.text();
if(typeof candidate!=="string")
$.error("Missing input text file or piped text. Use `--help` for more information.");
return "'"+candidate.trim().replaceAll("\n", "\t — \t").replaceAll("'", "\"")+"'";
}
function getModel(identifier){
const candidate= typeof identifier==="number" ?
models()[identifier] :
models().find(l=> l.includes(identifier));
if(!candidate)
$.error([
`Model identifier '${identifier}' seems not to matching any existing model.`,
"Try `--models` to see all available models."
].join("\n"));
return candidate.slice(candidate.indexOf(" ")+1);
}
function models(){
const out= s.ls(`${p_models}*.onnx`)
.map((l, n)=> `${n}: ${l}`);
if(!out.length)
$.error(helpTextModels("No available models."));
return out;
}
function helpTextModels(...text_initial){
return [
...text_initial,
"Visits https://github.com/rhasspy/piper",
"and download/extract model(s) into "+p_models
].join("\n");
}

View File

@@ -1 +0,0 @@
/home/jaandrle/.local/share/pipx/venvs/ra-aid/bin/ra-aid

View File

@@ -1,111 +0,0 @@
#!/usr/bin/env nodejsscript
/* jshint esversion: 11,-W097, -W040, module: true, node: true, expr: true, undef: true *//* global echo, $, pipe, s, fetch, cyclicLoop */
$.api("")
.version("2024-09-05")
.command("silicon <file>", [
"Generovat obrázek s kódem pro sdílení na sociálních sítích. (alternativa k Carbon)",
"Toto je jen drobný wrapper s mými defaultními parametry.",
"Další nápověda viz `silicon --help`.",
])
.option("--title", "Set window title (default: file name).")
.option("--range", "Select lines from file in the form `start:end`")
.option("--font-size, --fs", "Font size", 25)
.action(function silicon(file, { title= file, range, fs, ["font-size"]: _fs, _, ...args }){
args= Object.assign({
theme: "OneHalfDark",
font: `Ubuntu Mono =${fs}`,
background: "#f06d78",
["shadow-blur-radius"]: 30,
["tab-width"]: 2
}, args);
args= Object.keys(args).flatMap(key=> [ "--"+key, args[key] ]);
let from= file;
const index_ext= file.lastIndexOf(".");
const output= !file ? "silicon.png" : file.slice(0, index_ext+1)+"png";
if(range && typeof range=== "string" && range.includes(":")){
from= $.xdg.temp`silicon-range${file.slice(index_ext)}`;
const content= s.$().cat(file).toString().split(/\r?\n/).slice(...range.split(":").map(n=> parseInt(n)+1));
s.echo(content.join("\n")).to(from);
}
s.run`silicon ${from} --output ${output} --window-title ${title} ${args}`;
echo(`Generated ${output}`);
if(from!== file) s.rm(from);
$.exit(0);
})
.command("textInImage [file]", "Generovat obrázek s textem pro sdílení na sociálních sítích.")
.alias("tii")
.option("--pointsize", "Text size", "62")
.option("--gravity", "`convert -list gravity`", "Center")
.option("--text", "Text")
.action(textInImage)
.command("textSplit <file>", "Rozdělit text dle zadaného limitu.")
.alias("ts")
.option("--limit", "Počet znaků kde text rozdělovat.", 500)
.option("--counter", "Prepend counter, set no. of chars of counter.", 5)
.option("--text", "Text")
.action(textSplit)
.parse();
function textSplit(file, { limit, counter, text }){
limit= parseInt(limit) - parseInt(counter);
const words= getText(file, text).split(" ");
let buffer= [], i= -1, chars= limit;
for(const word of words){
const { length }= word;
if((chars+length) < limit){
chars+= ( is_empty ? 0 : 1 ) + length;
buffer[i].end= i;
continue;
}
chars= 0;
i+= 1;
buffer[i]= { start: i };
}
const { length }= buffer;
echo(buffer.map(function({ start, end }, i){
return (i+1)+"/"+length+" "+words.slice(start, end).join(" ");
}).join("\n============\n"));
$.exit(0);
}
function textInImage(file, { text, gravity, pointsize }){
text= getText(file, text);
const output= !file ? "textInImage.png" : (({ pathname: p })=> p.slice(1, p.lastIndexOf(".")+1)+"png")(new URL(file, "file://"));
if(s.test("-f", output)) s.rm(output);
const round_corners= [ //https://9to5answer.com/rounding-corners-of-pictures-with-imagemagick
"\\(",
"+clone -alpha extract",
"-draw 'fill black polygon 0,0 0,15 15,0 fill white circle 15,15 15,0'",
"\\( +clone -flip \\) -compose Multiply -composite",
"\\( +clone -flop \\) -compose Multiply -composite",
"\\) -alpha off -compose CopyOpacity -composite",
].join(" ");
s.run([
"convert",
"\\(",
"-size ::size::",
"-pointsize ::pointsize::",
"-fill ::fill:: -background ::background::",
"-gravity ::gravity::",
"-family ::family:: -weight Bold",
"-bordercolor ::background:: -border 5%",
"caption:::text::",
"\\)",
round_corners,
"::output::"
].join(" "), {
fill: "whitesmoke",
background: "#2b2b2b",
size: "1024x512",
family: "Ubuntu Mono",
output, text, gravity, pointsize
});
$.exit(0);
}
function getText(file, text){
if(file && s.test("-f", file))
return s.cat(file).toString();
if(!text)
return $.stdin.text().trim();
return text;
}

View File

@@ -1,119 +0,0 @@
#!/usr/bin/env bash
set -eo pipefail
this="${0##*/}"
version="2022-07-27"
config_file="$HOME/.config/${this}rc"
[ ! -t 0 ] && exo-open --launch TerminalEmulator -- -e "$this $*" && exit 0
arg=${1:---help}
if [[ "$arg" = "--completion-bash" ]]; then
echo "_${this}_completion(){
local cur=\"\${COMP_WORDS[COMP_CWORD]}\"
local com_basic=\"--alias --help --version --tips\"
local com_urls=\"cht.sh wttr.in rate.sx qrenco.de ifconfig.co\"
if [[ \$COMP_CWORD != 1 ]]; then
local com_web=\"\"
case \"\${COMP_WORDS[1]}\" in
--raw)
COMPREPLY=( \$(compgen -W \"\$com_urls \$com_basic\" -- \"\$cur\" ) )
return 0;
;;
--alias)
COMPREPLY=( \$(compgen -W \"? + -\" -- \"\$cur\" ) )
return 0;
;;
wttr.in)
local com_web+=\"moon m u M 0 1 2 A F n q Q T\"
;;
ifconfig.co)
local com_web+=\"json\"
;;
cht.sh)
local com_web+=\"\$(compgen -c)\"
;;
esac
COMPREPLY=( \$(compgen -W \":help \$com_web\" -- \"\$cur\" ) )
return 0;
fi
COMPREPLY=( \$(compgen -W \"--raw \$com_urls \$com_basic\" -- \"\$cur\" ) )
}
complete -o bashdefault -o default -F _${this}_completion ${this}
"
exit 0;
fi
_echo(){ [[ $is_raw == 1 ]] && echo -e "$1" || echo "$1" | less -R -S; }
[[ "$arg" = "--raw" ]] && is_raw=1 && command shift && arg=${1:---help} || is_raw=0
if [[ "$arg" = "--help" ]]; then
_echo "\
$this@v$version URL UTILS
This is helper around \`curl\` to run web-based commands such as 'wttr.in', 'cht.sh', …
Usage:
$this [--raw] BASE_URL [PARAMS]
$this [--raw] --[help|version|tips]
$this [--raw] --alias NAME +|-|? FULL_URL
Options:
--raw no output using \`less\`
--alias you can also use vars '\\\$1', …
PARAMS parameters to be concatenated with BASE_URL with '/' or '?'/'&' when parameter starts with '?' … se below
Examples:
$this cht.sh/less $this cht.sh less
$this wttr.in/prague?M&n $this wttr.in prague ?M ?n
$this --raw ident.me/json | jq
Config file:
$config_file
"
exit 0
fi
[[ "$arg" = "--version" ]] && echo "$version" && exit 0
if [[ "$arg" = "--tips" ]]; then
_echo "\
cht.sh The only cheat sheet you need Unified access to the best community driven documentation repositories of the world.
wttr.in Weather report
rate.sx show exchange rates for cryptocurrencies
qrenco.de
ifconfig.co
https://github.com/chubin/awesome-console-services/tree/65e8e897c9c5a2ec013747dd9f1acc03c8573fe7
"
exit 0
fi
command shift
if [[ "$arg" == "--alias" ]]; then
alias_name="${1:-[^_]*}"
[[ $alias_name == *.* ]] && echo "Alias should not contains '.'" && exit 1
case "$2" in
"+")
out=$(grep -v -e "uu_${alias_name}_alias=" -e "uu_${alias_name}_is_raw=" $config_file)
out="$out\nuu_${alias_name}_alias=\"$3\""
out="$out\nuu_${alias_name}_is_raw=$is_raw"
echo -e "$out" > $config_file
exit 0
;;
"-") echo -e "$(grep -v -e "uu_${alias_name}_alias=" -e "uu_${alias_name}_is_raw=" $config_file)" > $config_file || echo "No aliases yet"; exit 0;;
*) grep -e "uu_${alias_name}_alias=" -e "uu_${alias_name}_is_raw=" $config_file || echo "No aliases yet"; exit 0;;
esac
exit 1
fi
args=""
if [[ $arg != *.* ]]; then
. $config_file
is_raw_name=uu_${arg}_is_raw
is_raw=${!is_raw_name}
[[ -z $is_raw ]] && echo "No alias '$arg' found." && exit 1
arg_name=uu_${arg}_alias
arg=${!arg_name}
else
for p in "$@"; do
[[ $p == "?"* ]] \
&& args+=" --data-urlencode ${p:1} " \
|| arg+="/$p"
done
fi
out=$(curl -fGsS -H 'Accept-Language: cs' $args --compressed $arg || echo 'Curl error, see terminal error output.')
_echo "$out"

View File

@@ -1,165 +0,0 @@
#!/usr/bin/env nodejsscript
/* jshint esversion: 11,-W097, -W040, module: true, node: true, expr: true, undef: true *//* global echo, $, pipe, s, fetch, cyclicLoop */
$.is_fatal= true;
const token_file= "~/.config/openai.token";
let token;
const gitmoji_list= {
build: "building_construction",
chore: "bricks",
ci: "construction_worker",
docs: "memo",
feat: "sparkles",
fix: "bug",
perf: "zap",
refactor: "recycle",
revert: "rewind",
style: "art",
test: "white_check_mark"
};
const git3moji_list= {
build: "tv",
chore: "tv",
ci: "tv",
docs: "abc",
feat: "zap",
fix: "bug",
perf: "zap",
refactor: "cop",
style: "zap",
test: "cop"
};
const conventional_desc= [
"Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)",
"Other changes that don't modify src or test files",
"Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)",
"Documentation only changes",
"A new feature",
"A bug Fix",
"A code change that improves performance",
"A code change that neither fixes a bug nor adds a feature",
"Reverts a previous commit",
"Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)",
"Adding missing tests or correcting existing tests"
];
$.api("", true)
.version("2024-02-28")
.describe([
"Utility to use ChatGPT to generate a commit message from COMMIT_EDITMSG file.",
`Don't forget to set the token in ${token_file} file.`,
"",
"Conventional/gitmoji commits should follow https://www.conventionalcommits.org/en/v1.0.0/ (https://github.com/pvdlg/conventional-commit-types).",
"For the gitmoji the <type> uses emojis as follows:",
...Object.entries(gitmoji_list).map(( v, i )=> echo.format("%c"+v[0]+` (${v[1]}): ${conventional_desc[i]}`, "display: list-item")),
...Object.entries(git3moji_list).map(( v, i )=> echo.format("%c"+v[0]+` (${v[1]}): ${conventional_desc[i]}`, "display: list-item"))
])
.option("--format, -f", [ "Use one of the following formats to generate the commit message: [regular (default), conventional, gitmoji, git3moji]",
"For gitmoji see: https://gitmoji.dev/"
])
.action(async function({ format= "regular" }= {}){
const question= questionChatGPT(format);
const response= (await pipe(
()=> s.cat("./.git/COMMIT_EDITMSG"),
s=> s.slice(s.indexOf("diff --git")),
diffToChunks(3900-545), //the worst scenario of ★ +new lines
ch=> ch.map(pipe( question, requestCommitMessage )),
ch=> Promise.all(ch)
)())
.map(pipe(
j=> j.choices[0].text.trim(),
convertToArray,
format==="regular" || format==="conventional" ? i=> i : i=> gitmoji(i, format==="git3moji"),
a=> a.join("\n")
))
.join("\n\n");
echo(response);
$.exit(0);
})
.parse();
function diffToChunks(max_tokens){ return function(input){
if(input.length < max_tokens)
return [ input ];
return input.split(/(?=diff --git)/g)
.flatMap(function(input){
if(input.length < max_tokens)
return [ input ];
const [ file, ...diffs ]= input.split(/\n(?=@@)/g);
if(file.includes("new file"))
return [ file ];
return diffs
.filter(chunk=> chunk.length < max_tokens)
.reduce(function(chunks, chunk){
const i= chunks.length-1;
if(chunks[i].length + chunk.length < max_tokens-1)
chunks[i]+= "\n"+chunk;
else
chunks.push(file+"\n"+chunk);
return chunks;
}, [ file ])
.filter(chunk=> chunk.length < max_tokens);
});
}; }
function convertToArray(text){
// console.log(text);
return text.split("\n")
.map(line=> line.trim())
.filter(line=> line.trim())
.map(function(line){
if(/^[0-9-].? /.test(line)) line= line.slice(line.indexOf(" ")+1);
if(/^["']/.test(line[0])) line= line.slice(1);
if(/["']$/.test(line[line.length-1])) line= line.slice(0, -1);
return line;
})
;
}
function questionChatGPT(format){ return function(diff){
const msg= [
[
"I would like to ask you to act like a git commit message writer.",
"I will enter a git diff, and your job is to convert it into a useful commit message",
"Make 3 options, one option per line.",
"Do not preface the commit with anything, use a concise, precise, present-tense, complete sentence.",
"The length should be fewer than 50 characters if possible.",
].join(" ") //340chars★
];
if(format!=="regular")
msg.push(
[
"It should follow the conventional commits.",
"The format is <type in lowercase>: <description>.",
"A type can be one of the following: build, chore, ci, docs, feat, fix, perf, refactor, revert, style, or test.",
].join(" ") //203chars★
);
msg.push("", diff);
return msg.join("\n");
}; }
function gitmoji(candidates, is_three= false){
return candidates.map(message=> message.trim().replace(/^[^:]*:/, toGitmoji));
function toGitmoji(name){
const candidate= ( is_three ? git3moji_list : gitmoji_list )[name.slice(0, -1)];
return !candidate ? name : `:${candidate}:`;
}
}
function requestCommitMessage(prompt){
if(!token) token= s.cat(token_file).stdout.trim();
const model= "gpt-3.5-turbo-instruct";
return fetch(`https://api.openai.com/v1/engines/${model}/completions`, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer "+token
},
body: JSON.stringify({
max_tokens: 1000,
temperature: 0.1,
prompt
}),
signal: AbortSignal.timeout(10000)
}).then(r=> r.json());
}
// vim: set tabstop=4 shiftwidth=4 textwidth=250 noexpandtab :
// vim>60: set foldmethod=indent foldlevel=1 foldnestmax=2:

View File

@@ -1,26 +0,0 @@
#!/bin/bash
this="${0##*/}"
USAGE="\
usage: $this [<awk_args>] <field_no>
Ex: getent passwd | grep andy | $this -F: 5
Ex: echo \"A B\" | $this 2
"
err(){ echo -e "$USAGE" >&2; exit 1; }
[[ $# -eq 0 ]] && err
# bail if the *last* argument isn't a number (source:
# http://stackoverflow.com/a/808740)
last=${@:(-1)}
if ! [ $last -eq $last ] &>/dev/null; then
echo "_awk! Last argument (awk field) must be numeric." >&2
err
fi
if [ $# -gt 1 ]; then
# Source:
# http://www.cyberciti.biz/faq/linux-unix-bsd-apple-osx-bash-get-last-argument/
rest=${@:1:$(( $# - 1 ))}
else
rest='' # just to be sure
fi
awk $rest "{ print \$$last }"

View File

@@ -1,34 +0,0 @@
#!/bin/bash
version="2022-01-25"
this="${0##*/}"
USAGE="\
$this@v$version
Wrapper around 'upower' to show battery info(s).
Usage: $this --[help|all|oneline|notify]
'oneline' [Default] prints 'status | time | percentage'
'notify' sends 'oneline' to 'notify-send'
'all' prints 'upower -i'
'help' prints this text
"
arg=${1:---oneline}
if [[ "$arg" = "--help" ]]; then
echo -e "$USAGE"
exit 0
fi
batt_name=`upower -e | grep 'BAT'`
batt_info=`upower -i $batt_name`
if [[ "$arg" = "--all" ]]; then
echo -e "$batt_info"
exit 0
fi
batt_oneline=`echo "$batt_info" | grep -E "state|percentage|to\ full|to\ empty" | §awk -F: 2 | sed 's/^ *//g' | tr -s '\n' '|' | sed 's/|$/\n/' | sed 's/|/ | /g'`
if [[ "$arg" = "--oneline" ]]; then
echo -e "$batt_oneline"
exit 0
fi
icon=`echo "$batt_info" | grep "icon-name" | §awk -F\' 2`
notify-send --icon=$icon "Battery" "$batt_oneline"

View File

@@ -1,6 +0,0 @@
#!/usr/bin/env bash
if bluetoothctl show | grep -q 'Powered: no'; then
bluetoothctl power on
else
bluetoothctl power off
fi

View File

@@ -1,6 +0,0 @@
#!/bin/bash
function _echo(){
[ -t 0 ] && echo "$1" && exit
notify-send -i kcalc "$1" && exit
}
_echo `python3 -c 'import sys; print(eval(" ".join(sys.argv[1:])))' "$*"`

View File

@@ -1,60 +0,0 @@
#!/usr/bin/env nodejsscript
/* jshint esversion: 11,-W097, -W040, module: true, node: true, expr: true, undef: true *//* global echo, $, pipe, s, style, fetch, cyclicLoop */
import { join as pathJoin } from "path";
import { platform } from "process";
const config_path= $.xdg.data`package_global.json`;
$.is_fatal= true;
$.api("[name]", true)
.version("2022-10-06")
.describe([
"Release cordova app with saved data in: "+config_path+".",
"This should be JSON file with `cordova_keys_store` key/object:",
`{"cordova_keys_store": { "NAME": { "path": "", "password": "", "alias": "" } }}`,
"You can lists all saved options (NAME), when you run without arguments." ])
.option("--noclear", "Skipping cleaning existing apk files.")
.action(function main(name, { noclear }){
if(!name){
echo("Available options:");
pipe(getConfig, Object.keys, a=> "- "+a.join("\n- "), echo)();
$.exit(0);
}
const /* runtime arguments and cwd */
{ path, password, alias }= getConfigFor(name),
cwd= process.cwd(),
platform_android= toDirPath( cwd, "platforms", "android" ),
platform_build= !s.test("-e", toDirPath(platform_android, "app")) ? toDirPath(platform_android, "build") : toDirPath(platform_android, "app", "build"),
apk_dir= toDirPath(platform_build, "outputs", "apk"),
key_path= pathJoin(cwd, "keystore.jks"),
process_clear= !noclear && !s.test("-e", toDirPath(platform_android, "app"));
$.configAssign({ verbose: true, fatal: true });
if(process_clear) s.rm("-Rf", apk_dir+"*");
s.cp(path, key_path);
s.run("cordova" + ( platform==="win32" ? ".cmd" : "" ) + " ::args::",
{ args: [ "build", "--release", "android", "--",'--keystore=keystore.jks', "--storePassword="+password, "--password="+password, "--alias="+alias ] });
s.rm(key_path);// cordova si to uklada a uz potom bez nej nelze buildit vubec
s.rm(platform_android+"release-signing.properties");
$.exit(0);
})
.parse(process.argv);
function toDirPath(...path){ return pathJoin(...path)+"/"; }
function getConfigFor(name){
const config= getConfig();
if(Object.hasOwn(config, name))
return config[name];
$.error(`Name '${name}' not found, use one of: `+Object.keys(config));
}
function getConfig(){
if(!s.test("-f", config_path))
$.error("No config file found! Tested file path: "+config_path);
try{
const config= s.cat(config_path).xargs(JSON.parse).cordova_keys_store;
if(!Object.keys(config).length) throw new Error();
return config;
} catch(e){
$.error("Unsupported config file: "+config_path+"! Use `--help` for more information.");
}
}

View File

@@ -1,61 +0,0 @@
#!/bin/bash
this="${0##*/}"
this_version="2021-03-14"
while read; do printf '%s\n' "$REPLY"
done <<-EOF
$this ($this_version) <andrle.jan@centrum.cz>
Utility for extracting archives into folder with the same name.
EOF
err() {
printf >&2 "Error: $*\n"
exit 1
}
ARC="$1"
[[ ! -z "$ARC" ]] || ARC="--help"
if [[ "$ARC" = "--help" ]]; then
while read; do printf '%s\n' "$REPLY"
done <<-EOF
Usage: $this [file|--help|]
[--help|] - show this text
[file] - path to file for extracting
Supported formats (used utilities):
EOF
sed -n 42,52p $0 | sed -e 's/^/ /'
exit 0
fi
[[ -f $ARC ]] || err $"'$ARC' does not exist"
ARC_name_ext="${ARC##*/}"
ARC="$(readlink -f "$ARC")"
ARC_name="${ARC_name_ext%.*}"
mkdir "$ARC_name" || err $"Directory '$ARC_name' can not be created"
[[ -d $ARC_name ]] || err $"Directory '$ARC_name' does not exist"
[[ -w $ARC_name ]] || err $"Permission denied: '$ARC_name' is not writable"
cd "$ARC_name"
case "$ARC" in
*.tar.bz2) tar xjf "$ARC" ;;
*.tar.gz) tar xzf "$ARC" ;;
*.bz2) bunzip2 "$ARC" ;;
*.rar) unrar e "$ARC" ;;
*.gz) gunzip "$ARC" ;;
*.tar) tar xf "$ARC" ;;
*.tbz2) tar xjf "$ARC" ;;
*.tgz) tar xzf "$ARC" ;;
*.zip) unzip "$ARC" ;;
*.epub) unzip "$ARC" ;;
*.docx) unzip "$ARC" ;;
*.xmlx) unzip "$ARC" ;;
*.pptx) unzip "$ARC" ;;
*.Z) uncompress "$ARC" ;;
*.7z) 7z x "$ARC" ;;
*.eml) munpack -t "$ARC" ;;
*) err $"'$ARC' cannot be extracted by $this" ;;
esac
# sudo apt install mpack

View File

@@ -1,157 +0,0 @@
#!/usr/bin/env nodejsscript
/* jshint esversion: 11,-W097, -W040, module: true, node: true, expr: true, undef: true *//* global echo, $, pipe, s, fetch, cyclicLoop */
const css= echo.css`
.error{ color: lightred; }
.code, .method{ color: lightblue; }
.code::before, .code::after{ content: "\`"; }
.li{ padding-left: 2ch; }
`;
const default_wallet= "kdewallet";
const cmd= "qdbus";
if(!s.which(cmd))
$.exit(1, echo([
`%cError: ${cmd} not found.`,
`%cInstall it with: %csudo apt install ${cmd}`,
].join("\n"), css.error, css.unset, css.code));
import { EventEmitter } from "node:events";
const events= new EventEmitter();
const exit_event= "exit";
if($.isMain(import.meta)){
events.on(exit_event, $.exit);
$.api("", true)
.version("2024-03-05")
.describe([
`KWallet CLI using ${cmd}.`,
"Call with no arguments to list all methods.",
])
.example("--wallet kdewallet folderList")
.example("--wallet kdewallet readPassword folder entry")
.option("--wallet, -w", "Wallet name", default_wallet)
.action(function main({ _, wallet }){
const [ results, is_ls ]= kwallet(_, { wallet });
if(is_ls) echoLs(results);
else echo(results);
events.emit(exit_event);
})
.parse();
}
/**
* @param {string[]} _ Query/arguments for qdbus
* @param {object} [options]
* @param {string} [options.wallet] Wallet name
* @returns {[ string[], true ]|[ string, false ]}
* */
export function kwallet(_, { wallet= default_wallet }= {}){
const qdbus= qdbusGenerator({
service: "org.kde.kwalletd6",
methods: "/modules/kwalletd6",
wallet,
exit_event
});
if(!_.length)
return [ qdbus(), true ];
else{
//TODO: Map (`--literal` in qdbus and decode the result `echoMap`)
const result= qdbus(_);
return [ result, false ];
}
}
function qdbusGenerator({ service, methods, wallet, exit_event }){
const name= getScriptName();
const no_id= [
'allWalletsClosed',
'applicationDisconnected',
'folderListUpdated',
'folderUpdated',
'walletClosed',
'walletCreated',
'walletDeleted',
'walletListDirty',
'walletOpened',
'changePassword',
'close',
'closeAllWallets',
'deleteWallet',
'disconnectApplication',
'folderDoesNotExist',
'isEnabled',
'isOpen',
'keyDoesNotExist',
'localWallet',
'networkWallet',
'open',
'openAsync',
'openPath',
'openPathAsync',
'pamOpen',
'reconfigure',
'users',
'wallets'
];
let id;
const qdbus= (...args)=> s.$().run`${cmd} ${service} ${methods} ${args}`;
events.on(exit_event, ()=>{
if(!id) return;
qdbus("close", id, false, name);
id= null;
});
return function([ method, ...args ]= []){
if(!method) return qdbus();
if(no_id.includes(method)) return qdbus(method, ...args);
if(!id) open();
return qdbus(method, id, ...args, name);
};
function open(){
id= qdbus("open", wallet, 0, name).trim();
return id;
}
}
function echoMap(map){
map= map.slice(1, -1).split(", ").map(n=> Number.parseInt(n));
const ab= new ArrayBuffer(map.length);
const view= new Uint8Array(ab);
for(let i= 0; i<map.length; i++)
view[i]= map[i];
const words= [];
for(let i= 0; i<map.length; i+= 4){
words.push(String.fromCharCode.apply(null, view.subarray(i, i+4)));
}
pipe(
echo
)(words);
}
function echoLs(list){
const ns= "org.kde.KWallet.";
pipe(
list=> list.split("\n").filter(l=> l.startsWith("method") && -1!==l.indexOf(ns)),
list=> list.map(l=> l.slice(l.indexOf(" ")+1)).map(l=> l.replace(ns, "")),
list=> list.reduce((o, l)=> (o[Number(l.indexOf("int handle")!==-1)].push(l), o), [ [], [] ]),
([ no_wallet, wallet ])=> [
"Methods available without wallet:",
...no_wallet.map(formatMethod),
"Methods available with wallet (" + echo.format("%c--wallet", css.code) + " option):",
...wallet.map(formatMethod)
].join("\n"),
echo
)(list);
function formatMethod(line){
const ch_type= line.indexOf(" ")+1;
const ch_name= line.indexOf("(", ch_type);
return echo.format([
"",
line.slice(0, ch_type),
line.slice(ch_type, ch_name),
line.slice(ch_name)
].join("%c"), css.li, css.method, css.unset);
}
}
function getScriptName(){
const { url }= import.meta;
return (new URL(url)).href.slice((new URL("./", url).href.length));
}

View File

@@ -1,94 +0,0 @@
#!/usr/bin/env nodejsscript
/* jshint esversion: 11,-W097, -W040, module: true, node: true, expr: true, undef: true *//* global echo, $, pipe, s, style, fetch, cyclicLoop, xdg, $ */
import { basename } from "path";
const app= {
name: basename(process.argv[1]),
version: "2022-09-28",
cmd: $.xdg.home`.local/bin/himalaya`,
configs: $.xdg.config`himalaya/`,
modificator: "§"
};
const chars= { "&AOE-": "á", "&AWE-": "š", "&ARs-": "ě" };
let argv_arr= argvArr();
if("help"===argv_arr.toString().replaceAll("-", "")){ //#region
echo([ `${app.name}@${app.version}`,
`This is small wrapper around 'himalaya' fixing coding errors and provide better 'read'. (Use § for calling himalaya directly)`,
"" ].join("\n"));
s.run(app.cmd+" --help");
$.exit(0); //#endregion
}
if("version"===argv_arr.toString().replaceAll("-", "")){//#region
echo(`${app.name} ${app.version}`);
s.run(app.cmd+" --version");
$.exit(0);//#endregion
}
if("completion,bash"===argv_arr.toString()){//#region
const completion= s.run(app.cmd+" ::argv_arr::", { argv_arr });
echo(completion.toString().replace("himalaya)", `himalaya|${app.name})`));
echo(`alias ${app.name}-inbox="§mail § | less -R -S"`);
echo(`complete -F _himalaya -o bashdefault -o default ${app.name}`);
$.exit(0);//#endregion
}
(async function main(){
if(argv_arr.indexOf(app.modificator)!==-1) await runH(argv_arr.filter(l=> l!==app.modificator));
argv_arr= argv_arr.filter(str=> str!==app.modificator);
if(argv_arr.indexOf("list")!==-1){
argv_arr.push("-w", process.stdout.columns);
await runH(argv_arr);
}
if(argv_arr.indexOf("read")!==-1){
const email= $.xdg.temp`/himalaya-read.eml`;
argv_arr.push("-h", "From", "-h", "Subject");
await s.$().runA(app.cmd+" ::argv_arr::", { argv_arr }).pipe(s=> s.to(email));
await s.runA`vim ${email}`.pipe(process.stdout);
$.exit(0);
}
if(argv_arr[0] && argv_arr[0]!=="--rofi") await runH(argv_arr);
const template_path= app.configs+"template-inbox.json";
if(!s.test("-f", template_path)) await runH([]);
const out= await pipe(
f=> s.cat(f).xargs(JSON.parse),
argv_arr.indexOf('--rofi')===-1 ? templateRead : templateRofi,
a=> Promise.all(a)
)(template_path);
for(const l of out){
if(typeof l=="string"&&!l.indexOf("%c===\n")) echo(l, "unset:all", "color:magenta");
else echo(l);
}
$.exit(0);
})();
function templateRofi(lines){
return lines.filter(line=> line.type!=="text")
.map(line=>
s.$().runA(app.cmd+" ::value:: -w 120", line)
.then(data=> data.toString().split("\n")
.filter(l=> l)
.map(line=> line.replaceAll("✷ ", "* "))
.map(line_result=> line_result+" │ "+line.label)
.join("\n"))
);
}
function templateRead(lines){
argv_arr.push("-w", process.stdout.columns);
return lines.map(line=> line.type==="text" ?
Promise.resolve("%c===\n%c"+line.value) :
s.$().runA(app.cmd+" ::value:: ::argv_arr::", { value: line.value, argv_arr })
);
}
function argvArr(){
const _chars= Object.entries(chars).reduce((acc, [ key, val ])=> Reflect.set(acc, val, key) && acc, {});
return process.argv.slice(2).map(str=> str.replace(new RegExp(`(${Object.keys(_chars).join("|")})`, "g"), l=> _chars[l]));
}
async function runH(args){
const result= await s.runA(app.cmd+" ::args::", { args }).pipe(process.stdout);
$.exit(result.exitCode);
}
// vim: set tabstop=4 shiftwidth=4 textwidth=250 noexpandtab ft=javascript :
// vim>60: set foldmethod=marker foldmarker=#region,#endregion :

View File

@@ -1,131 +0,0 @@
#!/usr/bin/env nodejsscript
/* jshint esversion: 11,-W097, -W040, module: true, node: true, expr: true, undef: true *//* global echo, $, pipe, s, fetch, cyclicLoop */
if(!s.which("pandoc")) throw new Error("pandoc not found. Use your package manager to install it (e.g. `sudo apt install pandoc`).");
const pdftk= "§pdftk-data.mjs";
if(!s.which(pdftk)) throw new Error(`${pdftk} user script not found.`);
$.api()
.version("2025-09-04")
.describe([
"Small wrapper around `pandoc` mainly to convert markdown to pdf.",
"The reason is to use modern CSS than rely on cli implementation to converting to pdf."
])
.option("--debug", "Debug mode")
.option("--force", "Overwrite output file.")
.command("to-html <name-input> [name-output]", "Convert markdown to html.")
.alias("tohtml")
.action(function tohtmlCMD(input, output, options){
tohtml(input, output, options);
$.exit(0);
})
.command("to-pdf <name-input> [name-output]", "Convert markdown to pdf.")
.alias("topdf")
.action(async function topdfCMD(input, output, options){
const { force: isForced, debug: isDebug }= options;
testInput(input);
output= normalizeOutput(input, ".pdf", output, isForced);
const tempFile= tempFileGenerator(input);
echo("1. step: convert to html");
const output_html= tempFile(".html");
const input_data= tohtml(input, output_html, options);
echo("2. step: convert to pdf");
echo(" …use print to pdf in your browser");
s.run`open ${output_html}`;
await s.read({ "-p": "Press enter to continue" }).catch(()=> echo("Aborted"));
if(!isDebug) s.rm(output_html);
if(!s.test("-f", output))
$.error("Output file not found");
echo("3. step: update pdf metadata");
const output_data_file= tempFile(".json");
echo(` ${pdftk} extract \${pdf}`);
s.run`${pdftk} extract ${output} ${output_data_file}`;
const output_data= s.cat(output_data_file).xargs(JSON.parse);
const { Creator }= output_data.Info;
input_data.Creator= [
s.$().run`pandoc --version`.head({ "-n": 1 }).trim(),
"&",
Creator,
].join(" ");
Object.assign(output_data.Info, input_data);
s.echo(JSON.stringify(output_data, null, "\t")).to(output_data_file);
echo(` ${pdftk} update \${pdf}`);
s.run`${pdftk} update ${output} ${output_data_file}`;
if(!isDebug) s.rm(output_data_file);
$.exit(0);
})
.parse();
/**
* @param {string} input
* @param {string} [output]
* @param {object} options
* @returns {Record<string, string>}
* */
function tohtml(
input, output,
{ force: isForced, debug: isDebug }
){
testInput(input);
output= normalizeOutput(input, ".html", output, isForced);
const tempFile= tempFileGenerator(input);
const { input_tmp, input_data }= prepareInput(input, tempFile);
echo(" pandoc ${markdown} --standalone -o ${html}");
s.run`pandoc ${input_tmp} --standalone -o ${output}`;
if(!isDebug) s.rm(input_tmp);
return input_data;
}
/** @param {string} orig */
function tempFileGenerator(orig){
const basepath= orig.includes("/") ? orig.slice(0, orig.lastIndexOf("/")+1) : "";
const basename= orig.slice(basepath.length, orig.lastIndexOf("."));
return ext=> basepath+"."+basename+"-"+nameHash()+ext;
}
/**
* @param {string} input
* @param {(ext: string)=> string} tempFile
* @returns {{ input_tmp: string, input_data: Record<string, string> }}
* */
function prepareInput(input, tempFile){
const input_tmp= tempFile(".md");
const content= s.cat(input).trim();
let input_data= {};
echo(" extract input metadata and eval `~` to $HOME (CSS)");
if(content.startsWith("---"))
for(const line_raw of content.split("\n").slice(1)){
const line= line_raw.trim();
if(!line) continue;
if(line==="---") break;
const [key_raw, value]= line.split(/: */);
let key= key_raw.replace(/^-+/, "");
key= key[0].toUpperCase()+key.slice(1);
input_data[key]= value;
}
s.echo(content.replaceAll("file:///~", "file:///"+process.env.HOME)).to(input_tmp);
return { input_tmp, input_data };
}
/**
* @param {string} input Input file
* @param {string} ext Output file extension
* @param {string} [output] Output file
* @param {boolean} [isForced] Overwrite output file
* @returns {string}
* @throws {Error} When output file already exists (unless `--force`)
* */
function normalizeOutput(input, ext, output, isForced){
if(!output) output= input.slice(0, input.lastIndexOf("."))+ext;
if(s.test("-f", output)) {
if(!isForced) $.error("Output file already exists, choose another name or `--force`");
s.rm(output);
}
return output;
}
/** @param {string} input @throws {Error} If input file not found */
function testInput(input){ if(!s.test("-f", input)) $.error("Input file not found"); }
function nameHash(){ return Math.random().toString(36).slice(2); }

View File

@@ -1,182 +0,0 @@
#!/usr/bin/env nodejsscript
/* jshint esversion: 11,-W097, -W040, module: true, node: true, expr: true, undef: true *//* global echo, $, pipe, s, fetch, cyclicLoop */
const tmp= "tmp-"; //pdftk has issue reading from /tmp, so need to put it somewhere to the same folder :-(
if(!s.which("pdftk")) $.error("pdftk not found");
$.api()
.version("2025-08-05")
.describe([
"A small wrapper around 'pdftk' to extract data from pdf into the JSON.",
"Or to update the PDF with data from JSON.",
"Bookmars are converted to JSON object with key=PageNumber, value= Title (no. of spaces= level-1).",
])
.option("--debug", "Debug mode")
.command("extract <file_pdf> [file_info]", "Extract data from PDF.")
.action(function extractCMD(file_pdf, file_info, { debug }){
if(!s.test("-f", file_pdf)) $.error("PDF File not found");
if(!file_info) file_info= filename(file_pdf) + ".json";
const info= extract(file_pdf);
s.echo(info).to(file_info);
$.exit(0);
})
.command("update <file_pdf> [file_info]", "Update PDF with data from JSON.")
.action(function update(file_pdf, file_info, { debug }){
if(!s.test("-f", file_pdf)) $.error("PDF File not found");
if(!file_info) file_info= filename(file_pdf) + ".json";
if(!s.test("-f", file_info)) $.error("Info File not found");
const infoIsHtml= file_info.endsWith(".html");
const info= infoIsHtml ? infoFromHTML(file_info, file_pdf, debug) : infoFromJSON(file_info);
const temp= `${tmp}${tmpname(file_pdf)}.info`;
s.echo(info).to(temp);
const tmp_pdf= `${tmp}${tmpname(file_pdf)}.pdf`;
s.cp(file_pdf, tmp_pdf);
s.run`pdftk ${tmp_pdf} update_info_utf8 ${temp} output ${file_pdf}`;
if(!debug){
s.rm(tmp_pdf);
s.rm(temp);
}
$.exit(0);
})
.command("convert <file_info>", "Converts between JSON and raw text.")
.action(function convert(file_info){
if(!s.test("-f", file_info)) $.error("Info File not found");
const ext= file_info.slice(file_info.lastIndexOf("."));
const info= ext===".json" ? infoFromJSON(file_info) : infoToJSON(file_info);
echo(info);
$.exit(0);
})
.parse();
function extract(file_pdf, debug){
const temp= `${tmp}${tmpname(file_pdf)}.info` ;
s.run`pdftk ${file_pdf} dump_data_utf8 output ${temp}`;
const out= infoToJSON(temp);
if(!debug) s.rm(temp);
return out;
}
function filename(path){ return path.slice(path.lastIndexOf("/")+1, path.lastIndexOf(".")); }
function tmpname(path){ return filename(path) + "-" + Date.now(); }
function infoFromHTML(file_info, file_pdf, debug){
const info_orig= JSON.parse(extract(file_pdf, debug));
const info= s.cat(file_info).trim();
let isInside= false;
for(const line_raw of info.split("\n")){
const line= line_raw.trim();
if(line.startsWith("<head")){
isInside= true;
continue;
}
if(!line || !isInside) continue;
if(line.startsWith("<title>")){
const title= line.slice(7).replace("</title>", "").trim();
info_orig.Info.Title= title;
continue;
}
if(line.startsWith("<meta") && line.includes("name=")){
const [,, key]= line.match(/name=("|')(.*?)(\1)/);
const [,, value]= line.match(/content=("|')(.*?)(\1)/);
info_orig.Info[key[0].toUpperCase()+key.slice(1)]= value;
}
if(line.startsWith("</head>")){
break;
}
}
const tmp_json= `${tmp}${tmpname(file_pdf)}.json`;
s.echo(JSON.stringify(info_orig, null, "\t")).to(tmp_json);
const out= infoFromJSON(tmp_json);
if(!debug) s.rm(tmp_json);
return out;
}
function infoFromJSON(file_info){
const info= s.cat(file_info).xargs(JSON.parse);
const output= [];
info.Bookmark= Object.entries(info.Bookmark)
.map(/** @param {[string, string]} _ */([PageNumber, Title])=> {
PageNumber= Number.parseInt(PageNumber);
const level= Title.search(/[^ ]/);
return {
PageNumber,
Title: Title.slice(level),
Level: level+1,
};
});
for(const [key, value] of Object.entries(info)){
if(Array.isArray(value)){
const records= value.flatMap(pipe(
Object.entries,
entries=> [key+"Begin"].concat(entries.map(([subkey, value])=> `${key}${subkey}: ${value}`)),
));
output.push(...records);
continue;
}
if(typeof value==="object"){
const records= Object.entries(value).flatMap(([subkey, value])=> [
key+"Begin",
`${key}Key: ${subkey}`,
`${key}Value: ${value}`,
]);
output.push(...records);
continue;
}
output.push(`${key}: ${value}`);
}
return output.join("\n");
}
/** @returns {Record<string, unknown>} */
function infoToJSON(file_info){
const output= new Map();
const data= s.cat(file_info).split("\n");
let line= 0;
const isEnd= line=> line>=data.length;
for(; line<data.length; line++){
const content= data[line].trim();
if(!content) continue;
if("InfoBegin"===content){
const info= output.has("Info") ? output.get("Info") : {};
const curr= [];
while(++line){
if(isEnd(line)) break;
const content= data[line].trim();
if(!content){ line++; continue; }
const [key, value]= content.split(": ");
const index= ["InfoKey", "InfoValue"].indexOf(key);
if(index===-1){ line--; break; }
curr[index]= value;
}
const [key, value]= curr;
info[key]= value;
output.set("Info", info);
continue;
}
if(content.endsWith("Begin")){
const name= content.replace("Begin", "");
const output_curr= output.has(name) ? output.get(name) : [];
const curr= {};
while(++line){
if(isEnd(line)) break;
const content= data[line].trim();
if(!content){ line++; continue; }
const [key, value]= content.split(": ");
if(!key.startsWith(name) || key === (name+"Begin")){ line--; break; }
curr[key.replace(name, "")]= value;
}
output_curr.push(curr);
output.set(name, output_curr);
continue;
}
const [key, value]= content.split(": ");
output.set(key, value);
}
output.set("Bookmark", pipe(
items=> items.map(({ PageNumber, Title, Level }, i)=> ([PageNumber+"-"+i, " ".repeat(Number(Level)-1) + Title])),
Object.fromEntries,
)(output.get("Bookmark") || []));
return pipe(
Object.fromEntries,
o=> JSON.stringify(o, null, "\t"),
)(output.entries());
}

View File

@@ -1,173 +0,0 @@
#!/usr/bin/env nodejsscript
/* jshint esversion: 11,-W097, -W040, module: true, node: true, expr: true, undef: true *//* global echo, $, pipe, s, fetch, cyclicLoop */
import { join } from "node:path";
import { kwallet } from "./§kwallet.mjs";
const store_default= join(".", "microsoft-psw.txt");
const start= `
These license terms are an agreement between you and Microsoft Corporation (or one of its affiliates). They apply to the software named above and any Microsoft services or software updates (except to the extent such services or updates are accompanied by new or additional terms, in which case those different terms apply prospectively and do not alter your or Microsofts rights relating to pre-updated software or services). IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE RIGHTS BELOW. BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS.
INSTALLATION AND USE RIGHTS.
a) General. You may install and use any number of copies of the software to develop and test libraries with Windows Server.
b) Third Party Software. The software may include third party applications that Microsoft, not the third party, licenses to you under this agreement. Any included notices for third party applications are for your information only.
c) Competitive Benchmarking. If you are a direct competitor, and you access or use the software for purposes of competitive benchmarking, analysis, or intelligence gathering, you waive as against Microsoft, its subsidiaries, and its affiliated companies (including prospectively) any competitive use, access, and benchmarking test restrictions in the terms governing your software to the extent your terms of use are, or purport to be, more restrictive than Microsofts terms. If you do not waive any such purported restrictions in the terms governing your software, you are not allowed to access or use this software, and will not do so.
DATA COLLECTION. The software may collect information about you and your use of the software and send that to Microsoft. Microsoft may use this information to provide services and improve Microsofts products and services. Your opt-out rights, if any, are described in the product documentation. Some features in the software may enable collection of data from users of your applications that access or use the software. If you use these features to enable data collection in your applications, you must comply with applicable law, including getting any required user consent, and maintain a prominent privacy policy that accurately informs users about how you use, collect, and share their data. You can learn more about Microsofts data collection and use in the product documentation and the Microsoft Privacy Statement at https://go.microsoft.com/fwlink/?LinkId=512132. You agree to comply with all applicable provisions of the Microsoft Privacy Statement.
SCOPE OF LICENSE. The software is licensed, not sold. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you will not (and have no right to):
a) work around any technical limitations in the software that only allow you to use it in certain ways;
b) reverse engineer, decompile or disassemble the software;
c) remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software;
d) use the software in any way that is against the law or to create or propagate malware; or
e) share, publish, distribute, or lend the software (except for any distributable code, subject to the terms above), provide the software as a stand-alone hosted solution for others to use, or transfer the software or this agreement to any third party.
EXPORT RESTRICTIONS. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit https://aka.ms/exporting.
SUPPORT SERVICES. Microsoft is not obligated under this agreement to provide any support services for the software. Any support provided is “as is”, “with all faults”, and without warranty of any kind.
ENTIRE AGREEMENT. This agreement, and any other terms Microsoft may provide for supplements, updates, or third-party applications, is the entire agreement for the software.
APPLICABLE LAW AND PLACE TO RESOLVE DISPUTES. If you acquired the software in the United States or Canada, the laws of the state or province where you live (or, if a business, where your principal place of business is located) govern the interpretation of this agreement, claims for its breach, and all other claims (including consumer protection, unfair competition, and tort claims), regardless of conflict of laws principles. If you acquired the software in any other country, its laws apply. If U.S. federal jurisdiction exists, you and Microsoft consent to exclusive jurisdiction and venue in the federal court in King County, Washington for all disputes heard in court. If not, you and Microsoft consent to exclusive jurisdiction and venue in the Superior Court of King County, Washington for all disputes heard in court.
CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You may have other rights, including consumer rights, under the laws of your state or country. Separate and apart from your relationship with Microsoft, you may also have rights with respect to the party from which you acquired the software. This agreement does not change those other rights if the laws of your state or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you:
a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights.
b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software.
c) Germany and Austria.
i. Warranty. The properly licensed software will perform substantially as described in any Microsoft materials that accompany the software. However,Microsoft gives no contractual guarantee in relation to the licensed software.
ii. Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as, in case of death or personal or physical injury, Microsoft is liable according to the statutory law.
Subject to the foregoing clause ii., Microsoft will only be liable for slight negligence if Microsoft is in breach of such material contractual obligations, the fulfillment of which facilitate the due performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence.
DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES, OR CONDITIONS. TO THE EXTENT PERMITTED UNDER APPLICABLE LAWS, MICROSOFT EXCLUDES ALL IMPLIED WARRANTIES, INCLUDING MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
LIMITATION ON AND EXCLUSION OF DAMAGES. IF YOU HAVE ANY BASIS FOR RECOVERING DAMAGES DESPITE THE PRECEDING DISCLAIMER OF WARRANTY, YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT, OR INCIDENTAL DAMAGES.
This limitation applies to (a) anything related to the software, services, content (including code) on third party Internet sites, or third party applications; and (b) claims for breach of contract, warranty, guarantee, or condition; strict liability, negligence, or other tort; or any other claim; in each case to the extent permitted by applicable law.
It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your state, province, or country may not allow the exclusion or limitation of incidental, consequential, or other damages.
DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES, OR CONDITIONS. TO THE EXTENT PERMITTED UNDER APPLICABLE LAWS, MICROSOFT EXCLUDES ALL IMPLIED WARRANTIES, INCLUDING MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
LIMITATION ON AND EXCLUSION OF DAMAGES. IF YOU HAVE ANY BASIS FOR RECOVERING DAMAGES DESPITE THE PRECEDING DISCLAIMER OF WARRANTY, YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT, OR INCIDENTAL DAMAGES.
This limitation applies to (a) anything related to the software, services, content (including code) on third party Internet sites, or third party applications; and (b) claims for breach of contract, warranty, guarantee, or condition; strict liability, negligence, or other tort; or any other claim; in each case to the extent permitted by applicable law.
a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights.
b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software.
c) Germany and Austria.
i. Warranty. The properly licensed software will perform substantially as described in any Microsoft materials that accompany the software. However,Microsoft gives no contractual guarantee in relation to the licensed software.
ii. Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as, in case of death or personal or physical injury, Microsoft is liable according to the statutory law.
Subject to the foregoing clause ii., Microsoft will only be liable for slight negligence if Microsoft is in breach of such material contractual obligations, the fulfillment of which facilitate the due performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence.
Please note: As this software is distributed in Canada, some of the clauses in this agreement are provided below in French.
Remarque: Ce logiciel étant distribué au Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en français.
EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Microsoft naccorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, dadéquation à un usage particulier et dabsence de contrefaçon sont exclues.
LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices.
Cette limitation concerne:
• tout ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers; et
• les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou dune autre faute dans la limite autorisée par la loi en vigueur.
Elle sapplique également, même si Microsoft connaissait ou devrait connaître léventualité dun tel dommage. Si votre pays nautorise pas lexclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou lexclusion ci-dessus ne sappliquera pas à votre égard.
EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir dautres droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas.
`.trim();
$.api()
.version("2024-04-08")
.command("encode <file> [store]", "Save text file.")
.option("--psw", "Use password or kwallet")
.action(function encode(file, store= store_default, { psw }){
psw= password(psw);
const content= s.cat(file).trim();
s.echo(start+"\n\n# PSW").to(store);
for(const curr of combinations()){
echo.use("-R", curr);
const is_psw= curr===psw;
if(!is_psw && Math.random()<0.95) continue;
const body= is_psw ? content : randomReplaceLetters(content);
s.echo("\n\n## "+curr+"\n"+body)
.toEnd(store);
}
$.exit(0);
})
.command("decode <file> [store]", "Read text file.")
.option("--psw", "Use password or kwallet")
.action(function encode(file, store= store_default, { psw }){
psw= password(psw);
const content= s.cat(store).trim().split(/^#{1,2} /m).find(s=> s.startsWith(psw+"\n"));
s.echo(content.slice(content.indexOf("\n")+1).trim()).to(file);
$.exit(0);
})
.parse();
function *combinations(chars= [ "pi", "rá", "st", "sv", "pl" ], length= 5){
const total_combinations = Math.pow(chars.length, length);
// Initialize the indices array with zeros. This array tracks the current index for each position.
let indices = new Array(length).fill(0);
for (let i = 0; i < total_combinations; i++) {
let combination = '';
for (let j = 0; j < length; j++)
combination += chars[indices[j]];
yield combination;
// Update the indices for the next combination
for (let j = 0; j < length; j++) {
indices[j]+= 1;
if(indices[j] < chars.length) break; // Found a position that can be incremented, stop here.
if(j < length - 1) indices[j] = 0; // Reset this position and increment the next position.
}
}
}
function randomReplaceLetters(text){
for(const chars_txt of [
"abcdefghijklmnopqrstuvwxyz",
"ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"0123456789"
]){
const chars= chars_txt.split("");
for(let i=0; i<4; i++){
const rch_1= chars[Math.floor(Math.random()*chars.length)];
const rch_2= chars[Math.floor(Math.random()*chars.length)];
const ch= "§§§";
text= text.split("\n")
.map(line=> line.startsWith("#") ? line : line
.replaceAll(rch_1, ch)
.replaceAll(rch_2, rch_1)
.replaceAll(ch, rch_2))
.join("\n");
}
}
return text;
}
function password(psw){
if(psw) return psw;
return kwallet([ "readPassword", "accounts", "bw-json" ])[0]
.xargs(JSON.parse).pass
.split(".")
.map(word=> word.slice(0, 2))
.join("");
}

View File

@@ -1,71 +0,0 @@
#!/bin/bash
this="${0##*/}"
this_version="2021-12-01"
err() { printf >&2 "Error: $*\n"; exit 1; }
log() { printf ":: $* ::\n"; }
if [ ! -t 0 ]; then
exo-open --launch TerminalEmulator -- -e "$this $*"
exit
fi
action="${1:---help}"
if [[ "$action" = "--help" ]]; then
while read; do printf '%s\n' "$REPLY"
done <<-EOF
$this ($this_version) <andrle.jan@centrum.cz>
Utility for updating my packages managers such as \`npm\`, \`apt\`, \`github-releases\` …
Usage: $this --[help|check|update] [basic|dangerous]
[default] --help: show this text
--check: check updates
--update: update all
--list: list of packages managers
modificators:
[default] basic: checks/updates regular packages managers
dangerous: ↘+also \`pip\`
EOF
exit 0
fi
if [[ "$action" = "--list" ]]; then
echo npm
echo github-releases.js
echo _vim_plugins updates only
echo snap updates only
echo flatpak updates only
echo pip [dangerous]
exit 0
fi
modificator="${2:-basic}"
if [[ "$action" = "--check" ]]; then
log "npm outdated --global (for update use: \`npm update --global\`)"
npm outdated --global
[[ "${?}" = "0" ]] && echo "> all up-to.date"
log "github-releases.js --check (for update use for example: \`github-releases.js --update all\`)"
github-releases.js --check
if [[ ! "$modificator" = "basic" ]]; then
log "pip list --outdated"
pip list --outdated
fi
exit 0
fi
if [[ "$action" = "--update" ]]; then
log "npm update --global"
npm update --global
log "github-releases.js --update all"
github-releases.js --update all
log "_vim_plugins --update"
_vim_plugins --update
log "snap refresh --list"
snap refresh --list
log "flatpak update"
flatpak update
if [[ ! "$modificator" = "basic" ]]; then
log "pip list --outdated --format=freeze | grep -v '^\\-e' | cut -d = -f 1 | xargs -n1 pip install -U --user"
pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U --user
fi
exit 0
fi
err "Wrong arguments (use \`--help\`)"

View File

@@ -1,86 +0,0 @@
#!/usr/bin/env nodejsscript
/* jshint esversion: 11,-W097, -W040, module: true, node: true, expr: true, undef: true *//* global echo, $, pipe, s, fetch, cyclicLoop */
const units= {
second: 1000,
get minute(){ return this.second*60; },
get hour(){ return this.minute*60; },
get day(){ return this.hour*24; },
get month(){ return this.day*30; },
get year(){ return this.day*365; }
};
$.api()
.version("2024-03-27")
.command("diff <time> [reference]", [
"Returns remaining time diff <time>.",
"The <time> is argument to bash `date -d <time> +%s`.",
"Optionally, you can specify <reference> (with the same format) to compare with. By default it is current time."
])
.alias("?")
.option("--unit", "Unit, use one of the: "+Object.keys(units).join(", "))
.action(diff)
.command("zone [time]", "Returns times in different time zones.")
.option("-z", "Use multiple times to see time in different time zones.")
.action(zone)
.parse();
function diff(given, reference, { unit }){
const date_now= !reference ? new Date() : date("[reference]", reference);
const date_given= date("<time>", given);
debugger;
const rtf= new Intl.RelativeTimeFormat();
let future= 1;
let diff= date_given - date_now;
if(diff < 0){
future= -1;
diff= -diff;
}
if(unit){
if(unit.endsWith("s")) unit= unit.slice(0, -1);
echo(rtf.format(future*Math.floor(diff/units[unit]), unit));
$.exit(0);
}
diff= echoUnit(future, diff, "year", rtf);
diff= echoUnit(future, diff, "month", rtf);
diff= echoUnit(future, diff, "day", rtf);
diff= echoUnit(future, diff, "hour", rtf);
diff= echoUnit(future, diff, "minute", rtf);
diff= echoUnit(future, diff, "second", rtf);
$.exit(0);
}
function zone(time, { z: zones }){
if(!Array.isArray(zones)) zones= zones ? [ zones ] : [];
if(!zones.length)
return $.error("Please specify at least one zone.");
const date_given= time ? date("[time]", time) : new Date();
if(date_given.toLocaleString() === "Invalid Date")
return $.error(date_given);
const max_length= Math.max(...zones.map(zone=> zone.length));
const dtf= timeZone=> new Intl.DateTimeFormat(undefined, { timeZone, dateStyle: "full", timeStyle: "long", hour12: false });
for(const zone of zones)
echo(zone.padStart(max_length, " "), "—", dtf(zone).format(date_given));
$.exit(0);
}
function date(name, given){
const date_given= new Date(s.$().run`date -d ${given} +%Y-%m-%dT%H:%M:%S%z`.trim());
if(date_given.toLocaleString() === "Invalid Date")
return $.exit(1, echo(name, date_given));
return date_given;
}
/**
* @param {1|-1} future
* @param {number} num
* @param {'year'|'month'|'day'|'hour'|'minute'|'second'} unit
* @param {string} rtf
* */
function echoUnit(future, num, unit, rtf){
if(num <= units[unit]) return num;
echo(rtf.format(future*Math.floor(num/units[unit]), unit));
return num%units[unit];
}

Some files were not shown because too many files have changed in this diff Show More