Compare commits

...

61 Commits

Author SHA1 Message Date
f3bf9e0612
Mainly because os (re)instalation TUXEDO OS 3 2024-10-21 16:06:54 +02:00
ded3151a67
apps 2024-10-11 09:49:05 +02:00
4674684254
update 2024-10-11 09:25:12 +02:00
e030342ca5
Sublime Merge small improvements 2024-08-20 16:56:41 +02:00
8f91b50c0c
updates jaaENV (mainly better processing) 2024-08-20 16:55:50 +02:00
2c3b6dfc09
small improvement of github-release.mjs + update 2024-08-20 16:54:04 +02:00
1456b4a315
small ui and ux improvements of Geany 2024-08-20 16:53:10 +02:00
9d863e0188
improves conf of geany 2024-08-02 21:46:50 +02:00
fd7a4d56b3
geany improvements 2024-08-02 21:09:25 +02:00
ebac48f0a3
sublime-merge untrack session 2024-08-02 19:03:00 +02:00
9627f15c4e
geyn vimrc 2024-08-02 16:14:34 +02:00
f78b83980e
better fullstack in Geany 2024-08-02 15:56:15 +02:00
6c44573c6c
Sublime Merge 2024-08-02 13:05:16 +02:00
bdada371e1
🐛 geany white spaces 2024-08-02 13:02:26 +02:00
c0c7235158
supports crossplatform and crossversion (1.38 & 2.0) 2024-08-02 12:44:45 +02:00
a1e800904e
finalizing geany 2024-08-02 11:04:35 +02:00
28c0c0198f
batch update 2024-08-01 16:45:19 +02:00
ff79c4e21f
Geany 2024-08-01 16:43:25 +02:00
5ba46eb0ae
🎉 Geany
…for now should be consistend on linux and macOS (but no sync for now)
2024-08-01 16:37:49 +02:00
c1b4844569
.gitconfig -> .config/git/config and improving 2024-07-26 10:23:52 +02:00
72f090cd76
github-release (github-desktop, ollama, escrcpy) 2024-07-03 11:15:03 +02:00
ccf78dc01e
sync settings till today 2024-06-28 14:44:20 +02:00
685d7cfde2
🔤 labels for kill-the-newsletter 2024-06-18 17:07:30 +02:00
c9e98e09b1
github-releases 2024-06-18 16:55:54 +02:00
68ff0a39b8
🔤 coc-pretty-ts-errors cmts .inputrc 2024-06-18 16:54:59 +02:00
7b6a49013c
🐛 Consolidations of rss channels 2024-06-18 16:53:39 +02:00
0868374471
🐛 Fixed non-existing file with preferred width
…use original image as fallback
2024-06-18 16:52:06 +02:00
de3f93e1eb
tridactyl (styles and 🔨) 2024-06-18 16:51:49 +02:00
0f1a1146ff
remove install-release 2024-05-12 10:31:36 +02:00
bf5ee3437d
WIP new github-releases 2024-05-12 10:26:24 +02:00
7e64148005
🔤 updated KDE Plasma 6 fixes 2024-05-12 10:25:03 +02:00
219caa08af
vim+coc+ultisnips 2024-05-12 10:24:34 +02:00
a7dd1a8521
🔤 newsboat 2024-05-12 10:23:25 +02:00
ee94361f1a
🐛 better fzf/compose jaaENV
- `§ck-grep`: find combination for symbol
- `fzf`: typo
- `jaaENV`: switch java support and enhancements
2024-05-12 10:21:19 +02:00
f02723bdc6
🐛 ai commit (correct regular/conventional) 2024-05-12 10:19:02 +02:00
352632e5a5
use wikimedia Potd as HTML wallpaper
[Commons:Picture of the day - Wikimedia Commons](https://commons.wikimedia.org/wiki/Commons:Picture_of_the_day)
2024-05-12 10:16:48 +02:00
b260e411f0
Hl. hledání náhrad za nitter 2024-03-30 12:31:50 +01:00
1dc978f1c1
m instead of cd. + §time.mjs completion 2024-03-28 11:36:28 +01:00
d8d0c9ba2e
§time.mjs better time + allow ref 2024-03-27 19:01:29 +01:00
60d6583472
gcalendar/§time.mjs/shift-enter=history-and-alias-expand-line 2024-03-27 18:44:03 +01:00
6a8f73450c
🔤 updates (partially) fixes wayland 2024-03-27 14:18:56 +01:00
1a938fbeb3
config files nodejsscript and github-releases 2024-03-27 14:15:58 +01:00
3c99b8cb34
rm unused cd aliases in favou cd.
…quickly create cd aliases on demand
2024-03-27 14:14:42 +01:00
a665006836
🐛 color for ls alias 2024-03-27 14:14:28 +01:00
9737f6cdab
kwallet and nocodb 2024-03-21 10:35:30 +01:00
4f578e0bb0
🔤 event calendar update 2024-03-20 22:16:41 +01:00
9051f04328
🔤 just sorting todo list 2024-03-20 22:06:55 +01:00
98073783bf
🔤 KDE6 updates 2024-03-20 21:50:24 +01:00
08ee9f8b0e
modified: .config/kdedefaults/kwinrc 2024-03-20 21:50:02 +01:00
068db0c3c8
cleaning unused vimrc + updated tips bar 2024-03-20 21:49:11 +01:00
7f4d93f4d2
utils/bin updates (socky, njs, github-releases) 2024-03-20 21:48:17 +01:00
621832506c
🐛 ultisnips includes hotfixed by script 2024-03-20 21:46:40 +01:00
36376a2e34
konsole/bash 2024-03-12 12:54:48 +01:00
6269463d7b
silicon create code screenshots 2024-03-07 13:28:52 +01:00
34dd9f4b01
kwallet from cli 2024-03-06 09:39:06 +01:00
5c4a9851e6
*§ls→ls* and KDE Neon 6 and njs 2024-03-06 09:36:21 +01:00
3495c81c49
xremap, terminal UI+UX 2024-03-01 18:00:42 +01:00
5dd77c49a0
Logout dialog (dbus autorun still not working) 2024-02-29 20:14:33 +01:00
15be72893c
🐛 KDE Neon 6.0 2024-02-29 15:12:14 +01:00
43d220be01
👮 Remove console.log 2024-02-28 14:21:35 +01:00
8210faf9ce
🔤 varinat termux 2024-02-28 12:49:32 +01:00
110 changed files with 8930 additions and 3926 deletions

View File

@ -77,3 +77,11 @@ include "/usr/share/X11/locale/cs_CZ.UTF-8/Compose"
<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

@ -2,9 +2,10 @@
[ -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'
alias ls='ls --color=auto -pQFh --group-directories-first'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
@ -13,6 +14,9 @@ if [ -x /usr/bin/dircolors ]; then
alias egrep='egrep --color=auto'
alias diff='diff --color=auto'
fi
~sezení(){ ~/Dokumenty/Projekty/Sezení; }
alias §rm='rm -vi'
alias §cp='cp -vi'
alias §mv='mv -vi'
@ -42,29 +46,39 @@ history_most_used(){ LC_ALL=C cat ~/.bash_history | cut -d ';' -f 2- | §awk 1 |
ls ~/bin | grep -P "^§" | sed 's/^§/~\/bin\/ §/'
}
alias §ls='ls -pQFh --group-directories-first'
alias §less='less -R -S'
alias §cd.='clear;§ls'
§cd..(){ cd $(eval printf '../'%.0s {1..$1}); }
§cd(){
[[ "$1" == '--help' ]] && echo -e "
Usage: §cd NUMBER|PATH
See: dirs -v
" && return 0
[[ -z "$1" ]] && dirs -v | sed 1d && return 0
[[ $1 =~ ^[0-9]+$ ]] && cd "$(dirs -l +$1)" && dirs -v | sed 1d && return 0
builtin pushd "$1" >/dev/null && pushd .
m(){
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 <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)"
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-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
@ -78,6 +92,7 @@ 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 '\---'
@ -105,7 +120,8 @@ alias npx-wca='npx -y web-component-analyzer'
alias npx-qnm='npx -y qnm'
alias npx-hint='npx -y hint'
alias npx-markdown='nohup npx markserv'
alias zfz=fzf-carroarmato0.fzf
alias fzf=fzf-carroarmato0.fzf
§url-curl(){ curl --silent -I "$1" | grep -i location; }

View File

@ -10,12 +10,13 @@ complete -F _complete_alias gitdotfiles
alias C--asana='eval "$($HOME/bin/asana.mjs completion_bash)"'
alias C--himalaya='\. "$BASH_DOTFILES/himalaya.completion"'
alias C--uu='eval "$($HOME/bin/uu --completion-bash)"'
alias C--bs='eval "$(bs .completion bash)"'
alias C--jc='eval "$(jc -B)" … newer version needed'
eval "$(bs .completion bash)"
\. "$BASH_DOTFILES/cordova.completion"
eval "$(node --completion-bash)"
eval "$(npm completion)"
eval "$(nodejsscript --completion bash)"
\. "$BASH_DOTFILES/pnpm.completion"
_npx() {
local cur="${COMP_WORDS[COMP_CWORD]}"

View File

@ -9,95 +9,145 @@ function jaaENV {
echo " jaaENV --save …to_save (example: jaaENV --save nodejs php)"
echo ""
echo "Description:"
echo " - Without arguments loads infos from '.jaaENV'"
echo " - 'ls' shows supported options to auto load"
echo " - 'save' cerates config file '.jaaENV'"
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 new 'ANDROID_SDK_ROOT'. Value can be anything (use '1')."
echo " 'jdk': Exports 'JAVA_HOME' based on wanted version (currently 11/1.8)"
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 " '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 ⇒ http://jdem.cz/fgyu56 + https://deb.sury.org/"
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
if [ "$1" == "--save" ]; then
shift
rm -vi .jaaENV
while test $# -gt 0
do
while [ $# -gt 0 ]; do
case "$1" in
nodejs|node)
local nodejs_version=`node --version`
echo "nodejs=${nodejs_version:1}" >> .jaaENV
echo "nodejs=$(node --version | cut -c2-)" >> .jaaENV
;;
gradle)
local gradle_version=`gradle --version | head -n 3 | tail -n 1 | §awk 2`
echo "gradle=$gradle_version" >> .jaaENV
echo "gradle=$(gradle --version | awk '/Gradle/ {print $2}')" >> .jaaENV
;;
php)
local php_version=`php --version | head -n 1 | §awk 2`
echo "php=$php_version" >> .jaaENV
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"
echo "Unknown '$1' skipped"
;;
esac
shift
done
return 0
fi
if [ "$1" = "--ls" ]; then
echo ":: nvm ls ::\n"
nvm ls
echo ":: find /usr/bin/ -name php* ::\n"
find /usr/bin/ -name php*
echo ":: sdk ls gradle | cat :: "
sdk ls gradle | cat
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)
else
elif [ -f ".jaaENV" ]; then
. ./.jaaENV
else
echo 'No env file `compose.yaml` or `.jaaENV`'
return 1
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
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_bk=$JAVA_HOME
export JAVA_HOME=/snap/android-studio/current/android-studio/jre;
elif [ ! -z ${JAVA_HOME_bk+x} ]; then
export JAVA_HOME=$JAVA_HOME_bk
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 | head -n 1 | §awk 2`
local php_local=$(php --version | awk '/^PHP/ {print $2}')
if [[ "$php_local" == "$php"* ]]; then
echo "php $php"
echo "PHP version: $php"
else
echo "php $php$php_local"
sudo update-alternatives --set php /usr/bin/php$php
echo "Switching PHP version: $php$php_local"
sudo update-alternatives --set php "/usr/bin/php$php"
sudo -k
fi
fi
unset android_home
unset nodejs
unset gradle
unset php
# Cleanup variables
unset android_home unset_android_sdk nodejs gradle php java
}

View File

@ -1,58 +1,63 @@
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="|"
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="$?"
# 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"
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+="$chR$chW"
PS1+="\n:"
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}"
PS1+="\n:"
history -a
history -a
}
setPromt
unset color_prompt

View File

@ -1,7 +1,5 @@
# IMPORT IN `$HOME/.profile`
export ANDROID_HOME_BAK="$HOME/.local/share/umake/android/android-studio"
export ANDROID_SDK_ROOT="$HOME/.local/share/umake/android/android-studio-sdk"
export PATH=$PATH:$ANDROID_SDK_ROOT/tools/
export ANDROID_HOME_BAK="$HOME/.local/share/JetBrains/Toolbox/apps/android-studio/"
export ANDROID_SDK_ROOT="$HOME/Android/Sdk"
export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools/
export PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/
export PATH=$PATH:$ANDROID_SDK_ROOT/emulator/

View File

@ -11,9 +11,8 @@ 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
# Install Ruby Gems to ~/.local/share/gems
export GEM_HOME="$HOME/.local/share/gems"
export PATH="$HOME/.local/share/gems/bin:$HOME/.local/bin:$PATH"
export NODE_COMPILE_CACHE=~/.cache/nodejs-compile-cache # https://nolanlawson.com/2024/10/20/why-im-skeptical-of-rewriting-javascript-tools-in-faster-languages/
export PATH="$HOME/.local/bin:$PATH"
[ -f $BASH_DOTFILES/.bash_completions ] && . $BASH_DOTFILES/.bash_completions # for Vim
[[ $- != *i* ]] && return # If not running interactively, don't do anything
@ -22,7 +21,7 @@ export PATH="$HOME/.local/share/gems/bin:$HOME/.local/bin:$PATH"
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 \"col -b | vim --not-a-term -c 'set ft=man ts=8 nomod nolist noma' -\""
export MANPAGER="/bin/sh -c \"col -b | vim --appimage-extract-and-run --not-a-term -c 'set ft=man ts=8 nomod nolist noma' -\""
shopt -s checkwinsize # dynamic columns update after every cmd
## History
@ -62,4 +61,4 @@ export GPG_TTY=$(tty)
# HSTR configuration - add this to ~/.bashrc
# if this is interactive shell, then bind hstr to Ctrl-space
if [[ $- =~ .*i.* ]]; then bind '"\C-@": "\e^ihstr -- \n"'; fi
if [[ $- =~ .*i.* ]]; then bind '"\C-@": "\e^ihstr -- \C-j"'; fi

View File

@ -1,16 +0,0 @@
[Behavior]
hideDockIcon=false
hideMainWindowWhenStarted=true
[MainWindow]
pos=@Point(0 0)
size=@Size(640 480)
[RepoTreeView]
expandedCategories-e77d1fb=Moje knihovny\tNed\xe1vno aktualizovan\xe9\tSd\xedleno se skupinama
[Settings]
computerName=TUXEDO-InfinityBook-s15gen6
[UsedServerAddresses]
main=https://seafile.jaandrle.cz/

View File

@ -32,7 +32,7 @@
"model_hash_override": null,
"local_indexing": null,
"heartbeat_interval_seconds": null,
"last_service_level": "Cloud",
"last_service_level": "FreeCloudRegistered",
"override_beams": null,
"override_context_length": null,
"onboarding": null,

View File

@ -1,28 +1,3 @@
# 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 sceleton "HTML5" b
<!DOCTYPE html>
<!-- ${0}DEL IE https://www.paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
@ -50,6 +25,9 @@ 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"/>

View File

@ -0,0 +1 @@
extends javascript

View File

@ -1,25 +1,37 @@
# 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
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

@ -0,0 +1 @@
extends javascript

View File

@ -0,0 +1 @@
extends javascript

View File

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

3
.config/geany/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
geany_socket_*
session.conf
.directory

4
.config/geany/README.md Normal file
View File

@ -0,0 +1,4 @@
# Geany
I would like to use [Geany](https://www.geany.org/) as my secondary (mainly visual) editor instead of Notepad++ (and potentially VSCode).
I can also use it on my work MacOS for quick editing.

View File

@ -0,0 +1,131 @@
#
# This library is free software; you can baseRedistribute 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.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#
[theme_info]
name=VSDark (Modified)
description=Visual Studio Code's Dark Theme (Modified).
# list of each compatible Geany release version
compat=1.22;1.23;1.23.1;1.24
[named_colors]
base0=#ddd
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
[named_styles]
default=base0;base1;true;false
error=baseRed
# Editor styles
#-------------------------------------------------------------------------------
selection=;#000000;;true
current_line=;#212121;true
brace_good=base0;base2;true
brace_bad=baseRed;;true
margin_line_number=base3;base4
margin_folding=base3;#212121
fold_symbol_highlight=base2
indent_guide=base2;;true
caret=baseString;;false
marker_line=#fff;#00f;
marker_search=#fff;#d791a8;
marker_mark=;
call_tips=base0;base1
white_space=base3;;true
# Programming languages
#-------------------------------------------------------------------------------
comment=baseComment
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_1=number
number_2=number_1
type=baseKeyword;;true
class=baseString
function=baseFunction
parameter=function
keyword=baseKeyword;;true
keyword_1=keyword
keyword_2=baseKeyword3;;true
keyword_3=baseKeyWord2
keyword_4=keyword_3
identifier=default
identifier_1=identifier
identifier_2=baseNumber
identifier_3=identifier_2
identifier_4=identifier_3
string=baseString
string_1=string
string_2=string_1
string_3=default
string_4=default
string_eol=baseRed
character=string_1
backticks=string_2
here_doc=string_2
scalar=string_2
label=keyword,bold
preprocessor=baseString
regex=number_1
operator=base0
decorator=string_1,bold
other=baseString
# Markup-type languages
#-------------------------------------------------------------------------------
tag=baseKeyword
tag_unknown=tag,bold
tag_end=tag,bold
attribute=baseString
attribute_unknown=attribute,bold
value=string_1
entity=default
# Diff
#-------------------------------------------------------------------------------
line_added=baseGreen
line_removed=baseRed
line_changed=baseKeyword3

View File

@ -0,0 +1,132 @@
#
# 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.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#
[theme_info]
name=VSDark
description=Visual Studio Code's Dark Theme.
# list of each compatible Geany release version
compat=1.22;1.23;1.23.1;1.24
[named_colors]
base0=#d4d4d4
base1=#1a1c1e
base2=#3f3f3f
base3=#808080
base4=#303030
vsblue=#3588cd
aqua=#3ec7ac
bluegrey=#747e9e
orange=#ce8340
lime=#65ff00
grey=#6a9955
red=#f00
redbg=#751212
green=#859900
blue=#268bd2
yellow=#dcdcaa
[named_styles]
default=base0;base1
error=red
# Editor styles
#-------------------------------------------------------------------------------
selection=;#083840;;true
current_line=;#111;true
brace_good=base0;base2;true
brace_bad=red;;true
margin_line_number=base3;base4
margin_folding=base3;#212121
fold_symbol_highlight=base2
indent_guide=base2;;true
caret=aqua
marker_line=#fff;#00f;
marker_search=#fff;#d791a8;
marker_mark=;
call_tips=base0;base1
white_space=base2;;true
# Programming languages
#-------------------------------------------------------------------------------
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=orange
number_1=number
number_2=number_1
type=vsblue;;true
class=aqua
function=yellow
parameter=function
keyword=vsblue;;true
keyword_1=keyword
keyword_2=aqua;;true
keyword_3=bluegrey
keyword_4=keyword_3
identifier=default
identifier_1=identifier
identifier_2=identifier_1
identifier_3=identifier_1
identifier_4=identifier_1
string=orange
string_1=string
string_2=string_1
string_3=default
string_4=default
string_eol=red
character=string_1
backticks=string_2
here_doc=string_2
scalar=string_2
label=keyword,bold
preprocessor=aqua
regex=number_1
operator=base0
decorator=string_1,bold
other=aqua
# Markup-type languages
#-------------------------------------------------------------------------------
tag=vsblue
tag_unknown=tag,bold
tag_end=tag,bold
attribute=aqua
attribute_unknown=attribute,bold
value=string_1
entity=default
# Diff
#-------------------------------------------------------------------------------
line_added=green
line_removed=red
line_changed=blue

View File

@ -0,0 +1,107 @@
#
# No explicit license or copyright info available but part of the
# `gedit-themes` project:
# https://github.com/mig/gedit-themes/blob/master/zenburn.xml
#
# Ported to Geany by Matthew Brush <matt(at)geany(dot)org>
#
[theme_info]
name=Zenburn
description=A port of Zenburn from gedit-themes.
# incremented automatically, do not change manually
version=1226
author=Unknown Author <unknown email address>
url=https://github.com/mig/gedit-themes/blob/master/zenburn.xml
# list of each compatible Geany release version
compat=1.22;1.23;1.23.1;1.24
[named_styles]
default=#dcdccc;#2b2b2b;true;false
error=#e37170;#332323
# Editor styles
#-------------------------------------------------------------------------------
selection=#000;#7d7d7d;false;true
current_line=#000;#000;true
brace_good=#dcdccc;#7d7d7d;true;false
brace_bad=#e37170;#7d7d7d;true;false
margin_line_number=#7f8f8f;#464646
margin_folding=#7f8f8f;#4c4c4c
fold_symbol_highlight=#464646
indent_guide=#666
caret=#fff;;false
marker_line=#000;#ff0
marker_search=#000;#0000f0
marker_mark=#000;#b8f4b8
call_tips=#c0c0c0;#fff;false;false
white_space=#666;#ddd;true;false
# Programming languages
#-------------------------------------------------------------------------------
comment=#93B893
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=#8cd0d3
number_1=number
number_2=number_1
type=#dfdfbf;;true
class=type
function=#efef8f
parameter=#efdcbc
keyword=#f0dfaf;;true
keyword_1=keyword
keyword_2=keyword_1
keyword_3=keyword_1
keyword_4=keyword_1
identifier=default
identifier_1=identifier
identifier_2=identifier_1
identifier_3=identifier_1
identifier_4=identifier_1
string=#cc9393
string_1=string
string_2=string_1
string_3=default
string_4=default
string_eol=string_1,italic
character=string_1
backticks=string_2
here_doc=string_2
scalar=string_2
label=default,bold
preprocessor=#ffcfaf
regex=number_1
operator=default
decorator=string_1,bold
other=default
# Markup-type languages
#-------------------------------------------------------------------------------
tag=#f0dfaf
tag_unknown=tag
tag_end=tag
attribute=#dfdfbf
attribute_unknown=attribute
value=string_1
entity=default
# Diff
#-------------------------------------------------------------------------------
line_added=#7f9f7f;;true
line_removed=#cc9393;;true
line_changed=preprocessor

View File

@ -0,0 +1,32 @@
# For complete documentation of this file, please see Geany's main documentation
#
# Geany Color Syntax support for Dockerfiles
#
# version 0.2
#
# 0.1 - original version
# 0.2 - base on Sh instead - fixes problems with //, #, /*
[styling=C]
[keywords]
primary= ADD ARG CMD COPY ENTRYPOINT ENV EXPOSE FROM HEALTHCHECK LABEL ONBUILD RUN SHELL STOPSIGNAL USER VOLUME WORKDIR
[lexer_properties=C]
[settings]
lexer_filetype=Sh
tag_parser=C
extension=
# single comments, like # in this file
comment_single=#
# set to false if a comment character/string should start at column 0 of a line, true uses any
# indentation of the line, e.g. setting to true causes the following on pressing CTRL+d
#command_example();
# setting to false would generate this
# command_example();
# This setting works only for single line comments
comment_use_indent=true
# context action command (please see Geany's main documentation for details)
context_action_cmd=xdg-open "https://docs.docker.com/engine/reference/builder/"

View File

@ -0,0 +1,17 @@
[styling=C]
[lexer_properties=C]
[keywords]
primary=true false null
[settings]
lexer_filetype=Javascript
tag_parser=JSON
extension=json
mime_type=application/json
#~ [indentation]
#~ #width=4
#~ # 0 is spaces, 1 is tabs, 2 is tab & spaces
#~ #type=1

View File

@ -0,0 +1,17 @@
[styling=CSS]
[keywords=CSS]
primary=@import @media @font-face @keyframes @viewport @-webkit-keyframes @-moz-keyframes @-o-keyframes @-ms-keyframes @supports
secondary=absolute all and animate auto background background-attachment background-color background-image background-position background-repeat background-size border border-bottom border-color border-left border-radius border-right border-style border-top border-width bottom box-shadow break-word clearfix color column count cursor display fixed float font font-family font-size font-weight height inline-block inline-table left letter-spacing line-height list-style margin margin-bottom margin-left margin-right margin-top max max-height max-width min min-height min-width none opacity overflow overflow-x overflow-y padding padding-bottom padding-left padding-right padding-top position relative repeat right size solid static table text-align text-decoration text-transform top transform transition transparent underline vertical-align visibility visible white-space width z-index
[lexer_properties=CSS]
lexer.css.less.language=1
[settings=CSS]
lexer_filetype=CSS
tag_parser=CSS
extension=less
comment_single=//
comment_open=/*
comment_close=*/
comment_use_indent=true

View File

@ -0,0 +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/).

View File

@ -0,0 +1,26 @@
[styling=CSS]
[keywords=CSS]
primary=if else for while each in return @mixin @include @extend @import @function @if @else @for @each @while @debug @warn @error @at-root and or not only !default !optional
secondary=a abbr acronym address applet area article aside audio b base basefont bdi bdo big blockquote body br button canvas caption center cite code col colgroup datalist dd del details dfn dir div dl dt em embed fieldset figcaption figure font footer form frame frameset h1 h2 h3 h4 h5 h6 head header hr html i iframe img input ins kbd keygen label legend li link listing main map mark menu menuitem meta meter nav nobr noframes noscript object ol optgroup option output p param picture pre progress q rp rt ruby s samp script section select small source span strike strong style sub summary sup table tbody td textarea tfoot th thead time title tr track tt u ul var video wbr
user1=background color border margin padding font display position top right bottom left float clear z-index overflow visibility width height min-width max-width min-height max-height line-height letter-spacing word-spacing text-align text-decoration text-indent text-transform white-space vertical-align list-style-type list-style-position list-style-image background-color background-image background-position background-repeat background-size border-color border-width border-style border-radius box-shadow outline-color outline-width outline-style opacity filter transform transition animation keyframes grid flex flex-direction flex-wrap justify-content align-items align-content order flex-grow flex-shrink flex-basis align-self media screen print
user2=import url charset namespace keyframes font-face supports media all print screen speech only
user3=rgba hsla rgb hsl calc
user4=webkit moz o ms khtml
[lexer_properties=CSS]
lexer.css.scss.language=1
[settings=CSS]
lexer_filetype=CSS
tag_parser=CSS
extension=scss
comment_single=//
comment_open=/*
comment_close=*/
comment_use_indent=true
[build_settings]
# %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time)
compiler=npx sass -c "%f"
linker=npx sass --style expanded "%f" "%e.dev.css"

View File

@ -0,0 +1,22 @@
[styling=HTML]
[keywords=XML]
primary=svg circle rect ellipse line polyline polygon path g text use symbol defs marker style script
[settings=XML]
extension=svg
mime_type=image/svg+xml
lexer_filetype=XML
# the following characters are these which a "word" can contains, see documentation
#wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
#comment_single=
#comment_open=<!--
#comment_close=-->
#comment_use_indent=true
#context_action_cmd=
#xml_indent_tags=true
[lexer_properties]
lexer.xml.allow.scripts=1
lexer.xml.allow.singletags=1

View File

@ -0,0 +1,34 @@
[styling]
default=default
comment=comment
comment_doc=comment_doc
number=number
keyword=keyword
keyword2=builtin
string=string
character=character
uuid=uuid
preprocessor=preprocessor
operator=operator
identifier=identifier
stringeol=stringeol
function=function
[keywords=CSS]
primary=@import @media @font-face @keyframes @viewport @-webkit-keyframes @-moz-keyframes @-o-keyframes @-ms-keyframes @supports if else for in and or not return extend
secondary=absolute all animate auto background background-attachment background-color background-image background-position background-repeat background-size border border-bottom border-color border-left border-radius border-right border-style border-top border-width bottom box-shadow break-word clearfix color column count cursor display fixed float font font-family font-size font-weight height inline-block inline-table left letter-spacing line-height list-style margin margin-bottom margin-left margin-right margin-top max max-height max-width min min-height min-width none opacity overflow overflow-x overflow-y padding padding-bottom padding-left padding-right padding-top position relative repeat right size solid static table text-align text-decoration text-transform top transform transition transparent underline vertical-align visibility visible white-space width z-index rgba hsla rgb hsl calc
user1=base background-color background-position-x background-position-y background-size background-clip border-collapse border-color border-image border-image-outset border-image-repeat border-image-slice border-image-source border-image-width border-spacing border-style bottom box-align box-direction box-flex box-orient box-pack color color-interpolation color-rendering column-count column-fill column-gap column-rule column-rule-color column-rule-style column-rule-width column-span column-width content counter-increment counter-reset cursor display fill fill-opacity fill-rule filter flex flex-align flex-direction flex-pack flex-wrap float flood-color flood-opacity font font-family font-size font-smoothing font-stretch font-style font-variant font-weight height justify-content left letter-spacing line-break line-height list-style list-style-image list-style-position list-style-type margin margin-bottom margin-left margin-right margin-top marker-end marker-mid marker-start mask mask-type max-height max-width min-height min-width object-fit object-position opacity order outline outline-color outline-offset outline-style outline-width overflow overflow-x overflow-y padding padding-bottom padding-left padding-right padding-top page-break-after page-break-before page-break-inside perspective perspective-origin position quotes right shape-image-threshold shape-margin shape-outside size speak src stop-color stop-opacity stroke stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width tab-size table-layout text-align text-align-last text-anchor text-decoration text-decoration-color text-decoration-line text-decoration-style text-indent text-overflow text-rendering text-shadow text-size-adjust text-transform top transform transform-origin transform-style transition transition-delay transition-duration transition-property transition-timing-function unicode-bidi vertical-align visibility white-space widows width will-change word-break word-spacing word-wrap writing-mode z-index
[lexer_properties]
lexer.cpp.track.preprocessor=1
lexer.cpp.update.preprocessor=1
[settings=CSS]
extension=styl
lexer_filetype=python
tag_parser=CSS
comment_single=//
comment_open=/*
comment_close=*/
comment_use_indent=true

View File

@ -0,0 +1,21 @@
[styling=C]
[keywords]
primary=abstract as any async await boolean break case catch class const constructor continue debugger declare default delete do else enum export extends false finally for from function get if implements import in instanceof interface let module namespace new null of package private protected public readonly require return set static super switch symbol this throw true try type typeof var void while with yield
secondary=Array ArrayBuffer Boolean constructor DataView Date decodeURI decodeURIComponent encodeURI encodeURIComponent Error eval EvalError Float32Array Float64Array Function hasOwnProperty Infinity Int16Array Int32Array Int8Array isFinite isNaN isPrototypeOf JSON Map Math NaN Number Object parseFloat parseInt Promise propertyIsEnumerable Proxy RangeError ReferenceError Reflect RegExp Set String Symbol SyntaxError toLocaleString toString TypeError Uint16Array Uint32Array Uint8Array Uint8ClampedArray undefined URIError valueOf WeakMap WeakSet
[lexer_properties=C]
# https://github.com/geany/geany/blob/edd733013047c1f2a4786a64e2364f8b30c41be9/scintilla/lexilla/lexers/LexCPP.cxx#L363
lexer.cpp.backquoted.strings=1
lexer.cpp.allow.dollars=1
lexer.cpp.escape.sequence=1
[settings]
extension=ts
#~ lexer_filetype=C
lexer_filetype=ActionScript
mime_type=text/x-typescript
wordchars=$_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
comment_single=//
comment_open=/*
comment_close=*/
comment_use_indent=true

View File

@ -0,0 +1,16 @@
[styling=C]
[keywords]
primary=if endif else elseif set let call function endfunction return for endfor while endwhile break continue execute try endtry catch throw finally
[lexer_properties=C]
[settings]
lexer_filetype=Sh
tag_parser=C
extension=
comment_single=#
comment_open="
comment_close=
context_action=false
context_action_menu=false

View File

@ -0,0 +1,19 @@
[styling=HTML]
[keywords=HTML]
primary=template script style data methods props computed watch components directives filters mixins created mounted updated destroyed beforeCreate beforeMount beforeUpdate beforeDestroy emit
secondary=Array Boolean Date Error Function JSON Math Number Object Promise RegExp String Symbol console document window
user1=import from export default async await try catch throw return if else for while switch case break continue function const let var new this true false null undefined
[settings=XML]
extension=vue
lexer_filetype=HTML
comment_single=//
comment_open=/*
comment_close=*/
comment_use_indent=true
context_action_cmd=
[lexer_properties]
# https://github.com/geany/geany/blob/edd733013047c1f2a4786a64e2364f8b30c41be9/scintilla/lexilla/lexers/LexHTML.cxx#L745
lexer.xml.allow.singletags=1
styling.within.preproc=1

View File

@ -0,0 +1,12 @@
[lexer_properties=C]
# https://github.com/geany/geany/blob/edd733013047c1f2a4786a64e2364f8b30c41be9/scintilla/lexilla/lexers/LexCPP.cxx#L363
lexer.cpp.backquoted.strings=1
lexer.cpp.allow.dollars=1
lexer.cpp.escape.sequence=1
[settings]
extension=js
#~ lexer_filetype=C
lexer_filetype=ActionScript
wordchars=$_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789

View File

@ -0,0 +1,98 @@
# Filetype extension configuration file for Geany
# Insert as many items as you want, separate them with a ";".
# See Geany's main documentation for details.
[Extensions]
#Abaqus=*.inp;
#Abc=*.abc;*.abp;
#ActionScript=*.as;
#Ada=*.adb;*.ads;
#Arduino=*.ino;*.pde;
#Asciidoc=*.asciidoc;*.adoc;
#ASM=*.asm;*.asm51;*.a51;*.s;*.S;*.sx;
#AutoIt=*.au3;
#Batch=*.bat;*.cmd;*.nt;
#BibTeX=*.bib;
#CAML=*.ml;*.mli;
#C=*.c;*.xpm;
#C++=*.cpp;*.cxx;*.c++;*.cc;*.h;*.hpp;*.hxx;*.h++;*.hh;*.C;*.H;
#Clojure=*.clj;*.cljs;*.cljc;
#CUDA=*.cu;*.cuh;*.h;
#C#=*.cs;
#CMake=CMakeLists.txt;*.cmake;*.ctest;
#COBOL=*.cob;*.cpy;*.cbl;*.cobol;
#CoffeeScript=*.coffee;Cakefile;*.Cakefile;*.coffee.erb;*.iced;*.iced.erb;
#Conf=*.conf;*.ini;config;*rc;*.cfg;*.desktop;*.properties;
#CSS=*.css;
#Cython=*.pyx;*.pxd;*.pxi;
#D=*.d;*.di;
#Diff=*.diff;*.patch;*.rej;
#Docbook=*.docbook;
Dockerfile=Dockerfile;dockerfile;*.dockerfile;*.Dockerfile;
#Erlang=*.erl;*.hrl;
#F77=*.f;*.for;*.ftn;*.f77;*.F;*.FOR;*.FTN;*.fpp;*.FPP;*.F77;
#Forth=*.fs;*.fth;
#Fortran=*.f90;*.f95;*.f03;*.f08;*.F90;*.F95;*.F03;*.F08;
#FreeBasic=*.bas;*.bi;*.vbs;
#GDScript=*.gd;
#Genie=*.gs;
#GLSL=*.glsl;*.frag;*.vert;
#Go=*.go;
#Graphviz=*.gv;*.dot;
#Groovy=*.groovy;*.gradle;
#Haskell=*.hs;*.lhs;*.hs-boot;*.lhs-boot;
#Haxe=*.hx;
#HTML=*.htm;*.html;*.shtml;*.hta;*.htd;*.htt;*.cfm;*.tpl;
#Java=*.java;*.jsp;
JavaScript=*.js;*.mjs;
#JSON=*.json;
#Julia=*.jl;
#Kotlin=*.kt;*.kts;
#LaTeX=*.tex;*.sty;*.idx;*.ltx;*.latex;*.aux;
Less=*.less;
#Lisp=*.lisp;*.el;
#Lua=*.lua;
#Make=*.mak;*.mk;GNUmakefile;makefile;Makefile;makefile.*;Makefile.*;
#Markdown=*.mdml;*.markdown;*.md;*.mkd;*.mkdn;*.mdwn;*.mdown;*.mdtxt;*.mdtext;
#Matlab/Octave=*.m;
#Meson=meson.build;meson.options;meson_options.txt;
#Nim=*.nim;
#NSIS=*.nsi;*.nsh;
#Objective-C=*.m;*.mm;*.h;
#Pascal=*.pas;*.pp;*.inc;*.dpr;*.dpk;
#Perl=*.pl;*.perl;*.pm;*.agi;*.pod;
#PHP=*.php;*.php3;*.php4;*.php5;*.phtml;
#Po=*.po;*.pot;
#Python=*.py;*.pyw;SConstruct;SConscript;wscript;
#PowerShell=*.ps1;*.psm1;
#reStructuredText=*.rest;*.reST;*.rst;
#R=*.R;*.r;
#Rust=*.rs;
#Ruby=*.rb;*.rhtml;*.ruby;*.gemspec;Gemfile;rakefile;Rakefile;
#Scala=*.scala;*.scl;
#Sh=*.sh;configure;configure.in;configure.in.in;configure.ac;*.ksh;*.mksh;*.zsh;*.ash;*.bash;.bashrc;bash.bashrc;.bash_*;bash_*;*.m4;PKGBUILD;*profile;
#Smalltalk=*.st;
#SQL=*.sql;
Stylus=*.styl;
#Swift=*.swift;
#Tcl=*.tcl;*.tk;*.wish;*.exp;
#Txt2tags=*.t2t;
TypeScript=*.ts;*.tsx;
SCSS=*.scss
SVG=*.svg
#Vala=*.vala;*.vapi;
#Verilog=*.v;
#VHDL=*.vhd;*.vhdl;
Vimrc=*.vimrc;vimrc;tridactylrc;vifmrc;
Vue=*.vue;
#XML=*.xml;*.sgml;*.xsl;*.xslt;*.xsd;*.xhtml;*.xul;*.dtd;*.xtpl;*.mml;*.mathml;
#YAML=*.yaml;*.yml;
#Zephir=*.zep;
#None=*;
# Note: restarting is required after editing groups
[Groups]
#Programming=Arduino;Clojure;CUDA;Cython;Genie;Groovy;Kotlin;Nim;Scala;Swift;
Script=JavaScript;TypeScript;Dockerfile;Vimrc;
Markup=SVG;SCSS;Stylus;Less;Vue;
#Misc=JSON;
#None=

234
.config/geany/geany.conf Normal file
View File

@ -0,0 +1,234 @@
[geany]
pref_main_load_session=false
pref_main_project_file_in_basedir=false
pref_main_save_winpos=true
pref_main_save_wingeom=true
pref_main_confirm_exit=false
pref_main_suppress_status_messages=false
switch_msgwin_pages=false
beep_on_errors=true
auto_focus=false
sidebar_symbol_visible=true
sidebar_openfiles_visible=true
editor_font=Ubuntu Mono Bold 9
tagbar_font=Ubuntu Mono 8
msgwin_font=Ubuntu Mono Bold 8
show_notebook_tabs=false
show_tab_cross=true
tab_order_ltr=true
tab_order_beside=true
tab_pos_editor=2
tab_pos_msgwin=0
tab_label_length=1000
show_indent_guide=true
show_white_space=true
show_line_endings=false
show_line_endings_only_when_differ=false
show_markers_margin=true
show_linenumber_margin=true
long_line_enabled=true
long_line_type=0
long_line_column=120
long_line_color=#000000
symbolcompletion_max_height=10
symbolcompletion_min_chars=3
use_folding=true
unfold_all_children=false
use_indicators=true
line_wrapping=false
auto_close_xml_tags=true
complete_snippets=true
auto_complete_symbols=true
pref_editor_disable_dnd=false
pref_editor_smart_home_key=true
pref_editor_newline_strip=false
line_break_column=120
auto_continue_multiline=true
comment_toggle_mark=~
scroll_stop_at_last_line=true
autoclose_chars=0
pref_editor_default_new_encoding=UTF-8
pref_editor_default_open_encoding=none
default_eol_character=2
pref_editor_new_line=false
pref_editor_ensure_convert_line_endings=false
pref_editor_replace_tabs=false
pref_editor_trail_space=false
pref_toolbar_show=false
pref_toolbar_append_to_menu=false
pref_toolbar_use_gtk_default_style=true
pref_toolbar_use_gtk_default_icon=true
pref_toolbar_icon_style=0
pref_toolbar_icon_size=0
pref_template_developer=Jan Andrle
pref_template_company=
pref_template_mail=andrle.jan@centrum.cz
pref_template_initial=JA
pref_template_version=1.0
pref_template_year=%Y
pref_template_date=%Y-%m-%d
pref_template_datetime=%d.%m.%Y %H:%M:%S %Z
context_action_cmd=
sidebar_visible=true
statusbar_visible=true
msgwindow_visible=false
fullscreen=false
symbols_group_by_type=true
color_picker_palette=
scribble_text=Pište sem cokoliv, použijte toto jako poznámkový blok
scribble_pos=53
custom_date_format=
default_open_path=
cmdline_new_files=true
notebook_double_click_hides_widgets=false
tab_close_switch_to_mru=true
tab_pos_sidebar=2
openfiles_path_mode=2
sidebar_pos=0
symbols_sort_mode=1
msgwin_orientation=1
highlighting_invert_all=false
pref_main_search_use_current_word=true
check_detect_indent=false
detect_indent_width=false
use_tab_to_indent=true
backspace_unindent=true
pref_editor_tab_width=4
indent_mode=2
indent_type=1
virtualspace=1
change_history_markers=false
change_history_indicators=false
autocomplete_doc_words=false
completion_drops_rest_of_word=false
autocompletion_max_entries=30
autocompletion_update_freq=250
color_scheme=vsdark-mod.conf
scroll_lines_around_cursor=0
mru_length=10
disk_check_timeout=30
show_editor_scrollbars=true
brace_match_ltgt=true
use_gtk_word_boundaries=true
complete_snippets_whilst_editing=false
indent_hard_tab_width=4
editor_ime_interaction=0
use_atomic_file_saving=false
gio_unsafe_save_backup=false
use_gio_unsafe_file_saving=true
keep_edit_history_on_reload=false
show_keep_edit_history_on_reload_msg=false
reload_clean_doc_on_file_change=false
save_config_on_file_change=true
extract_filetype_regex=-\\*-\\s*([^\\s]+)\\s*-\\*-
allow_always_save=false
find_selection_type=0
replace_and_find_by_default=true
show_symbol_list_expanders=true
compiler_tab_autoscroll=true
statusbar_template=line: %l / %L col: %c sel: %s %w %t %mEOL: %M encoding: %e filetype: %f scope: %S
new_document_after_close=false
msgwin_status_visible=true
msgwin_compiler_visible=true
msgwin_messages_visible=true
msgwin_scribble_visible=true
warn_on_project_close=true
documents_show_paths=true
sidebar_page=3
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
[tools]
terminal_cmd=konsole "%c"
browser_cmd=firefox
grep_cmd=grep
shell_cmd=/bin/bash
[printing]
print_cmd=lpr '%f'
use_gtk_printing=true
print_line_numbers=true
print_page_numbers=true
print_page_header=true
page_header_basename=false
page_header_datefmt=%c
[VTE]
load_vte=true
font=Monospace 10
scroll_on_key=true
scroll_on_out=true
enable_bash_keys=true
ignore_menu_bar_accel=false
follow_path=false
run_in_vte=false
skip_run_script=false
cursor_blinks=false
scrollback_lines=500
shell=/bin/bash
colour_fore=#DEDDDA
colour_back=#2B2B2B
send_cmd_prefix=
send_selection_unsafe=false
last_dir=/home/jaandrle
[build-menu]
number_ft_menu_items=0
number_non_ft_menu_items=0
number_exec_menu_items=0
[search]
pref_search_hide_find_dialog=false
pref_search_always_wrap=false
pref_search_current_file_dir=true
fif_regexp=false
fif_case_sensitive=true
fif_match_whole_word=false
fif_invert_results=false
fif_recursive=false
fif_extra_options=
fif_use_extra_options=false
fif_files=
fif_files_mode=0
find_regexp=false
find_regexp_multiline=false
find_case_sensitive=false
find_escape_sequences=false
find_match_whole_word=false
find_match_word_start=false
find_close_dialog=true
replace_regexp=false
replace_regexp_multiline=false
replace_case_sensitive=false
replace_escape_sequences=true
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
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;
[project]
session_file=
project_file_path=/home/jaandrle/Dokumenty/Projekty/geany
[files]
recent_files=/home/jaandrle/Vzdálené/GitHub/dcp-fe-container-certifedpassport/src/app/stamps/index.tsx;/home/jaandrle/Vzdálené/GitHub/bs-repo/src/completion.js;/home/jaandrle/.local/share/JetBrains/Toolbox/apps/android-studio/Install-Linux-tar.txt;/media/jaandrle/neon/home/jaandrle/.local/share/umake/android/android-studio/product-info.json;/home/jaandrle/.profile;/home/jaandrle/bin/README.md;/home/jaandrle/Vzdálené/GitHub/deka-dom-el/package.json;/media/jaandrle/neon/home/jaandrle/Vzdálené/ftp/dhlcnetworkcom.ftp;/home/jaandrle/README.md;/home/jaandrle/.config/Seafile/Seafile Client.conf;
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;
current_page=0
FILE_NAME_0=1793;TypeScript;0;EUTF-8;1;1;0;%2Fhome%2Fjaandrle%2FVzdálené%2FGitHub%2Fdcp-fe-container-certifedpassport%2Fsrc%2Fapp%2Fstamps%2Findex.tsx;0;4

View File

@ -0,0 +1,7 @@
[Settings]
# 0: automatic selection based on system settings (requires Geany restart when changed, macOS 10.14+); 1: light; 2: dark; make sure there's no ~/.config/gtk-3.0/settings.ini file, otherwise it overrides the settings made here
theme=0
# no value: autodetect; locale string: locale to be used (e.g. en_US.UTF-8)
locale=
# no value: don't use any IM module; module name: use the specified module, e.g. 'quartz' for native macOS behavior, for complete list of modules, see Geany.app/Contents/Resources/lib/gtk-3.0/3.0.0/immodules, use without the 'im-' prefix
im_module=quartz

View File

@ -0,0 +1,5 @@
[Settings]
gtk-menu-images=1
gtk-theme-name=Prof-Gnome
gtk-application-prefer-dark-theme=1
gtk-icon-theme-name=Papirus-Dark

View File

@ -0,0 +1,227 @@
[Bindings]
menu_new=<Primary>n
menu_open=<Primary>o
menu_open_selected=<Primary><Shift>o
menu_save=<Primary>s
menu_saveas=
menu_saveall=<Primary><Shift>s
file_properties=
menu_print=
menu_close=<Primary>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=
edit_deletelinetoend=<Primary><Shift>Delete
edit_deletelinetobegin=<Primary><Shift>BackSpace
edit_transposeline=
edit_scrolltoline=<Primary><Shift>l
edit_scrolllineup=<Alt>Up
edit_scrolllinedown=<Alt>Down
edit_completesnippet=Tab
move_snippetnextcursor=<Shift>ISO_Left_Tab
edit_suppresssnippetcompletion=
popup_contextaction=
edit_autocomplete=<Primary>space
edit_calltip=<Primary>space
edit_wordpartcompletion=Tab
edit_movelineup=<Alt>Page_Up
edit_movelinedown=<Alt>Page_Down
menu_cut=<Primary>x
menu_copy=<Primary>c
menu_paste=<Primary>v
edit_copyline=<Primary><Shift>c
edit_cutline=<Primary><Shift>x
menu_selectall=<Primary>a
edit_selectword=<Shift><Alt>w
edit_selectline=<Shift><Alt>l
edit_selectparagraph=<Shift><Alt>p
edit_selectwordpartleft=
edit_selectwordpartright=
edit_togglecase=<Primary><Alt>u
edit_commentlinetoggle=<Primary>e
edit_commentline=
edit_uncommentline=
edit_increaseindent=<Primary>i
edit_decreaseindent=<Primary>u
edit_increaseindentbyspace=
edit_decreaseindentbyspace=
edit_autoindent=
edit_sendtocmd1=<Primary>1
edit_sendtocmd2=<Primary>2
edit_sendtocmd3=<Primary>3
edit_sendtocmd4=
edit_sendtocmd5=
edit_sendtocmd6=
edit_sendtocmd7=
edit_sendtocmd8=
edit_sendtocmd9=
edit_sendtovte=
format_reflowparagraph=<Primary>j
edit_joinlines=
menu_insert_date=
edit_insertwhitespace=
edit_insertlinebefore=
edit_insertlineafter=
menu_preferences=<Primary><Alt>p
menu_pluginpreferences=
menu_find=<Primary>f
menu_findnext=F3
menu_findprevious=<Shift>F3
menu_findnextsel=
menu_findprevsel=
menu_replace=<Primary>h
menu_findinfiles=<Primary><Shift>f
menu_nextmessage=
menu_previousmessage=
popup_findusage=<Primary><Shift>e
popup_finddocumentusage=<Primary><Shift>d
find_markall=<Primary><Shift>m
nav_back=<Alt>Left
nav_forward=<Alt>Right
menu_gotoline=<Primary>g
edit_gotomatchingbrace=<Primary>equal
edit_togglemarker=<Primary>m
edit_gotonextmarker=<Primary>period
edit_gotopreviousmarker=<Primary>comma
popup_gototagdefinition=<Primary>t
popup_gototagdeclaration=<Primary><Shift>t
edit_gotolinestart=Home
edit_gotolineend=End
edit_gotolinestartvisual=<Alt>Home
edit_gotolineendvisual=<Alt>End
edit_prevwordstart=<Primary>slash
edit_nextwordstart=<Primary>backslash
menu_toggleall=F1
menu_fullscreen=F11
menu_messagewindow=
toggle_sidebar=
menu_zoomin=<Primary>plus
menu_zoomout=<Primary>minus
normal_size=<Primary>0
menu_linewrap=
menu_linebreak=
menu_clone=
menu_strip_trailing_spaces=
menu_replacetabs=
menu_replacespaces=
menu_togglefold=
menu_foldall=
menu_unfoldall=
reloadtaglist=<Primary><Shift>r
remove_markers=
remove_error_indicators=
remove_markers_and_indicators=
project_new=
project_new_from_folder=
project_open=
project_properties=
project_close=
build_compile=F8
build_link=F9
build_make=<Shift>F9
build_makeowntarget=<Primary><Shift>F9
build_makeobject=<Shift>F8
build_nexterror=
build_previouserror=
build_run=F5
build_options=
menu_opencolorchooser=
menu_help=
switch_editor=F2
switch_search_bar=F7
switch_message_window=
switch_compiler=
switch_messages=
switch_scribble=F6
switch_vte=F4
switch_sidebar=<Shift>F2
switch_sidebar_symbol_list=
switch_sidebar_doc_list=
switch_tableft=<Primary>Page_Up
switch_tabright=<Primary>Page_Down
switch_tablastused=<Primary>Tab
move_tableft=<Primary><Shift>Page_Up
move_tabright=<Primary><Shift>Page_Down
move_tabfirst=
move_tablast=
[addons]
focus_bookmark_list=
focus_tasks=
update_tasks=
xml_tagging=
copy_file_path=
Enclose_1=
Enclose_2=
Enclose_3=
Enclose_4=
Enclose_5=
Enclose_6=
Enclose_7=
Enclose_8=
[code_navigation]
switch_head_impl=<Shift><Alt>s
goto_file=<Shift><Alt>g
[commander]
show_panel=
show_panel_commands=<Primary>semicolon
show_panel_files=
[file_browser]
focus_file_list=
focus_path_entry=
rename_object=
create_file=
create_dir=
rename_refresh=
track_current=
[vimode]
enable_vim=
insert_for_dummies=
[ProjectOrganizer]
find_in_project=
find_file=<Primary>p
find_tag=
swap_header_source=
focus_project_sidebar=
open_file_manager=
open_terminal=
[doc_chars]
Document current word=
Document interactive=
[GeanyCtags]
generate_tags=
find_tag=
[keyrecord]
record=
play=
[geanyprj]
find_in_project=
[html_chars]
insert_html_chars=
replace_special_characters=
htmltoogle_toggle_plugin_status=
[extra_select]
column_mode=<Primary><Shift>v
goto_line_extend=<Primary><Shift>g
brace_match_extend=<Primary><Shift>percent
convert_selection=
set_anchor=
select_to_anchor=
rect_select_to_anchor=

View File

@ -0,0 +1,17 @@
[addons]
show_toolbar_doclist_item=true
doclist_sort_mode=2
enable_openuri=false
enable_tasks=true
tasks_token_list=TODO;FIXME
tasks_scan_all_documents=false
enable_systray=false
enable_bookmarklist=true
enable_markword=false
enable_markword_single_click_deselect=false
strip_trailing_blank_lines=false
enable_xmltagging=false
enable_enclose_words=false
enable_enclose_words_auto=false
enable_colortip=true
enable_double_click_color_chooser=true

View File

@ -0,0 +1,23 @@
[autoclose]
parenthesis=true
abracket=true
abracket_htmlonly=true
cbracket=true
sbracket=true
dquote=true
squote=true
backquote=true
backquote_bashonly=false
comments_ac_enable=true
delete_pairing_brace=true
suppress_doubling=true
enclose_selections=true
comments_enclose=false
keep_selection=true
make_indent_for_cbracket=true
move_cursor_to_beginning=true
improved_cbracket_indent=true
whitesmiths_style=false
close_functions=true
bcksp_remove_pair=false
jump_on_tab=true

View File

@ -0,0 +1,7 @@
[filebrowser]
open_command=dolphin "%d"
show_hidden_files=true
hide_object_files=true
hidden_file_extensions=.o .obj .so .dll .a .lib .pyc
fb_follow_path=false
fb_set_project_base_path=false

View File

@ -0,0 +1,26 @@
[C]
internal=false
command0=man -P "col -b" -S 2:3:5 '%w'
command1=devhelp -s '%w'
[C++]
internal=false
command0=man -P "col -b" -S 2:3:5 '%w'
command1=devhelp -s '%w'
[PHP]
internal=false
command0=firefox "http://www.php.net/%w"
[Sh]
internal=true
command0=man -P "col -b" -S 1:4:5:6:7:8:9 '%w'
[Python]
internal=true
command0=pydoc '%w'
[None]
internal=false
command0=safari "https://searxng.jaandrle.cz/search?q=%w&language=all&time_range=&safesearch=0&categories=general"

View File

@ -0,0 +1,17 @@
[saveactions]
enable_autosave=false
enable_autosave_losing_focus=false
enable_instantsave=false
enable_backupcopy=false
[autosave]
print_messages=false
save_all=false
interval=300
[instantsave]
default_ft=None
[backupcopy]
dir_levels=0
time_fmt=%Y-%m-%d-%H-%M-%S

View File

@ -0,0 +1,16 @@
[treebrowser]
open_external_cmd=xdg-open '%d'
open_terminal=xterm
reverse_filter=false
one_click_chdoc=false
show_hidden_files=false
hide_object_files=false
show_bars=1
chroot_on_dclick=false
follow_current_doc=true
on_delete_close_file=true
on_open_focus_editor=false
show_tree_lines=true
show_bookmarks=false
show_icons=2
open_new_files=true

View File

@ -0,0 +1,4 @@
[Settings]
enable_vim=false
insert_for_dummies=false
start_in_insert=true

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,424 @@
# format=pipe
E|||
Form|||
Infinity|||
LN10|||
LN2|||
LOG10E|||
LOG2E|||
NaN|||
Number|number|(object o)|
PI|||
Positioning|||
Property|||
SQRT2|||
String|string|(object o)|
URL|||
UTC|int|(int year, int month, int day, int hours, int minutes, int seconds, int ms)|
aLink|||
abbr|||
abs|float|(float x)|
accept|||
acceptCharset|||
accessKey|||
acos|float|(float x)|
action|||
add||(option o[, int before])|
alert||(mixed value)|
align|||
alt|||
altKey|||
appCodeName|||
appName|||
appVersion|||
appendChild|node|(node n)|
archive|||
asin|float|(float x)|
assign||(string url)|
atan|float|(float x)|
atan2|float|(float y, float x)|
attributes|||
availHeight|||
availWidth|||
axis|||
background|||
backgroundAttachment|||
backgroundColor|||
backgroundImage|||
backgroundPosition|||
backgroundPositionX|||
backgroundPositionY|||
backgroundRepeat|||
bgColor|||
border|||
borderBottom|||
borderBottomColor|||
borderBottomStyle|||
borderBottomWidth|||
borderCollapse|||
borderColor|||
borderLeft|||
borderLeftColor|||
borderLeftStyle|||
borderLeftWidth|||
borderRight|||
borderRightColor|||
borderRightStyle|||
borderRightWidth|||
borderSpacing|||
borderStyle|||
borderTop|||
borderTopColor|||
borderTopStyle|||
borderTopWidth|||
borderWidth|||
bottom|||
bubbles|||
button|||
cancelable|||
caption|||
captionSide|||
ceil|int|(float x)|
cellIndex|||
cellPadding|||
cellSpacing|||
cells|||
ch|||
chOff|||
charAt|string|(int index)|
charCodeAt|int|(int index)|
charset|||
checked|||
childNodes|||
className|||
clear|||
clearInterval||(int id)|
clearTimeout||(int id)|
clientHeight|||
clientWidth|||
clientX|||
clientY|||
clip|||
cloneNode|node|(bool deep)|
closed|||
code|||
codeBase|||
codeType|||
colSpan|||
color|||
colorDepth|||
cols|||
compile|regexp|(regexp r,[ string modifier])|
complete|||
concat|string|(string s1, string s2[, ...])|
confirm|bool|(string message)|
constructor|||
content|||
contentDocument|||
contentWindow|||
cookie|||
cookieEnabled|||
coords|||
cos|float|(float x)|
counterIncrement|||
counterReset|||
cssFloat|||
cssText|||
ctrlKey|||
currentTarget|||
cursor|||
data|||
declare|||
defaultChecked|||
defaultSelected|||
defaultStatus|||
defaultValue|||
deleteCell||(int index)|
deleteRow||(int index)|
dir|||
direction|||
disabled|||
display|||
document|||
documentMode|||
domain|||
elements|||
emptyCells|||
enctype|||
escape|string|(string str)|
eval|mixed|(string code)|
eventPhase|||
exec|mixed|(string str)|
exp|float|(float x)|
firstChild|||
floor|int|(float x)|
font|||
fontFamily|||
fontSize|||
fontSizeAdjust|||
fontStretch|||
fontStyle|||
fontVariant|||
fontWeight|||
form|||
frame|||
frameBorder|||
frames|||
fromCharCode|string|(int c1[, int c2[, ...]])|
getAttribute|mixed|(string name)|
getElementById|mixed|(string id)|
getElementsByName|array|(string name)|
getElementsByTagName|array|(string tagname)|
global|||
go||(mixed value)|
hash|||
headers|||
height|||
history|||
host|||
hostname|||
href|||
hreflang|||
hspace|||
httpEquiv|||
id|||
ignoreCase|||
index|||
indexOf|int|(string search[, int start])|
innerHTML|||
innerHeight|||
innerWidth|||
insertBefore|node|(node newnode[, node refnode])|
insertCell||(int index)|
insertRow||(int index)|
isFinite|bool|(mixed var)|
isNaN|bool|(mixed var)|
item|node|(int index)|
join|string|(string separator)|
label|||
lang|||
lastChild|||
lastIndex|||
lastIndexOf|int|(string search[, int start])|
lastModified|||
left|||
length|||
letterSpacing|||
lineHeight|||
link|||
listStyle|||
listStyleImage|||
listStylePosition|||
listStyleType|||
location|||
log|float|(float x)|
longDesc|||
lowsrc|||
margin|||
marginBottom|||
marginHeight|||
marginLeft|||
marginRight|||
marginTop|||
marginWidth|||
markerOffset|||
marks|||
match|bool|(regexp r)|
max|float|(float f1[, float f2[, ...]])|
maxHeight|||
maxLength|||
maxWidth|||
media|||
metaKey|||
method|||
min|float|(float f1[, float f2[, ...]])|
minHeight|||
minWidth|||
moveBy||(int x, int y)|
moveTo||(int x, int y)|
multiline|||
multiple|||
name|||
navigator|||
nextSibling|||
noHref|||
noResize|||
nodeName|||
nodeType|||
nodeValue|||
offsetHeight|||
offsetLeft|||
offsetParent|||
offsetTop|||
offsetWidth|||
onabort|||
onblur|||
onchange|||
onclick|||
ondblclick|||
onerror|||
onfocus|||
onkeydown|||
onkeypress|||
onkeyup|||
onload|||
onmousedown|||
onmousemove|||
onmouseout|||
onmouseover|||
onmouseup|||
onresize|||
onselect|||
onunload|||
open||([string url[, string name[, string specs[, bool replace]]]])|
opener|||
options|||
orphans|||
outerHeight|||
outerWidth|||
outline|||
outlineColor|||
outlineStyle|||
outlineWidth|||
overflow|||
ownerDocument|||
padding|||
paddingBottom|||
paddingLeft|||
paddingRight|||
paddingTop|||
page|||
pageBreakAfter|||
pageBreakBefore|||
pageBreakInside|||
pageXOffset|||
pageYOffset|||
parent|||
parentNode|||
parse|int|(string date)|
parseFloat|float|(string str)|
parseInt|int|(string str)|
pathname|||
pixelDepth|||
platform|||
port|||
position|||
pow|float|(float x, float y)|
previousSibling|||
prompt|string|(string message, string default)|
protocol|||
prototype|||
push||(mixed value)|
quotes|||
readOnly|||
readyState|||
referrer|||
rel|||
relatedTarget|||
remove||(int index)|
removeAttribute||(string name)|
removeChild||(node child)|
replace|string|(regexp r, string newstring)|
replaceChild|node|(node oldnode, node newnode)|
resizeBy||(int width, int height)|
resizeTo||(int width, int height)|
rev|||
right|||
round|int|(float x)|
rowIndex|||
rowSpan|||
rows|||
rules|||
scope|||
screen|||
screenLeft|||
screenTop|||
screenX|||
screenY|||
scrollBy||(int x, int y)|
scrollHeight|||
scrollLeft|||
scrollTo||(int x, int y)|
scrollTop|||
scrollWidth|||
scrolling|||
search|int|(regexp r)|
sectionRowIndex|||
selected|||
selectedIndex|||
self|||
setAttribute||(string name, mixed value)|
setDate||(int day)|
setFullYear||(int year)|
setHours||(int hours)|
setInterval|int|(mixed code, int millisec[, string language])|
setMilliseconds||(int milliseconds)|
setMinutes||(int minutes)|
setMonth||(int month)|
setSeconds||(int seconds)|
setTime||(int timestamp)|
setTimeout|int|(mixed code, int millisec[, string language])|
setUTCDate||(int day)|
setUTCFullYear||(int year)|
setUTCHours||(int hour)|
setUTCMilliseconds||(int milliseconds)|
setUTCMinutes||(int minutes)|
setUTCMonth||(int month)|
setUTCSeconds||(int seconds)|
setYear||(int year)|
shape|||
shiftKey|||
sin|float|(float x)|
size|||
slice|string|(int begin[, int end])|
sort|array|([function sortfunc])|
source|||
splice|array|(int index, int count[, mixed el1[, mixed el2[, ...]]])|
split|array|([string separator[, int limit]])|
sqrt|float|(float x)|
src|||
standby|||
status|||
style|||
substr|string|(int start[, int length])|
substring|string|(int from[, int to])|
summary|||
tBodies|||
tFoot|||
tHead|||
tabIndex|||
tableLayout|||
tagName|||
tan|float|(float x)|
target|||
test|bool|(string str)|
text|||
textAlign|||
textDecoration|||
textIndent|||
textShadow|||
textTransform|||
timeStamp|||
title|||
toExponential|string|(int digits)|
toFixed|string|(int digits)|
toPrecision|string|(int digits)|
top|||
type|||
undefined|||
unescape|string|(string str)|
unicodeBidi|||
unshift|int|(mixed el1[, mixed el2[, ...]])|
useMap|||
userAgent|||
vAlign|||
value|||
verticalAlign|||
visibility|||
vspace|||
whiteSpace|||
widows|||
width|||
write||(mixed e1[, mixed e2[, ...]])|
writeln||(mixed e1[, mixed e2[, ...]])|
zIndex|||

View File

@ -0,0 +1,415 @@
# format=pipe
log|console.|([data], [...])|
info|console.|([data], [...])|
error|console.|([data], [...])|
warn|console.|([data], [...])|
dir|console.|(obj)|
time|console.|(label)|
timeEnd|console.|(label)|
trace|console.|(label)|
assert|console.|(expression, [message])|
abort|process.|()|
chdir|process.|(directory)|
cwd|process.|()|
exit|process.|([code])|
getgid|process.|()|
setgid|process.|(id)|
getuid|process.|()|
setuid|process.|(id)|
kill|process.|(pid, [signal])|
memoryUsage|process.|()|
nextTick|process.|(callback)|
umask|process.|([mask])|
uptime|process.|()|
hrtime|process.|()|
resolve|require.|()|
setTimeout||(cb, ms)|
clearTimeout||(t)|
setInterval||(cb, ms)|
log|console.|([data], [...])|
info|console.|([data], [...])|
error|console.|([data], [...])|
warn|console.|([data], [...])|
dir|console.|(obj)|
time|console.|(label)|
timeEnd|console.|(label)|
trace|console.|(label)|
assert|console.|(expression, [message])|
abort|process.|()|
chdir|process.|(directory)|
cwd|process.|()|
exit|process.|([code])|
getgid|process.|()|
setgid|process.|(id)|
getuid|process.|()|
setuid|process.|(id)|
kill|process.|(pid, [signal])|
memoryUsage|process.|()|
nextTick|process.|(callback)|
umask|process.|([mask])|
uptime|process.|()|
hrtime|process.|()|
resolve|require.|()|
setTimeout||(cb, ms)|
clearTimeout||(t)|
setInterval||(cb, ms)|
require|module.|(id): Object|
format|util.|(format, [...])|
debug|util.|(string)|
error|util.|([...])|
puts|util.|([...])|
print|util.|([...])|
log|util.|(string)|
inspect|util.|(object, [showHidden], [depth], [colors])|
isArray|util.|(object)|
isRegExp|util.|(object)|
isDate|util.|(object)|
isError|util.|(object)|
pump|util.|(readableStream, writableStream, [callback])|
inherits|util.|(constructor, superConstructor)|
addListener|events.EventEmitter#|(event, listener)|
on|events.EventEmitter#|(event, listener)|
once|events.EventEmitter#|(event, listener)|
removeListener|events.EventEmitter#|(event, listener)|
removeAllListeners|events.EventEmitter#|([event])|
setMaxListeners|events.EventEmitter#|(n)|
listeners|events.EventEmitter#|(event)|
emit|events.EventEmitter#|(event, [arg1], [arg2], [...])|
create|domain.|(): Domain|
run|Domain#|(fn)|
add|Domain#|(emitter)|
remove|Domain#|(emitter)|
bind|Domain#|(callback): Function|
intercept|Domain#|(callback): Function|
dispose|Domain#|()|
write|Buffer#|(string, [offset], [length], [encoding])|
toString|Buffer#|([encoding], [start], [end])|
copy|Buffer#|(targetBuffer, [targetStart], [sourceStart], [sourceEnd])|
slice|Buffer#|([start], [end])|
readUInt8|Buffer#|(offset, [noAssert])|
readUInt16LE|Buffer#|(offset, [noAssert])|
readUInt16BE|Buffer#|(offset, [noAssert])|
readUInt32LE|Buffer#|(offset, [noAssert])|
readUInt32BE|Buffer#|(offset, [noAssert])|
readInt8|Buffer#|(offset, [noAssert])|
readInt16LE|Buffer#|(offset, [noAssert])|
readInt16BE|Buffer#|(offset, [noAssert])|
readInt32LE|Buffer#|(offset, [noAssert])|
readInt32BE|Buffer#|(offset, [noAssert])|
readFloatLE|Buffer#|(offset, [noAssert])|
readFloatBE|Buffer#|(offset, [noAssert])|
readDoubleLE|Buffer#|(offset, [noAssert])|
readDoubleBE|Buffer#|(offset, [noAssert])|
writeUInt8|Buffer#|(value, offset, [noAssert])|
writeUInt16LE|Buffer#|(value, offset, [noAssert])|
writeUInt16BE|Buffer#|(value, offset, [noAssert])|
writeUInt32LE|Buffer#|(value, offset, [noAssert])|
writeUInt32BE|Buffer#|(value, offset, [noAssert])|
writeInt8|Buffer#|(value, offset, [noAssert])|
writeInt16LE|Buffer#|(value, offset, [noAssert])|
writeInt16BE|Buffer#|(value, offset, [noAssert])|
writeInt32LE|Buffer#|(value, offset, [noAssert])|
writeInt32BE|Buffer#|(value, offset, [noAssert])|
writeFloatLE|Buffer#|(value, offset, [noAssert])|
writeFloatBE|Buffer#|(value, offset, [noAssert])|
writeDoubleLE|Buffer#|(value, offset, [noAssert])|
writeDoubleBE|Buffer#|(value, offset, [noAssert])|
fill|Buffer#|(value, [offset], [end])|
isBuffer|Buffer#|(obj)|
byteLength|Buffer#|(string, [encoding])|
concat|Buffer#|(list, [totalLength])|
Buffer|buffer.||
setEncoding|Readable Stream#|([encoding])|
pause|Readable Stream#|()|
resume|Readable Stream#|()|
destroy|Readable Stream#|()|
pipe|Readable Stream#|(destination, [options])|
write|Writable Stream#|(string, [encoding])|
write|Writable Stream#|(buffer)|
end|Writable Stream#|()|
end|Writable Stream#|(string, encoding)|
end|Writable Stream#|(buffer)|
destroy|Writable Stream#|()|
destroySoon|Writable Stream#|()|
createCredentials|crypto.|(details)|
createHash|crypto.|(algorithm)|
createHmac|crypto.|(algorithm, key)|
createCipher|crypto.|(algorithm, password)|
createCipheriv|crypto.|(algorithm, key, iv)|
createDecipher|crypto.|(algorithm, password)|
createDecipheriv|crypto.|(algorithm, key, iv)|
createSign|crypto.|(algorithm)|
createVerify|crypto.|(algorithm)|
createDiffieHellman|crypto.|(prime_length)|
createDiffieHellman|crypto.|(prime, [encoding])|
getDiffieHellman|crypto.|(group_name)|
pbkdf2|crypto.|(password, salt, iterations, keylen, callback)|
randomBytes|crypto.|(size, [callback])|
update|Hash#|(data, [input_encoding])|
digest|Hash#|([encoding])|
update|Hmac#|(data)|
digest|Hmac#|([encoding])|
update|Cipher#|(data, [input_encoding], [output_encoding])|
final|Cipher#|([output_encoding])|
setAutoPadding|Cipher#|(auto_padding=true)|
update|Decipher#|(data, [input_encoding], [output_encoding])|
final|Decipher#|([output_encoding])|
setAutoPadding|Decipher#|(auto_padding=true)|
update|Signer#|(data)|
sign|Signer#|(private_key, [output_format])|
update|Verify#|(data)|
verify|Verify#|(object, signature, [signature_format])|
generateKeys|DiffieHellman#|([encoding])|
computeSecret|DiffieHellman#|(other_public_key, [input_encoding], [output_encoding])|
getPrime|DiffieHellman#|([encoding])|
getGenerator|DiffieHellman#|([encoding])|
getPublicKey|DiffieHellman#|([encoding])|
getPrivateKey|DiffieHellman#|([encoding])|
setPublicKey|DiffieHellman#|(public_key, [encoding])|
setPrivateKey|DiffieHellman#|(public_key, [encoding])|
createServer|tls_(ssl).|(options, [secureConnectionListener])|
connect|tls_(ssl).|(options, [callback])|
connect|tls_(ssl).|(port, [host], [options], [callback])|
createSecurePair|tls_(ssl).|([credentials], [isServer], [requestCert], [rejectUnauthorized])|
listen|tls.Server#|(port, [host], [callback])|
close|tls.Server#|()|
address|tls.Server#|()|
addContext|tls.Server#|(hostname, credentials)|
getPeerCertificate|tls.CleartextStream#|()|
getCipher|tls.CleartextStream#|()|
address|tls.CleartextStream#|()|
write|StringDecoder#|(buffer)|
rename|fs.|(oldPath, newPath, [callback])|
renameSync|fs.|(oldPath, newPath)|
truncate|fs.|(fd, len, [callback])|
truncateSync|fs.|(fd, len)|
chown|fs.|(path, uid, gid, [callback])|
chownSync|fs.|(path, uid, gid)|
fchown|fs.|(fd, uid, gid, [callback])|
fchownSync|fs.|(fd, uid, gid)|
lchown|fs.|(path, uid, gid, [callback])|
lchownSync|fs.|(path, uid, gid)|
chmod|fs.|(path, mode, [callback])|
chmodSync|fs.|(path, mode)|
fchmod|fs.|(fd, mode, [callback])|
fchmodSync|fs.|(fd, mode)|
lchmod|fs.|(path, mode, [callback])|
lchmodSync|fs.|(path, mode)|
stat|fs.|(path, [callback])|
lstat|fs.|(path, [callback])|
fstat|fs.|(fd, [callback])|
statSync|fs.|(path)|
lstatSync|fs.|(path)|
fstatSync|fs.|(fd)|
link|fs.|(srcpath, dstpath, [callback])|
linkSync|fs.|(srcpath, dstpath)|
symlink|fs.|(srcpath, dstpath, [type], [callback])|
symlinkSync|fs.|(srcpath, dstpath, [type])|
readlink|fs.|(path, [callback])|
readlinkSync|fs.|(path)|
realpath|fs.|(path, [cache], callback)|
realpathSync|fs.|(path, [cache])|
unlink|fs.|(path, [callback])|
unlinkSync|fs.|(path)|
rmdir|fs.|(path, [callback])|
rmdirSync|fs.|(path)|
mkdir|fs.|(path, [mode], [callback])|
mkdirSync|fs.|(path, [mode])|
readdir|fs.|(path, [callback])|
readdirSync|fs.|(path)|
close|fs.|(fd, [callback])|
closeSync|fs.|(fd)|
open|fs.|(path, flags, [mode], [callback])|
openSync|fs.|(path, flags, [mode])|
utimes|fs.|(path, atime, mtime, [callback])|
utimesSync|fs.|(path, atime, mtime)|
futimes|fs.|(fd, atime, mtime, [callback])|
futimesSync|fs.|(fd, atime, mtime)|
fsync|fs.|(fd, [callback])|
fsyncSync|fs.|(fd)|
write|fs.|(fd, buffer, offset, length, position, [callback])|
writeSync|fs.|(fd, buffer, offset, length, position)|
read|fs.|(fd, buffer, offset, length, position, [callback])|
readSync|fs.|(fd, buffer, offset, length, position)|
readFile|fs.|(filename, [encoding], [callback])|
readFileSync|fs.|(filename, [encoding])|
writeFile|fs.|(filename, data, [encoding], [callback])|
writeFileSync|fs.|(filename, data, [encoding])|
appendFile|fs.|(filename, data, encoding='utf8', [callback])|
appendFileSync|fs.|(filename, data, encoding='utf8')|
watchFile|fs.|(filename, [options], listener)|
unwatchFile|fs.|(filename, [listener])|
watch|fs.|(filename, [options], [listener])|
exists|fs.|(path, [callback])|
existsSync|fs.|(path)|
createReadStream|fs.|(path, [options])|
createWriteStream|fs.|(path, [options])|
close|fs.FSWatcher#|()|
normalize|path.|(p)|
join|path.|([path1], [path2], [...])|
resolve|path.|([from ...], to)|
relative|path.|(from, to)|
dirname|path.|(p)|
basename|path.|(p, [ext])|
extname|path.|(p)|
createServer|net.|([options], [connectionListener])|
connect|net.|(options, [connectionListener])|
createConnection|net.|(options, [connectionListener])|
connect|net.|(port, [host], [connectListener])|
createConnection|net.|(port, [host], [connectListener])|
connect|net.|(path, [connectListener])|
createConnection|net.|(path, [connectListener])|
isIP|net.|(input)|
isIPv4|net.|(input)|
isIPv6|net.|(input)|
listen|net.Server#|(port, [host], [backlog], [callback])|
listen|net.Server#|(path, [callback])|
listen|net.Server#|(handle, [callback])|
close|net.Server#|([callback])|
address|net.Server#|()|
Socket|net.Socket#|([options])|
connect|net.Socket#|(port, [host], [connectListener])|
connect|net.Socket#|(path, [connectListener])|
setEncoding|net.Socket#|([encoding])|
write|net.Socket#|(data, [encoding], [callback])|
end|net.Socket#|([data], [encoding])|
destroy|net.Socket#|()|
pause|net.Socket#|()|
resume|net.Socket#|()|
setTimeout|net.Socket#|(timeout, [callback])|
setNoDelay|net.Socket#|([noDelay])|
setKeepAlive|net.Socket#|([enable], [initialDelay])|
address|net.Socket#|()|
createSocket|dgram.|(type, [callback])|
send|Socket#|(buf, offset, length, port, address, [callback])|
bind|Socket#|(port, [address])|
close|Socket#|()|
address|Socket#|()|
setBroadcast|Socket#|(flag)|
setTTL|Socket#|(ttl)|
setMulticastTTL|Socket#|(ttl)|
setMulticastLoopback|Socket#|(flag)|
addMembership|Socket#|(multicastAddress, [multicastInterface])|
dropMembership|Socket#|(multicastAddress, [multicastInterface])|
lookup|dns.|(domain, [family], callback)|
resolve|dns.|(domain, [rrtype], callback)|
resolve4|dns.|(domain, callback)|
resolve6|dns.|(domain, callback)|
resolveMx|dns.|(domain, callback)|
resolveTxt|dns.|(domain, callback)|
resolveSrv|dns.|(domain, callback)|
resolveNs|dns.|(domain, callback)|
resolveCname|dns.|(domain, callback)|
reverse|dns.|(ip, callback)|
setEncoding|ClientResponse.|([encoding])|
pause|ClientResponse.|()|
resume|ClientResponse.|()|
createServer|http.|([requestListener])|
createClient|http.|([port], [host])|
request|http.|(options, callback)|
get|http.|(options, callback)|
listen|http.Server#|(port, [hostname], [backlog], [callback])|
listen|http.Server#|(path, [callback])|
listen|http.Server#|(handle, [callback])|
close|http.Server#|([callback])|
setEncoding|http.ServerRequest#|([encoding])|
pause|http.ServerRequest#|()|
resume|http.ServerRequest#|()|
writeContinue|http.ServerResponse#|()|
writeHead|http.ServerResponse#|(statusCode, [reasonPhrase], [headers])|
setHeader|http.ServerResponse#|(name, value)|
getHeader|http.ServerResponse#|(name)|
removeHeader|http.ServerResponse#|(name)|
write|http.ServerResponse#|(chunk, [encoding])|
addTrailers|http.ServerResponse#|(headers)|
end|http.ServerResponse#|([data], [encoding])|
write|http.ClientRequest#|(chunk, [encoding])|
end|http.ClientRequest#|([data], [encoding])|
abort|http.ClientRequest#|()|
setTimeout|http.ClientRequest#|(timeout, [callback])|
setNoDelay|http.ClientRequest#|([noDelay])|
setSocketKeepAlive|http.ClientRequest#|([enable], [initialDelay])|
listen|createServer.|(path, [callback])|
listen|createServer.|(handle, [callback])|
close|createServer.|([callback])|
createServer|https.|(options, [requestListener])|
request|https.|(options, callback)|
get|https.|(options, callback)|
parse|url.|(urlStr, [parseQueryString], [slashesDenoteHost])|
format|url.|(urlObj)|
resolve|url.|(from, to)|
stringify|querystring.|(obj, [sep], [eq])|
parse|querystring.|(str, [sep], [eq], [options])|
decode|punycode.|(string)|
encode|punycode.|(string)|
toUnicode|punycode.|(domain)|
toASCII|punycode.|(domain)|
createInterface|readline.|(options)|
setPrompt|Interface#|(prompt, length)|
prompt|Interface#|([preserveCursor])|
question|Interface#|(query, callback)|
pause|Interface#|()|
resume|Interface#|()|
close|Interface#|()|
write|Interface#|(data, [key])|
start|repl.|(options)|
runInThisContext|vm.|(code, [filename])|
runInNewContext|vm.|(code, [sandbox], [filename])|
runInContext|vm.|(code, context, [filename])|
createContext|vm.|([initSandbox])|
createScript|vm.|(code, [filename])|
runInThisContext|Script#|()|
runInNewContext|Script#|([sandbox])|
kill|ChildProcess#|([signal])|
send|ChildProcess#|(message, [sendHandle])|
disconnect|ChildProcess#|()|
spawn|child_process.|(command, [args], [options]): ChildProcess object|
exec|child_process.|(command, [options], callback)|
execFile|child_process.|(file, args, options, callback)|
fork|child_process.|(modulePath, [args], [options])|
fail|assert.|(actual, expected, message, operator)|
ok|assert.|(value, message), assert.ok(value, [message])|
equal|assert.|(actual, expected, [message])|
notEqual|assert.|(actual, expected, [message])|
deepEqual|assert.|(actual, expected, [message])|
notDeepEqual|assert.|(actual, expected, [message])|
strictEqual|assert.|(actual, expected, [message])|
notStrictEqual|assert.|(actual, expected, [message])|
throws|assert.|(block, [error], [message])|
doesNotThrow|assert.|(block, [error], [message])|
ifError|assert.|(value)|
isatty|tty.|(fd)|
setRawMode|tty.|(mode)|
setRawMode|ReadStream#|(mode)|
createGzip|zlib.|([options])|
createGunzip|zlib.|([options])|
createDeflate|zlib.|([options])|
createInflate|zlib.|([options])|
createDeflateRaw|zlib.|([options])|
createInflateRaw|zlib.|([options])|
createUnzip|zlib.|([options])|
deflate|zlib.|(buf, callback)|
deflateRaw|zlib.|(buf, callback)|
gzip|zlib.|(buf, callback)|
gunzip|zlib.|(buf, callback)|
inflate|zlib.|(buf, callback)|
inflateRaw|zlib.|(buf, callback)|
unzip|zlib.|(buf, callback)|
tmpDir|os.|()|
hostname|os.|()|
type|os.|()|
platform|os.|()|
arch|os.|()|
release|os.|()|
uptime|os.|()|
loadavg|os.|()|
totalmem|os.|()|
freemem|os.|()|
cpus|os.|()|
networkInterfaces|os.|()|
setupMaster|cluster.|([settings])|
fork|cluster.|([env]): Worker object|
disconnect|cluster.|([callback])|
send|Worker#|(message, [sendHandle])|
destroy|Worker#|()|
disconnect|Worker#|()|

View File

@ -0,0 +1,211 @@
# format=pipe
## global objects
Array|||
ArrayBuffer|||
Boolean|||
Date|||
decodeURI||(encodedURI): string|
decodeURIComponent||(encodedURI): string|
encodeURI||(URI): string|
encodeURIComponent||(str): string|
Error|||
eval||(string): void|
EvalError|||
Float32Array|||
Float64Array|||
Function|||
Infinity|||
Int16Array|||
Int32Array|||
Int8Array|||
isFinite||(number): boolean|
isNaN||(object): boolean|
Iterator|||
JSON|||
Math|||
NaN|||
Number|||
Object|||
parseFloat||(string): number|
parseInt||(string[, radix]): number|
RangeError|||
ReferenceError|||
RegExp|||
StopIteration|||
String|||
SyntaxError|||
TypeError|||
Uint16Array|||
Uint32Array|||
Uint8Array|||
Uint8ClampedArray|||
undefined|||
uneval|||
URIError|||
## Array
isArray|[static] Array.|(obj: Object): Boolean|
length|Array.||
pop|Array.|(): Array|
push|Array.|(element1: Object, ..., elementN: Object): Number|
reverse|Array.|(): Array|
shift|Array.|(): Object|
sort|Array.|([compareFunction]): Array|
splice|Array.|(index: number[, howMany: number[, element1: Object[, ...[, elementN: Object]]]]): Array|
unshift|Array.|(element1: Object, ..., elementN: Object): Number|
concat|Array.|(value1: Object, value2: Object, ..., valueN: Object): Array|
join|Array.|(separator: string): Array|
slice|Array.|(begin: number[, end: number]): Array|
indexOf|Array.|(element: Object): Number|
lastIndexOf|Array.|(element: Object): Number|
filter|Array.|(callback: Function[, thisObject: Object]): Array|
forEach|Array.|(callback: Function[, thisObject: Object]): Array|
every|Array.|(callback: Function[, thisObject: Object]): Boolean|
map|Array.|(callback: Function[, thisObject: Object]): Array|
some|Array.|(callback: Function[, thisObject: Object]): Boolean|
reduce|Array.|(callback: Function[, initialValue: Object]): Object|
reduceRight|Array.|(callback: Function[, initialValue: Object]): Object|
## Date
now|[static] Date.|(): void|
parse|[static] Date.|(): number|
UTC|[static] Date.|(): number|
getDate|Date.|(): number|
getDay|Date.|(): number|
getFullYear|Date.|(): number|
getHours|Date.|(): number|
getMilliseconds|Date.|(): number|
getMinutes|Date.|(): number|
getMonth|Date.|(): number|
getSeconds|Date.|(): number|
getTime|Date.|(): number|
getTimezoneOffset|Date.|(): number|
getUTCDate|Date.|(): number|
getUTCDay|Date.|(): number|
getUTCFullYear|Date.|(): number|
getUTCHours|Date.|(): number|
getUTCMilliseconds|Date.|(): number|
getUTCMinutes|Date.|(): number|
getUTCMonth|Date.|(): number|
getUTCSeconds|Date.|(): number|
getYear|Date.|(): number|
setFullYear|Date.|(year, [month], [day]): void|
setMonth|Date.|(month, [day]): void|
setDate|Date.|(day_of_month): void|
setHours|Date.|(hours, [minutes], [seconds], [millisec]): void|
setMinutes|Date.|(minutes, [seconds], [millisec]): void|
setSeconds|Date.|(seconds, [millisec]): void|
setMilliseconds|Date.|(milli): void|
setTime|Date.|(milli): void|
setUTCFullYear|Date.|(year, [month], [day]): void|
setUTCMonth|Date.|(month, [day]): void|
setUTCDate|Date.|(day_of_month): void|
setUTCHours|Date.|(hours, [minutes], [seconds], [millisec]): void|
setUTCMinutes|Date.|(minutes, [seconds], [millisec]): void|
setUTCSeconds|Date.|(seconds, [millisec]): void|
setUTCMilliseconds|Date.|(milli): void|
setYear|Date.|(year): void|
toDateString|Date.|(): string|
toISOString|Date.|(): string|
toGMTString|Date.|(): string|
toLocaleDateString|Date.|(): string|
toLocaleFormat|Date.|(): string|
toLocaleString|Date.|(): string|
toLocaleTimeString|Date.|(): string|
toSource|Date.|(): string|
toString|Date.|(): string|
toTimeString|Date.|(): string|
toUTCString|Date.|(): string|
## Function
arguments|function(){|: Object}|
arguments.callee|||
arguments.caller|||
arguments.length|||
length|Function.||
apply|Function.|(thisArg[, argsArray]): void|
bind|Function.|(thisArg[, arg1[, arg2[, ...]]]): Function|
call|Function.|(thisArg[, arg1[, arg2[, ...]]]): void|
isGenerator|Function.|(): boolean)|
## Math
E|[static] Math.||
LN2|[static] Math.||
LN10|[static] Math.||
LOG2E|[static] Math.||
LOG10E|[static] Math.||
PI|[static] Math.||
SQRT1_2|[static] Math.||
SQRT2|[static] Math.||
abs|[static] Math.|(x: number): number|
acos|[static] Math.|(x: number): number|
asin|[static] Math.|(x: number): number|
atan|[static] Math.|(x: number): number|
atan2|[static] Math.|(y: number, x: number): number|
ceil|[static] Math.|(x: number): number|
cos|[static] Math.|(x: number): number|
exp|[static] Math.|(x: number): number|
floor|[static] Math.|(x: number): number|
log|[static] Math.|(x: number): number|
max|[static] Math.|(a: number, b: number): number|
min|[static] Math.|(a: number, b: number): number|
pow|[static] Math.|(x: number, y: number): number|
random|[static] Math.|(): number|
round|[static] Math.|(x: number): number|
sin|[static] Math.|(x: number): number|
sqrt|[static] Math.|(x: number): number|
tan|[static] Math.|(x: number): number|
## Number
MAX_VALUE|[static] Number.||
MIN_VALUE|[static] Number.||
NEGATIVE_INFINITY|[static] Number.||
POSITIVE_INFINITY|[static] Number.||
toExponential|Number.|(x: number): string|
toFixed|Number.|(trail: number): string|
toPrecision|Number.|(length: number): string|
## Object
create|[static] Object.|(proto [, propertiesObject ]): Object|
defineProperty|[static] Object.|(obj, prop, descriptor): Object|
defineProperties|[static] Object.|(obj, props): Object|
getOwnPropertyDescriptor|[static] Object.|(obj, prop): Object|
keys|[static] Object.|(obj): Array|
getOwnPropertyNames|[static] Object.|(obj: Object): Array|
getPrototypeOf|[static] Object.|(obj): Object|
preventExtensions|[static] Object.|(obj): Object|
isExtensible|[static] Object.|(): boolean|
seal|[static] Object.|(obj): Object|
isSealed|[static] Object.|(): boolean|
freeze|[static] Object.|()|
isFrozen|[static] Object.|(): boolean|
constructor|Object.||
hasOwnProperty|Object.|(prop: string): boolean|
isPrototypeOf|Object.|(obj: Object): boolean|
propertyIsEnumerable|Object.|(prop: string): boolean|
toLocaleString|Object.|(): string|
toString|Object.|(): string|
valueOf|Object.|(): Object|
## RegExp
global|[static] RegExp.||
ignoreCase|[static] RegExp.||
lastIndex|[static] RegExp.||
multiline|[static] RegExp.||
exec|RegExp.|(str: string): Array|
test|RegExp.|(str: string): boolean|
## String
fromCharCode|[static] String.|(num1, ..., numN): string|
charAt|String.|(index: number): String|
charCodeAt|String.|(index: number): Number|
concat|String.|(v1: Object,..., vN: Object): String|
indexOf|String.|(substr: string, [start: number]): Number|
lastIndexOf|String.|(substr: string, [start: number]): Number|
localeCompare|String.|(compareString: string): number|
match|String.|(RegExp regexp): Array|
replace|String.|(RegExp regexp, replacement: string): String|
search|String.|(RegExp regexp): Number|
slice|String.|(start: number, end: number): String|
split|String.|(delimiter: string, [limit: number]): Array|
substr|String.|(start: number[, length: number]): String|
substring|String.|(from: number[, to: number]): String|
toLocaleLowerCase|String.|(): String|
toLocaleUpperCase|String.|(): String|
toLowerCase|String.|(): String|
toUpperCase|String.|(): String|
trim|String.|(): String|
trimLeft|String.|(): String|
trimRight|String.|(): String|

View File

@ -0,0 +1,2 @@
There are several template files in this directory. For these templates you can use wildcards.
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

@ -0,0 +1,44 @@
<ui>
<!--
This is Geany's toolbar UI definition.
The DTD can be found at
https://docs.gtk.org/gtk3/class.UIManager.html.
You can re-order all items and freely add and remove available actions.
You cannot add new actions which are not listed in the documentation.
Everything you add or change must be inside the /ui/toolbar/ path.
For changes to take effect, you need to restart Geany. Alternatively you can use the toolbar
editor in Geany.
A list of available actions can be found in the documentation included with Geany or
at https://www.geany.org/manual/current/index.html#customizing-the-toolbar.
-->
<toolbar name='GeanyToolbar'>
<toolitem action='SearchEntry' />
<toolitem action='Search' />
<separator/>
<toolitem action='GotoEntry' />
<toolitem action='Goto' />
<separator/>
<toolitem action='NavBack' />
<toolitem action='NavFor' />
<separator/>
<toolitem action='New' />
<toolitem action='Open' />
<toolitem action='Save' />
<toolitem action='SaveAll' />
<separator/>
<toolitem action='Reload' />
<toolitem action='Close' />
<separator/>
<toolitem action='Compile' />
<toolitem action='Build' />
<toolitem action='Run' />
<separator/>
<toolitem action='Color' />
<separator/>
<toolitem action='Quit' />
</toolbar>
</ui>

View File

@ -1,8 +1,5 @@
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[init]
defaultBranch = main
[user]
name = Jan Andrle
email = andrle.jan@centrum.cz
@ -38,14 +35,22 @@
editor = vim
pager = delta
whitespace = -trailing-space,-space-before-tab
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[status]
submoduleSummary = true
[diff]
tool = vimdiff
colorMoved = default
submodule = log
[merge]
tool = vimdiff
conflictstyle = diff3
[log]
date=iso
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)
@ -58,8 +63,6 @@
reflogExpireUnreachable = 90
[push]
autoSetupRemote = true
[init]
defaultBranch = main
[commit]
gpgsign = true
[rerere]

64
.config/git/gitk Normal file
View File

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

@ -0,0 +1,229 @@
{
"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": "2024-09-17T15:03:29Z",
"version": "2.15.1",
"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-06-01T14:48:20Z",
"downloads": "/home/jaandrle/bin/upscayl",
"version": "v2.11.5",
"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-03-28T13:16:41Z",
"downloads": "/home/jaandrle/bin/bs",
"version": "v0.7.4",
"glare": "bs-linux"
},
{
"repository": "h3poteto/fedistar",
"name": "Fedistar",
"description": "Multi-column Mastodon, Pleroma, and Friendica client for desktop",
"group": "nondev",
"file_name": "fedistar",
"exec": "yes",
"last_update": "2024-09-17T12:12:24Z",
"downloads": "/home/jaandrle/bin/fedistar",
"version": "v1.9.11",
"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": "2024-10-21T05:10:12Z",
"downloads": "/home/jaandrle/bin/ollama",
"version": "v0.4.0-rc3",
"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.0794",
"last_update": "2024-10-21T01:18:07Z",
"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",
"exec": "yes",
"last_update": "2024-10-21T02:03:58Z",
"downloads": "/home/jaandrle/bin/escrcpy",
"version": "v1.24.3",
"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": "2024-10-17T10:32:20Z",
"downloads": "/home/jaandrle/bin/jan",
"version": "v0.5.7-rc2-beta",
"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": "2024-10-19T04:09:10Z",
"downloads": "/home/jaandrle/bin/Chatbox",
"version": "v0.10.1",
"glare": ".*x86_64.*.AppImage"
}
]
}

View File

@ -1,39 +0,0 @@
name = "Jan Andrle"
downloads-dir = "~/Stažené"
[centrum]
default = true
email = "andrle.jan@centrum.cz"
imap-host = "imap.centrum.cz"
imap-port = 993
imap-login = "andrle.jan@centrum.cz"
imap-passwd-cmd = "bw get password mail-centrum"
smtp-host = "smtp.centrum.cz"
smtp-port = 465
smtp-login = "andrle.jan@centrum.cz"
smtp-passwd-cmd = "bw get password mail-centrum"
[centrum.mailboxes]
sent = "Odeslan&AOE- po&AWE-ta"
draft = "Koncepty"
[indigo]
email = "jan.andrle@indigo.cz"
imap-host = "imap.gmail.com"
imap-port = 993
imap-login = "jan.andrle@indigo.cz"
imap-passwd-cmd = "bw get password mail-gmail-indigo"
smtp-host = "smtp.gmail.com"
smtp-port = 465
smtp-login = "jan.andrle@indigo.cz"
smtp-passwd-cmd = "bw get password mail-gmail-indigo"
[indigo.mailboxes]
sent = "Odeslan&AOE- po&AWE-ta"
draft = "Koncepty"
# vim: ft=apachestyle cms=#\ %s :

View File

@ -1,8 +0,0 @@
[
{ "type": "text", "value": "Složka 'Příchozí'" },
{ "type": "himalaya", "value": [ "-m", "inbox", "list" ], "label": "inbox" },
{ "type": "text", "value": "Složka 'Hromadná'" },
{ "type": "himalaya", "value": [ "-m", "Hromadn&AOE-", "list" ], "label": "Hromadná" },
{ "type": "text", "value": "Složka 'Práce'" },
{ "type": "himalaya", "value": [ "-m", "_Prace", "list" ], "label": "_Prace" }
]

View File

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

View File

@ -1,2 +0,0 @@
[Greeter]
Theme=org.kde.breezedark.desktop

View File

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

View File

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

View File

@ -1 +1 @@
org.kde.breezedark.desktop
org.tuxedodark.desktop

View File

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

View File

@ -32,6 +32,33 @@
"--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"
]
}
}
}

View File

@ -1,8 +1,3 @@
/* --print/--echo aliases */
Reflect.defineProperty($, "nosed", { get(){ return this.stdin.text(""); }, });
Reflect.defineProperty($, "nojq", { get(){ return this.stdin.json(null); }, });
Reflect.defineProperty($, "noawk", { get(){ return this.stdin.lines([]); }, });
/* deprecated/fallback */
globalThis.cyclicLoop= function*(items){
if(!items) items= 'win32'===process.platform ? '|/-\\' : "⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏";
@ -14,5 +9,24 @@ globalThis.cyclicLoop= function*(items){
}
Reflect.defineProperty($, "clipboard", {
get(){ return s.$().run`xclip -o -selection 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(){ /* --print/--echo aliases */
Reflect.defineProperty($, "nosed", { get(){ return this.stdin.text(""); }, });
Reflect.defineProperty($, "nojq", { get(){ return this.stdin.json(null); }, });
Reflect.defineProperty($, "noawk", { get(){ return this.stdin.lines([]); }, });
}

View File

@ -1,133 +0,0 @@
/*
* breeze-dark.rasi
* rofi theme inspired by plasma breeze
* MonsieurBedard
*/
* {
/* Base */
default-background: rgba(49, 52, 56, 97.5%); // <- change this for transparency
default-foreground: rgba(239, 240, 241, 100%);
default-border: rgba(97, 101, 105, 100%);
alternative-background: rgba(35, 38, 41, 100%);
invisible: rgba(0, 0, 0, 0%);
/* Colors */
hard-blue: rgba(240, 84, 76, 100%);
light-blue: rgba(240, 84, 76, 25%);
hard-red: rgba(141, 58, 80, 100%);
light-red: rgba(77, 31, 37, 100%);
hard-green: rgba(39, 161, 69, 100%);
light-green: rgba(19, 55, 35, 100%);
/* Universal */
background-color: @invisible;
border-color: @default-border;
font: "Noto Sans 10";
text-color: @default-foreground;
}
#window {
background-color: @default-background;
border: 1;
border-radius: 3;
border-color: @default-border;
padding: 7;
}
#mainbox {
border: 0;
padding: 0;
}
#message {
border: 1;
border-radius: 3;
padding: 5;
background-color: @alternative-background;
}
#textbox {
background-color: @entry-background;
}
#listview {
fixed-height: 0;
spacing: 2;
scrollbar: false;
padding: 2 0 0;
}
#element {
padding: 5;
border: 1;
border-radius: 3;
border-color: @invisible;
}
#element.normal.normal {
background-color: @invisible;
}
#element.normal.urgent {
background-color: @light-red;
}
#element.normal.active {
background-color: @light-green;
}
#element.selected.normal {
background-color: @light-blue;
border-color: @hard-blue;
}
#element.selected.urgent {
background-color: @light-red;
border-color: @hard-red;
}
#element.selected.active {
background-color: @light-green;
border-color: @hard-green;
}
#mode-switcher {
spacing: 0;
}
#button {
border: 0 0 3 0;
border-color: @invisible;
padding: 3;
}
#button.selected {
border-color: @hard-blue;
}
#inputbar {
spacing: 0;
padding: 1;
}
#case-indicator {
spacing: 0;
padding: 3px;
background-color: @alternative-background;
border: 1 1 1 0;
border-radius: 0 2 2 0;
}
#entry {
background-color: @alternative-background;
padding: 3px;
border: 1 0 1 1;
border-radius: 2 0 0 2;
}
#prompt {
padding: 3 7 3 0;
}

View File

@ -1 +0,0 @@
@theme "~/.config/rofi/breeze-dark.rasi"

View File

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

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

View File

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

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

View File

@ -0,0 +1,3 @@
{
"draw_white_space": "all"
}

View File

@ -0,0 +1,12 @@
// 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,
}

View File

@ -0,0 +1,298 @@
/* 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

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

@ -43,8 +43,10 @@ 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://chat.openai.com/* ss fillcmdline open B: OPENAI
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()}`)
@ -64,6 +66,7 @@ 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: :"
@ -83,7 +86,7 @@ bind --mode=normal n fillcmdline tabopen
bind --mode=normal N current_url tabopen
bind -c fillcmdline recontain
bind sc fillcmdline_notrail container
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
@ -96,12 +99,6 @@ 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
" Sites (mails) notes using Github Gists
bind sn js tri.controller.acceptExCmd(`tabopen -c pracovní https://gist.github.com/jaandrle/ff1de72c500557f401e190b4ec05aa62#${document.title.replace(/["':|\.,\?\!_]/g, '').replace(/ /g, '-').toLowerCase()}`)
bind sN composite clipboard yankmd ; tabopen -c pracovní https://gist.github.com/jaandrle/ff1de72c500557f401e190b4ec05aa62/edit
bindurl ^https://mail.centrum.cz/* sn js tri.controller.acceptExCmd(`tabopen -c pracovní https://gist.github.com/jaandrle/ff1de72c500557f401e190b4ec05aa62#${(new URLSearchParams(window.location.search)).get("msg")}`)
bindurl ^https://mail.centrum.cz/* sN composite js tri.controller.acceptExCmd(`clipboard yank [${(new URLSearchParams(window.location.search)).get("msg")}](https://mail.centrum.cz/?msg=${(new URLSearchParams(window.location.search)).get("msg")})`) ; tabopen -c pracovní https://gist.github.com/jaandrle/ff1de72c500557f401e190b4ec05aa62/edit
alias hint_focus hint -;
quickmark c moz-extension://616498c0-3916-4f0b-b0a9-ce01ecf2298d/popup.html

View File

@ -1,7 +0,0 @@
[[Accounts]]
Name = 'jaandrle'
Server = 'https://fosstodon.org'
ClientID = 'ggYBuM2y_jtFV_3wR4tGdJUoNh-4ZfVRl1SByK5bihU'
ClientSecret = 'j7ClbSP2UY8syZgV4E-7Kk1bf8Ph_6GQ7szcqVfqDtI'
AccessToken = '1iO5wZL-nXcC3dZGjxNHLcbbFoSZ3fmutno96oD_ZY8'

View File

@ -1,830 +0,0 @@
# Configuration file for tut
[general]
# Shows a confirmation view before actions such as favorite, delete toot, boost
# etc.
# default=true
confirmation=true
# Enable support for using the mouse in tut to select items.
# default=false
mouse-support=false
# Timelines adds windows of feeds. You can customize the number of feeds, what
# they should show and the key to activate them.
#
# Available timelines: home, direct, local, federated, special, bookmarks,
# saved, favorited, notifications, lists, mentions, tag
#
# The one named special are the home timeline with only boosts and/or replies.
#
# Tag is special as you need to add the tag after, see the example below.
#
# The syntax is:
# timelines=feed,[name],[keys...],[showBoosts],[showReplies]
#
# Tha values in brackets are optional. You can see the syntax for keys under the
# [input] section.
#
# showBoosts and showReplies must be formated as bools. So either true or false.
# They always defaults to true.
#
# Some examples:
#
# home timeline with the name Home
# timelines=home,Home
#
# local timeline with the name Local and it gets focus when you press 2. It will
# also hide boosts in the timeline, but show toots that are replies.
# timelines=local,Local,'2',false,true
#
# notification timeline with the name [N]otifications and it gets focus when you
# press n or N
# timelines=notifications,[N]otifications,'n','N'
#
# tag timeline for #linux with the name Linux and it gets focus when you press
# timelines=tag linux,Linux,"F2"
#
#
# If you don't set any timelines it will default to this:
# timelines=home
# timelines=notifications,[N]otifications,'n','N'
#
timelines=lists,Lists,'1'
timelines=home,Home,'2'
timelines=notifications,Notifications,'3'
timelines=tag webdev,Webdev,'4'
# The date format to be used. See https://godoc.org/time#Time.Format
# default=2006-01-02 15:04
date-format=2006-01-02 15:04
# Format for dates the same day. See date-format for more info.
# default=15:04
date-today-format=15:04
# This displays relative dates instead for statuses that are one day or older
# the output is 1y2m1d (1 year 2 months and 1 day)
#
# The value is an integear
# -1 = don't use relative dates
# 0 = always use relative dates, except for dates < 1 day
# 1 - ∞ = number of days to use relative dates
#
# Example: date-relative=28 will display a relative date for toots that are
# between 1-28 days old. Otherwhise it will use the short or long format.
# default=-1
date-relative=-1
# The max width of text before it wraps when displaying toots.
# 0 = no restriction.
# default=0
max-width=0
# Where do you want the list of toots to be placed?
# Valid values: left, right, top, bottom.
# default=left
list-placement=right
# If you have notification-feed set to true you can display it under the main
# list of toots (row) or place it to the right of the main list of toots
# (column).
# default=row
list-split=column
# You can change the proportions of the list view in relation to the content
# view list-proportion=1 and content-proportoin=3 will result in the content
# taking up 3 times more space.
# Must be n > 0
# default=1
list-proportion=2
# See list-proportion
# default=2
content-proportion=1
# Hide notifications of this type. If you have multiple you separate them with a
# comma. Valid types: mention, status, boost, follow, follow_request, favorite,
# poll, edit.
# default=
notifications-to-hide=
# If you always want to quote original message when replying.
# default=false
quote-reply=false
# If you want to show icons in the list of toots.
# default=true
show-icons=true
# If you've learnt all the shortcut keys you can remove the help text and only
# show the key in tui. So it gets less cluttered.
# default=false
short-hints=false
# If you want to display the filter that filtered a toot.
# default=true
show-filter-phrase=true
# If you want to show a message in the cmdbar on how to access the help text.
# default=true
show-help=true
# If you always want tut to jump to the newest post. May ruin your reading
# experience.
# default=false
stick-to-top=false
# If you want to display the username of the person being boosted instead of the
# person that boosted.
# default=false
show-boosted-user=false
# 0 = No terminal title
# 1 = Show title in terminal and top bar
# 2 = Only show terminal title, and no top bar in tut.
# default=0
terminal-title=0
# If you don't want the whole UI to update, and only the text content you can
# set this option to true. This will lead to some artifacts being left on the
# screen when emojis are present. But it will keep the UI from flashing on every
# single toot in some terminals.
# default=true
redraw-ui=true
# The leader is used as a shortcut to run commands as you can do in Vim. By
# default this is disabled and you enable it by setting a leader-key. It can
# only consist of one char and I like to use comma as leader key. So to set it
# you write leader-key=,
# default=
leader-key=
# Number of milliseconds before the leader command resets. So if you tap the
# leader-key by mistake or are to slow it empties all the input after X
# milliseconds.
# default=1000
leader-timeout=1000
# You set actions for the leader-key with one or more leader-action. It consists
# of two parts first the action then the shortcut. And they're separated by a
# comma.
#
# Available commands: blocking, bookmarks, boosts, clear-notifications,
# close-window, compose, direct, edit, favorited, favorites, federated,
# followers, following, history, home, list-placement, list-split, lists, local,
# mentions, move-window-left, move-window-right, move-window-up,
# move-window-down, move-window-home, move-window-end, muting, newer,
# notifications, preferences, profile, proportions, refetch, saved, special-all,
# special-boosts, special-replies, stick-to-top, switch, tag, tags, window
#
# The ones named special-* are the home timeline with only boosts and/or
# replies. All contains both, -boosts only boosts and -replies only replies.
#
# The shortcuts are up to you, but keep them quite short and make sure they
# don't collide. If you have one shortcut that is "f" and an other one that is
# "fav", the one with "f" will always run and "fav" will never run.
#
# Some special leaders:
# tag is special as you need to add the tag after, e.g. tag linux
# window is special as it's a shortcut for switching between the timelines
# you've set under general and they are zero indexed. window 0 = your first
# timeline, window 1 = your second and so on.
# list-placement as it takes the argument top, right, bottom or left
# list-split as it takes the argument column or row
# proportions takes the arguments [int] [int], where the first integer is the
# list and the other content, e.g. proportions 1 3. See list-proportion above
# for more information.
# switch let's you go to a timeline if it already exists, if it doesn't it will
# open the timeline in a new window. The syntax is almost the same as in
# timelines= and is displayed under the examples.
#
# Some examples:
# leader-action=local,lo
# leader-action=lists,li
# leader-action=federated,fed
# leader-action=direct,d
# leader-action=history,h
# leader-action=tag linux,tl
# leader-action=window 0,h
# leader-action=list-placement bottom,b
# leader-action=list-split column,c
# leader-action=proportions 1 3,3
#
# Syntax for switch:
# leader-action=switch feed,shortcut,[name],[showBoosts],[showReplies]
# showBoosts can be either true or false and they are both optional. Here are
# some examples:
#
# leader-action=switch home,h,false,true
# leader-action=switch tag tut,tt
#
[media]
# Your image viewer.
# default=xdg-open
image-viewer=xdg-open
# Open the image viewer in the same terminal as toot. Only for terminal based
# viewers.
# default=false
image-terminal=false
# If images should open one by one e.g. "imv image.png" multiple times. If set
# to false all images will open at the same time like this "imv image1.png
# image2.png image3.png". Not all image viewers support this, so try it first.
# default=true
image-single=true
# If you want to open the images in reverse order. In some image viewers this
# will display the images in the "right" order.
# default=false
image-reverse=false
# Your video viewer.
# default=xdg-open
video-viewer=xdg-open
# Open the video viewer in the same terminal as toot. Only for terminal based
# viewers.
# default=false
video-terminal=false
# If videos should open one by one. See image-single.
# default=true
video-single=true
# If you want your videos in reverse order. In some video apps this will play
# the files in the "right" order.
# default=false
video-reverse=false
# Your audio viewer.
# default=xdg-open
audio-viewer=xdg-open
# Open the audio viewer in the same terminal as toot. Only for terminal based
# viewers.
# default=false
audio-terminal=false
# If audio should open one by one. See image-single.
# default=true
audio-single=true
# If you want to play the audio files in reverse order. In some audio apps this
# will play the files in the "right" order.
# default=false
audio-reverse=false
# Your web browser.
# default=xdg-open
link-viewer=xdg-open
# Open the browser in the same terminal as toot. Only for terminal based
# browsers.
# default=false
link-terminal=false
[open-custom]
# This sections allows you to set up to five custom programs to open URLs with.
# If the url points to an image, you can set c1-name to img and c1-use to imv.
# If the program runs in a terminal and you want to run it in the same terminal
# as tut. Set cX-terminal to true. The name will show up in the UI, so keep it
# short so all five fits.
#
# c1-name=name
# c1-use=program
# c1-terminal=false
#
# c2-name=name
# c2-use=program
# c2-terminal=false
#
# c3-name=name
# c3-use=program
# c3-terminal=false
#
# c4-name=name
# c4-use=program
# c4-terminal=false
#
# c5-name=name
# c5-use=program
# c5-terminal=false
[open-pattern]
# Here you can set your own glob patterns for opening matching URLs in the
# program you want them to open up in. You could for example open Youtube videos
# in your video player instead of your default browser.
#
# You must name the keys foo-pattern, foo-use and foo-terminal, where use is the
# program that will open up the URL. To see the syntax for glob pattern you can
# follow this URL https://github.com/gobwas/glob#syntax. foo-terminal is if the
# program runs in the terminal and should open in the same terminal as tut
# itself.
#
# Example for youtube.com and youtu.be to open up in mpv instead of the browser.
#
# y1-pattern=*youtube.com/watch*
# y1-use=mpv
# y1-terminal=false
#
# y2-pattern=*youtu.be/*
# y2-use=mpv
# y2-terminal=false
[desktop-notification]
# Notification when someone follows you.
# default=false
followers=false
# Notification when someone favorites one of your toots.
# default=false
favorite=false
# Notification when someone mentions you.
# default=false
mention=false
# Notification when someone edits their toot.
# default=false
update=false
# Notification when someone boosts one of your toots.
# default=false
boost=false
# Notification of poll results.
# default=false
poll=true
# Notification when there is new posts in current timeline.
# default=false
posts=false
[style]
# All styles can be represented in their HEX value like #ffffff or with their
# name, so in this case white. The only special value is "default" which equals
# to transparent, so it will be the same color as your terminal.
#
# You can also use xrdb colors like this xrdb:color1 The program will use colors
# prefixed with an * first then look for URxvt or XTerm if it can't find any
# color prefixed with an asterisk. If you don't want tut to guess the prefix you
# can set the prefix yourself. If the xrdb color can't be found a preset color
# will be used. You'll have to set theme=none for this to work.
# The xrdb prefix used for colors in .Xresources.
# default=guess
xrdb-prefix=guess
# You can use some themes that comes bundled with tut. Check out the themes
# available on the URL below. If a theme is named "nord.ini" you just write
# theme=nord
#
# https://github.com/RasmusLindroth/tut/tree/master/config/themes
#
# You can also create a theme file in your config directory e.g.
# ~/.config/tut/themes/foo.ini and then set theme=foo.
#
# If you want to use your own theme but don't want to create a new file, set
# theme=none and then you can create your own theme below.
# default=default
theme=default
# The background color used on most elements.
# default=
background=
# The text color used on most of the text.
# default=
text=
# The color to display subtle elements or subtle text. Like lines and help text.
# default=
subtle=
# The color for errors or warnings
# default=
warning-text=
# This color is used to display username.
# default=
text-special-one=
# This color is used to display username and key hints.
# default=
text-special-two=
# The color of the bar at the top
# default=
top-bar-background=
# The color of the text in the bar at the top.
# default=
top-bar-text=
# The color of the bar at the bottom
# default=
status-bar-background=
# The color of the text in the bar at the bottom.
# default=
status-bar-text=
# The color of the bar at the bottom in view mode.
# default=
status-bar-view-background=
# The color of the text in the bar at the bottom in view mode.
# default=
status-bar-view-text=
# The color of the text in the command bar at the bottom.
# default=
command-text=
# Background of selected list items.
# default=
list-selected-background=
# The text color of selected list items.
# default=
list-selected-text=
# The background color of selected list items that are out of focus.
# default=
list-selected-inactive-background=
# The text color of selected list items that are out of focus.
# default=
list-selected-inactive-text=
# The main color of the text for key hints
# default=
controls-text=
# The highlight color of for key hints
# default=
controls-highlight=
# The background color in dropdowns and autocompletions
# default=
autocomplete-background=
# The text color in dropdowns at autocompletions
# default=
autocomplete-text=
# The background color for selected value in dropdowns and autocompletions
# default=
autocomplete-selected-background=
# The text color for selected value in dropdowns and autocompletions
# default=
autocomplete-selected-text=
# The background color on selected button and the text color of unselected
# buttons
# default=
button-color-one=
# The text color on selected button and the background color of unselected
# buttons
# default=
button-color-two=
# The background on named timelines.
# default=
timeline-name-background=
# The text color on named timelines
# default=
timeline-name-text=
[input]
# You can edit the keys for tut below.
#
# The syntax is a bit weird, but it works. And I'll try to explain it as well as
# I can.
#
# Example:
# status-favorite="[F]avorite","Un[F]avorite",'f','F'
# status-delete="[D]elete",'d','D'
#
# status-favorite and status-delete differs because favorite can be in two
# states, so you will have to add two key hints.
# Most keys will only have on key hint. Look at the default value for reference.
#
# Key hints must be in some of the following formats. Remember the quotation
# marks.
# "" = empty
# "[D]elete" = Delete with a highlighted D
# "Un[F]ollow" = UnFollow with a highlighted F
# "[Enter]" = Enter where everything is highlighted
# "Yan[K]" = YanK with a highlighted K
#
# After the hint (or hints) you must set the keys. You can do this in two ways,
# with single quotation marks or double ones.
#
# The single ones are for single chars like 'a', 'b', 'c' and double marks are
# for special keys like "Enter". Remember that they are case sensitive.
#
# To find the names of special keys you have to go to the following site and
# look for "var KeyNames = map[Key]string{"
#
# https://github.com/gdamore/tcell/blob/master/key.go
# Keys for moving down
# default="",'j','J',"Down"
global-down="",'j','J',"Down"
# Keys for moving up
# default="",'k','K',"Up"
global-up="",'k','K',"Up"
# To select items
# default="","Enter"
global-enter="","Enter"
# To go back
# default="[Esc]","Esc"
global-back="[Backspace]","Backspace2"
# To go back and exit Tut
# default="[Q]uit",'q','Q'
global-exit="[Q]uit",'q','Q'
# Move to the top
# default="",'g',"Home"
main-home="",'g',"Home"
# Move to the bottom
# default="",'G',"End"
main-end="",'G',"End"
# Go to previous feed
# default="",'h','H',"Left"
main-prev-feed="",'h','H',"Left"
# Go to next feed
# default="",'l','L',"Right"
main-next-feed="",'l','L',"Right"
# Focus on the previous feed window
# default="","Backtab"
main-prev-window="","Backtab"
# Focus on the next feed window
# default="","Tab"
main-next-window="","Tab"
# Focus on the notification list
# default="[N]otifications",'n','N'
main-notification-focus="[N]otifications",'n','N'
# Compose a new toot
# default="",'c','C'
main-compose="",'c','C'
# Open avatar
# default="[A]vatar",'a','A'
status-avatar="[A]vatar",'a','A'
# Boost a toot
# default="[B]oost","Un[B]oost",'b','B'
status-boost="[B]oost","Un[B]oost",'b','B'
# Edit a toot
# default="[E]dit",'e','E'
status-edit="[E]dit",'E'
# Delete a toot
# default="[D]elete",'d','D'
status-delete="[D]elete",'d','D'
# Favorite a toot
# default="[F]avorite","Un[F]avorite",'f','F'
status-favorite="[F]avorite","Un[F]avorite",'f','F'
# Open toots media files
# default="[M]edia",'m','M'
status-media="M[e]dia",'e'
# Open links
# default="[O]pen",'o','O'
status-links="[O]pen",'o','O'
# Open poll
# default="[P]oll",'p','P'
status-poll="Pol[l]",'l'
# Reply to toot
# default="[R]eply",'r','R'
status-reply="[R]eply",'r','R'
# Save/bookmark a toot
# default="[S]ave","Un[S]ave",'s','S'
status-bookmark="[S]ave","Un[S]ave",'s','S'
# View thread
# default="[T]hread",'t','T'
status-thread="[T]hread",'t','T'
# Open user profile
# default="[U]ser",'u','U'
status-user="[P]rofile",'p','P'
# Open the view mode
# default="[V]iew",'v','V'
status-view-focus="[V]iew",'v','V'
# Yank the url of the toot
# default="[Y]ank",'y','Y'
status-yank="[Y]ank",'y','Y'
# Show the content in a content warning
# default="Press [Z] to toggle cw",'z','Z'
status-toggle-cw="Press [x] to toggle cw",'x','X'
# Show the content of a filtered toot
# default="Press [Z] to view filtered toot",'z','Z'
status-show-filtered="Press [x] to view filtered toot",'x','X'
# View avatar
# default="[A]vatar",'a','A'
user-avatar="[A]vatar",'a','A'
# Block the user
# default="[B]lock","Un[B]lock",'b','B'
user-block="[B]lock","Un[B]lock",'b','B'
# Follow user
# default="[F]ollow","Un[F]ollow",'f','F'
user-follow="Follo[w]","UnFollo[w]",'w','W'
# Follow user
# default="Follow [R]equest","Follow [R]equest",'r','R'
user-follow-request-decide="Follow [R]equest","Follow [R]equest",'r','R'
# Mute user
# default="[M]ute","Un[M]ute",'m','M'
user-mute="[M]ute","Un[M]ute",'m','M'
# Open links
# default="[O]pen",'o','O'
user-links="[O]pen",'o','O'
# View user profile
# default="[U]ser",'u','U'
user-user="[P]rofile",'p','P'
# Open view mode
# default="[V]iew",'v','V'
user-view-focus="[V]iew",'v','V'
# Yank the user URL
# default="[Y]ank",'y','Y'
user-yank="[Y]ank",'y','Y'
# Open list
# default="[O]pen",'o','O'
list-open-feed="[O]pen",'o','O'
# List all users in a list
# default="[U]sers",'u','U'
list-user-list="[U]sers",'u','U'
# Add user to list
# default="[A]dd",'a','A'
list-user-add="[A]dd",'a','A'
# Delete user from list
# default="[D]elete",'d','D'
list-user-delete="[D]elete",'d','D'
# Open URL
# default="[O]pen",'o','O'
link-open="[O]pen",'o','O'
# Yank the URL
# default="[Y]ank",'y','Y'
link-yank="[Y]ank",'y','Y'
# Open tag feed
# default="[O]pen",'o','O'
tag-open-feed="[O]pen",'o','O'
# Toggle follow on tag
# default="[F]ollow","Un[F]ollow",'f','F'
tag-follow="[F]ollow","Un[F]ollow",'f','F'
# Edit content warning text on new toot
# default="[C]W text",'c','C'
compose-edit-cw="[C]W text",'c','C'
# Edit the text on new toot
# default="[E]dit text",'e','E'
compose-edit-text="[E]dit text",'e','E'
# Include a quote when replying
# default="[I]nclude quote",'i','I'
compose-include-quote="[I]nclude quote",'i','I'
# Focus on adding media to toot
# default="[M]edia",'m','M'
compose-media-focus="[M]edia",'m','M'
# Post the new toot
# default="[P]ost",'p','P'
compose-post="[P]ost",'p','P'
# Toggle content warning on toot
# default="[T]oggle CW",'t','T'
compose-toggle-content-warning="[T]oggle CW",'t','T'
# Edit the visibility on new toot
# default="[V]isibility",'v','V'
compose-visibility="[V]isibility",'v','V'
# Edit the language of a toot
# default="[L]ang",'l','L'
compose-language="[L]ang",'L'
# Switch to creating a poll
# default="P[O]ll",'o','O'
compose-poll="Pol[l]",'l'
# Delete media file
# default="[D]elete",'d','D'
media-delete="[D]elete",'d','D'
# Edit the description on media file
# default="[E]dit desc",'e','E'
media-edit-desc="[E]dit desc",'e','E'
# Add a new media file
# default="[A]dd",'a','A'
media-add="[A]dd",'a','A'
# Vote on poll
# default="[V]ote",'v','V'
vote-vote="[V]ote",'v','V'
# Select item to vote on
# default="[Enter] to select",' ', "Enter"
vote-select="[Enter] to select",' ', "Enter"
# Add a new poll option
# default="[A]dd",'a','A'
poll-add="[A]dd",'a','A'
# Edit a poll option
# default="[E]dit",'e','E'
poll-edit="[E]dit",'e','E'
# Delete a poll option
# default="[D]elete",'d','D'
poll-delete="[D]elete",'d','D'
# Toggle voting on multiple options
# default="Toggle [M]ultiple",'m','M'
poll-multi-toggle="Toggle [M]ultiple",'m','M'
# Change the expiration of poll
# default="E[X]pires",'x','X'
poll-expiration="E[X]pires",'x','X'
# Change display name
# default="[N]ame",'n','N'
preference-name="[N]ame",'n','N'
# Change default visibility of toots
# default="[V]isibility",'v','V'
preference-visibility="[V]isibility",'v','V'
# Change bio in profile
# default="[B]io",'b','B'
preference-bio="[B]io",'b','B'
# Save your preferences
# default="[S]ave",'s','S'
preference-save="[S]ave",'s','S'
# Edit profile fields
# default="[F]ields",'f','F'
preference-fields="[F]ields",'f','F'
# Add new field
# default="[A]dd",'a','A'
preference-fields-add="[A]dd",'a','A'
# Edit current field
# default="[E]dit",'e','E'
preference-fields-edit="[E]dit",'e','E'
# Delete current field
# default="[D]elete",'d','D'
preference-fields-delete="[D]elete",'d','D'

File diff suppressed because it is too large Load Diff

View File

@ -298,8 +298,8 @@
\*.php,
\*.md,*.html,
\*.json,*.xml
\ env -uCOLORTERM bat --color always --theme 'Visual Studio Dark+' --wrap never --pager never --tabs 2 %c -p
fileviewer <text/x-*>,<application/*> env -uCOLORTERM bat --color always --theme 'Visual Studio Dark+' --wrap never --pager never --tabs 2 %c -p
\ 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 &

4
.config/xremap.yml Normal file
View File

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

206
.ctags Normal file
View File

@ -0,0 +1,206 @@
--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
--langmap=javascript:.js.es6.es.jsx.mjs
--javascript-kinds=-c-f-m-p-v
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*\[/\1/A,Array,Arrays/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*\[/\1/A,Array,Arrays/b
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*\[/\1/A,Array,Arrays/b
--regex-javascript=/^[ \t]*class[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/C,Class,Classes/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}\({[ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\3/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}\({[ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\5/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}\({[ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\7/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}function[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}\({[ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\3/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}\({[ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\5/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}\({[ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\7/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}function[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/E,Export,Exports/b
--regex-javascript=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/E,Export,Exports/b
--regex-javascript=/^[ \t]*function[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t(]/\1/F,Function,Functions/b
--regex-javascript=/^[ \t]*[(]function[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t(]/\1/F,Function,Functions/b
--regex-javascript=/^[ \t]*async[ \t]function[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t(]/\1/F,Function,Functions/b
--regex-javascript=/^[ \t]*[(]async[ \t]function[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t(]/\1/F,Function,Functions/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*\(async[ \t]\{1,\}\)*function[^\*][^\*]/\1/F,Function,Functions/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*\(async[ \t]\{1,\}\)*function[^\*][^\*]/\1/F,Function,Functions/b
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*\(async[ \t]\{1,\}\)*function[^\*][^\*]/\1/F,Function,Functions/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*([^)]*$/\1/F,Function,Functions/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*([^)]*$/\1/F,Function,Functions/b
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*([^)]*$/\1/F,Function,Functions/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=.\{1,\}=>/\1/F,Function,Functions/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=.\{1,\}=>/\1/F,Function,Functions/b
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=.\{1,\}=>/\1/F,Function,Functions/b
--regex-javascript=/^[ \t]*function[ \t]*\*[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\1/G,Generator,Generators/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*function\([ \t]*\*\)/\1/G,Generator,Generators/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*function\([ \t]*\*\)/\1/G,Generator,Generators/b
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*function\([ \t]*\*\)/\1/G,Generator,Generators/b
--regex-javascript=/^[ \t]*\(\*[ \t]\)\([A-Za-z0-9_$]\{1,\}\)[ \t]*(.*)[ \t]*[{]/\2/G,Generator,Generators/b
--regex-javascript=/^[ \t]*import[ \t]\{1,\}\([{][ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\3/I,Import,Imports/b
--regex-javascript=/^[ \t]*import[ \t]\{1,\}\([{][ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\5/I,Import,Imports/b
--regex-javascript=/^[ \t]*import[ \t]\{1,\}\([{][ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\7/I,Import,Imports/b
--regex-javascript=/^[ \t]*import[ \t]\{1,\}type[ \t]\{1,\}\([{][ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\3/I,Import,Imports/b
--regex-javascript=/^[ \t]*import[ \t]\{1,\}typeof[ \t]\{1,\}\([{][ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\3/I,Import,Imports/b
--regex-javascript=/^[ \t]*[A-Za-z0-9_]\{1,\}[ \t]as[ \t]\([A-Za-z0-9_]\{1,\}\)/\1/I,Import,Imports/b
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)\.\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*function/\2/M,Method,Methods/b
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)\.\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*(/\2/M,Method,Methods/b
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)\.\([A-Za-z0-9_$]\{1,\}\)\.\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*function/\3/M,Method,Methods/b
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)\.\([A-Za-z0-9_$]\{1,\}\)\.\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*(/\3/M,Method,Methods/b
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*[:=][ \t]*[(]*function[ \t]*(/\1/M,Method,Methods/b
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*[:=][ \t](\{1,\}/\1/M,Method,Methods/b
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*[:=][ \t]\{1,\}async[ \t](\{1,\}/\1/M,Method,Methods/b
--regex-javascript=/^[ \t]*static[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*(/\1/M,Method,Methods/b
--regex-javascript=/^[ \t]*async[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*(/\1/M,Method,Methods/b
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)(.*)[ \t]*[{]/\1/M,Method,Methods/b
--regex-javascript=/^[ \t]*get[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*(/\1/M,Method,Methods/b
--regex-javascript=/^[ \t]*set[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*(/\1/M,Method,Methods/b
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)\.\([A-Za-z0-9_$]\{1,\}\)[ \t]*[=][ \t]*{/\2/P,Property,Properties/b
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*:[ \t]*[{"\/\[]/\1/P,Property,Properties/b
--regex-javascript=/^[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*:[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t,]*$/\1/P,Property,Properties/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*[{]/\1/O,Object,Objects/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*[{]/\1/O,Object,Objects/b
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*[{]/\1/O,Object,Objects/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*styled/\1/S,StyledComponent,StyledComponents/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*styled/\1/S,StyledComponent,StyledComponents/b
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*styled/\1/S,StyledComponent,StyledComponents/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*createGlobalStyle/\1/S,StyledComponent,StyledComponents/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*createGlobalStyle/\1/S,StyledComponent,StyledComponents/b
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*createGlobalStyle/\1/S,StyledComponent,StyledComponents/b
--regex-javascript=/\/\/[ \t]*\(FIXME\)[ \t]*:*\(.*\)/\1/T,Tag,Tags/b
--regex-javascript=/\/\/[ \t]*\(TODO\)[ \t]*:*\(.*\)/\1/T,Tag,Tags/b
--regex-javascript=/\/\/[ \t]*\(BUG\)[ \t]*:*\(.*\)/\1/T,Tag,Tags/b
--regex-javascript=/\/\/[ \t]*\(NOBUG\)[ \t]*:*\(.*\)/\1/T,Tag,Tags/b
--regex-javascript=/\/\/[ \t]*\(???\)[ \t]*:*\(.*\)/\1/T,Tag,Tags/b
--regex-javascript=/\/\/[ \t]*\(!!!\)[ \t]*:*\(.*\)/\1/T,Tag,Tags/b
--regex-javascript=/\/\/[ \t]*\(HACK\)[ \t]*:*\(.*\)/\1/T,Tag,Tags/b
--regex-javascript=/\/\/[ \t]*\(XXX\)[ \t]*:*\(.*\)/\1/T,Tag,Tags/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*[0-9\"'\/]/\1/V,Variable,Variables/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*[0-9\"'\/]/\1/V,Variable,Variables/b
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*[0-9\"'\/]/\1/V,Variable,Variables/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*new/\1/V,Variable,Variables/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*new/\1/V,Variable,Variables/b
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*=[ \t]*new/\1/V,Variable,Variables/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[,;]/\1/V,Variable,Variables/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[,;]/\1/V,Variable,Variables/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/V,Variable,Variables/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/V,Variable,Variables/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/V,Variable,Variables/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/V,Variable,Variables/b
--regex-javascript=/^[ \t]*const[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\1/V,Variable,Variables/b
--regex-javascript=/^[ \t]*const[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\2/V,Variable,Variables/b
--regex-javascript=/^[ \t]*const[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\3/V,Variable,Variables/b
--regex-javascript=/^[ \t]*const[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\4/V,Variable,Variables/b
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\1/V,Variable,Variables/b
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\2/V,Variable,Variables/b
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\3/V,Variable,Variables/b
--regex-javascript=/^[ \t]*const[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\4/V,Variable,Variables/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\1/V,Variable,Variables/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\2/V,Variable,Variables/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\3/V,Variable,Variables/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\4/V,Variable,Variables/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\1/V,Variable,Variables/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\2/V,Variable,Variables/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\3/V,Variable,Variables/b
--regex-javascript=/^[ \t]*var[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\4/V,Variable,Variables/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\1/V,Variable,Variables/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\2/V,Variable,Variables/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\3/V,Variable,Variables/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}{[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[^}]*}[ \t]*=/\4/V,Variable,Variables/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\1/V,Variable,Variables/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\2/V,Variable,Variables/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\3/V,Variable,Variables/b
--regex-javascript=/^[ \t]*let[ \t]\{1,\}\[[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\).*\][ \t]*=/\4/V,Variable,Variables/b
--regex-javascript=/^[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\),$/\1/V,Variable,Variables/b
--regex-javascript=/^[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)$/\1/V,Variable,Variables/b
--langdef=typescript
--langmap=typescript:.ts.tsx
--regex-typescript=/^[ \t]*(export[ \t]+([a-z]+[ \t]+)?)?class[ \t]+([a-zA-Z0-9_$]+)/\3/c,classes/
--regex-typescript=/^[ \t]*(declare[ \t]+)?namespace[ \t]+([a-zA-Z0-9_$]+)/\2/c,modules/
--regex-typescript=/^[ \t]*(export[ \t]+)?module[ \t]+([a-zA-Z0-9_$]+)/\2/n,modules/
--regex-typescript=/^[ \t]*(export[ \t]+)?(default[ \t]+)?(async[ \t]+)?function(\*)?[ \t]+([a-zA-Z0-9_$]+)/\5/f,functions/
--regex-typescript=/^[ \t]*export[ \t]+(var|let|const)[ \t]+([a-zA-Z0-9_$]+)/\2/v,variables/
--regex-typescript=/^[ \t]*(var|let|const)[ \t]+([a-zA-Z0-9_$]+)[ \t]*=[ \t]*function[ \t]*[*]?[ \t]*\(\)/\2/v,varlambdas/
--regex-typescript=/^[ \t]*(export[ \t]+)?(public|protected|private)?[ \t]*(static[ \t]+)?(abstract[ \t]+)?(((get|set|readonly)[ \t]+)|(async[ \t]+[*]*[ \t]*))?(#?[a-zA-Z1-9_$]+)[ \t]*[:(]/\9/m,members/
--regex-typescript=/^[ \t]*(export[ \t]+)?interface[ \t]+([a-zA-Z0-9_$]+)/\2/i,interfaces/
--regex-typescript=/^[ \t]*(export[ \t]+)?type[ \t]+([a-zA-Z0-9_$]+)/\2/t,types/
--regex-typescript=/^[ \t]*(export[ \t]+)?enum[ \t]+([a-zA-Z0-9_$]+)/\2/e,enums/
--regex-typescript=/^[ \t]*import[ \t]+([a-zA-Z0-9_$]+)/\1/I,imports/

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

View File

@ -3,7 +3,7 @@ AntiAliasFonts=true
BoldIntense=true
ColorScheme=DarkPastels
DimmValue=54
Font=Ubuntu Mono,9,-1,5,75,0,0,0,0,0,Bold
Font=Ubuntu Mono,9,-1,5,700,0,0,0,0,0,0,0,0,0,0,1,Bold
UseFontLineChararacters=false
[General]
@ -12,4 +12,5 @@ Name=Můj
Parent=FALLBACK/
[Scrolling]
HistoryMode=2
ScrollBarPosition=2

View File

@ -3,7 +3,7 @@ In fact, lots of settings are synced by Firefox itself.
So this folder contains just some infos around and settings for [tridactyl](#tridactyl).
## Related files
- [../../.tridactylrc](../../.tridactylrc)
- [../../.config/tridactyl/](../../.config/tridactyl/)
- [../native-messaging-hosts/tridactyl.json](../native-messaging-hosts/tridactyl.json)
## Extensions

View File

@ -1,5 +0,0 @@
# Newsboat
[newsboat/newsboat: An RSS/Atom feed reader for text terminals](https://github.com/newsboat/newsboat)
## Related files
- [./\*](./)

View File

@ -1,59 +0,0 @@
# for inspiration https://github.com/gpakosz/.newsboat/blob/master/config
auto-reload yes
reload-time 90
reload-threads 11
always-display-description true
error-log "~/.newsboat/error.log"
keep-articles-days 30
prepopulate-query-feeds yes
# confirm-mark-all-feeds-read no
player vlc
browser "xdg-open"
macro p set browser "vlc %u" ; open-in-browser ; set browser "xdg-open"
macro e set browser "vim ~/.newsboat/config" ; open-in-browser ; set browser "xdg-open"
color background color8 default bold
color info default color234
color listnormal default default
color listfocus color188 color234
color listnormal_unread color187 default
color listfocus_unread color179 default
search-highlight-colors color179 default
highlight article "^(Feed|Author|Title|Date|Link): .*$" color117 default
highlight articlelist "/date .\{4\}-.\{2\}-.\{2\} .\{2\}:.\{2\}" color43 default
highlight articlelist "/size \[^ \]*" color64 default
highlight articlelist "/feed .*$" color151 default
highlight-article "age > 1 and unread == \"no\"" color245 default
feedlist-format ":%-4i %-5U %?T?↓ &?%t"
articlelist-format ":%-4i %f %?T?%-3T|?%t /date %D /size %-4L %?T?/feed %T?%"
text-width 90
datetime-format "%Y-%m-%d %H:%M"
bind-key ; cmdline
unbind-key q
bind-key j down
bind-key k up
bind-key J next-feed articlelist
bind-key K prev-feed articlelist
bind-key h quit
bind-key LEFT quit
bind-key l open
bind-key RIGHT open
bind-key g home
bind-key G end
bind-key a toggle-article-read
bind-key n next-unread
unbind-key p
bind-key N prev-unread
bind-key s sort
bind-key S rev-sort
bind-key U show-urls
unbind-key ^B
bind-key m bookmark
bookmark-cmd "~/bin/pocket-sh-add.sh"
bookmark-autopilot yes
# vim: ft=apachestyle cms=#\ %s :

View File

@ -1,22 +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 { html2rss } from './html2rss.mjs';
/** @typedef {import('./html2rss.mjs').T_RSSITEM} T_RSSITEM */
html2rss($[1], $[2], articles)
.then(pipe( echo, $.exit.bind(null, 0)));
/**
* @param {string} response
* @returns {T_RSSITEM[]}
* */
function articles(response){
const links= Array.from(response.matchAll(/vcard__link" href="([^"]*)"/g)).map(pluckFound);
const dates= Array.from(response.matchAll(/vcard__publish[^>]*>([^<]*)</g)).map(pluckFound).map(toISO);
return Array.from(response.matchAll(/<h3[^>]*>([^<]*)</g))
.map(pluckFound)
.filter(Boolean)
.map(function(title, i){ return { title, link: links[i], date: dates[i] }; });
/** @param {string} date */
function toISO(date){ return date.split(". ").reverse().map(d=> d.padStart(2, "0")).join("-")+"T00:00:00.000Z"; }
function pluckFound([ _, found]){ return found; }
}

View File

@ -1,39 +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 */
/**
* @typedef T_RSSITEM
* @type {{ title: string, link: string, date: string }}
* */
/**
* @param {string} title
* @param {string} url
* @param {(response: string)=> T_RSSITEM[]} parseItems
* @returns {Promise<string>}
* */
export function html2rss(title, url, parseItems){
return fetch(url)
.then(response=> response.text())
.then(pipe( parseItems, toRSS ));
function toRSS(items){
const articles_rss= items.map(function({ title, date, link }){
return [
"<item>",
"<title>"+title+"</title>",
"<link>"+link+"</link>",
"<updated>"+date+"</updated>",
"</item>"
].join("\n");
});
return [
`<?xml version="1.0" encoding="UTF-8" ?>`,
`<rss version="2.0">`,
"<channel>",
`<title>${title}</title>`,
`<link>${url}</link>`,
...articles_rss,
"</channel>",
"</rss>"
].join("\n");
}
}

View File

@ -1,225 +0,0 @@
https://www.youtube.com/feeds/videos.xml?channel_id=UCMiyV_Ib77XLpzHPQH_q0qQ video
https://www.youtube.com/feeds/videos.xml?channel_id=UCVls1GmFKf6WlTraIb_IaJg video
https://www.youtube.com/feeds/videos.xml?channel_id=UCACJQqtYw6sASWAHXWkBWpw ! video
https://www.youtube.com/feeds/videos.xml?playlist_id=PLanJ0JNOqYbysIbQ3KnHkWeotmTEWXCTA ! video
https://www.youtube.com/feeds/videos.xml?playlist_id=PLCKZKxlikAKzhux_uS3BZgejHhYk8yOYO ! video
https://www.youtube.com/feeds/videos.xml?channel_id=UCPeHT7xKjaw_-8hHW0GEXLg ! video
https://www.youtube.com/feeds/videos.xml?channel_id=UCD9L1HvpYpmZ8rrXABARCRQ ! video
https://www.youtube.com/feeds/videos.xml?channel_id=UCONH73CdRXUjlh3-DdLGCPw ! video
https://herohero.co/services/functions/rss-feed?token=eyJhbGciOiJSUzI1NiJ9.eyJ1IjoiYWpzbHV6YnlsdXh1dnlueSIsImMiOiJuYXBvdGl0a3V6d3VhdWhvZCIsInQiOjE2ODU2MDk1ODl9.LfJHvtdm4fPq25NCfoC5ZU6cPmZLRjXO2Xhl6fcG78j-8tjatznyBDQdKwKiMfdQMKK9peOkYAKyIXTBvjBBN9XJ9CKoOnAfIyHiBlyo200TWeG3Ll37U8LRN7So4npT4-Qr_FzZGSMYO_ispVL6Gj2HYfwYORq6-1t78v9k5Ke7up-w4aM4-jUXD3_Zdsu70jJV5-fEAM11pgkfh8HydW9vm_MvkZ1q1DSIRlZR8jQNQZgGWeYMjzF9owD00TQGUGsXGNH0lit-IhFX9_VFqG5so5i6ugv8AyCJK7g3B59YV6TsWVANtWN5NB_B3f-TXSE4Cs7tOZrU0riVxI-4Ew ! video
https://www.youtube.com/feeds/videos.xml?channel_id=UCKlOmM_eB0nzTNiDFZibSSA !
"query:Sakitech Note/Update:title =~ \"(Note|Phones|phones)\" and title !~ \"(Wallpaper|wallpaper)\" and rssurl == \"https://www.youtube.com/feeds/videos.xml?channel_id=UCKlOmM_eB0nzTNiDFZibSSA\"" video
"exec:~/.newsboat/html2rss-streamCZ.mjs 'Kokoti na neděli' 'https://www.stream.cz/kokoti-na-nedeli'" ! video
"exec:~/.newsboat/html2rss-streamCZ.mjs 'Šťastné pondělí' 'https://www.stream.cz/stastne-pondeli'" !
"query:Šťastné pondělí:title =~ \"Šťastné pondělí\" and feedtitle == \"Šťastné pondělí\"" video
https://www.mall.tv/rssfeed/mikyrova-uzasna-pout-internetem ! video
"query:📹:tags # \"video\""
https://nitter.cz/spreadmastodon/rss
https://www.mfcr.cz/cs/rss/vydali-jsme-k-hospodareni-statu ! stát
https://www.sporicidluhopisycr.cz/cs/rss/aktuality ! stát
https://nitter.cz/gov_cz/rss ! stát
https://www.ceskezajmy.eu/feed/ ! stát
https://poladprahu.cz/category/novinky/feed/ ! stát
https://sdilenedomy.cz/feed/ ! stát
"query:📒:tags # \"stát\""
https://www.irozhlas.cz/rss/irozhlas ! news
https://denikn.cz/feed?ref=inc ! news
https://www.investigace.cz/feed/ ! news
"query:📰👋:tags # \"news\""
https://denikn.cz/veda/feed?ref=inc ! news/science
"query:Petr Koubský:author = \"Petr Koubský\"" news/science
https://vedator.org/feed/ ! news/science
http://feeds.feedburner.com/Backreaction ! news/science
https://www.osel.cz/rss/rss.php ! news/science
https://news.mit.edu/rss/feed ! news/science
https://news.mit.edu/rss/research ! news/science
https://nautil.us/feed/ ! news/science
https://nitter.cz/PatrikKorenar/rss ! news/science
"query:📰🔬:tags # \"news/science\""
https://www.lupa.cz/rss/clanky/ ! news/tech
https://www.root.cz/rss/zpravicky/ ! news/tech
https://www.root.cz/rss/clanky/ ! news/tech
"query: Root Softwarová sklizeň:title =~ \"^Softwarová sklizeň\" and rssurl == \"https://www.root.cz/rss/clanky/\"" news/tech
https://zdrojak.cz/feed/ ! news/tech
https://www.vzhurudolu.cz/rss ! news/tech
https://anuradha.hashnode.dev/rss.xml ! news/tech
https://lea.verou.me/feed.xml ! news/tech
https://developer.mozilla.org/en-US/blog/rss.xml ! news/tech
https://www.omgubuntu.co.uk/feed ! news/tech
https://servis.idnes.cz/rss.aspx?c=technet ! news/tech
"query:📰💻💡:tags # \"news/tech\""
https://news.ycombinator.com/rss "~📰👋💻💡 Hackernews"
https://lemmy.kde.social/feeds/c/kde.xml?sort=Active ! lemmy
https://beehaw.org/feeds/c/science.xml?sort=Active ! lemmy
https://lemmy.ml/feeds/c/firefox.xml?sort=Active ! lemmy
https://lemmy.ml/feeds/c/vim.xml?sort=Active ! lemmy
https://lemmy.ml/feeds/c/css.xml?sort=Active ! lemmy
https://lemmy.ml/feeds/c/javascript.xml?sort=Active ! lemmy
https://lemmy.ml/feeds/c/kde.xml?sort=Active ! lemmy
"query:📰👋💻💡 Lemmy:tags # \"lemmy\""
https://github.com/jordwalke.atom ! twitter/α
# https://nitter.cz/ell2cz/rss ! twitter/α
# https://nitter.cz/fieldsofmoab/rss ! twitter/α
# https://nitter.cz/cztomsik/rss ! twitter/α
# https://nitter.cz/sw_samuraj/rss ! twitter/α
# https://nitter.cz/AndroidDev/rss ! twitter/α
# https://nitter.cz/EduardStula/rss ! twitter/α
# https://nitter.cz/ubuntu_unity/rss ! twitter/α → ?https://ubuntuunity.org/blog/
https://blog.neon.kde.org/feed/ ! twitter/α
https://undinealmani.com/feed/ ! twitter/α
# https://nitter.cz/erikengheim/rss ! twitter/α
# https://nitter.cz/LeaVerou/rss ! twitter/α
# https://nitter.cz/jpschroeder/rss ! twitter/α
# https://nitter.cz/machal/rss ! twitter/α
# https://nitter.cz/devgirlFL/rss ! twitter/α
# https://nitter.cz/maxiorel/rss ! twitter/α
# https://nitter.cz/firt/rss ! twitter/α
https://princiya.com/newblog/feeds/all.atom.xml ! twitter/α
https://davidwalsh.name/feed ! twitter/α
# https://nitter.cz/jakubvrana/rss ! twitter/α
https://jecas.cz/rss ! twitter/α
# JanKoWeb geekovo zdrojak
"query:📰👋💻💡 Twitter/α:tags # \"twitter/α\""
# https://nitter.cz/Zeptej_se_vedce/rss ! twitter/mixed
# https://nitter.cz/Olinium42/rss ! twitter/mixed
#
https://nitter.cz/narodnitymzen/rss ! twitter/mixed
# https://nitter.cz/Julianne_SF/rss ! twitter/α
#!
https://nitter.cz/_Case/rss ! twitter/α
#!
https://nitter.cz/olgarichterova/rss ! twitter/mixed
# https://nitter.cz/eicul/rss ! twitter/mixed
# https://nitter.cz/CO2IN/rss ! twitter/mixed
#
https://nitter.cz/Iluminator_cz/rss ! twitter/mixed
https://faktaoklimatu.cz/feed.xml ! twitter/mixed
#?
https://nitter.cz/anna_gumplova/rss ! twitter/mixed
#?
https://nitter.cz/DearAbbyHansen/rss ! twitter/mixed
# https://nitter.cz/FZU_AVCR/rss ! twitter/mixed
#!
https://nitter.cz/_A_d_e_l_k_a_/rss ! twitter/mixed
#!
https://nitter.cz/TGuthJarkovsky/rss ! twitter/mixed
# https://nitter.cz/ClaireAccendit/rss ! twitter/mixed
# https://nitter.cz/PavlaHub/rss ! twitter/mixed
# https://nitter.cz/laurencikova_k/rss ! twitter/mixed
# https://popculturedetective.tumblr.com/rss twitter/mixed
#!
https://nitter.cz/dan_prokop/rss ! twitter/mixed
https://www.paqresearch.cz/blog-feed.xml ! twitter/mixed
#!
https://nitter.cz/danusenerudova/rss ! twitter/mixed
#!
https://nitter.cz/Akademie_ved_CR/rss ! twitter/mixed
#!
https://nitter.cz/glacier_ecology/rss ! twitter/mixed
https://archetypal.cz/feed/ ! twitter/mixed
# https://nitter.cz/MarieHermanova/rss ! twitter/mixed
# https://nitter.cz/NKC_CZ/rss ! twitter/mixed
#!
https://nitter.cz/lkristoufek/rss ! twitter/mixed
# https://nitter.cz/OSAliance/rss ! twitter/mixed
# https://nitter.cz/Madla_G/rss ! twitter/mixed
# https://nitter.cz/matfyz/rss ! twitter/mixed
#!
https://nitter.cz/Mitokochan/rss twitter/mixed
https://www.mimoagendu.cz/rss/ ! twitter/mixed
# https://nitter.cz/malyvedec/rss ! twitter/mixed
#!
https://nitter.cz/kasikp/rss ! twitter/mixed
# https://nitter.cz/CERN/rss ! twitter/mixed
# https://nitter.cz/josefslerka/rss ! twitter/mixed
# https://nitter.cz/hassmanm/rss ! twitter/mixed
#!
https://nitter.cz/marenamat/rss ! twitter/mixed
# https://nitter.cz/traintravels42/rss ! twitter/mixed
https://nitter.cz/JulieMontek/rss ! twitter/mixed
#
https://nitter.cz/bara_soukup/rss ! twitter/mixed
# PulseofEuropeCZ KohoVolitEU
"query:📰👋💻💡 Twitter/mixed:tags # \"twitter/mixed\""
https://us8.campaign-archive.com/feed?u=5ec4c91d59d1b26aefb919e61&id=2ebe3120ac ! newsletters
https://kill-the-newsletter.com/feeds/mx8wi1fifxu6scj8.xml ! newsletters
https://kill-the-newsletter.com/feeds/9l096daq56dxjw3z.xml ! newsletters
https://denikn.cz/autor/toman/feed/ ! newsletters
https://denikn.cz/tag/vylety-n/feed/ ! newsletters
https://denikn.cz/tag/evropska-unie/feed/ ! newsletters
"query:🗞️📰💡 Newsletters:tags # \"newsletters\""
# https://nitter.cz/randomMDN/rss dev/servises
# "exec:randomMDN rss --limit 3" dev/servises
https://botsin.space/@randomMDN.rss dev/servises
https://github.com/evanw/esbuild/releases.atom ! dev/servises
https://bun.sh/rss.xml ! dev/servises
https://www.githubstatus.com/history.rss ! dev/servises
# https://nitter.cz/GitHubSecurity/rss ! dev/servises
https://developer.apple.com/news/rss/news.rss "~Apple Dev News" dev/servises
# https://nitter.cz/JetBrains_Fleet/rss ! dev/servises → ?https://blog.jetbrains.com/feed/
# https://nitter.cz/NativeScript/rss ! dev/servises
# https://nitter.cz/sveltejs/rss ! dev/servises
# https://nitter.cz/github/rss ! dev/servises
https://cordova.apache.org/feed.xml ! twitter/α
https://www.mozilla.cz/feed/ ! twitter/α
#! https://nitter.cz/janovsky/rss ! twitter/α
# https://www.githubstatus.com/history.rss ! dev/servises
"query:⌨🖱:tags # \"dev/servises\""
https://github.com/mdn.atom ! dev/github
https://github.com/LeaVerou.atom ! dev/github
https://github.com/susieward/witchly-js/commits/main.atom ! dev/github
https://github.com/staltz.atom ! dev/github
https://github.com/jensimmons.atom ! dev/github
https://github.com/mirisuzanne.atom ! dev/github
# https://www.smashingmagazine.com/feed/
"query:⌨🖱:tags # \"dev/github\""
https://www.informacnigramotnost.cz/feed/ ! desinfo
https://demagog.cz/rss/index.atom ! desinfo
https://www.fakticke.info/feed/ ! desinfo
https://manipulatori.cz/feed/ ! desinfo
"query:🤔:tags # \"desinfo\""
https://n3wjack.net/feed/ ! blogs
https://boundedlyrational.substack.com/feed ! blogs
https://blog.eischmann.cz/feed/ ! blogs
https://www.zoonpolitikon.cz/feed/ ! blogs
https://blog.zvestov.cz/feed.xml ! blogs
https://www.pirati.cz/feed.xml ! blogs
https://www.kdu.cz/system/rss ! blogs
https://80000hours.org/feed/ ! glogs
http://tapolitika.cz/feed/ ! glogs
"query:🤓:tags # \"blogs\""
https://mobilmania.zive.cz/rss/sc-47/default.aspx ! news/info
https://feeds.feedburner.com/penize?format=xml ! news/info
https://www.mesec.cz/rss/clanky/ ! news/info
https://www.mesec.cz/rss/aktuality/ ! news/info
https://www.edna.cz/doctor-who/rss/ ! news/info
"query:🗞 💰📱:tags # \"news/info\""
http://feeds.bbci.co.uk/news/world/rss.xml ! news/rest
# https://feeds.a.dj.com/rss/RSSWorldNews.xml ! news/rest news/rest-wsj
# https://feeds.a.dj.com/rss/RSSWSJD.xml ! news/rest news/rest-wsj
https://domaci.hn.cz/?m=rss ! news/rest
https://ekonom.cz/?m=rss ! news/rest
https://vikend.hn.cz/?m=rss ! news/rest
https://procne.hn.cz/?m=rss ! news/rest
http://casopisargument.cz/?feed=rss2 ! news/rest
"query:↓ The Wall Street Journal:tags # \"news/rest-wsj\""
"query:🗞 🌐⏩:tags # \"news/rest\""
https://www.seznamzpravy.cz/rss ! rest
"query:🗞 💤:tags # \"rest\""

View File

@ -30,8 +30,7 @@ export GTK_MODULES
export UBUNTU_MENUPROXY
export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/"
# Ubuntu make installation of Ubuntu Make binary symlink
PATH=/home/jaandrle/.local/share/umake/bin:$PATH
[ -f /home/jaandrle/.bash/.profile_androidsdk ] && . /home/jaandrle/.bash/.profile_androidsdk
# Added by Toolbox App
export PATH="$PATH:/home/jaandrle/.local/share/JetBrains/Toolbox/scripts"

View File

@ -1,3 +1,3 @@
execute "source ".system("mdexpr-agenda vim 2> /dev/null")
command MDEXPRclose lclose | lexpr []
call scommands#map('m', 'MDEXPR', "n")
cabbrev žm feedkeys("MDEXPR")

View File

@ -26,5 +26,5 @@
"complexity": ["error", 15]
}
}
}
}
}

View File

@ -9,9 +9,13 @@ let g:user_tips_list= [
\ ':set foldopen-=search',
\ 'Buffer info → <c-g> g<c-g> … :map <buffer><tab>',
\ 'Rename file → :saveas * | :silent !rm # | :bw #',
\ 'packadd cfilter',
\ 'packadd cfilter justify',
\ 'Next word location → ]I [I ]<c-I> [<c-I> … <leader>]I <leader>[I',
\ ':w !sudo tee > /dev/null %',
\ 'v`]o`[ visual last change — https://www.reddit.com/r/vim/comments/ypt6uf/comment/ivl68xu/?utm_source=share&utm_medium=web2x&context=3',
\ ':exec ''argdo bw'' | %argdelete',
\ 'changes g, g; || jumps ^i ^o || marks g`…',
\ 'set foldmethod=marker/indent foldlevel=i foldnestmax=j',
\ '`0·`"·`.·`` … last exit·edit·change·pre-jump … also g''*',
\ 'q: q? q/ … @: ?<cr> /<cr> :&<cr> , ;',
\ '<c-n><c-p> <c-x><c-l> <c-x><c-f> … :h ins-completion',

84
.vimrc
View File

@ -1,10 +1,11 @@
""" VIM config file | Jan Andrle | 2024-02-07 (VIM >=8.1)
""" VIM config file | Jan Andrle | 2024-10-21 (VIM >=9.1 AppImage)
"" #region B Base
scriptencoding utf-8 | set encoding=utf-8
set pythonthreedll=/lib/x86_64-linux-gnu/libpython3.10.so.1.0
let $BASH_ENV = "~/.bashrc"
set runtimepath^=~/.vim/bundle/*
packadd! matchit
set hidden
" set hidden
set title
colorscheme codedark
@ -13,6 +14,7 @@
set belloff=esc
set confirm
set guioptions-=T
set shortmess-=i
cabbrev <expr> %PWD% execute('pwd')
cabbrev <expr> %CD% fnameescape(expand('%:p:h'))
@ -48,25 +50,15 @@
let g:vifm_replace_netrw= 1 | let g:loaded_netrw= 1 | let g:loaded_netrwPlugin= 1 " this line needs to be commented to let vim dowmload spelllangs!!! … see http://jdem.cz/fgyw25
""" #endregion BB
"" #endregion B
"" #region H Helpers + remap 'sS' (primary ss, see `vim-scommands`)
nmap sh :execute 'ALTredir :map s \<bar> map '.mapleader.' \<bar> map § \<bar> map ů \<bar> map ; \<bar> map U \<bar> map ž'<cr>:g/^$/d<cr>:g/^v s/m$<cr>úgg
call scommands#map('s', 'CL', "n,v")
"" #region H Helpers
command! -nargs=? CLscratch 10split | enew | setlocal buftype=nofile bufhidden=wipe noswapfile nobuflisted | if <q-args>!='' | execute 'normal "'.<q-args>.'p' | endif | nnoremap <buffer> ;q :q<cr>
call scommands#map('S', 'SET', "n,v")
call scommands#map('a', 'ALT', "n,V")
cabbrev ALTR ALTredrawSyntax
set grepprg=LC_ALL=C\ grep\ -nrsH
command! -nargs=0
\ ALTredrawSyntax edit | exec 'normal `"' | exec 'set ft='.&ft
command! -complete=command -bar -range -nargs=+
\ ALTredir call jaandrle_utils#redir(0, <q-args>, <range>, <line1>, <line2>)
command! -nargs=+ -complete=file_in_path -bar
\ ALTgrep cgetexpr jaandrle_utils#grep(<f-args>) | call setqflist([], 'a', {'title': ':' . g:jaandrle_utils#last_command})
command! -nargs=+ -complete=file_in_path -bar
\ ALTlgrep lgetexpr jaandrle_utils#grep(<f-args>) | call setloclist(0, [], 'a', {'title': ':' . g:jaandrle_utils#last_command})
command! -nargs=0
\ ALTargsBWQA execute 'argdo bw' | %argdelete
let g:quickfix_len= 0
function! QuickFixStatus() abort
@ -99,7 +91,7 @@
"" #endregion H
"" #region SLH Status Line + Command Line + History (general) + Sessions + File Update, …
set showcmd cmdheight=2 showmode
set wildmenu wildoptions=pum
set wildmenu wildoptions=pum,fuzzy
"" wildmode=list:longest,list:full " Tab autocomplete in command mode
cabbrev wbw w<bar>bw
@ -144,13 +136,12 @@
set pastetoggle=<F2> | nnoremap <F2> :set invpaste paste?<CR>
nnoremap <silent> <leader>" :call jaandrle_utils#copyRegister()<cr>
nmap <expr> š buffer_number("#")==-1 ? "sš<cr>" : "\<c-^>"
nmap s3 :buffers<cr>:b<space>
nmap sš :CtrlPBuffer<cr>
nmap č sš
nmap <expr> š buffer_number("#")==-1 ? "\<leader>š<cr>" : "\<c-^>"
nmap <leader>3 :buffers<cr>:b<space>
nmap <leader>š :CtrlPBuffer<cr>
nmap č <leader>š
let g:ctrlp_map = 'ě'
command! -nargs=? SETctrlp execute 'nnoremap '.g:ctrlp_map.' :CtrlP <args><cr>'
call scommands#map(g:ctrlp_map, 'CtrlP', "n")
let g:ctrlp_clear_cache_on_exit = 0
let g:ctrlp_prompt_mappings= {
\ 'ToggleType(1)': ['<c-up>'],
@ -173,7 +164,6 @@
set wildignore+=*.pdf,*.psd
nmap <leader>e :Vifm<cr>
call scommands#map('e', 'Vifm', "n")
nnoremap gx :silent exec "!xdg-open '".shellescape(substitute(expand('<cfile>'), '?', '\\?', ''), 1)."'" \| redraw!<cr>
vnoremap gx :silent exec "!xdg-open '".shellescape(substitute(mini_enhancement#selectedText(), '?', '\\?', ''), 1)."'" \| redraw!<cr>
"" #endregion FOS
@ -181,13 +171,9 @@
set hlsearch incsearch " highlight search, start when typing
if maparg('<C-L>', 'n') ==# ''
nnoremap <silent> <c-l> :nohlsearch<c-r>=has('diff')?'<bar>diffupdate':''<cr><cr><c-l> | endif
call scommands#map('n', 'NAV', "n")
command! NAVjumps call jaandrle_utils#gotoJumpChange('jump')
command! NAVchanges call jaandrle_utils#gotoJumpChange('change')
command! NAVmarks call jaandrle_utils#gotoMarks()
let g:markbar_persist_mark_names = v:false
let g:markbar_cache_with_hidden_buffers = v:false " last buffers are reopened as hidden https://github.com/Yilin-Yang/vim-markbar/blob/9f5a948d44652074bf2b90d3da6a400d8a369ba5/doc/vim-markbar.txt#L136
nmap <Leader>m <Plug>ToggleMarkbar
"" #endregion EN
"" #region EA Editing adjustment + Syntax + White chars + Folds
@ -200,7 +186,7 @@
let g:markdown_fenced_languages= [ 'javascript', 'js=javascript', 'json', 'html', 'php', 'bash', 'vim', 'vimscript=javascript', 'sass' ]
augroup conceal
autocmd!
au FileType markdown
au FileType markdown
\ syn region markdownLink matchgroup=markdownLinkDelimiter start="(" end=")" contains=markdownUrl keepend contained conceal
\| syn region markdownLinkText matchgroup=markdownLinkTextDelimiter start="!\=\[\%(\%(\_[^][]\|\[\_[^][]*\]\)*]\%( \=[[(]\)\)\@=" end="\]\%( \=[[(]\)\@=" nextgroup=markdownLink,markdownId skipwhite contains=@markdownInline,markdownLineStart concealends
au FileType markdown,json
@ -250,14 +236,10 @@
nnoremap <s-k> a<cr><esc>
for l in [ 'y', 'p', 'P', 'd' ] | for m in [ 'n', 'v' ]
execute m.'noremap <leader>'.l.' "+'.l | endfor | endfor
" ik ak (last change pseudo-text objects) src: https://www.reddit.com/r/vim/comments/ypt6uf/comment/ivl68xu/?utm_source=share&utm_medium=web2x&context=3
xnoremap ik `]o`[
onoremap ik :<C-u>normal vik<cr>
onoremap ak :<C-u>normal vikV<cr>
" FOLDS
command! -nargs=0 SETFOLDregions set foldmethod=marker
command! -nargs=1 SETFOLDindent set foldmethod=indent | let &foldlevel=<q-args> | let &foldnestmax=<q-args>+1
command! -nargs=* SETFOLDindents set foldmethod=indent | let &foldlevel=split(<q-args>, ' ')[0] | let &foldnestmax=split(<q-args>, ' ')[1]
" TODO DEL: FOLDS
" TODO DEL: command! -nargs=0 SETFOLDregions set foldmethod=marker
" TODO DEL: command! -nargs=1 SETFOLDindent set foldmethod=indent | let &foldlevel=<q-args> | let &foldnestmax=<q-args>+1
" TODO DEL: command! -nargs=* SETFOLDindents set foldmethod=indent | let &foldlevel=split(<q-args>, ' ')[0] | let &foldnestmax=split(<q-args>, ' ')[1]
set foldmarker=#region,#endregion
" SAVE VIEW
set viewoptions=cursor,folds
@ -268,7 +250,6 @@
augroup END
"" #endregion EA
"" #region GIT
call scommands#map('g', 'GIT', "n,V")
function s:gitCompletion(_, CmdLine, __)
let l:cmd= a:CmdLine->split()
let l:cmd_start= l:cmd[0]
@ -306,7 +287,7 @@
\ GITblameThis GitMessenger
"" #endregion GIT
"" #region COC COC and so on, compilers, code/commands completions
let g:coc_global_extensions= ['coc-css', 'coc-docthis', 'coc-emmet', 'coc-emoji', 'coc-eslint', 'coc-gitmoji', 'coc-html', 'coc-json', 'coc-marketplace', 'coc-phpls', 'coc-sh', 'coc-snippets', 'coc-styled-components', 'coc-svg', 'coc-tabnine', 'coc-tsserver']
let g:coc_global_extensions= ['coc-css', 'coc-docthis', 'coc-emmet', 'coc-emoji', 'coc-pretty-ts-errors', 'coc-eslint', 'coc-gitmoji', 'coc-html', 'coc-json', 'coc-marketplace', 'coc-phpls', 'coc-sh', 'coc-snippets', 'coc-styled-components', 'coc-svg', 'coc-tabnine', 'coc-tsserver']
" https://github.com/antonk52/cssmodules-language-server
call coc#config('languageserver.cssmodules', {
\ "command": "cssmodules-language-server",
@ -343,7 +324,7 @@
endif
endfunction
set completeopt=menuone,preview,noinsert,noselect
set completeopt=menuone,longest,preview "longest vs ,noinsert,noselect
inoremap <silent><expr> <F1> coc#pum#visible() ? coc#pum#confirm() : coc#refresh()
set wildcharm=<f1>
inoremap <silent><expr> <tab> coc#pum#visible() ? coc#pum#next(1) : <sid>check_back_space() ? "\<tab>" : coc#refresh()
@ -356,11 +337,13 @@
nmap <silent> gd <Plug>(coc-definition)
nmap <leader>/ :CocSearch
nmap <leader>? <leader>/
command! -bang NAVdiagnostic call CocActionAsync('diagnostic'.( "<bang>" == '!' ? 'Previous' : 'Next' ))
command! NAVdefinition call CocActionAsync('jumpDefinition')
command! NAVtype call CocActionAsync('jumpTypeDefinition')
command! NAVimplementation call CocActionAsync('jumpImplementation')
command! NAVreferences call CocActionAsync('jumpReferences')
command! -nargs=* -complete=customlist,<sid>SCommandCocActionComplete CocAction call CocActionAsync(<f-args>)
function s:SCommandCocActionComplete(argLead, cmdLine, cursorPos)
return readfile(expand('~/.vim/pack/coc/start/coc.nvim/doc/tags'), 'r')
\->filter('v:val =~ ''^CocAction''')
\->map({ k, v -> strpart(v, 11, stridx(v, ')')-12) })
\->filter({ k, v -> v =~ a:argLead && !v->empty() })
endfunction
" navigate diagnostics, use `:CocDiagnostics` to get all diagnostics of current buffer in location list.
nnoremap <silent> gh :call <sid>show_documentation(expand("<cword>"))<cr>
vnoremap <silent> gh :<c-u>call <sid>show_documentation(mini_enhancement#selectedText())<cr>
@ -376,11 +359,13 @@
vnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>"
endif
""" #endregion COCP
command! -nargs=? SETFOLDcoc :call CocAction('fold', <f-args>)
" TODO DEL: command! -nargs=? SETFOLDcoc :call CocAction('fold', <f-args>)
call scommands#map('C', 'Coc', "n,v")
nmap sc :CocList lists<cr>
nmap Sc :CocListResume<cr>
command! -nargs=? CLhelpMy if <q-args>!='' | exec 'map '.<q-args> | else | call popup_notification([
\ 'Custom mappings starting: '.mapleader.',§, ů, ;, U, ž',
\ 'Custom commands starting: CL, SET, ALT, CtrlP, Vifm, GIT, Coc',
\ 'Helpful commands: CocAction, CocCommand, CocList',
\], #{ line: &lines-3, pos: 'botleft', moved: 'any', close: 'button', time: 6000 }) | endif
nnoremap <c-g> :CLwhereami<cr>
command! CLwhereami :call popup_notification([
\expand('%:t').( coc#status() != "" ? '/'.CocAction("getCurrentFunctionSymbol")."\t…\t".coc#status() : '' ),
@ -388,18 +373,13 @@
\"Line:\t".line('.').' / '.line('$'),
\"Column:\t".col('.').' / '.col('$'),
\"Path:\t".expand('%:p:h')
\], #{ line: &lines-3, pos: 'botleft', moved: 'any', close: 'button', time: 3000 })
\], #{ line: &lines-3, pos: 'botleft', moved: 'any', close: 'button', time: 6000 })
command! CLhelpCocPlug call feedkeys(':<c-u>help <Plug>(coc ', 'tn')
command! CLhelpCocAction call feedkeys(':<c-u>help CocAction('' ', 'tn')
command! CLrename call CocActionAsync('rename')
command! CLrenameFile exec 'CocCommand workspace.renameCurrentFile'
command! -nargs=? -bang
\ CLreplace call feedkeys(':<c-u>'.(<q-args>==''?'.':<q-args>).'s/'.("<bang>"=='!'?mini_enhancement#selectedText():expand('<cword>')).'//cgODODOD', 'tn')
command! CLrepeatLastChange call feedkeys('/\V<C-r>"<CR>cgn<C-a><Esc>', 'tn')
command! CLjsdoc exec 'CocCommand docthis.documentThis'
command! CLjshintGlobal normal yiwmm?\/\* global<cr><c-l>f*hi, p`m
command! CLcodeactionCursor call CocActionAsync('codeAction', 'cursor')
command! CLfixCodeQuick call CocActionAsync('doQuickfix')
function! AIcodeFn(range, ...) range abort
let l:instruction = 'Hi, can you help me with ' . &filetype . 'code? Thanks in advance. I would like to: '

View File

@ -1,26 +1,27 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bing Image Of The Day</title>
<style>
body{ display: flex; flex-flow: row nowrap;
width: 100vw; height: 100vh; overflow: hidden; margin: 0;
}
div{ position: relative; flex: 1; }
img{ height: 100%; width: 100%; object-fit: contain; }
.detail{ position: absolute; bottom: 0; left: 0; padding: .5rem 1rem;
text-align: center; background: rgba(0, 0, 0, .35); color: whitesmoke; }
.prev .detail{ left: initial; right: 0; }
@media screen and (max-aspect-ratio: 16/9){
.prev{display: none;}
}
</style>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bing Image Of The Day</title>
<style>
body{ display: flex; flex-flow: row nowrap;
width: 100vw; height: 100vh; overflow: hidden; margin: 0;
}
div{ position: relative; flex: 1; }
img{ height: 100%; width: 100%; object-fit: cover; }
.detail{ position: absolute; bottom: 0; left: 0; padding: .5rem 1rem;
max-width: 35ch;
text-align: center; background: rgba(0, 0, 0, .35); color: whitesmoke; }
.prev .detail{ left: initial; right: 0; }
@media screen and (max-aspect-ratio: 16/9){
.prev{display: none;}
}
</style>
</head>
<body>
<div class="now"> <img src="now.jpg"> <div class="detail">::now::</div> </div>
<div class="prev"> <img src="prev.jpg"> <div class="detail">::prev::</div> </div>
<div class="now"> <img src="now.jpg"> <div class="detail">::now::</div> </div>
<div class="prev"> <img src="prev.jpg"> <div class="detail">::prev::</div> </div>
</body>
</html>

View File

@ -14,10 +14,11 @@ see for example [How to Store Dotfiles - A Bare Git Repository \| Atlassian Git
## Files overview
- [Bash](./.bash/README.md)
- [Vim](./.vim/README.md)
- [Geany](./.config/geany/README.md)
- [Vifm](./.config/vifm/README.md)
- [SSH](./.ssh/README.md)
- [Newsboat](./.newsboat/README.md)
- Git: [.gitconfig](./.gitconfig), [gh](./.config/gh/config.yml)
- [git](./.config/git/config), [gh](./.config/gh/config.yml)
- [KDE Neon](#kde-neon)
- [Mozilla Firefox](./.mozilla/firefox/README.md)
- [Bin scripts and executables](./bin/README.md)
@ -25,7 +26,7 @@ see for example [How to Store Dotfiles - A Bare Git Repository \| Atlassian Git
## On a new machine
1. install git
1. `cd ~`
1. `gd_branch=main`
1. `gd_branch=main` (see also variants `main-termux`)
1. `git clone --bare --branch $gd_branch --depth 1 --recurse-submodules --shallow-submodules git@jaandrle.cz:jaandrle/dotfiles.git ~/.dotfiles`
1. `alias gitdotfiles='/usr/bin/git --git-dir="$HOME/.dotfiles/" --work-tree="$HOME"'`
1. `gitdotfiles config --local status.showUntrackedFiles no`
@ -34,23 +35,48 @@ see for example [How to Store Dotfiles - A Bare Git Repository \| Atlassian Git
1. `gitdotfiles checkout -f`
1. `gitdotfiles submodule update --init --recursive`
## KDE Neon
- [KDE Plasma5 Fixes](https://zren.github.io/kde/)
- Using HTML Wallpaper (wip)
- [Bing Image Of The Day](./Obrázky/Bing Image Of The Day/index_template.html)
- [GNOME Keyring in KDE Plasma - JWillikers](https://www.jwillikers.com/gnome-keyring-in-kde-plasma)
- `sudo apt install $(check-language-support)`, see [Popup Language support is incomplete](http://unix.stackexchange.com/questions/421066/ddg#421079)
- [KDE Neon does not have an hibernation option? : kde](https://www.reddit.com/r/kde/comments/6n5m49/kde_neon_does_not_have_an_hibernation_option/dk7hd8v/)
- [kde plasma 5 - How to use miracast as an extended desktop on Linux? - Super User](https://superuser.com/questions/1160078/how-to-use-miracast-as-an-extended-desktop-on-linux)
- [Best tiling extensions for kwin? : kde](https://www.reddit.com/r/kde/comments/qgsv2u/best_tiling_extensions_for_kwin/?sort=new)
- [KDE Plasma5 Fixes](https://zren.github.io/kde/)
- [Setup git on the CLI to use 2FA with GitHub](https://gist.github.com/ateucher/4634038875263d10fb4817e5ad3d332f)
- [G'MIC - GREYC's Magic for Image Computing: A Full-Featured Open-Source Framework for Image Processing - Main](https://gmic.eu/)
## PC log (cs)
Sekce obsahuje log změn v Tuxedo laptopu s KDE Neon.
- [Aloxaf/silicon: Create beautiful image of your source code.](https://github.com/Aloxaf/silicon) {DONE <2024-03-07> *utils* agenda}$
### KDE Neon 6.0 (22.04)
{NEXT <2024-03-20> *tilling* *hud* *html-wallpaper* *virtual-desktop* *klipper* agenda}$
- mostly OK
- [ ] Kup is missing in Settings (only restore files option is available): *investigation → report a bug*
- [ ] !!! Event calendar widget (in progress [ALikesToCode/plasma-applet-eventcalendar at plasma-6](https://github.com/ALikesToCode/plasma-applet-eventcalendar/tree/plasma-6))
- [ ] tilling → try to use native, try to use [zeroxoneafour/polonium: Tiling window manager for KWin 5.27](https://github.com/zeroxoneafour/polonium) (when there will be a new release)
- [ ] WIP: hud ([uszie/plasma-hud), in KDE Plasma.](https://github.com/uszie/plasma-hud)/[Zren/plasma-hud](https://github.com/Zren/plasma-hud) still works on X11), but maybe Ctrl+Alt+i and so on is OK?
- testing to use command palletes in programs and sets shortcuts to `ctr+;` (✓ kde programs, ✓ gimp, ✓ libreoffice, ✓ inkscape, ✓ vscode)
- [ ] [Fingerprint reader support : r/tuxedocomputers](https://www.reddit.com/r/tuxedocomputers/comments/176fscp/fingerprint_reader_support/), still receiving “no match”
- [ ] [Clipboard support in Wayland · Issue #5157 · vim/vim](https://github.com/vim/vim/issues/5157#issuecomment-776008833)
- [ ] partially FIXED by update: Wayland go to sleep even the external monitor is connected (HDMI)
- *→ seems to be this issue [438716 Lid close leads to suspend even when external monitor is attached](https://bugs.kde.org/show_bug.cgi?id=438716)*
- needs to keyboard/mouse imput to intterupt the go sleep process
- [x] [PSA: How to re-enable LibreOffice integration in Plasma 6 : r/kde](https://www.reddit.com/r/kde/comments/1b9k755/psa_how_to_reenable_libreoffice_integration_in/)
- [x] FIXED by update: ~desktop exceptionally freeze for less than a second: *investigation → report a bug*~
- [x] FIXED by update: ~logout/poweroff dialog not showing and not working: *investigation → report a bug* … see below~
- [x] krunner not launching → created `/usr/share/dbus-1/services/org.kde.krunner.service` (see below)
- [x] meta+tab (last virtual desktop) → workaround [./bin/kde6-workarounds.mjs](./bin/kde6-workarounds.mjs)
- [x] klipper (edit last item) → workaround [./bin/kde6-workarounds.mjs](./bin/kde6-workarounds.mjs)
- [x] Active Window Control replaced with Window Title widget and its better
- [x] FIXED by widget update: ~html wallpaper → workaround just concat images (see [./bin/§wallpaper\_BIOTD](./bin/§wallpaper_BIOTD))~
- [x] ctrl+tab using [k0kubun/xremap: Key remapper for X11 and Wayland](https://github.com/k0kubun/xremap) and `sudo crontab -e`+`@reboot` and [./.config/xremap.yml](./.config/xremap.yml)
- [ ] [`npx npmkill` — Why are node_modules SO BIG 🤦‍♂️ #javascript #software #technology #code #webdev - YouTube](https://www.youtube.com/shorts/VgPNtow7fNM?app=desktop&si=Kl7CH3vCoyH7tqFU)
```bash
qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout 1
Cannot find 'org.kde.KSMServerInterface.logout' in object /KSMServer at org.kde.ksmserver
```
[KDE Bugtracking System Main Page](https://bugs.kde.org/)
```ini
[D-BUS Service]
Name=org.kde.krunner
Exec=/usr/bin/krunner
```
### KDE neon 5.26 (22.04)
{DONE <2022-10-25 17:21> *mail* *hud* *klíčenka* agenda}$
@ -80,9 +106,18 @@ Sekce obsahuje log změn v Tuxedo laptopu s KDE Neon.
Postupováno podle návodu [Rename the `~/.local/lib/python3.8/site-packages/pkg_resources` folder to `pkg_resources_back`](https://askubuntu.com/a/1398073).
### kwin-tiling
- https://gitlab.com/faho/kwin-tiling/
### KDE Neon
- [KDE Plasma5 Fixes](https://zren.github.io/kde/)
- Using HTML Wallpaper (wip)
- [Bing Image Of The Day](./Obrázky/Bing Image Of The Day/index_template.html)
- [GNOME Keyring in KDE Plasma - JWillikers](https://www.jwillikers.com/gnome-keyring-in-kde-plasma)
- `sudo apt install $(check-language-support)`, see [Popup Language support is incomplete](http://unix.stackexchange.com/questions/421066/ddg#421079)
- [KDE Neon does not have an hibernation option? : kde](https://www.reddit.com/r/kde/comments/6n5m49/kde_neon_does_not_have_an_hibernation_option/dk7hd8v/)
- [kde plasma 5 - How to use miracast as an extended desktop on Linux? - Super User](https://superuser.com/questions/1160078/how-to-use-miracast-as-an-extended-desktop-on-linux)
- [Best tiling extensions for kwin? : kde](https://www.reddit.com/r/kde/comments/qgsv2u/best_tiling_extensions_for_kwin/?sort=new), https://gitlab.com/faho/kwin-tiling/
- [KDE Plasma5 Fixes](https://zren.github.io/kde/)
- [Setup git on the CLI to use 2FA with GitHub](https://gist.github.com/ateucher/4634038875263d10fb4817e5ad3d332f)
- [G'MIC - GREYC's Magic for Image Computing: A Full-Featured Open-Source Framework for Image Processing - Main](https://gmic.eu/)
<details>
<summary>`{… cmd}$` explanation</summary>

View File

@ -9,23 +9,25 @@
<summary>NPM executables</summary>
```
#region >_:npm ls --location global
/home/jaandrle/.nvm/versions/node/v18.19.0/lib
├── @abhagsain/ai-cli@1.2.3
├── @bitwarden/cli@2023.12.1
├── azure-functions-core-tools@4.0.5455
/home/jaandrle/.nvm/versions/node/v20.16.0/lib
├── @abhagsain/ai-cli@1.3.0
├── @bitwarden/cli@2024.8.1
├── azure-functions-core-tools@4.0.5907
├── catage@1.1.3
├── chrome-remote-interface@0.33.0
├── corepack@0.24.0
├── cssmodules-language-server@1.3.1
├── eslint@8.56.0
├── chrome-remote-interface@0.33.2
├── cordova-res@0.15.4
├── cordova@12.0.0
├── corepack@0.29.3
├── cssmodules-language-server@1.4.1
├── eslint@9.9.1
├── jshint@2.13.6
├── json-server@0.17.4
├── json-server@1.0.0-beta.2
├── mdexpr-agenda@0.6.0 -> ./../../../../../Vzdálené/GitHub/mdexpr-agenda
├── nodejsscript@1.0.0 -> ./../../../../../Vzdálené/GitHub/nodejsscript
├── npm@10.2.5
├── typescript-language-server@4.3.0
├── typescript@5.3.3
└── zx@7.2.3
├── nodejsscript@1.0.2
├── npm@10.8.3
├── typescript-language-server@4.3.3
├── typescript@5.5.4
└── zx@8.1.5
#endregion
```
</details>
@ -51,223 +53,237 @@ youtube-dl 2021.12.17
<summary>APT</summary>
```
#region apt list | grep '\[instalovaný\]'
aha/jammy,jammy,jammy,jammy,jammy,now 0.5.1-2 amd64 [instalovaný]
appmenu-gtk2-module/jammy,jammy,jammy,jammy,jammy,now 0.7.6-2 amd64 [instalovaný]
appmenu-gtk3-module/jammy,jammy,jammy,jammy,jammy,now 0.7.6-2 amd64 [instalovaný]
aspell-cs/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 0.51.0-1.3 all [instalovaný]
base-passwd/jammy,jammy,jammy,jammy,jammy,now 3.5.52build1 amd64 [instalovaný]
bash/jammy,jammy,jammy,jammy,jammy,now 5.1-6ubuntu1 amd64 [instalovaný]
curlftpfs/jammy,jammy,jammy,jammy,jammy,now 0.9.2-9build1 amd64 [instalovaný]
dash/jammy,jammy,jammy,jammy,jammy,now 0.5.11+git20210903+057cd650a4ed-3build1 amd64 [instalovaný]
datovka/neznámá,now 4.23.6-1 amd64 [instalovaný]
dict/jammy,jammy,jammy,jammy,jammy,now 1.13.0+dfsg-1build2 amd64 [instalovaný]
diffutils/jammy,jammy,jammy,jammy,jammy,now 1:3.8-0ubuntu2 amd64 [instalovaný]
digikam/jammy,now 4:8.2.0-0xneon+22.04+jammy+release+build18 amd64 [instalovaný]
docker-compose/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 1.29.2-1 all [instalovaný]
docker/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 1.5-2 all [instalovaný]
dpscreenocr/jammy,now 1.4.1-1~jammy1 amd64 [instalovaný]
exo-utils/jammy,jammy,jammy,jammy,jammy,now 4.16.3-1 amd64 [instalovaný]
exuberant-ctags/jammy-security,jammy-updates,now 1:5.9~svn20110310-16ubuntu0.22.04.1 amd64 [instalovaný]
fd-find/jammy-security,jammy-updates,now 8.3.1-1ubuntu0.1 amd64 [instalovaný]
festival/jammy,jammy,jammy,jammy,jammy,now 1:2.5.0-8 amd64 [instalovaný]
festvox-us-slt-hts/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 0.2010.10.25-4 all [instalovaný]
ffmpeg/jammy-security,jammy-updates,now 7:4.4.2-0ubuntu0.22.04.1 amd64 [instalovaný]
findutils/jammy,jammy,jammy,jammy,jammy,now 4.8.0-1ubuntu3 amd64 [instalovaný]
firefox-locale-cs/jammy,now 123.0+build3-0ubuntu0.22.04.1~mt1 amd64 [instalovaný]
firefox-locale-en/jammy,now 123.0+build3-0ubuntu0.22.04.1~mt1 amd64 [instalovaný]
firefox/jammy,now 123.0+build3-0ubuntu0.22.04.1~mt1 amd64 [instalovaný]
firmware-sof-signed/tuxedo,tuxedo,now 2.2.4-1.1 all [instalovaný]
fonts-oxygen/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 4:5.4.3-4 all [instalovaný]
gaupol/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 1.10.1-1 all [instalovaný]
gh/neznámá,now 2.44.1 amd64 [instalovaný]
gimp-help-en/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 2.10.0-1 all [instalovaný]
gimp/jammy-security,jammy-updates,now 2.10.30-1ubuntu0.1 amd64 [instalovaný]
gir1.2-gtk-3.0/jammy-updates,now 3.24.33-1ubuntu2 amd64 [instalovaný]
git-extras/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 6.1.0-1 all [instalovaný]
git-lfs/jammy-security,jammy-updates,now 3.0.2-1ubuntu0.2 amd64 [instalovaný]
gnome-keyring/jammy-updates,now 40.0-3ubuntu3 amd64 [instalovaný]
greed/jammy,jammy,jammy,jammy,jammy,now 4.2-1 amd64 [instalovaný]
grep/jammy,jammy,jammy,jammy,jammy,now 3.7-1build1 amd64 [instalovaný]
grub-efi-amd64-signed/jammy-security,jammy-updates,now 1.187.6+2.06-2ubuntu14.4 amd64 [instalovaný]
grub-efi-ia32-bin/jammy-updates,now 2.06-2ubuntu7.2 amd64 [instalovaný]
gzip/jammy-updates,now 1.10-4ubuntu4.1 amd64 [instalovaný]
haveged/jammy,jammy,jammy,jammy,jammy,now 1.9.14-1ubuntu1 amd64 [instalovaný]
hostname/jammy,jammy,jammy,jammy,jammy,now 3.23ubuntu2 amd64 [instalovaný]
hplip/jammy,jammy,jammy,jammy,jammy,now 3.21.12+dfsg0-1 amd64 [instalovaný]
hstr/jammy,jammy,jammy,jammy,jammy,now 2.5+ds-1 amd64 [instalovaný]
htop/jammy,jammy,jammy,jammy,jammy,now 3.0.5-7build2 amd64 [instalovaný]
hunspell-cs/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 1:7.2.0-2 all [instalovaný]
hunspell-en-au/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 1:2020.12.07-2 all [instalovaný]
hunspell-en-ca/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 1:2020.12.07-2 all [instalovaný]
hunspell-en-gb/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 1:7.2.0-2 all [instalovaný]
hunspell-en-za/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 1:7.2.0-2 all [instalovaný]
hunspell/jammy,jammy,jammy,jammy,jammy,now 1.7.0-4build1 amd64 [instalovaný]
hyphen-cs/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 1:7.2.0-2 all [instalovaný]
hyphen-en-ca/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 0.10 all [instalovaný]
hyphen-en-gb/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 1:7.2.0-2 all [instalovaný]
hyphen-en-us/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 2.8.8-7build2 all [instalovaný]
init/jammy,jammy,jammy,jammy,jammy,now 1.62 amd64 [instalovaný]
isoimagewriter/jammy,now 0.9-0xneon+22.04+jammy+release+build3 amd64 [instalovaný]
jc/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 1.17.3-1 all [instalovaný]
jq/jammy,jammy,jammy,jammy,jammy,now 1.6-2.1ubuntu3 amd64 [instalovaný]
kamoso/jammy,now 23.08.4-0xneon+22.04+jammy+release+build25 amd64 [instalovaný]
kate/jammy,now 4:23.08.4-0xneon+22.04+jammy+release+build29 amd64 [instalovaný]
katomic/jammy,now 4:23.08.4-0xneon+22.04+jammy+release+build22 amd64 [instalovaný]
kcron/jammy,jammy,jammy,now 4:23.08.4-0xneon+22.04+jammy+release+build23 all [instalovaný]
kigo/jammy,now 4:23.08.4-0xneon+22.04+jammy+release+build24 amd64 [instalovaný]
kmahjongg/jammy,now 4:23.08.4-0xneon+22.04+jammy+release+build25 amd64 [instalovaný]
knights/jammy,now 23.08.4-0xneon+22.04+jammy+release+build22 amd64 [instalovaný]
konquest/jammy,now 4:23.08.4-0xneon+22.04+jammy+release+build25 amd64 [instalovaný]
konversation/jammy,now 23.08.4-0xneon+22.04+jammy+release+build28 amd64 [instalovaný]
krfb/jammy,now 4:23.08.4-0xneon+22.04+jammy+release+build28 amd64 [instalovaný]
ksystemlog/jammy,now 4:23.08.4-0xneon+22.04+jammy+release+build23 amd64 [instalovaný]
ktouch/jammy,now 4:23.08.4-0xneon+22.04+jammy+release+build26 amd64 [instalovaný]
kubuntu-restricted-addons/jammy,jammy,jammy,jammy,jammy,now 26 amd64 [instalovaný]
kubuntu-restricted-extras/jammy,jammy,jammy,jammy,jammy,now 67 amd64 [instalovaný]
kwalletcli/jammy,jammy,jammy,jammy,jammy,now 3.03-1 amd64 [instalovaný]
labplot/jammy,now 2.10.1-0xneon+22.04+jammy+release+build16 amd64 [instalovaný]
language-pack-gnome-cs/jammy-updates,jammy-updates,now 1:22.04+20240212 all [instalovaný]
language-pack-kde-cs/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 1:19.10.0ubuntu1 all [instalovaný]
language-pack-kde-en/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 1:19.10.0ubuntu1 all [instalovaný]
lib32z1/jammy-security,jammy-updates,now 1:1.2.11.dfsg-2ubuntu9.2 amd64 [instalovaný]
libavif-bin/jammy,now 1.0.3-0xneon+22.04+jammy+release+build7 amd64 [instalovaný]
libayatana-appindicator3-1/jammy,jammy,jammy,jammy,jammy,now 0.5.90-7ubuntu2 amd64 [instalovaný]
libayatana-indicator3-7/jammy,jammy,jammy,jammy,jammy,now 0.9.1-1 amd64 [instalovaný]
libc6/jammy-security,jammy-updates,now 2.35-0ubuntu3.6 amd64 [instalovaný]
libdebconfclient0/jammy,jammy,jammy,jammy,jammy,now 0.261ubuntu1 amd64 [instalovaný]
libfprint-2-2/jammy-updates,now 1:1.94.3+tod1-0ubuntu2~22.04.06 amd64 [instalovaný]
libfreetype6/jammy-security,jammy-updates,now 2.11.1+dfsg-1ubuntu0.2 i386 [instalovaný]
libk3b8/jammy,now 23.08.4-0xneon+22.04+jammy+release+build31 amd64 [instalovaný]
libkf5configqml5/jammy,now 5.114.0-0xneon+22.04+jammy+release+build30 amd64 [instalovaný]
libkf5guiaddons-bin/jammy,now 5.114.0-0xneon+22.04+jammy+release+build37 amd64 [instalovaný]
libkf5guiaddons-data/jammy,jammy,jammy,now 5.114.0-0xneon+22.04+jammy+release+build37 all [instalovaný]
libkf5i18nlocaledata5/jammy,now 5.114.0-0xneon+22.04+jammy+release+build32 amd64 [instalovaný]
libkf5kcmutilscore5/jammy,now 5.114.0-0xneon+22.04+jammy+release+build56 amd64 [instalovaný]
libkf5newstuffwidgets5/jammy,now 5.114.0-0xneon+22.04+jammy+release+build53 amd64 [instalovaný]
libkf5prisonscanner5/jammy,now 5.114.0-0xneon+22.04+jammy+release+build32 amd64 [instalovaný]
libkf5syndication5abi1/jammy,now 1:5.114.0-0xneon+22.04+jammy+release+build28 amd64 [instalovaný]
libkpipewire5/jammy,now 5.27.10-0xneon+22.04+jammy+release+build26 amd64 [instalovaný]
libkpmcore12/jammy,now 23.08.4-0xneon+22.04+jammy+release+build26 amd64 [instalovaný]
libkwineffects14/jammy,now 4:5.27.10-0xneon+22.04+jammy+release+build51 amd64 [instalovaný]
libkwinglutils14/jammy,now 4:5.27.10-0xneon+22.04+jammy+release+build51 amd64 [instalovaný]
libncurses5/jammy-security,jammy-updates,now 6.3-2ubuntu0.1 i386 [instalovaný]
libnotify-bin/jammy-updates,now 0.7.9-3ubuntu5.22.04.1 amd64 [instalovaný]
libpcre2-posix3/jammy,now 10.42-3+ubuntu22.04.1+deb.sury.org+1 amd64 [instalovaný]
libqt5quickshapes5/jammy,now 5.15.12+p22.04+vrelease+git20240113.1004-0 amd64 [instalovaný]
libqt5webview5/jammy,now 5.15.12+p22.04+vrelease+git20240113.1147-0 amd64 [instalovaný]
libqtav1/jammy,now 1.13.0+ds-4+22.04+jammy+release+build1 amd64 [instalovaný]
libqtavwidgets1/jammy,now 1.13.0+ds-4+22.04+jammy+release+build1 amd64 [instalovaný]
libreoffice-calc/jammy-security,jammy-updates,now 1:7.3.7-0ubuntu0.22.04.4 amd64 [instalovaný]
libreoffice-help-cs/jammy-security,jammy-security,jammy-updates,jammy-updates,now 1:7.3.7-0ubuntu0.22.04.4 all [instalovaný]
libreoffice-help-en-gb/jammy-security,jammy-security,jammy-updates,jammy-updates,now 1:7.3.7-0ubuntu0.22.04.4 all [instalovaný]
libreoffice-help-en-us/jammy-security,jammy-security,jammy-updates,jammy-updates,now 1:7.3.7-0ubuntu0.22.04.4 all [instalovaný]
libreoffice-impress/jammy-security,jammy-updates,now 1:7.3.7-0ubuntu0.22.04.4 amd64 [instalovaný]
libreoffice-kde/jammy-security,jammy-security,jammy-updates,jammy-updates,now 1:7.3.7-0ubuntu0.22.04.4 all [instalovaný]
libreoffice-l10n-cs/jammy-security,jammy-security,jammy-updates,jammy-updates,now 1:7.3.7-0ubuntu0.22.04.4 all [instalovaný]
libreoffice-l10n-en-gb/jammy-security,jammy-security,jammy-updates,jammy-updates,now 1:7.3.7-0ubuntu0.22.04.4 all [instalovaný]
libreoffice-l10n-en-za/jammy-security,jammy-security,jammy-updates,jammy-updates,now 1:7.3.7-0ubuntu0.22.04.4 all [instalovaný]
libreoffice-lightproof-en/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 0.4.3+1.6-2 all [instalovaný]
libreoffice-nlpsolver/jammy-security,jammy-security,jammy-updates,jammy-updates,now 0.9+LibO7.3.7-0ubuntu0.22.04.4 all [instalovaný]
libreoffice-writer/jammy-security,jammy-updates,now 1:7.3.7-0ubuntu0.22.04.4 amd64 [instalovaný]
libsecret-1-0/jammy,jammy,jammy,jammy,jammy,now 0.20.5-2 amd64 [instalovaný]
libsecret-1-dev/jammy,jammy,jammy,jammy,jammy,now 0.20.5-2 amd64 [instalovaný]
libsodium23/jammy,jammy,jammy,jammy,jammy,now 1.0.18-1build2 amd64 [instalovaný]
libxcvt0/jammy,jammy,jammy,jammy,jammy,now 0.1.1-3 amd64 [instalovaný]
libxmlb2/jammy,now 0.3.14-0xneon+22.04+jammy+release+build4 amd64 [instalovaný]
libzxingcore1/jammy,now 1.2.0-1+22.04+jammy+release+build3 amd64 [instalovaný]
linux-generic/jammy-security,jammy-updates,now 5.15.0.94.91 amd64 [instalovaný]
linux-tuxedo-22.04/tuxedo,now 6.5.0.10022.91 amd64 [instalovaný]
lokalize/jammy,now 4:23.08.4-0xneon+22.04+jammy+release+build25 amd64 [instalovaný]
mediainfo/jammy,jammy,jammy,jammy,jammy,now 22.03-1 amd64 [instalovaný]
meld/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 3.20.4-2 all [instalovaný]
merkuro/jammy,now 23.08.4-0xneon+22.04+jammy+release+build21 amd64 [instalovaný]
mlocate/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 1.1.15-1ubuntu2 all [instalovaný]
mozillavpn/jammy,now 2.20.0-jammy1 amd64 [instalovaný]
mpack/jammy,jammy,jammy,jammy,jammy,now 1.6-18 amd64 [instalovaný]
mythes-cs/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 1:7.2.0-2 all [instalovaný]
mythes-en-au/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 2.1-5.6 all [instalovaný]
mythes-en-us/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 1:7.2.0-2 all [instalovaný]
nala/scar,scar,scar,now 0.15.1 all [instalovaný]
ncdu/jammy,jammy,jammy,jammy,jammy,now 1.15.1-1 amd64 [instalovaný]
ncurses-base/jammy-security,jammy-security,jammy-updates,jammy-updates,now 6.3-2ubuntu0.1 all [instalovaný]
ncurses-bin/jammy-security,jammy-updates,now 6.3-2ubuntu0.1 amd64 [instalovaný]
neon-desktop/jammy,now 4+p22.04+vrelease+git20240125.1419 amd64 [instalovaný]
neon-repositories-launchpad-mozilla/jammy,jammy,jammy,now 0.1+p22.04+vrelease+git20231224.0046 all [instalovaný]
nethack-console/jammy,jammy,jammy,jammy,jammy,now 3.6.6-2build1 amd64 [instalovaný]
newsboat/jammy,jammy,jammy,jammy,jammy,now 2.21-1 amd64 [instalovaný]
nss-passwords/jammy,jammy,jammy,jammy,jammy,now 0.3-2 amd64 [instalovaný]
openjdk-17-jre/jammy-security,jammy-updates,now 17.0.9+9-1~22.04 amd64 [instalovaný]
openjdk-8-jdk/jammy-security,jammy-updates,now 8u392-ga-1~22.04 amd64 [instalovaný]
openjdk-8-jre/jammy-security,jammy-updates,now 8u392-ga-1~22.04 amd64 [instalovaný]
php5.6-cli/jammy,now 5.6.40-68+ubuntu22.04.1+deb.sury.org+1 amd64 [instalovaný]
php7.4-cli/jammy,now 1:7.4.33-8+ubuntu22.04.1+deb.sury.org+1 amd64 [instalovaný]
php8.0-bcmath/jammy,now 1:8.0.30-2+ubuntu22.04.1+deb.sury.org+1 amd64 [instalovaný]
php8.0-cli/jammy,now 1:8.0.30-2+ubuntu22.04.1+deb.sury.org+1 amd64 [instalovaný]
php8.0-common/jammy,now 1:8.0.30-2+ubuntu22.04.1+deb.sury.org+1 amd64 [instalovaný]
php8.0-curl/jammy,now 1:8.0.30-2+ubuntu22.04.1+deb.sury.org+1 amd64 [instalovaný]
php8.0-gd/jammy,now 1:8.0.30-2+ubuntu22.04.1+deb.sury.org+1 amd64 [instalovaný]
php8.0-intl/jammy,now 1:8.0.30-2+ubuntu22.04.1+deb.sury.org+1 amd64 [instalovaný]
php8.0-mbstring/jammy,now 1:8.0.30-2+ubuntu22.04.1+deb.sury.org+1 amd64 [instalovaný]
php8.0-sqlite3/jammy,now 1:8.0.30-2+ubuntu22.04.1+deb.sury.org+1 amd64 [instalovaný]
php8.0-xml/jammy,now 1:8.0.30-2+ubuntu22.04.1+deb.sury.org+1 amd64 [instalovaný]
php8.0-zip/jammy,now 1:8.0.30-2+ubuntu22.04.1+deb.sury.org+1 amd64 [instalovaný]
php8.0/jammy,jammy,now 1:8.0.30-2+ubuntu22.04.1+deb.sury.org+1 all [instalovaný]
php8.2/jammy,jammy,now 8.2.15-1+ubuntu22.04.1+deb.sury.org+1 all [instalovaný]
podman/jammy-security,jammy-updates,now 3.4.4+ds1-1ubuntu1.22.04.2 amd64 [instalovaný]
python3-dbus/jammy,jammy,jammy,jammy,jammy,now 1.2.18-3build1 amd64 [instalovaný]
python3-gpg/jammy,now 1.23.2-0xneon+22.04+jammy+release+build6 amd64 [instalovaný]
python3-nacl/jammy,jammy,jammy,jammy,jammy,now 1.5.0-2 amd64 [instalovaný]
python3-pip/jammy-security,jammy-security,jammy-updates,jammy-updates,now 22.0.2+dfsg-1ubuntu0.4 all [instalovaný]
python3-pymacaroons/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 0.13.0-4 all [instalovaný]
python3-setproctitle/jammy,jammy,jammy,jammy,jammy,now 1.2.2-2build1 amd64 [instalovaný]
python3-xlib/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 0.29-1 all [instalovaný]
python3/jammy-security,jammy-updates,now 3.10.6-1~22.04 amd64 [instalovaný]
qml-module-org-kde-kcmutils/jammy,now 5.114.0-0xneon+22.04+jammy+release+build56 amd64 [instalovaný]
qml-module-org-kde-pipewire/jammy,now 5.27.10-0xneon+22.04+jammy+release+build26 amd64 [instalovaný]
qml-module-org-kde-sonnet/jammy,now 5.114.0-0xneon+22.04+jammy+release+build26 amd64 [instalovaný]
qml-module-org-kde-syntaxhighlighting/jammy,now 5.114.0-0xneon+22.04+jammy+release+build26 amd64 [instalovaný]
qml-module-qtquick-shapes/jammy,now 5.15.12+p22.04+vrelease+git20240113.1004-0 amd64 [instalovaný]
rclone/jammy-security,jammy-updates,now 1.53.3-4ubuntu1.22.04.2 amd64 [instalovaný]
ripgrep/jammy-security,jammy-updates,now 13.0.0-2ubuntu0.1 amd64 [instalovaný]
rofi/jammy,jammy,jammy,jammy,jammy,now 1.7.1-0.1 amd64 [instalovaný]
ruby-full/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 1:3.0~exp1 all [instalovaný]
scrcpy/jammy,jammy,jammy,jammy,jammy,now 1.21-1 amd64 [instalovaný]
seafile-cli/stable,now 9.0.4 amd64 [instalovaný]
seafile-gui/stable,now 9.0.4 amd64 [instalovaný]
seahorse/jammy,jammy,jammy,jammy,jammy,now 41.0-2 amd64 [instalovaný]
shellcheck/jammy,jammy,jammy,jammy,jammy,now 0.8.0-2 amd64 [instalovaný]
shim-signed/jammy-security,jammy-updates,now 1.51.3+15.7-0ubuntu1 amd64 [instalovaný]
shogivar/jammy,jammy,jammy,jammy,jammy,now 1.55b-3build1 amd64 [instalovaný]
speech-dispatcher/jammy-updates,now 0.11.1-1ubuntu3 amd64 [instalovaný]
sshpass/jammy,jammy,jammy,jammy,jammy,now 1.09-1 amd64 [instalovaný]
sysvinit-utils/jammy,jammy,jammy,jammy,jammy,now 3.01-1ubuntu1 amd64 [instalovaný]
tesseract-ocr-ces/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 1:4.00~git30-7274cfa-1.1 all [instalovaný]
tokodon/jammy,now 23.08.4-0xneon+22.04+jammy+release+build15 amd64 [instalovaný]
translate-shell/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 0.9.6.12-1 all [instalovaný]
trash-cli/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 0.17.1.14-5build1 all [instalovaný]
aha/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.5.1-3build1 amd64 [instalovaný]
appmenu-gtk2-module/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.7.6-2.1ubuntu2 amd64 [instalovaný]
appmenu-gtk3-module/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.7.6-2.1ubuntu2 amd64 [instalovaný]
aspell-cs/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.51.0-1.3 all [instalovaný]
backintime-qt/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.4.3-1 all [instalovaný]
base-passwd/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 3.6.3build1 amd64 [instalovaný]
bash/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 5.2.21-2ubuntu4 amd64 [instalovaný]
bat/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.24.0-1build1 amd64 [instalovaný]
ca-certificates/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 20240203 all [instalovaný]
caffeine/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.9.12-1 all [instalovaný]
curl/noble-updates,now 8.5.0-2ubuntu10.4 amd64 [instalovaný]
dash/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.5.12-6ubuntu5 amd64 [instalovaný]
dict/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.13.1+dfsg-1build1 amd64 [instalovaný]
diffpdf/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.1.3.1-2build3 amd64 [instalovaný]
diffutils/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1:3.10-1build1 amd64 [instalovaný]
evolution-ews/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 3.52.0-1build1 amd64 [instalovaný]
evolution-plugin-spamassassin/noble-updates,now 3.52.3-0ubuntu1 amd64 [instalovaný]
evolution/noble-updates,now 3.52.3-0ubuntu1 amd64 [instalovaný]
exo-utils/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 4.18.0-1build4 amd64 [instalovaný]
exuberant-ctags/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1:5.9~svn20110310-19build1 amd64 [instalovaný]
fd-find/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 9.0.0-1 amd64 [instalovaný]
festival/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1:2.5.0-10 amd64 [instalovaný]
festvox-us-slt-hts/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.2010.10.25-4 all [instalovaný]
ffmpeg/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 7:6.1.1-3ubuntu5 amd64 [instalovaný]
findutils/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 4.9.0-5build1 amd64 [instalovaný]
firefox/mozilla,now 131.0.2~build1 amd64 [instalovaný]
firmware-sof-signed/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2023.12.1-1ubuntu1 all [instalovaný]
flatpak/noble-updates,now 1.14.6-1ubuntu0.1 amd64 [instalovaný]
fonts-oxygen/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 4:5.4.3-4 all [instalovaný]
fprintd/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.94.3-1 amd64 [instalovaný]
gaupol/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.11-2 all [instalovaný]
geany-plugin-addons/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.0-4ubuntu5 amd64 [instalovaný]
geany-plugin-autoclose/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.0-4ubuntu5 amd64 [instalovaný]
geany-plugin-automark/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.0-4ubuntu5 amd64 [instalovaný]
geany-plugin-commander/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.0-4ubuntu5 amd64 [instalovaný]
geany-plugin-ctags/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.0-4ubuntu5 amd64 [instalovaný]
geany-plugin-extrasel/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.0-4ubuntu5 amd64 [instalovaný]
geany-plugin-keyrecord/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.0-4ubuntu5 amd64 [instalovaný]
geany-plugin-macro/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.0-4ubuntu5 amd64 [instalovaný]
geany-plugin-projectorganizer/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.0-4ubuntu5 amd64 [instalovaný]
geany-plugin-vimode/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.0-4ubuntu5 amd64 [instalovaný]
geany/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.0-1build2 amd64 [instalovaný]
gimp-help-en/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.10.34-2 all [instalovaný]
gir1.2-fprint-2.0/noble-updates,now 1:1.94.7+tod1-0ubuntu5~24.04.1 amd64 [instalovaný]
gir1.2-gtk-3.0/noble-updates,now 3.24.41-4ubuntu1.1 amd64 [instalovaný]
gir1.2-vte-2.91/noble-updates,now 0.76.0-1ubuntu0.1 amd64 [instalovaný]
git-delta/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.16.5-5 amd64 [instalovaný]
git-extras/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 7.1.0-1 all [instalovaný]
git-ftp/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.6.0+dfsg-1 all [instalovaný]
git-lfs/noble-updates,now 3.4.1-1ubuntu0.1 amd64 [instalovaný]
gnome-keyring/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 46.1-2build1 amd64 [instalovaný]
greed/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 4.2-1 amd64 [instalovaný]
grep/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 3.11-4build1 amd64 [instalovaný]
grub-efi-amd64-signed/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.202+2.12-1ubuntu7 amd64 [instalovaný]
grub-efi-ia32-bin/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.12-1ubuntu7 amd64 [instalovaný]
gzip/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.12-1ubuntu3 amd64 [instalovaný]
haveged/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.9.14-1ubuntu2 amd64 [instalovaný]
hostname/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 3.23+nmu2ubuntu2 amd64 [instalovaný]
hplip/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 3.23.12+dfsg0-0ubuntu5 amd64 [instalovaný]
hstr/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 3.1+ds-1build2 amd64 [instalovaný]
htop/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 3.3.0-4build1 amd64 [instalovaný]
hunspell-cs/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1:24.2.1-1 all [instalovaný]
hunspell-en-au/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1:2020.12.07-2 all [instalovaný]
hunspell-en-ca/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1:2020.12.07-2 all [instalovaný]
hunspell-en-gb/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1:24.2.1-1 all [instalovaný]
hunspell-en-za/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1:24.2.1-1 all [instalovaný]
hunspell/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.7.2+really1.7.2-10build3 amd64 [instalovaný]
hyphen-cs/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1:24.2.1-1 all [instalovaný]
hyphen-en-ca/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.10ubuntu2 all [instalovaný]
hyphen-en-gb/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1:24.2.1-1 all [instalovaný]
hyphen-en-us/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.8.8-7build3 all [instalovaný]
init/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.66ubuntu1 amd64 [instalovaný]
isoimagewriter/noble,now 24.08.1-0zneon+24.04+noble+release+build3 amd64 [instalovaný]
jc/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.25.1-1 all [instalovaný]
jq/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.7.1-3build1 amd64 [instalovaný]
kamoso/noble,now 24.08.1-0zneon+24.04+noble+release+build3 amd64 [instalovaný]
karbon/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1:3.2.1+dfsg-8build4 amd64 [instalovaný]
katomic/noble,now 4:24.08.1-0zneon+24.04+noble+release+build4 amd64 [instalovaný]
kcron/noble,noble,now 4:24.08.1-0zneon+24.04+noble+release+build4 all [instalovaný]
kdiff3/noble,now 1.11.4-0zneon+24.04+noble+release+build3 amd64 [instalovaný]
kigo/noble,now 4:24.08.1-0zneon+24.04+noble+release+build4 amd64 [instalovaný]
kmahjongg/noble,now 4:24.08.1-0zneon+24.04+noble+release+build4 amd64 [instalovaný]
knights/noble,now 24.08.1-0zneon+24.04+noble+release+build4 amd64 [instalovaný]
konquest/noble,now 4:24.08.1-0zneon+24.04+noble+release+build4 amd64 [instalovaný]
kontrast/noble,now 24.08.1-0zneon+24.04+noble+release+build3 amd64 [instalovaný]
konversation/noble,now 24.08.1-0zneon+24.04+noble+release+build3 amd64 [instalovaný]
krfb/noble,now 4:24.08.1-0zneon+24.04+noble+release+build4 amd64 [instalovaný]
ksystemlog/noble,now 4:24.08.1-0zneon+24.04+noble+release+build5 amd64 [instalovaný]
ktouch/noble,now 4:24.08.1-0zneon+24.04+noble+release+build4 amd64 [instalovaný]
kubuntu-restricted-addons/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 29 amd64 [instalovaný]
kubuntu-restricted-extras/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 67 amd64 [instalovaný]
kup-backup/noble,now 0.10.0-0zneon+24.04+noble+release+build3 amd64 [instalovaný]
kup-client/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.3.6-2.1 all [instalovaný]
kwalletcli/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 3.03-1build2 amd64 [instalovaný]
labplot/noble,now 2.11.1-1+24.04+noble+release+build2 amd64 [instalovaný]
language-pack-gnome-cs/noble-updates,noble-updates,now 1:24.04+20240817 all [instalovaný]
language-pack-kde-cs/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1:24.04.0ubuntu1 all [instalovaný]
language-pack-kde-en/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1:24.04.0ubuntu1 all [instalovaný]
lftp/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 4.9.2-2ubuntu1 amd64 [instalovaný]
lib32z1/noble-updates,now 1:1.3.dfsg-3.1ubuntu2.1 amd64 [instalovaný]
libavif-bin/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.0.4-1ubuntu3 amd64 [instalovaný]
libayatana-appindicator3-1/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.5.93-1build3 amd64 [instalovaný]
libayatana-indicator3-7/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.9.4-1build1 amd64 [instalovaný]
libc6/noble-updates,now 2.39-0ubuntu8.3 amd64 [instalovaný]
libdebconfclient0/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.271ubuntu3 amd64 [instalovaný]
libfprint-2-2/noble-updates,now 1:1.94.7+tod1-0ubuntu5~24.04.1 amd64 [instalovaný]
libfprint-2-tod-dev/noble-updates,now 1:1.94.7+tod1-0ubuntu5~24.04.1 amd64 [instalovaný]
libfreetype6/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.13.2+dfsg-1build3 i386 [instalovaný]
libk3b8/noble,now 24.08.1-0zneon+24.04+noble+release+build6 amd64 [instalovaný]
libkf5configqml5/noble,now 5.116.0-1zneon+24.04+noble+release+build3 amd64 [instalovaný]
libkf5guiaddons-bin/noble,now 5.116.0-1zneon+24.04+noble+release+build3 amd64 [instalovaný]
libkf5guiaddons-data/noble,noble,now 5.116.0-1zneon+24.04+noble+release+build3 all [instalovaný]
libkf5i18nlocaledata5/noble,now 5.116.0-1zneon+24.04+noble+release+build3 amd64 [instalovaný]
libkf5kcmutilscore5/noble,now 5.116.0-1zneon+24.04+noble+release+build3 amd64 [instalovaný]
libkf5newstuffwidgets5/noble,now 5.116.0-1zneon+24.04+noble+release+build3 amd64 [instalovaný]
libkf5prisonscanner5/noble,now 5.116.0-1zneon+24.04+noble+release+build3 amd64 [instalovaný]
libkf5syndication5abi1/noble,now 1:5.116.0-1zneon+24.04+noble+release+build2 amd64 [instalovaný]
libkpmcore12/noble,now 24.08.1-0zneon+24.04+noble+release+build4 amd64 [instalovaný]
libkwineffects14/noble,noble,now 4:6.2.0-0zneon+24.04+noble+release+build4 all [instalovaný]
libkwinglutils14/noble,noble,now 4:6.2.0-0zneon+24.04+noble+release+build4 all [instalovaný]
libndp0/noble-updates,now 1.8-1fakesync1ubuntu0.24.04.1 amd64 [instalovaný]
libnotify-bin/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.8.3-1build2 amd64 [instalovaný]
libpcre2-posix3/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 10.42-4ubuntu2 amd64 [instalovaný]
libqt5quickshapes5/noble,now 5.15.14+p24.04+vrelease+git20240821.1031-0 amd64 [instalovaný]
libqt5webview5/noble,now 5.15.14+p24.04+vrelease+git20240821.2140-0 amd64 [instalovaný]
libreoffice-calc/noble-updates,now 4:24.2.6-0ubuntu0.24.04.1 amd64 [instalovaný]
libreoffice-help-cs/noble-updates,noble-updates,now 4:24.2.6-0ubuntu0.24.04.1 all [instalovaný]
libreoffice-help-en-gb/noble-updates,noble-updates,now 4:24.2.6-0ubuntu0.24.04.1 all [instalovaný]
libreoffice-help-en-us/noble-updates,noble-updates,now 4:24.2.6-0ubuntu0.24.04.1 all [instalovaný]
libreoffice-impress/noble-updates,now 4:24.2.6-0ubuntu0.24.04.1 amd64 [instalovaný]
libreoffice-l10n-cs/noble-updates,noble-updates,now 4:24.2.6-0ubuntu0.24.04.1 all [instalovaný]
libreoffice-l10n-en-gb/noble-updates,noble-updates,now 4:24.2.6-0ubuntu0.24.04.1 all [instalovaný]
libreoffice-l10n-en-za/noble-updates,noble-updates,now 4:24.2.6-0ubuntu0.24.04.1 all [instalovaný]
libreoffice-lightproof-en/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.4.3+1.6-3 all [instalovaný]
libreoffice-nlpsolver/noble-updates,noble-updates,now 4:0.9+LibO24.2.6-0ubuntu0.24.04.1 all [instalovaný]
libreoffice-writer/noble-updates,now 4:24.2.6-0ubuntu0.24.04.1 amd64 [instalovaný]
libsecret-1-0/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.21.4-1build3 amd64 [instalovaný]
libsecret-1-dev/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.21.4-1build3 amd64 [instalovaný]
libsodium23/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.0.18-1build3 amd64 [instalovaný]
libvte-2.91-0/noble-updates,now 0.76.0-1ubuntu0.1 amd64 [instalovaný]
libxcvt0/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.1.2-1build1 amd64 [instalovaný]
libxmlb2/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.3.18-1 amd64 [instalovaný]
linux-generic/noble-updates,now 6.8.0-45.45 amd64 [instalovaný]
linux-tuxedo/tuxedo,now 6.8.0-107045.45tux1 amd64 [instalovaný]
lokalize/noble,now 4:24.08.1-0zneon+24.04+noble+release+build5 amd64 [instalovaný]
mediainfo/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 24.01.1-1build2 amd64 [instalovaný]
meld/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 3.22.2-1 all [instalovaný]
mpack/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.6-18 amd64 [instalovaný]
mystiq/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 20.03.23-3build2 amd64 [instalovaný]
mythes-cs/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1:24.2.1-1 all [instalovaný]
mythes-en-au/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.1-6 all [instalovaný]
mythes-en-us/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1:24.2.1-1 all [instalovaný]
nala/nala,nala,nala,now 0.15.4 all [instalovaný]
ncdu/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.19-0.1 amd64 [instalovaný]
ncurses-base/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 6.4+20240113-1ubuntu2 all [instalovaný]
ncurses-bin/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 6.4+20240113-1ubuntu2 amd64 [instalovaný]
neon-desktop/noble,now 4+p24.04+vrelease+git20240927.1544 amd64 [instalovaný]
nethack-console/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 3.6.7-1build3 amd64 [instalovaný]
nfs-common/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1:2.6.4-3ubuntu5 amd64 [instalovaný]
nss-passwords/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.4-1 amd64 [instalovaný]
openjdk-17-jdk/noble-updates,now 17.0.12+7-1ubuntu2~24.04 amd64 [instalovaný]
openjdk-17-jre/noble-updates,now 17.0.12+7-1ubuntu2~24.04 amd64 [instalovaný]
openjdk-21-jre/noble-updates,now 21.0.4+7-1ubuntu2~24.04 amd64 [instalovaný]
openjdk-8-jdk/noble-updates,now 8u422-b05-1~24.04 amd64 [instalovaný]
openjdk-8-jre/noble-updates,now 8u422-b05-1~24.04 amd64 [instalovaný]
pandoc/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 3.1.3+ds-2 amd64 [instalovaný]
partitionmanager/noble,now 24.08.1-0zneon+24.04+noble+release+build3 amd64 [instalovaný]
plasma-discover-backend-flatpak/noble,now 6.2.0-0zneon+24.04+noble+release+build4 amd64 [instalovaný]
plymouth-theme-breeze/noble,now 6.2.0-0zneon+24.04+noble+release+build4 amd64 [instalovaný]
podman/noble-updates,now 4.9.3+ds1-1ubuntu0.1 amd64 [instalovaný]
powertop/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.15-3build1 amd64 [instalovaný]
python3-dbus/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.3.2-5build3 amd64 [instalovaný]
python3-gpg/noble,now 1.23.2-0zneon+24.04+noble+release+build1 amd64 [instalovaný]
python3-nacl/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.5.0-4build1 amd64 [instalovaný]
python3-pkg-resources/nala,nala,nala,now 73.0.1-1 all [instalovaný]
python3-pymacaroons/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.13.0-6 all [instalovaný]
python3-setproctitle/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.3.3-1build2 amd64 [instalovaný]
python3-uno/noble-updates,now 4:24.2.6-0ubuntu0.24.04.1 amd64 [instalovaný]
python3-xlib/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.33-2 all [instalovaný]
python3/noble-updates,now 3.12.3-0ubuntu2 amd64 [instalovaný]
qml-module-org-kde-kcmutils/noble,now 5.116.0-1zneon+24.04+noble+release+build3 amd64 [instalovaný]
qml-module-org-kde-sonnet/noble,now 5.116.0-1zneon+24.04+noble+release+build2 amd64 [instalovaný]
qml-module-org-kde-syntaxhighlighting/noble,now 5.116.0-1zneon+24.04+noble+release+build2 amd64 [instalovaný]
qml-module-qtquick-shapes/noble,now 5.15.14+p24.04+vrelease+git20240821.1031-0 amd64 [instalovaný]
qtchooser/noble,now 66+p24.04+vrelease+git20240903.0820-0 amd64 [instalovaný]
qttools5-dev-tools/noble,now 5.15.14+p24.04+vrelease+git20240821.1232-0 amd64 [instalovaný]
rclone/noble-updates,now 1.60.1+dfsg-3ubuntu0.24.04.1 amd64 [instalovaný]
ripgrep/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 14.1.0-1 amd64 [instalovaný]
rofi/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.7.5-0.1build2 amd64 [instalovaný]
ruby-full/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1:3.2~ubuntu1 all [instalovaný]
scrcpy/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.25-1ubuntu1 amd64 [instalovaný]
seahorse/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 43.0-3build2 amd64 [instalovaný]
shellcheck/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.9.0-1 amd64 [instalovaný]
shim-signed/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.58+15.8-0ubuntu1 amd64 [instalovaný]
shogivar/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.55b-3build3 amd64 [instalovaný]
snapd/noble-updates,now 2.63.1+24.04 amd64 [instalovaný]
speech-dispatcher/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.12.0~rc2-2build3 amd64 [instalovaný]
speedcrunch/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.12.0-6build2 amd64 [instalovaný]
sshpass/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.09-1 amd64 [instalovaný]
synaptic/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.91.3build4 amd64 [instalovaný]
sysvinit-utils/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 3.08-6ubuntu3 amd64 [instalovaný]
tesseract-ocr-ces/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1:4.1.0-2 all [instalovaný]
texlive-xetex/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2023.20240207-1 all [instalovaný]
tokodon/noble,now 24.08.1-0zneon+24.04+noble+release+build3 amd64 [instalovaný]
translate-shell/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.9.7.1-2 all [instalovaný]
transmission-qt/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 4.0.5-1build5 amd64 [instalovaný]
trash-cli/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.23.11.10-1 all [instalovaný]
tree/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.1.1-2ubuntu3 amd64 [instalovaný]
tuxedo-archive-keyring/tuxedo,tuxedo,now 2022.04.01~tux all [instalovaný]
tuxedo-control-center/tuxedo,now 2.1.6 amd64 [instalovaný]
tuxedo-dgpu-run/tuxedo,tuxedo,now 1.1.0 all [instalovaný]
tuxedo-drivers/tuxedo,tuxedo,now 4.2.2 all [instalovaný]
tuxedo-tomte/tuxedo,tuxedo,now 2.24.1 all [instalovaný]
ubuntu-dbgsym-keyring/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 2021.03.26 all [instalovaný]
ubuntu-make/jammy,jammy,now 22.10+202401071313~ubuntu22.04.1 all [instalovaný]
ubuntu-minimal/jammy-updates,now 1.481.1 amd64 [instalovaný]
ubuntu-restricted-extras/jammy,jammy,jammy,jammy,jammy,now 67 amd64 [instalovaný]
ubuntu-standard/jammy-updates,now 1.481.1 amd64 [instalovaný]
vifm/jammy,jammy,jammy,jammy,jammy,now 0.12-1 amd64 [instalovaný]
vim-gtk/jammy,jammy,now 2:9.0.0749-0york0~22.04 all [instalovaný]
volian-archive-keyring/scar,scar,scar,now 0.2.0 all [instalovaný]
volian-archive-nala/scar,scar,scar,now 0.2.0 all [instalovaný]
vulkan-tools/jammy,jammy,jammy,jammy,jammy,now 1.3.204.0+dfsg1-1 amd64 [instalovaný]
wayland-utils/jammy,now 1.0.0.1.0.0-0xneon+22.04+jammy+release+build1 amd64 [instalovaný]
wbritish/jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,jammy,now 2020.12.07-2 all [instalovaný]
webp/jammy-security,jammy-updates,now 1.2.2-2ubuntu0.22.04.2 amd64 [instalovaný]
wine64/jammy,jammy,jammy,jammy,jammy,now 6.0.3~repack-1 amd64 [instalovaný]
wmctrl/jammy,jammy,jammy,jammy,jammy,now 1.07-7build1 amd64 [instalovaný]
xclip/jammy,jammy,jammy,jammy,jammy,now 0.13-2 amd64 [instalovaný]
xdotool/jammy,jammy,jammy,jammy,jammy,now 1:3.20160805.1-4 amd64 [instalovaný]
xsel/jammy,jammy,jammy,jammy,jammy,now 1.2.0+git9bfc13d.20180109-3 amd64 [instalovaný]
tuxedo-control-center/tuxedo,now 2.1.13-4 amd64 [instalovaný]
tuxedo-drivers/tuxedo,tuxedo,now 4.8.0 all [instalovaný]
tuxedo-tomte/tuxedo,tuxedo,now 2.39.2 all [instalovaný]
ubuntu-dbgsym-keyring/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2023.11.28.1 all [instalovaný]
ubuntu-minimal/noble-updates,now 1.539.1 amd64 [instalovaný]
ubuntu-restricted-extras/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 67 amd64 [instalovaný]
ubuntu-standard/noble-updates,now 1.539.1 amd64 [instalovaný]
vifm/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.12-1build2 amd64 [instalovaný]
volian-archive-keyring/nala,nala,nala,now 0.3.1 all [instalovaný]
volian-archive-nala/nala,nala,nala,now 0.3.1 all [instalovaný]
vulkan-tools/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.3.275.0+dfsg1-1 amd64 [instalovaný]
watchman/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 4.9.0-7build4 amd64 [instalovaný]
wayland-utils/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.2.0-1build1 amd64 [instalovaný]
wbritish/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2020.12.07-2 all [instalovaný]
webp/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.3.2-0.4build3 amd64 [instalovaný]
wine64/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 9.0~repack-4build3 amd64 [instalovaný]
wireguard-tools/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.0.20210914-1ubuntu4 amd64 [instalovaný]
wl-clipboard/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 2.2.1-1build1 amd64 [instalovaný]
wmctrl/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.07-7ubuntu3 amd64 [instalovaný]
xclip/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 0.13-3 amd64 [instalovaný]
xdotool/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1:3.20160805.1-5build1 amd64 [instalovaný]
xsel/noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,noble,now 1.2.1-1 amd64 [instalovaný]
#endregion
```
</details>
@ -276,35 +292,45 @@ xsel/jammy,jammy,jammy,jammy,jammy,now 1.2.0+git9bfc13d.20180109-3 amd64 [instal
```
#region snap list
Název Verze Rev Následuje Vydavatel Poznámky
android-studio 2023.1.1.28-Hedgehog 148 latest/stable snapcrafters* classic
bare 1.0 5 latest/stable canonical** base
chromium 121.0.6167.184 2757 latest/stable canonical** -
code 903b1e9d 152 latest/stable vscode** classic
core 16-2.61.1 16574 latest/stable canonical** core
core18 20231027 2812 latest/stable canonical** base
core20 20240111 2182 latest/stable canonical** base
core22 20240111 1122 latest/stable canonical** base
cups 2.4.7-3 1024 latest/stable openprinting** -
figma-linux 0.11.3 189 latest/stable youdonthavepermissiony -
android-studio 2024.1.1.11-Koala 161 latest/stable snapcrafters✪ classic
bare 1.0 5 latest/stable canonical✓ base
chromium 129.0.6668.89 2965 latest/stable canonical✓ -
code 384ff738 172 latest/stable vscode✓ classic
core 16-2.61.4-20240607 17200 latest/stable canonical✓ core
core18 20240920 2846 latest/stable canonical✓ base
core20 20240705 2379 latest/stable canonical✓ base
core22 20240904 1621 latest/stable canonical✓ base
core24 20240710 490 latest/stable canonical✓ base
cups 2.4.10-1 1058 latest/stable openprinting✓ -
dust v1.1.1 19 latest/stable danie.dejager -
figma-linux 0.11.4 197 latest/stable youdonthavepermissiony -
firefox 131.0.2-1 5091 latest/stable mozilla✓ -
fzf-carroarmato0 0.27.0 27 latest/stable carroarmato0 -
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.ff35a85 141 latest/stable canonical** -
gtk-common-themes 0.1-81-g442e511 1535 latest/stable canonical** -
kde-frameworks-5-core18 5.67.0 35 latest/stable kde** -
kde-frameworks-5-qt-5-15-3-core20 5.87.0 8 latest/stable kde** -
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** -
notepad-plus-plus 8.6.4 399 latest/stable mmtrt -
qt551 5.x-core18 43 latest/stable keshavnrj* -
snapd 2.61.1 20671 latest/stable canonical** snapd
storage-explorer 1.32.1 58 latest/stable msft-storage-tools** -
teams 1.5.00.23861 8 latest/stable msteams** -
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.510a601 176 latest/stable canonical✓ -
gnome-46-2404 0+git.5d6be1b 48 latest/stable canonical✓ -
gtk-common-themes 0.1-81-g442e511 1535 latest/stable canonical✓ -
kde-frameworks-5-core18 5.67.0 35 latest/stable kde✓ -
kde-frameworks-5-qt-5-15-3-core20 5.87.0 8 latest/stable kde✓ -
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✓ -
mesa-2404 24.0.9 143 latest/stable canonical✓ -
notepad-plus-plus 8.6.9 408 latest/stable mmtrt -
pyqt5-runtime-core20 20.04 9 latest/stable rishabh3354 -
qt551 5.x-core18 45 latest/stable keshavnrj✪ -
snapd 2.63 21759 latest/stable canonical✓ snapd
storage-explorer 1.35.0 62 latest/stable msft-storage-tools✓ -
sublime-merge 2096 85 latest/stable snapcrafters✪ classic
teams 1.5.00.23861 8 latest/stable msteams✓ -
viu-image-viewer v1.3.0-10-g0dba818 1 latest/candidate rhys-davies -
wine-platform-6-stable 6.0.4 19 latest/stable mmtrt -
wine-platform-7-devel-core20 7.22 24 latest/stable mmtrt -
wine-platform-runtime v1.0 357 latest/stable mmtrt -
wine-platform-runtime-core20 v1.0 100 latest/stable mmtrt -
wine-platform-9-devel-core22 9.19 28 latest/stable mmtrt -
wine-platform-runtime v1.0 390 latest/stable mmtrt -
wine-platform-runtime-core20 v1.0 138 latest/stable mmtrt -
wine-platform-runtime-core22 v1.0 85 latest/stable mmtrt -
yazi v0.2.4 x1 - - classic
#endregion
```
</details>
@ -312,56 +338,65 @@ wine-platform-runtime-core20 v1.0 100 latest/sta
<summary>FLATPAK</summary>
```
#region flatpak list
Text Pieces com.github.liferooter.textpieces 3.4.1 stable system
Flatseal com.github.tchx84.Flatseal 2.1.1 stable system
Frog com.github.tenderowl.frog 1.5.1 stable system
Google Chrome com.google.Chrome 121.0.6167.184-1 stable system
Sigil com.sigil_ebook.Sigil 2.0.1 stable system
Láhve com.usebottles.bottles 51.11 stable system
Blobby Volley 2 de.blobbyvolley.BlobbyVolley2 1.0 stable system
Qalculate! (GTK UI) io.github.Qalculate 4.9.0 stable system
Endless Sky io.github.endless_sky.endless_sky 0.10.4 stable system
Gear Lever it.mijorus.gearlever 1.3.0 stable system
Minetest net.minetest.Minetest 5.8.0 stable system
jPDF Tweak net.sourceforge.jpdftweak.jPdfTweak 1.1 stable system
Freedesktop Platform org.freedesktop.Platform 20.08.21 20.08 system
Freedesktop Platform org.freedesktop.Platform 22.08.21 22.08 system
Freedesktop Platform org.freedesktop.Platform 23.08.11 23.08 system
i386 org.freedesktop.Platform.Compat.i386 23.08 system
Mesa org.freedesktop.Platform.GL.default 21.1.8 20.08 system
Mesa org.freedesktop.Platform.GL.default 23.3.5 22.08 system
Mesa (Extra) org.freedesktop.Platform.GL.default 23.3.5 22.08-extra system
Mesa org.freedesktop.Platform.GL.default 23.3.4 23.08 system
Mesa (Extra) org.freedesktop.Platform.GL.default 23.3.4 23.08-extra system
Mesa org.freedesktop.Platform.GL32.default 23.3.4 23.08 system
Intel org.freedesktop.Platform.VAAPI.Intel 20.08 system
Intel org.freedesktop.Platform.VAAPI.Intel 22.08 system
Intel org.freedesktop.Platform.VAAPI.Intel 23.08 system
ffmpeg-full org.freedesktop.Platform.ffmpeg-full 23.08 system
i386 org.freedesktop.Platform.ffmpeg_full.i386 23.08 system
openh264 org.freedesktop.Platform.openh264 2.1.0 2.0 system
openh264 org.freedesktop.Platform.openh264 2.1.0 2.2.0 system
Freedesktop SDK org.freedesktop.Sdk 20.08.21 20.08 system
Freedesktop SDK org.freedesktop.Sdk 22.08.21 22.08 system
Web org.gnome.Epiphany 45.2 stable system
Síťové displeje GNOME org.gnome.NetworkDisplays 0.92.1 stable system
GNOME Application Platform version 44 org.gnome.Platform 44 system
GNOME Application Platform version 45 org.gnome.Platform 45 system
i386 org.gnome.Platform.Compat.i386 45 system
Adwaita dark GTK theme org.gtk.Gtk3theme.Adwaita-dark 3.22 system
Breeze GTK theme org.gtk.Gtk3theme.Breeze 5.27.8 3.22 system
Breeze Gtk theme org.gtk.Gtk3theme.Breeze-Dark 3.22 system
Inkscape org.inkscape.Inkscape 1.3.2 stable system
KDE Application Platform org.kde.Platform 5.15-22.08 system
KDE Application Platform org.kde.Platform 5.15-23.08 system
KDE Application Platform org.kde.Platform 6.5 system
Kalkulačka org.kde.kalk 23.08.4 stable system
Glaxnimate org.mattbas.Glaxnimate 0.5.4 stable system
Battle for Wesnoth org.wesnoth.Wesnoth 1.14.17 1.14 system
DXVK org.winehq.Wine.DLLs.dxvk 2.3 stable-23.08 system
Gecko org.winehq.Wine.gecko stable-23.08 system
Mono org.winehq.Wine.mono stable-23.08 system
q4wine ua.org.brezblock.q4wine 1.3.13 stable system
Saber com.adilhanney.saber 0.25.0 stable system
NormCap com.github.dynobo.normcap 0.5.8 stable system
Frog com.github.tenderowl.frog 1.5.2 stable system
Google Chrome com.google.Chrome 129.0.6668.100-1 stable system
Sigil com.sigil_ebook.Sigil 2.2.0 stable system
Láhve com.usebottles.bottles 51.13 stable system
Blobby Volley 2 de.blobbyvolley.BlobbyVolley2 1.0 stable system
Qalculate! (GTK UI) io.github.Qalculate 5.3.0 stable system
Endless Sky io.github.endless_sky.endless_sky 0.10.9 stable system
Endless Sky High DPI io.github.endless_sky.endless_sky.plugins.endless_sky_high_dpi 0.10.6 stable system
Text Pieces io.gitlab.liferooter.TextPieces 4.1.0 stable system
VoiceGen io.gitlab.persiangolf.voicegen 2.1.0 stable system
Qt QDBusViewer io.qt.qdbusviewer 6.7 stable system
Gear Lever it.mijorus.gearlever 2.1.0 stable system
Minetest net.minetest.Minetest 5.9.1 stable system
jPDF Tweak net.sourceforge.jpdftweak.jPdfTweak 1.1 stable system
Freedesktop Platform org.freedesktop.Platform 21.08.22 21.08 system
Freedesktop Platform org.freedesktop.Platform freedesktop-sdk-23.08.23 23.08 system
Freedesktop Platform org.freedesktop.Platform freedesktop-sdk-24.08.3 24.08 system
i386 org.freedesktop.Platform.Compat.i386 23.08 system
Mesa org.freedesktop.Platform.GL.default 21.3.9 21.08 system
Mesa org.freedesktop.Platform.GL.default 24.2.3 23.08 system
Mesa (Extra) org.freedesktop.Platform.GL.default 24.2.3 23.08-extra system
Mesa org.freedesktop.Platform.GL.default 24.2.4 24.08 system
Mesa (Extra) org.freedesktop.Platform.GL.default 24.2.4 24.08extra system
Mesa org.freedesktop.Platform.GL32.default 24.2.3 23.08 system
Intel org.freedesktop.Platform.VAAPI.Intel 21.08 system
Intel org.freedesktop.Platform.VAAPI.Intel 23.08 system
Intel org.freedesktop.Platform.VAAPI.Intel 24.08 system
i386 org.freedesktop.Platform.VAAPI.Intel.i386 23.08 system
ffmpeg-full org.freedesktop.Platform.ffmpeg-full 23.08 system
i386 org.freedesktop.Platform.ffmpeg_full.i386 23.08 system
openh264 org.freedesktop.Platform.openh264 2.1.0 2.0 system
openh264 org.freedesktop.Platform.openh264 2.1.0 2.2.0 system
openh264 org.freedesktop.Platform.openh264 2.4.1 2.4.1 system
Freedesktop SDK org.freedesktop.Sdk freedesktop-sdk-23.08.23 23.08 system
Geany org.geany.Geany 2.0 stable system
Web org.gnome.Epiphany 47.0 stable system
Síťové displeje GNOME org.gnome.NetworkDisplays 0.93.0 stable system
GNOME Application Platform version 45 org.gnome.Platform 45 system
GNOME Application Platform version 46 org.gnome.Platform 46 system
GNOME Application Platform version 47 org.gnome.Platform 47 system
i386 org.gnome.Platform.Compat.i386 46 system
Tau org.gnome.Tau 0.12.0 stable system
Adwaita dark GTK theme org.gtk.Gtk3theme.Adwaita-dark 3.22 system
Breeze GTK theme org.gtk.Gtk3theme.Breeze 6.2.0 3.22 system
Inkscape org.inkscape.Inkscape 1.3.2 stable system
KDE Application Platform org.kde.Platform 5.15-23.08 system
KDE Application Platform org.kde.Platform 6.6 system
KDE Application Platform org.kde.Platform 6.7 system
KDE Software Development Kit org.kde.Sdk 6.6 system
KDE Software Development Kit org.kde.Sdk 6.7 system
Kalkulačka org.kde.kalk 24.08.1 stable system
Glaxnimate org.mattbas.Glaxnimate 0.5.4 stable system
Battle for Wesnoth org.wesnoth.Wesnoth 1.18.2 stable system
DXVK org.winehq.Wine.DLLs.dxvk 2.4.1 stable-23.08 system
Gecko org.winehq.Wine.gecko stable-23.08 system
Mono org.winehq.Wine.mono stable-23.08 system
q4wine ua.org.brezblock.q4wine 1.3.13 stable system
#endregion
```
</details>

View File

@ -1,418 +0,0 @@
#!/usr/bin/env node
/* jshint esversion: 8,-W097, -W040, node: true, expr: true, undef: true */
const /* dependencies */
[ fs, readline, https, { spawn } ]= [ "fs", "readline", "https", "child_process" ].map(p=> require(p));
const /* helper for coloring console | main program params */
colors= { e: "\x1b[38;2;252;76;76m", s: "\x1b[38;2;76;252;125m", w: "\x1b[33m", R: "\x1b[0m", y: "\x1b[38;2;200;190;90m", g: "\x1b[38;2;150;150;150m" },
info= {
name: __filename.slice(__filename.lastIndexOf("/")+1, __filename.lastIndexOf(".")),
version: "1.2.1",
description: "Helper for working with “packages” stored in GitHub releases.",
config: `${__filename.slice(0, __filename.lastIndexOf("."))}.json`,
folder: __filename.slice(0, __filename.lastIndexOf("/")+1),
commands: [
{
cmd: "help", args: [ "--help", "-h" ],
desc: "Shows this text"
},
{
cmd: "config", args: [ "--config" ],
desc: "Opens config file in terminal editor (defaults to vim)"
},
{
cmd: "check", args: [ "--check", "-c" ],
desc: "Shows/checks updates for registered packages"
},
{
cmd: "update", args: [ "--update", "-u" ], param: "group",
desc: "Installs lates versions of registered packages"
},
{
cmd: "uninstall", args: [ "--uninstall", "-u" ], param: "package",
desc: "Deletes downloaded file and moves package to the 'skip' group"
},
{
cmd: "register", args: [ "--register", "--change" ], param: "package",
desc: "Add package infos to internal list to be able installing/updating"
},
{
cmd: "remove", args: [ "--remove" ], param: "package",
desc: ([
"Uninstall package if needed (see `-u`)",
"And remove it from internal list (see `--config`)"
]).join(". ")
}
],
params: {
group: ([
"You can label each package to update only choosen one",
"There are sereved options:",
" - '' (empty): these packages are includes in all groups",
" - 'all': in case of `--update` process all packages (except skipped)",
" - 'skip': these packages are “uninstalled”",
" No updates will be downloaded",
"Group can be setted via '--register'"
]).join(". "),
package: ([
"Represents package identificator, it is in fact GitHub repository path",
"So, it schould be in the form `username/repository`"
]).join(". ")
}
};
printMain();
const current= getCurrent(process.argv.slice(2));
(function main_(){
const { cmd }= current.command;
if(!cmd) return Promise.resolve("No arguments (use `--help` for showing all oprions).");
switch(cmd){
case "help": return Promise.resolve(printHelp());
case "config": return vim_(info.config);
}
const config= getConfig();
switch(cmd){
case "register": return register_(config);
}
if(!config.packages) return Promise.resolve("No packages yet!");
switch(cmd){
case "check": return check_(config);
case "update": return update_(config);
case "uninstall":
case "remove":
return uninstall_(cmd, config);
}
})()
.then(function(message){
if(message)
log(1, `Operation '${current.command.cmd}' successfull: @s_${message}`);
process.exit();
})
.catch(error);
async function uninstall_(cmd, config){
const progress= [
[ "Deleting file", "not needed" ],
[ "Check out from updates", "yes" ],
[ "Remove from packages list", "no" ]
];
const pkg_name= current.param;
const pkg_index= config.packages.findIndex(({ repository })=> repository===pkg_name);
if(pkg_index===-1) return "nothing to do (maybe typo)";
const pkg= config.packages[pkg_index];
const { downloads }= pkg;
if(downloads&&fs.existsSync(downloads)){
try{ fs.unlinkSync(downloads); progress[0][1]= "done"; }
catch (_){ progress[0][1]= colors.e+"error, try manually "+downloads; }
}
Reflect.deleteProperty(pkg, "last_update");
Reflect.set(pkg, "group", "skip");
progress[1][1]= "done";
if(cmd!=="remove") return gotoEnd();
const y= await promt_(`Are you realy want to remove package ${pkg.repository} (yes/no)`, "no");
if(y!=="yes") return gotoEnd();
config.packages.splice(pkg_index, 1);
progress[2][1]= "done";
return gotoEnd();
function gotoEnd(){
const o= progress.reduce((o, [ k, v ])=> Reflect.set(o, k, v)&&o, {});
logSection(" ", pkg_name, o);
save(config);
}
}
function vim_(file){ return new Promise(function(resolve, reject){
const cmd= spawn((process.env.EDITOR||"vim")+(process.platform==="win32"?".bat":""), [ file ], { stdio: 'inherit' });
cmd.on('exit', e=> e ? reject("Editor error, try manually: "+file) : resolve("OK"));
});}
async function update_(config){
const filter= current.param;
const is_all= filter==="all";
let updates= [];
log(1, "Collecting packages to download:");
for(const [
i, { repository, last_update, group, file_name, exec, downloaded, tag_name_regex }
] of Object.entries(config.packages)){
if(group==="skip") continue;
if(!is_all&&group&&filter!==group) continue;
const { tag_name, published_at, html_url, assets_url }= await githubRelease_(repository, tag_name_regex);
const status= packageStatus(last_update, published_at);
if(status!==3) continue;
const assets= await downloadJSON_(repository, assets_url);
if(!assets.length){
console.log(" Nothing to download: Visit "+html_url);
continue;
}
const options= assets.map(({ name, download_count, size })=>
`${name} | size: ${Math.round(size/1048576)}MB | downloads: ${download_count}`);
logSection(" ", " "+repository, {
"Version": tag_name,
"Url": html_url
});
logSection(" ", " Available assets:", options);
const choose= await promt_(" Choose (empty for skip)", "");
if(choose==="") continue;
const { browser_download_url: url, name: remote_name, size }= assets[choose];
updates.push({
index: i,
file_name, exec, downloaded,
repository, version: tag_name, last_update: published_at,
url, remote_name, size
});
}
if(!updates.length){
log(2, "No packages in "+`group ${filter} needs updates.`);
return Promise.resolve("nothing to update");
}
log(1, "Downloading:");
return applySequentially_(updates, async function(todo){
const to= todo.file_name ? info.folder+todo.file_name : (
todo.downloaded ? todo.downloaded : info.folder+todo.remote_name);
const d= await downloadFile_(to, todo);
return Object.assign(todo, d);
})
.then(function(dones){
log(1, "Finalizing:");
let e= 0;
for(const nth of dones){
if(!nth.success){
e+= 1;
log(2, `${nth.repository}: @e_${nth.message}`);
continue;
}
Object.assign(config.packages[nth.index], registerDownloads(nth));
}
save(config);
const { length }= dones;
const msg= `updated ${length-e} of ${length} packages.`;
return e ? Promise.reject(msg) : Promise.resolve(msg);
});
}
function registerDownloads({ repository, last_update, message: downloads, exec, version }){
let msg= colors.s+"OK";
if(exec==="yes"){
try{ fs.chmodSync(downloads, 0o755); }
catch(e){ msg= colors.e+"try manual `chmod+x` for '"+downloads+"'"; }
}
log(2, `${repository}: ${msg}`);
return { last_update, downloads, version };
}
async function check_({ packages }){
let updates= 0, skipped= 0;
for(const { repository, name, version, last_update, group, tag_name_regex } of packages){
const { tag_name, published_at }= await githubRelease_(repository, tag_name_regex);
const status= packageStatus(last_update, published_at);
updates+= status===3;
const skip= group==="skip";
skipped+= skip;
log(2, `@g_${repository} [${group}]: `+( !version ? "not installed" : packageStatusText(status, skip) ));
}
const u= updates-skipped;
const s= skipped ? ` (inc. skipped: ${updates})` : "";
return (!u ? "" : colors.w)+u+" update(s) available"+s;
}
async function register_(config){
const { param: repository }= current;
if(!Reflect.has(config, "packages")) Reflect.set(config, "packages", []);
const packages= Reflect.get(config, "packages");
let local_id= packages.findIndex(p=> p.repository===repository);
if(local_id===-1)
local_id= packages.push({ repository })-1;
const local= config.packages[local_id];
const remote= await githubRepo_(repository) || {};
log(1, "Registering: "+repository);
const spaces= " ";
local.name= await promt_(spaces+"Name", local.name || remote.name || "");
if(!local.description) local.description= remote.description;
logLines(2, [
"@g_Group info:",
"- you can update specific packages by using their group name",
"- There some reserved options:",
" - '' (empty): will be included in all groups",
" - 'skip': will be always skipped"
]);
local.group= await promt_(spaces+"Group", local.group || "");
local.file_name= await promt_(spaces+"File Name", local.file_name || local.name.toLowerCase().replace(/\s/g, "-") || "");
local.exec= await promt_(spaces+"Make executable (yes/no)", local.exec || "no");
save(config);
return `${repository}: saved`;
}
function packageStatusText(status, skip){
const s= skip ? colors.R+"skipped "+colors.g : "";
switch(status){
case 0: return s+"nothing to compare";
case 1: return s+"@s_up-to-date";
case 2: return s+"newer";
case 3: return s+"@e_outdated/not instaled";
}
}
function packageStatus(local, remote){
if(!remote) return 0;
if(!local) return 3;
if(remote===local) return 1;
return 2+(local<remote);
}
function logSection(spaces, name, data){
console.log(spaces+name);
for(const [ key, value ] of Object.entries(data))
console.log(spaces.repeat(2)+colors.g+key+": "+value.replace(/@(\w)_/g, (_, m)=> colors[m])+colors.R);
}
function githubRelease_(repository, tag_name_regex= ""){
return downloadJSON_(repository, "https://api.github.com/repos/"+repository+"/releases")
.then(data=> data.find(function find({ 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);
})||{});
}
function githubRepo_(repository){ return downloadJSON_(repository, "https://api.github.com/repos/"+repository); }
function promt_(q, def){
const rl= readline.createInterface({ input: process.stdin, output: process.stdout });
return new Promise(function(resolve){
rl.question(q+": ", a=> { rl.close(); resolve(a); });
rl.write(def);
});
}
function getConfig(){
let config;
try{ config= JSON.parse(fs.readFileSync(info.config)); }
catch(e){ config= {}; log(1, "@w_Missing or corrupted config file. Creates empty one."); }
return config;
}
function save(config){
return fs.writeFileSync(info.config, JSON.stringify(config, null, " "));
}
function getCurrent(args){
let command, command_arg, param;
const hasArg= arg=> ({ args })=> args.includes(arg);
for(let i=0, { length }= args, arg; i<length; i++){
arg= args[i];
if(!command){
command= info.commands.find(hasArg(arg));
command_arg= arg;
continue;
}
if(!command.param||typeof param!=="undefined")
break;
param= arg;
}
if(!command)
command= { cmd: "" };
if(command.param&&typeof param==="undefined")
return error(`Missign arguments for '${command_arg}'.`);
return { command, param };
}
function downloadJSON_(repository, url){
return downloadText_(url)
.then(function(data){
try{
const response= JSON.parse(data);
if(Reflect.has(response, "message")) throw new Error(response.message);
return Promise.resolve(JSON.parse(data));
} catch(e){
log(1, "Received data: "+data);
log(1, "@e_"+e);
return Promise.reject(`JSON from '${repository}' failed.`);
}
});
}
function downloadText_(url){
return get_(url)
.then(function(response){ return new Promise(function(resolve){
let data= "";
response.on("data", chunk=> data+= chunk);
response.on("end", ()=> resolve(data));
}); });
}
function downloadFile_(to, { url, repository, size }){
const file= fs.createWriteStream(to);
return get_(url)
.then(r=> get_(r.headers.location))
.then(function(response){ return new Promise(function(resolve){
let progress= 0, pc_prev= 0, avg= 0;
const start= new Date();
const i= setInterval(function(){
readline.clearLine(process.stdout);
const pc= (100*progress/size).toFixed(2);
if(!pc_prev) pc_prev= pc;
else {
avg= ((100-pc)/(60*(pc-pc_prev))).toFixed(2);
pc_prev= 0;
}
const running= ((new Date()-start)/60000).toFixed(2);
log(2, repository+": "+pc+"%"+` (end in ~${avg} mins, running ${running} mins)`);
readline.moveCursor(process.stdout, 0, -1);
}, 500);
response.on('data', function(chunk){
file.write(chunk);
progress+= chunk.length;
});
response.on('end', function(){
clearInterval(i);
readline.clearLine(process.stdout);
log(2, repository+": @s_OK");
file.close(()=> resolve({ success: 1, message: to })); /* close() is async, call cb after close completes. */
});
}); })
.catch(({ message })=> {
fs.unlink(to); // Delete the file async. (But we don't check the result)
return { success: 0, message };
});
}
function get_(url){ return new Promise(function(resolve, reject){
https.get(
url,
{ headers: { 'Cache-Control': 'no-cache', 'User-Agent': 'node' } },
resolve
).on("error", reject);
});}
function applySequentially_(input, pF){
const data= [];
let p= pF(input[0]);
const tie= nth=> result_mth=> ( data.push(result_mth), pF(input[nth]) );
for(let i= 1, { length }= input; i<length; i++)
p= p.then(tie(i));
return p.then(o=> (data.push(o), data));
}
function error(message){
const help_text= `@w_See help using '${info.commands[0].args[0]}'.`;
log(1, `@e_Error: ${message} ${help_text}`);
return process.exit(1);
}
function printMain(){
const { name, version, description }= info;
log(1, `@w_${name}@${version}`);
log(1, description);
const cmds= info.commands.map(({args})=> args[0].replace("--", "")).join(", ");
log(1, `@w_Usage: ${name} --[cmd] [param]`);
log(2, `…cmd: ${cmds}`);
log(2, "…param: Based on cmd\n");
}
function printHelp(){
log(1, "@s_Help:");
log(2, "Commands:");
info.commands.forEach(({ args, param, desc })=> {
const args_text= args.join("|");
param= param ? " "+param : "";
log(3, `@g_${args_text}@R_${param}`);
logLines(4, desc);
});
log(2, "Params:");
for(const [ param, desc ] of Object.entries(info.params)){
log(3, `@g_${param}`);
logLines(4, desc);
}
}
function log(tab, text){
return console.log(" ".repeat(tab)+text.replace(/@(\w)_/g, (_, m)=> colors[m])+colors.R);
}
function logLines(tab, multiline_text){
if(!Array.isArray(multiline_text)) multiline_text= multiline_text.split(/(?<=\.) /g);
return log(tab, multiline_text.join("\n"+" ".repeat(tab)));
}

View File

@ -1,216 +0,0 @@
{
"packages": [
{
"repository": "shiftkey/desktop",
"name": "GitHub Desktop",
"group": "dev",
"file_name": "github-desktop",
"exec": "yes",
"description": "Fork of GitHub Desktop to support various Linux distributions",
"last_update": "2023-12-20T15:25:06Z",
"downloads": "/home/jaandrle/bin/github-desktop",
"version": "release-3.3.6-linux3"
},
{
"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"
},
{
"repository": "th-ch/youtube-music",
"name": "youtube-music",
"description": "YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)",
"group": "nondev",
"file_name": "youtube-music",
"exec": "yes",
"last_update": "2024-01-05T14:44:27Z",
"downloads": "/home/jaandrle/bin/youtube-music",
"version": "v3.2.2"
},
{
"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": "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"
},
{
"repository": "Kong/insomnia",
"name": "insomnia",
"description": "The open-source, cross-platform API client for GraphQL, REST, and gRPC.",
"group": "skip",
"file_name": "insomnia",
"exec": "yes",
"last_update": "2023-10-16T10:03:28Z",
"downloads": "/home/jaandrle/bin/insomnia",
"tag_name_regex": "core@.*",
"version": "core@8.3.0"
},
{
"repository": "rvpanoz/luna",
"name": "luna",
"description": "Manage npm dependencies through a modern UI.",
"group": "skip",
"file_name": "luna",
"exec": "yes"
},
{
"repository": "angela-d/wifi-channel-watcher",
"name": "wifi-channel-watcher",
"group": "skip",
"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": "vinceliuice/Tela-circle-icon-theme",
"name": "Tela-circle-icon-theme",
"description": "Tela-circle-icon-theme",
"group": "themes",
"file_name": "tela-circle-icon-theme.zip",
"last_update": "2021-07-19T14:12:05Z",
"exec": "no"
},
{
"repository": "AppImage/AppImageKit",
"name": "AppImageKit",
"group": "skip",
"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"
},
{
"repository": "dynobo/normcap",
"name": "NormCap",
"description": "OCR powered screen-capture tool to capture information instead of images",
"group": "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-01-16T09:54:25Z",
"downloads": "/home/jaandrle/bin/upscayl",
"version": "v2.9.8"
},
{
"repository": "RasmusLindroth/tut",
"name": "tut",
"description": "TUI for Mastodon with vim inspired keys",
"group": "nondev",
"file_name": "tut",
"exec": "yes",
"last_update": "2023-01-26T17:48:00Z",
"downloads": "/home/jaandrle/bin/tut",
"version": "2.0.1"
},
{
"repository": "sunner/ChatALL",
"name": "ChatALL",
"description": " Concurrently chat with ChatGPT, Bing Chat, bard, Alpaca, Vincuna, Claude, ChatGLM, MOSS, iFlytek Spark, ERNIE and more, discover the best answers",
"group": "skip",
"file_name": "chatall",
"exec": "yes",
"last_update": "2023-09-30T14:08:00Z",
"downloads": "/home/jaandrle/bin/chatall",
"version": "v1.50.73"
},
{
"repository": "jaandrle/bs",
"name": "bs",
"description": "The simplest possible build system using executables",
"group": "dev",
"file_name": "bs",
"exec": "yes",
"last_update": "2023-06-30T07:48:58Z",
"downloads": "/home/jaandrle/bin/bs",
"version": "v0.7.3"
},
{
"repository": "h3poteto/fedistar",
"name": "Fedistar",
"description": "Multi-column Mastodon, Pleroma, and Friendica client for desktop",
"group": "nondev",
"file_name": "fedistar",
"exec": "yes",
"last_update": "2024-01-29T10:29:58Z",
"downloads": "/home/jaandrle/bin/fedistar",
"version": "v1.8.3"
},
{
"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": "2024-01-26T18:19:36Z",
"downloads": "/home/jaandrle/bin/ollama",
"version": "v0.1.22"
},
{
"repository": "neovim/neovim",
"name": "neovim",
"tag_name_regex": "v.*",
"description": "Vim-fork focused on extensibility and usability",
"group": "dev-test",
"file_name": "nvim",
"exec": "yes",
"downloads": "/home/jaandrle/bin/nvim",
"version": "v0.9.5",
"last_update": "2023-12-30T13:31:47Z"
},
{
"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",
"exec": "yes",
"last_update": "2023-12-27T01:18:21Z",
"downloads": "/home/jaandrle/bin/escrcpy",
"version": "v1.16.8"
},
{
"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": "2023-12-06T11:30:02Z",
"downloads": "/home/jaandrle/bin/drovp",
"version": "0.8.0"
},
{
"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": "2024-01-29T05:19:22Z",
"downloads": "/home/jaandrle/bin/jan",
"version": "v0.4.5"
}
]
}

300
bin/github-releases.mjs Executable file
View File

@ -0,0 +1,300 @@
#!/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;
}

78
bin/kde6-workarounds.mjs Executable file
View File

@ -0,0 +1,78 @@
#!/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();

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