Compare commits

...

30 Commits

Author SHA1 Message Date
a5d4852d2d Add ESRF file 2021-11-03 10:59:24 +01:00
578782dc28 Add bookmark manager 2021-11-03 10:59:12 +01:00
65ddeb4844 Add imageglass for default image viewer 2021-11-03 10:58:52 +01:00
116e5b13ec Quote filenames 2021-11-03 10:58:41 +01:00
859774b005 Better setup for ESRF 2021-11-03 10:58:30 +01:00
705815c64b Update HTML 2021-10-25 14:37:10 +02:00
9f37a18198 Improve screen-select script 2021-10-25 14:32:51 +02:00
e55d95cd6e Update doom config 2021-10-25 14:32:38 +02:00
82056ed283 Add lots of docker containers 2021-10-25 14:32:23 +02:00
e522c366db Minor changes 2021-10-25 14:31:23 +02:00
b511e86af2 Add IoT, Maintenance and Router pages 2021-10-25 14:27:16 +02:00
137f160229 Set C-x C-o for mail completion 2021-10-25 14:26:02 +02:00
2d668157d7 Better for files with spaces 2021-10-25 14:25:41 +02:00
53125d6f43 Remove bspwm config 2021-10-25 14:25:31 +02:00
1697632bec Change Gmail archive configuration 2021-10-25 14:25:08 +02:00
aad97a967e Change nas filename 2021-10-25 14:24:55 +02:00
6bff229bfe Remove linkding floating conf 2021-10-25 14:24:38 +02:00
90a8a05ea1 Change hostnames 2021-10-25 14:23:31 +02:00
5b04ad7bda Script to add ICS file to Khal 2021-10-25 14:23:15 +02:00
a8d1d81724 Improove linkhandler 2021-10-25 14:22:47 +02:00
be8164fe02 Add linkding env variables 2021-10-25 14:22:23 +02:00
8c9519124c Use yt-dlp instead of download-yt 2021-10-25 14:21:54 +02:00
34656a5ee9 Change from buku to linkding 2021-10-25 14:21:31 +02:00
1de05dd3e2 Adapt new bindings to alacritty 2021-05-13 19:09:17 +02:00
f27b7199f7 Remove spotify account 2021-05-13 19:09:09 +02:00
eb745655f3 Better gruvbox theme 2021-05-13 19:08:59 +02:00
40bcd55e3e Change colors (due to Alacritty) 2021-05-13 18:56:48 +02:00
481b223240 Add backup strategy 2021-05-13 18:56:33 +02:00
2aad6a64bc Use Alacritty instead of Termite 2021-05-13 18:56:23 +02:00
0ccedc97ea Name userscripts 2021-05-13 18:55:29 +02:00
60 changed files with 8204 additions and 4328 deletions

73
alacritty.org Normal file
View File

@ -0,0 +1,73 @@
#+TITLE: Alacritty Configuration
#+SETUPFILE: ./setup/org-setup-file.org
#+PROPERTY: header-args+ :comments none
#+PROPERTY: header-args+ :mkdirp yes
#+PROPERTY: header-args+ :tangle ~/.config/alacritty/alacritty.yml
* Fonts
#+begin_src yaml
font:
normal:
family: Hack Nerd Font Mono
style: Regular
bold:
family: Hack Nerd Font Mono
style: Bold
italic:
family: Hack Nerd Font Mono
style: Italic
bold_italic:
family: Hack Nerd Font Mono
style: Bold Italic
size: 10.0
#+end_src
* Colors
#+begin_src yaml
colors:
primary:
background: &gruvbox_dark_bg '#32302f'
foreground: '#fbf1c7'
bright_foreground: '#f9f5d7'
dim_foreground: '#f2e5bc'
cursor:
text: CellBackground
cursor: CellForeground
vi_mode_cursor:
text: CellBackground
cursor: CellForeground
selection:
text: CellBackground
background: CellForeground
bright:
black: '#928374'
red: '#fb4934'
green: '#b8bb26'
yellow: '#fabd2f'
blue: '#83a598'
magenta: '#d3869b'
cyan: '#8ec07c'
white: '#ebdbb2'
normal:
black: *gruvbox_dark_bg
red: '#cc241d'
green: '#98971a'
yellow: '#d79921'
blue: '#458588'
magenta: '#b16286'
cyan: '#689d6a'
white: '#a89984'
dim:
black: '#32302f'
red: '#9d0006'
green: '#79740e'
yellow: '#b57614'
blue: '#076678'
magenta: '#8f3f71'
cyan: '#427b58'
white: '#928374'
#+end_src

View File

@ -89,6 +89,14 @@ Tutorial: https://www.youtube.com/watch?v=3pxOeiIBrHI
| Titanium Backup PRO | | [[https://github.com/machiav3lli/oandbackupx][OAndBackupX]] |
* Tutorials
** Backup
I use =adb backup= to backup the phone ([[https://forum.xda-developers.com/t/guide-full-phone-backup-without-unlock-or-root.1420351/][guide]]).
Basically, I have to run:
#+begin_src bach :eval no
adb backup -apk -shared -all -f ~/Cloud/android/backup/backup_$(date +"%Y_%m_%d").ab
#+end_src
** Connect to the phone by SSH
https://wiki.termux.com/wiki/Bypassing_NAT

View File

@ -282,19 +282,13 @@ fi
** Export some default applications
#+begin_src bash
export EDITOR="nvim"
export TERMINAL="termite"
export TERMINAL="alacritty"
export BROWSER="qutebrowser"
export READER="zathura"
export FILE="ranger"
#+END_SRC
** Exports
*** Term
This is important for termite to work when sshing in remote machines.
#+begin_src bash
export TERM=xterm-color
#+end_src
*** XDG Default
#+begin_src bash
export XDG_CONFIG_HOME="$HOME/.config"
@ -316,16 +310,17 @@ export GOPATH=$HOME/go
export TEXMFHOME=$HOME/.local/share/texmf
#+end_src
*** Bitwarden Session
#+begin_src bash
export BW_SESSION="HH0yycfocRSuGtq/iW1e6v13PQ1sShMXbMhdb/En94S6OcIXFnJlLEyU+dySsmf2YShY4CImoB5FrxgdPsY9Qw=="
#+end_src
*** Python Path
#+begin_src bash
export PYTHONPATH="${PYTHONPATH}:/usr/lib/python3.9/site-packages/configobj"
#+end_src
*** Linkding
#+begin_src bash
export LINKDING_URL=`pass nas/linkding_url`
export LINKDING_TOKEN=`pass nas/linkding_token`
#+end_src
** Path
#+begin_src bash
PATH=$HOME/appimages:$PATH

View File

@ -11,22 +11,19 @@
:END:
#+begin_src bash :tangle ~/.local/bin/remote-desktop
computer=$(echo -e 'RNICE\nPCMEL1\nPCNASS1\nPCMEG01' | dmenu -p 'Computer:' -l 20);
computer=$(echo -e 'RNICE\nPCDEHAEZE\nPCNASS1' | rofi -dmenu -no-custom -p 'Computer:' -l 20);
dunstify --replace=89891 'Rdesktop' "Connection to ${computer}..."
case $computer in
PCMEL1)
xfreerdp /u:dehaeze /d:ESRF /clipboard /bpp:8 /bpp:16 /compression -themes -wallpaper /async-update /async-input -glyph-cache /audio-mode:1 /dynamic-resolution /auto-reconnect /p:$(pass ssl.esrf.fr/dehaeze | sed -n 1p) /v:PCMEL1.esrf.fr;
;;
PCMEG01)
xfreerdp /u:dehaeze /d:ESRF /clipboard /bpp:8 /bpp:16 /compression -themes -wallpaper /async-update /async-input -glyph-cache /audio-mode:1 /dynamic-resolution /auto-reconnect /p:$(pass ssl.esrf.fr/dehaeze | sed -n 1p) /v:PCMEG01.esrf.fr;
PCDEHAEZE)
xfreerdp /u:dehaeze /d:ESRF /clipboard /bpp:8 /bpp:16 /compression -themes -wallpaper /async-update /async-input -glyph-cache /audio-mode:1 /dynamic-resolution /auto-reconnect /p:$(pass esrf.fr/dehaeze | sed -n 1p) /v:PCDEHAEZE.esrf.fr > /tmp/freerdp_pcdehaeze.log 2>&1 &
;;
PCNASS1)
xfreerdp /u:dehaeze /d:ESRF /clipboard /bpp:8 /bpp:16 /compression -themes -wallpaper /async-update /async-input -glyph-cache /audio-mode:1 /dynamic-resolution /auto-reconnect /p:$(pass ssl.esrf.fr/dehaeze | sed -n 1p) /v:PCNASS1.esrf.fr;
xfreerdp /u:dehaeze /d:ESRF /clipboard /bpp:8 /bpp:16 /compression -themes -wallpaper /async-update /async-input -glyph-cache /audio-mode:1 /dynamic-resolution /auto-reconnect /p:$(pass esrf.fr/dehaeze | sed -n 1p) /v:PCNASS1.esrf.fr > /tmp/freerdp_pcnass1.log 2>&1 &
;;
RNICE)
xfreerdp /u:dehaeze /d:ESRF /clipboard /bpp:8 /bpp:16 /compression -themes -wallpaper /async-update /async-input -glyph-cache /audio-mode:1 /dynamic-resolution /auto-reconnect /p:$(pass ssl.esrf.fr/dehaeze | sed -n 1p) /v:rnice.esrf.fr;
xfreerdp /u:dehaeze /d:ESRF /clipboard /bpp:8 /bpp:16 /compression -themes -wallpaper /async-update /async-input -glyph-cache /audio-mode:1 /dynamic-resolution /auto-reconnect /p:$(pass esrf.fr/dehaeze | sed -n 1p) /v:rnice.esrf.fr > /tmp/freerdp_rnice.log 2>&1 &
;;
,*)
echo "Not existing" && \
@ -35,81 +32,103 @@ case $computer in
esac
#+end_src
* =mount-dir= - Mount/Unmout directories
#+begin_src text :tangle no
# <file system> <mount point> <type> <options> <dump> <pass>
homelab:/srv/storage/ /home/thomas/mnt/NAS fuse.sshfs noauto,allow_other,default_permissions 0 0
#+end_src
#+begin_src text :tangle no
# <file system> <mount point> <type> <options> <dump> <pass>
dehaeze@rnice:/tmp_14_days/ /home/thomas/mnt/ESRF fuse.sshfs noauto,allow_other,default_permissions 0 0
#+end_src
#+begin_src bash :tangle ~/.local/bin/mount-dir
drive=$(echo -e 'ESRF\nNAS' | rofi -dmenu -no-custom -p 'Drive:' -l 20);
if grep -qs "/home/thomas/mnt/$drive" /proc/mounts; then
umount "/home/thomas/mnt/$drive" && \
dunstify --replace=58249 "$drive " 'Successfully unmounted' || \
dunstify --replace=58249 --urgency=critical "$drive " 'Error while unmounted'
else
echo "It's not mounted."
mount "/home/thomas/mnt/$drive" && \
dunstify --replace=58249 "$drive " 'Successfully mounted' || \
dunstify --replace=58249 --urgency=critical "$drive " 'Error while mounted'
fi
#+end_src
* =screen-select= - Xrandr pre-defined scripts
:PROPERTIES:
:CUSTOM_ID: screen-select
:END:
#+begin_src bash :tangle ~/.local/bin/screen-select
option=$(echo -e "Work\nXPS\nHome" | rofi -i -dmenu)
after_screen_change () {
# Fix background if screen size/arangement has changed.
setbg
# Kill polybar
killall -q polybar
# Wait until the processes have been shut down
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
# Launch bars
polybar top &
}
case "$option" in
"Work")
xrandr --output eDP1 --off --output DP1 --off --output DP2 --off --output DP2-1 --off --output VIRTUAL1 --off --output DP2-2 --primary --mode 2560x1440 --pos 0x0 --rotate normal && \
after_screen_change
;;
"XPS")
xrandr --output DP1 --off --output DP2 --off --output DP2-1 --off --output VIRTUAL1 --off --output DP2-2 --off --output eDP1 --primary --mode 1920x1080 --pos 0x0 --rotate normal && \
after_screen_change
;;
"Home")
xrandr --output eDP1 --off --output DP1 --off --output DP2 --off --output DP2-2 --off --output VIRTUAL1 --off --output DP2-1 --primary --mode 2560x1440 --pos 0x0 --rotate normal && \
after_screen_change
;;
,*)
echo "== ! missing or invalid argument ! =="
exit 2
esac
exit 0
#+end_src
* =print-rnice= - Print on Rnice
:PROPERTIES:
:CUSTOM_ID: print-rnice
:END:
#+begin_src bash :tangle ~/.local/bin/print-rnice
nbpage=$(echo -e '1\n2\n4' | dmenu -p 'Number of pages per sheet' -l 20);
sides=$(echo -e 'one-sided\ntwo-sided-long-edge\ntwo-sided-short-edge' | dmenu -p 'Two Sided:' -l 20);
media=$(echo -e 'A4\nA3' | dmenu -p 'Size:' -l 20);
nbpage=$(echo -e '1\n2\n4' | rofi -dmenu -no-custom -p 'Number of pages per sheet' -l 20);
sides=$(echo -e 'one-sided\ntwo-sided-long-edge\ntwo-sided-short-edge' | rofi -dmenu -no-custom -p 'Two Sided:' -l 20);
media=$(echo -e 'A4\nA3' | rofi -dmenu -no-custom -p 'Size:' -l 20);
# First copy the file to Rnice
if sshpass -p "$(pass ssl.esrf.fr/dehaeze | sed -n 1p)" scp $1 dehaeze@rnice:~/Downloads/; then
if sshpass -p "$(pass esrf.fr/dehaeze | sed -n 1p)" scp $1 dehaeze@rnice:/home/esrf/dehaeze/Downloads/; then
# Then print on Rnice
sshpass -p "$(pass ssl.esrf.fr/dehaeze | sed -n 1p)" ssh dehaeze@rnice "lpr -o media=$media -o sides=$sides -o number-up=$nbpage -P ctb110c1u ~/Downloads/$1";
sshpass -p "$(pass esrf.fr/dehaeze | sed -n 1p)" ssh dehaeze@rnice "lpr -o media=$media -o sides=$sides -o number-up=$nbpage -P ctb127c1w \"/home/esrf/dehaeze/Downloads/$1\"";
# Finally, delete the file
else
echo "Command Failed"
fi
#+end_src
* =tmp14= - Mount/Umount tmp_14_days folder
:PROPERTIES:
:CUSTOM_ID: tmp14
:END:
#+begin_src bash :tangle ~/.local/bin/tmp_14_days
if [ $1 == "mount" ]; then
if sshfs -o allow_other,default_permissions -p 5022 dehaeze@firewall.esrf.fr:/tmp_14_days/ ~/mnt/ESRF; then
dunstify --replace=58249 'ESRF TMP ' 'Successfully mounted'
else
dunstify --replace=58249 --urgency=critical 'ESRF TMP ' 'Error while mounted'
fi
elif [ $1 == "umount" ]; then
if umount /home/thomas/mnt/ESRF/; then
dunstify --replace=58249 'ESRF TMP ' 'Successfully unmounted'
else
dunstify --replace=58249 --urgency=critical 'ESRF TMP ' 'Error while unmounted'
fi
fi
#+end_src
* =nas= - Interact with the NAS
:PROPERTIES:
:CUSTOM_ID: nas
:END:
As an alternative, =sshfs= can be used:
#+begin_src bash :tangle no
sshfs -o allow_other,default_permissions nas:/Data ~/mnt/NAS
#+end_src
#+begin_src bash :tangle ~/.local/bin/nas
if [ $1 == "mount" ]; then
if mount /home/thomas/mnt/NAS/; then
dunstify --replace=58249 'NAS ' 'Successfully mounted'
else
dunstify --replace=58249 --urgency=critical 'NAS ' 'Error while mounted'
fi
elif [ $1 == "umount" ]; then
if umount /home/thomas/mnt/NAS/; then
dunstify --replace=58249 'NAS ' 'Successfully unmounted'
else
dunstify --replace=58249 --urgency=critical 'NAS ' 'Error while unmounted'
fi
fi
#+end_src
* =torrent-add= - Download Torrent
:PROPERTIES:
:CUSTOM_ID: torrent-add
:END:
#+begin_src bash :tangle ~/.local/bin/torrent-add :noweb yes
transmission-remote <<get-password(passname="ip/grenoble")>>:9091 --auth tdehaeze:$(pass nas/transmission | sed -n 1p) -a $1 && \
transmission-remote <<get-password(passname="ip/homelab")>>:9091 --auth tdehaeze:$(pass nas/transmission | sed -n 1p) -a $1 && \
dunstify 'Torrent' 'Successfully added' || \
dunstify 'Torrent' 'Error'
#+end_src
@ -140,50 +159,6 @@ if [[ -f $1 && $1 == *.pdf ]]; then
fi
#+end_src
* =share= - Share file with self-hosted =transfer.sh=
:PROPERTIES:
:CUSTOM_ID: share
:END:
#+begin_src bash :tangle ~/.local/bin/share
if [ $TMUX ]; then
tmux split -v -l 1 "curl --progress-bar -F\"file=@$1\" https://file.tdehaeze.xyz/ | xsel -ib && dunstify 'Upload' 'Successful' || dunstify --urgency=critical 'Upload' 'Failed';" && tmux select-pane -U
else
curl --progress-bar -F"file=@$1" https://file.tdehaeze.xyz/ | xsel -ib && \
dunstify 'Upload' 'Successful' || \
dunstify --urgency=critical 'Upload' 'Failed'
fi
#+end_src
* =screen-select= - Xrandr pre-defined scripts
:PROPERTIES:
:CUSTOM_ID: screen-select
:END:
#+begin_src bash :tangle ~/.local/bin/screen-select
option=$(echo -e "Work\nXPS\nHome" | rofi -i -dmenu)
case "$option" in
"Work")
xrandr --output eDP1 --off --output DP1 --off --output DP1-1 --primary --mode 2560x1440 --pos 0x0 --rotate normal --output DP1-2 --off --output DP2 --off --output VIRTUAL1 --off
;;
"XPS")
xrandr --output eDP1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output DP1 --off --output DP1-1 --off --output DP1-2 --off --output DP2 --off --output VIRTUAL1 --off
;;
"Home")
xrandr --output eDP1 --off --output DP2-1 --primary --mode 2560x1440 --pos 0x0 --rotate normal --output DP1 --off --output VIRTUAL1 --off
;;
,*)
echo "== ! missing or invalid argument ! =="
exit 2
esac
setbg && \ # Fix background if screen size/arangement has changed.
polybar-msg cmd restart # restart polybar
exit 0
#+end_src
* =color-picker= - Pick color and copy to clipboard
:PROPERTIES:
:CUSTOM_ID: color-picker
@ -212,5 +187,5 @@ cd ~/Cloud/pdfs/ && ls | rofi -dmenu -lines 20 | xargs -I {} zathura {}
List all =pdf= files and open selected one with zathura.
#+begin_src bash :tangle ~/.local/bin/readnotes
cd ~/Cloud/brain/pdfs/ && ls | rofi -dmenu -lines 20 | xargs -I {} zathura {}
cd ~/Cloud/brain/pdfs/ && ls *.pdf | rofi -dmenu -lines 20 | xargs -I {} zathura {}
#+end_src

View File

@ -743,31 +743,45 @@ else
fi
#+end_src
* =linkhandler= - Open with Default application
* =linkhandler= - Open any URL with Default application
:PROPERTIES:
:CUSTOM_ID: linkhandler
:END:
Inspired from =linkhandler= script ([[https://github.com/LukeSmithxyz/voidrice/][github]]).
This is used to open any type of file with the wanted program.
It can be used in =newsboat=, =neomutt= and =ranger= for instance.
This is used to open any *url* with the wanted program.
#+begin_src bash :tangle ~/.local/bin/linkhandler
[ -z "$1" ] && { "$BROWSER"; exit; }
case "$1" in
,*mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*)
setsid mpv --input-ipc-server=/tmp/mpvsoc$(date +%s) -quiet "$1" >/dev/null 2>&1 & ;;
,*png|*jpg|*jpe|*jpeg|*gif)
curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///")" && sxiv -a "/tmp/$(echo "$1" | sed "s/.*\///")" >/dev/null 2>&1 & ;;
,*mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*|*gif)
setsid mpv -quiet "$1" >/dev/null 2>&1 & ;;
,*png|*jpg|*jpe|*jpeg)
curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" && sxiv -a "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 & ;;
,*pdf|*cbz|*cbr)
curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" && zathura "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 & ;;
,*svg)
curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" && inkview "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 & ;;
,*mp3|*flac|*opus|*mp3?source*)
setsid curl -LO "$1" >/dev/null 2>&1 & ;;
,*)
if [ -f "$1" ]; then "$TERMINAL" -e "$EDITOR $1"
else setsid $BROWSER "$1" >/dev/null 2>&1 & fi ;;
[ -f "$1" ] && setsid -f "$TERMINAL" -e "$EDITOR" "$1" >/dev/null 2>&1 || setsid -f "$BROWSER" "$1" >/dev/null 2>&1
esac
#+end_src
* =open= - Open any file using =rifle=
:PROPERTIES:
:CUSTOM_ID: filehandler
:END:
Simple alternative to =xdg-open=, uses the =rifle= program included with =ranger=.
The default applications are listed [[file:ranger.org::#rifle][here]].
#+begin_src bash :tangle ~/.local/bin/open
rifle -p $(rifle -l "$1" | rofi -dmenu -i | sed -n -e 's/\([0-9]*\):.*/\1/p') "$1"
#+end_src
* =lockscreen= - Lock Screen
:PROPERTIES:
:CUSTOM_ID: lockscreen
@ -917,19 +931,46 @@ if [[ -f "$1" && "$1" == *.pdf ]]; then
fi
#+end_src
* =convert-file= - Convert any file to another filetype
* TODO =convert-file= - Convert any file to another filetype
:PROPERTIES:
:CUSTOM_ID: convert-file
:header-args: :tangle ~/.local/bin/convert-file
:END:
#+begin_src bash :tangle ~/.local/bin/convert-file
** Get basic information about the file
#+begin_src bash
# Get filename
filename_with_extension=$(basename -- "$1")
# Extract extension of the file
in_ext="${filename_with_extension##*.}"
# filename without extension
filename_without_extension=${filename_with_extension%.*}
#+end_src
** SVG files
List of useful programs:
- =inkscape=
*** SVG to PNG
#+begin_src bash
svg2png_function() { \
if command -v inkscape &> /dev/null; then
inkscape --export-type="$out_ext" --export-dpi=200 --export-area-drawing "$filename_with_extension"
fi
}
#+end_src
*** SVG to PDF
#+begin_src bash
svg2pdf_function() { \
if command -v inkscape &> /dev/null; then
inkscape --export-type="$out_ext" "$filename_with_extension"
fi
}
#+end_src
*** Main function
#+begin_src bash
# Convert SVG Files
svg2() { \
out_ext=$(echo -e "pdf\npng" | rofi -i -dmenu -p "Convert SVG to")
@ -940,36 +981,220 @@ svg2() { \
case "$out_ext" in
"png")
inkscape --export-type="$out_ext" --export-dpi=200 --export-area-drawing "$filename_with_extension"
svg2png_function
;;
"pdf")
inkscape --export-type="$out_ext" "$filename_with_extension"
# pdf2svg file.pdf file.svg
svg2pdf_function
;;
esac
}
#+end_src
** PDF files
List of useful programs:
- =pdftocairo=
- =pdftoppm=
- =convert=
- =inkscape=
- =gs=
- =pdfcrop=
- =pdftk=
*** PDF to PNG
#+begin_src bash
pdf2png_function() { \
if command -v pdftocairo &> /dev/null; then
pdftocairo -png -singlefile -cropbox "$filename_with_extension" "$filename_without_extension"
elif command -v pdftoppm &> /dev/null; then
pdftoppm -png "$filename_with_extension" > "$filename_without_extension.png"
elif command -v convert &> /dev/null; then
convert -density 100 -trim -antialias "$filename_with_extension" -quality 100 "$filename_without_extension.png"
elif command -v inkscape &> /dev/null; then
inkscape --export-type="$out_ext" --export-dpi=200 --export-area-drawing "$filename_with_extension"
fi
}
#+end_src
*** PDF to SVG
#+begin_src bash
pdf2svg_function() { \
if command -v pdftocairo &> /dev/null; then
pdftocairo -svg "$filename_with_extension" "$filename_without_extension.svg"
elif command -v pdf2svg &> /dev/null; then
pdf2svg "$filename_with_extension" "$filename_without_extension.svg"
elif command -v inkscape &> /dev/null; then
inkscape --export-type="$out_ext" "$filename_with_extension"
fi
}
#+end_src
*** PDF Reduce Size
#+begin_src bash
pdfreduce_function() { \
if command -v gs &> /dev/null; then
# Maybe ask for new filename?
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile="$filename_without_extension.red.pdf" "$filename_with_extension"
fi
}
#+end_src
*** PDF Trim
#+begin_src bash
pdftrim_function() { \
if command -v pdfcrop &> /dev/null; then
pdfcrop "$filename_with_extension" "$filename_with_extension"
fi
}
#+end_src
*** PDF Extract Pages
#+begin_src bash
pdfextract_function() { \
if command -v pdftk &> /dev/null; then
pages=$(echo -e "get first\ndelete first\nextract i-j" | rofi -i -dmenu -p "Extract pages")
if [ -z "$pages" ]; then
exit;
fi
case "$pages" in
"get first")
if command -v pdftk &> /dev/null; then
pdftk "$filename_with_extension" cat 1-1 output "$filename_without_extension.first.pdf"
fi
;;
"delete first")
if command -v pdftk &> /dev/null; then
pdftk "$filename_with_extension" cat 2-end output "$filename_with_extension"
fi
;;
"extract i-j")
# TODO
page_i=$(rofi -dmenu -p "From")
page_j=$(rofi -dmenu -p "To")
if command -v pdftk &> /dev/null; then
pdftk "$filename_with_extension" cat "$page_i-$page_j" output "$filename_with_extension.slice.pdf"
fi
;;
esac
fi
}
#+end_src
*** Delete First Page
#+begin_src bash
pdf_delete_first_page_function() { \
if command -v stapler &> /dev/null; then
stapler del "$filename_with_extension" 1 /tmp/pdftk_out.pdf && mv /tmp/pdftk_out.pdf "$filename_with_extension"
elif command -v pdftk &> /dev/null; then
pdftk "$filename_with_extension" cat 2-end output /tmp/pdftk_out.pdf && mv /tmp/pdftk_out.pdf "$filename_with_extension"
fi
}
#+end_src
*** Remove Annotations
#+begin_src bash
pdf_remove_annotations_function() { \
if command -v pdftk &> /dev/null; then
pdftk "$filename_with_extension" output /tmp/uncompressed.pdf uncompress
LANG=C sed -n '/^\/Annots/!p' /tmp/uncompressed.pdf > /tmp/stripped.pdf
pdftk /tmp/stripped.pdf output "$filename_with_extension" compress
fi
}
#+end_src
*** Main function
#+begin_src bash
# Convert PDF Files
pdf2() { \
out_ext=$(echo -e "svg\npng\nreduce" | rofi -i -dmenu -p "Convert PDF to")
out_ext=$(echo -e "svg\npng\nreduce size\ntrim\nextract pages\ndelete first page\nremove annotations" | rofi -i -dmenu -p "Convert PDF to")
if [ -z "$out_ext" ]; then
exit;
fi
case "$out_ext" in
"png")
inkscape --export-type="$out_ext" --export-dpi=200 --export-area-drawing "$filename_with_extension"
;;
"reduce")
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile="$filename_without_extension.red.pdf" "$filename_with_extension"
;;
"svg")
inkscape --export-type="$out_ext" "$filename_with_extension"
pdf2svg_function
;;
"png")
pdf2png_function
;;
"reduce size")
pdfreduce_function
;;
"trim")
pdftrim_function
;;
"extract pages")
pdfextract_function
;;
"delete first page")
pdf_delete_first_page_function
;;
"remove annotations")
pdf_remove_annotations_function
;;
esac
}
#+end_src
** DVI files
List of useful programs:
- =dvisvgm=
- =dvipng=
*** DVI to PNG
#+begin_src bash
dvi2png_function() { \
if command -v dvipng &> /dev/null; then
dvipng "$filename_with_extension"
fi
}
#+end_src
*** DVI to SVG
#+begin_src bash
dvi2svg_function() { \
if command -v dvisvgm &> /dev/null; then
dvisvgm "$filename_with_extension" -o "$filename_without_extension.svg"
fi
}
#+end_src
*** Main function
#+begin_src bash
# Convert DVI Files
dvi2() { \
out_ext=$(echo -e "svg\npng" | rofi -i -dmenu -p "Convert DVI to")
if [ -z "$out_ext" ]; then
exit;
fi
case "$out_ext" in
"svg")
dvi2svg_function
;;
"png")
dvi2png_function
;;
esac
}
#+end_src
** DOCX/PTTX files
*** DOC to PDF
#+begin_src bash
doc2pdf_function() { \
if command -v lowriter &> /dev/null; then
lowriter --convert-to pdf "$filename_with_extension"
fi
}
#+end_src
*** Main function
#+begin_src bash
# Convert DOCX/PPTX Files
docx2() { \
out_ext=$(echo -e "pdf" | rofi -i -dmenu -p "Convert DOCX/PPTX to")
@ -980,11 +1205,24 @@ docx2() { \
case "$out_ext" in
"pdf")
lowriter --convert-to pdf "$filename_with_extension"
doc2pdf_function
;;
esac
}
#+end_src
** GIF files
*** GIF to PNG
#+begin_src bash
gif2png_function() { \
if command -v convert &> /dev/null; then
convert -coalesce "$filename_with_extension" "$filename_without_extension.png"
fi
}
#+end_src
*** Main function
#+begin_src bash
# Convert GIF Files
gif2() { \
out_ext=$(echo -e "png" | rofi -i -dmenu -p "Convert GIF to")
@ -995,14 +1233,61 @@ gif2() { \
case "$out_ext" in
"png")
convert -coalesce "$filename_with_extension" "$filename_without_extension.png"
gif2png_function
;;
esac
}
#+end_src
** PNG files
*** PNG to PDF
#+begin_src bash
png2pdf_function() { \
if command -v convert &> /dev/null; then
convert "$filename_with_extension" "$filename_without_extension.pdf"
fi
}
#+end_src
*** PNG to JPG
#+begin_src bash
png2jpg_function() { \
if command -v convert &> /dev/null; then
convert "$filename_with_extension" "$filename_without_extension.jpg"
fi
}
#+end_src
*** PNG Trim
#+begin_src bash
pngtrim_function() { \
if command -v convert &> /dev/null; then
convert -trim "$filename_with_extension" "$filename_with_extension"
fi
}
#+end_src
*** PNG Resize
#+begin_src bash
pngresize_function() { \
if command -v convert &> /dev/null; then
size_type=$(echo -e "width\nheight" | rofi -i -dmenu -p "Maximum:")
size_px=$(rofi -dmenu -p "Number of px:")
if [ "$size_type" = "width" ]; then
convert -resize "$size_px"x "$filename_with_extension" "$filename_with_extension"
elif [ "$size_type" = "height" ]; then
convert -resize x"$size_px" "$filename_with_extension" "$filename_with_extension"
fi
fi
}
#+end_src
*** Main function
#+begin_src bash
# Convert PNG Files
png2() { \
out_ext=$(echo -e "pdf\ntrim" | rofi -i -dmenu -p "Convert PNG to")
out_ext=$(echo -e "pdf\njpg\ntrim\nresize" | rofi -i -dmenu -p "Convert PNG to")
if [ -z "$out_ext" ]; then
exit;
@ -1010,14 +1295,92 @@ png2() { \
case "$out_ext" in
"pdf")
convert "$filename_with_extension" "$filename_without_extension.pdf"
png2pdf_function
;;
"jpg")
png2jpg_function
;;
"trim")
convert -trim "$filename_with_extension" "$filename_with_extension" # Maybe should ask new filename
pngtrim_function
;;
"resize")
pngresize_function
;;
esac
}
#+end_src
** JPG files
*** JPG to PDF
#+begin_src bash
jpg2pdf_function() { \
if command -v convert &> /dev/null; then
convert "$filename_with_extension" "$filename_without_extension.pdf"
fi
}
#+end_src
*** JPG Resize
#+begin_src bash
jpgresize_function() { \
if command -v convert &> /dev/null; then
size_type=$(echo -e "width\nheight" | rofi -i -dmenu -p "Maximum:")
size_px=$(rofi -dmenu -p "Number of px:")
if [ "$size_type" = "width" ]; then
convert -resize "$size_px"x "$filename_with_extension" "$filename_with_extension"
elif [ "$size_type" = "height" ]; then
convert -resize x"$size_px" "$filename_with_extension" "$filename_with_extension"
fi
fi
}
#+end_src
*** Main function
#+begin_src bash
# Convert JPG Files
jpg2() { \
out_ext=$(echo -e "pdf\nresize" | rofi -i -dmenu -p "Convert JPG to")
if [ -z "$out_ext" ]; then
exit;
fi
case "$out_ext" in
"pdf")
jpg2pdf_function
;;
"resize")
jpgresize_function
;;
esac
}
#+end_src
** MP4 files
*** MP4 to GIF
#+begin_src bash
mp42gif_function() { \
if command -v ffmpeg &> /dev/null; then
palette="/tmp/palette.png"
width=$(echo -e "auto" | rofi -i -dmenu -p "GIF width")
if [ "$width" = "auto" ]; then
filters="fps=15"
else
filters="fps=15,scale=$width:-1:flags=lanczos"
fi
# Generate optimal pallette of colors
ffmpeg -v warning -i "$filename_with_extension" -vf "$filters,palettegen" -y $palette
# Convert
ffmpeg -v warning -i "$filename_with_extension" -i $palette -lavfi "$filters [x]; [x][1:v] paletteuse" -y "$filename_without_extension.gif"
fi
}
#+end_src
*** Main function
#+begin_src bash
# Convert MP4 Files
mp42() { \
out_ext=$(echo -e "gif" | rofi -i -dmenu -p "Convert MP4 to")
@ -1028,11 +1391,14 @@ mp42() { \
case "$out_ext" in
"gif")
make-gif "$filename_with_extension" "$filename_without_extension.gif"
mp42gif_function
;;
esac
}
#+end_src
** Case statement
#+begin_src bash
case "$in_ext" in
"svg")
svg2
@ -1040,6 +1406,9 @@ case "$in_ext" in
"gif")
gif2
;;
"dvi")
dvi2
;;
"pdf")
pdf2
;;
@ -1049,6 +1418,12 @@ case "$in_ext" in
"png")
png2
;;
"jpg")
jpg2
;;
"jpeg")
jpg2
;;
"docx")
docx2
;;

View File

@ -21,7 +21,7 @@ conflict_resolution = "a wins"
type = "caldav"
url = "https://radicale.tdehaeze.xyz/tdehaeze/"
username = "tdehaeze"
password = "<<get-password(passname="radicale.tdehaeze.xyz/tdehaeze")>>"
password = "<<get-password(passname='radicale.tdehaeze.xyz/tdehaeze')>>"
[storage radicale_calendar_local]
type = "filesystem"
@ -38,7 +38,7 @@ conflict_resolution = "a wins"
type = "caldav"
url = "https://calendar.esrf.fr/egroupware/groupdav.php/calendar"
username = "dehaeze"
password = "<<get-password(passname="ce-esrf.fr/dehaeze")>>"
password = "<<get-password(passname='esrf.fr/dehaeze')>>"
[storage esrf_calendar_local]
type = "filesystem"
@ -60,7 +60,7 @@ fileext = ".vcf"
type = "carddav"
url = "https://radicale.tdehaeze.xyz/tdehaeze/"
username = "tdehaeze"
password = "<<get-password(passname="radicale.tdehaeze.xyz/tdehaeze")>>"
password = "<<get-password(passname='radicale.tdehaeze.xyz/tdehaeze')>>"
#+END_SRC
* =khal= - CLI calendar application
@ -163,3 +163,32 @@ search_in_source_files = no
# skip unparsable vcard files: yes / no
skip_unparsable = no
#+END_SRC
* =ics-add= - Add ICS file to Khal
:PROPERTIES:
:CUSTOM_ID: ics-add
:header-args:bash: :comments both :mkdirp yes
:header-args:bash+: :shebang "#!/usr/bin/env bash"
:header-args:bash+: :tangle-mode (identity #o555)
:header-args:bash+: :tangle ~/.local/bin/ics-add
:END:
This function is useful to easily add an event to =khal=.
It is for instance used in the =mutt= configuration.
To share an event by email, the currently best way to proceed is to first find the event on =khal=, press =e= to export it to a file, and then add this file as an attachment.
#+begin_src bash
if [[ -f $1 ]]; then
resp=$(echo -e "yes\nno" | rofi -i -only-match -dmenu -p "Would you like to add the event:" -mesg "`khal printics $1 | tail -n +2`")
if [[ "$resp" == "yes" ]]; then
calendar=$(echo "`khal printcalendars`" | rofi -i -only-match -dmenu -p "Save to:")
if [ -z "$calendar" ]; then
exit;
fi
khal import -a "$calendar" --batch $1 && \
dunstify "Calendar" "Even added";
fi
fi
#+end_src

View File

@ -10,14 +10,26 @@
#+begin_src conf :noweb yes
AddKeysToAgent yes
Host grenoble
hostname <<get-password(passname="ip/grenoble")>>
Host homelab
hostname <<get-password(passname="ip/homelab")>>
Port 22
user thomas
IdentityFile ~/.ssh/id_rsa
Host router
hostname 192.168.1.1
Port 22
user root
IdentityFile ~/.ssh/id_rsa
Host smarttv
hostname 192.168.1.73
Port 22
user thomas
IdentityFile ~/.ssh/id_rsa
Host oneplus
hostname 192.168.1.58
hostname 192.168.1.101
Port 8022
IdentityFile ~/.ssh/id_rsa
#+end_src
@ -727,7 +739,7 @@ password <<get-password(passname="syncthing.tdehaeze.xyz/tdehaeze")>>
machine torrent.tdehaeze.xyz
login tdehaeze
password <<get-password(passname="torrent.tdehaeze.xyz/tdehaeze")>>
password <<get-password(passname="nas/transmission")>>
machine dl.tdehaeze.xyz
login tdehaeze
@ -748,6 +760,14 @@ password <<get-password(passname="adguardhome.tdehaeze.xyz/tdehaeze")>>
machine qobuz.tdehaeze.xyz
login tdehaeze
password <<get-password(passname="qobuz.tdehaeze.xyz/tdehaeze")>>
machine down.tdehaeze.xyz
login tdehaeze
password <<get-password(passname="down.tdehaeze.xyz/tdehaeze")>>
machine joal.tdehaeze.xyz
login tdehaeze
password <<get-password(passname="joal.tdehaeze.xyz/tdehaeze")>>
#+end_src
* =bukurun= Rofi Frontend for Buku (Bookmark Manager)

114
docs/alacritty.html Normal file
View File

@ -0,0 +1,114 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-06-20 dim. 14:22 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Alacritty Configuration</title>
<meta name="author" content="Dehaeze Thomas" />
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="./dist/style.css"/>
<script type="text/javascript" src="./dist/script.js"></script>
</head>
<body>
<div id="org-div-home-and-up">
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content">
<h1 class="title">Alacritty Configuration</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgacd2147">Fonts</a></li>
<li><a href="#org7f71f2d">Colors</a></li>
</ul>
</div>
</div>
<div id="outline-container-orgacd2147" class="outline-2">
<h2 id="orgacd2147">Fonts</h2>
<div class="outline-text-2" id="text-orgacd2147">
<div class="org-src-container">
<pre class="src src-yaml"><span class="org-variable-name">font</span>:
<span class="org-variable-name">normal</span>:
<span class="org-variable-name">family</span>: Hack Nerd Font Mono
<span class="org-variable-name">style</span>: Regular
<span class="org-variable-name">bold</span>:
<span class="org-variable-name">family</span>: Hack Nerd Font Mono
<span class="org-variable-name">style</span>: Bold
<span class="org-variable-name">italic</span>:
<span class="org-variable-name">family</span>: Hack Nerd Font Mono
<span class="org-variable-name">style</span>: Italic
<span class="org-variable-name">bold_italic</span>:
<span class="org-variable-name">family</span>: Hack Nerd Font Mono
<span class="org-variable-name">style</span>: Bold Italic
<span class="org-variable-name">size</span>: 10.0
</pre>
</div>
</div>
</div>
<div id="outline-container-org7f71f2d" class="outline-2">
<h2 id="org7f71f2d">Colors</h2>
<div class="outline-text-2" id="text-org7f71f2d">
<div class="org-src-container">
<pre class="src src-yaml"><span class="org-variable-name">colors</span>:
<span class="org-variable-name">primary</span>:
<span class="org-variable-name">background</span>: <span class="org-function-name">&amp;gruvbox_dark_bg</span> <span class="org-string">'#32302f'</span>
<span class="org-variable-name">foreground</span>: <span class="org-string">'#fbf1c7'</span>
<span class="org-variable-name">bright_foreground</span>: <span class="org-string">'#f9f5d7'</span>
<span class="org-variable-name">dim_foreground</span>: <span class="org-string">'#f2e5bc'</span>
<span class="org-variable-name">cursor</span>:
<span class="org-variable-name">text</span>: CellBackground
<span class="org-variable-name">cursor</span>: CellForeground
<span class="org-variable-name">vi_mode_cursor</span>:
<span class="org-variable-name">text</span>: CellBackground
<span class="org-variable-name">cursor</span>: CellForeground
<span class="org-variable-name">selection</span>:
<span class="org-variable-name">text</span>: CellBackground
<span class="org-variable-name">background</span>: CellForeground
<span class="org-variable-name">bright</span>:
<span class="org-variable-name">black</span>: <span class="org-string">'#928374'</span>
<span class="org-variable-name">red</span>: <span class="org-string">'#fb4934'</span>
<span class="org-variable-name">green</span>: <span class="org-string">'#b8bb26'</span>
<span class="org-variable-name">yellow</span>: <span class="org-string">'#fabd2f'</span>
<span class="org-variable-name">blue</span>: <span class="org-string">'#83a598'</span>
<span class="org-variable-name">magenta</span>: <span class="org-string">'#d3869b'</span>
<span class="org-variable-name">cyan</span>: <span class="org-string">'#8ec07c'</span>
<span class="org-variable-name">white</span>: <span class="org-string">'#ebdbb2'</span>
<span class="org-variable-name">normal</span>:
<span class="org-variable-name">black</span>: <span class="org-function-name">*gruvbox_dark_bg</span>
<span class="org-variable-name">red</span>: <span class="org-string">'#cc241d'</span>
<span class="org-variable-name">green</span>: <span class="org-string">'#98971a'</span>
<span class="org-variable-name">yellow</span>: <span class="org-string">'#d79921'</span>
<span class="org-variable-name">blue</span>: <span class="org-string">'#458588'</span>
<span class="org-variable-name">magenta</span>: <span class="org-string">'#b16286'</span>
<span class="org-variable-name">cyan</span>: <span class="org-string">'#689d6a'</span>
<span class="org-variable-name">white</span>: <span class="org-string">'#a89984'</span>
<span class="org-variable-name">dim</span>:
<span class="org-variable-name">black</span>: <span class="org-string">'#32302f'</span>
<span class="org-variable-name">red</span>: <span class="org-string">'#9d0006'</span>
<span class="org-variable-name">green</span>: <span class="org-string">'#79740e'</span>
<span class="org-variable-name">yellow</span>: <span class="org-string">'#b57614'</span>
<span class="org-variable-name">blue</span>: <span class="org-string">'#076678'</span>
<span class="org-variable-name">magenta</span>: <span class="org-string">'#8f3f71'</span>
<span class="org-variable-name">cyan</span>: <span class="org-string">'#427b58'</span>
<span class="org-variable-name">white</span>: <span class="org-string">'#928374'</span>
</pre>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-06-20 dim. 14:22</p>
</div>
</body>
</html>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-05-02 dim. 11:26 -->
<!-- 2021-06-20 dim. 14:21 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Android Phone</title>
<meta name="author" content="Dehaeze Thomas" />
@ -33,6 +33,7 @@
<li><a href="#org41948b1">Favorite Apps</a></li>
<li><a href="#orgb68380c">Tutorials</a>
<ul>
<li><a href="#org246c824">Backup</a></li>
<li><a href="#org895b996">Connect to the phone by SSH</a></li>
</ul>
</li>
@ -472,6 +473,23 @@ Tutorial: <a href="https://www.youtube.com/watch?v=3pxOeiIBrHI">https://www.yout
<h2 id="orgb68380c">Tutorials</h2>
<div class="outline-text-2" id="text-orgb68380c">
</div>
<div id="outline-container-org246c824" class="outline-3">
<h3 id="org246c824">Backup</h3>
<div class="outline-text-3" id="text-org246c824">
<p>
I use <code>adb backup</code> to backup the phone (<a href="https://forum.xda-developers.com/t/guide-full-phone-backup-without-unlock-or-root.1420351/">guide</a>).
</p>
<p>
Basically, I have to run:
</p>
<div class="org-src-container">
<pre class="src src-bach">adb backup -apk -shared -all -f ~/Cloud/android/backup/backup_$(date +"%Y_%m_%d").ab
</pre>
</div>
</div>
</div>
<div id="outline-container-org895b996" class="outline-3">
<h3 id="org895b996">Connect to the phone by SSH</h3>
<div class="outline-text-3" id="text-org895b996">
@ -488,7 +506,7 @@ An other option would be to use Wireguard and shen to <code>ssh</code>.
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-05-02 dim. 11:26</p>
<p class="date">Created: 2021-06-20 dim. 14:21</p>
</div>
</body>
</html>

View File

@ -3,11 +3,11 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-01-08 ven. 01:40 -->
<!-- 2021-10-25 lun. 14:33 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Bash Configuration</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Dehaeze Thomas" />
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="./dist/style.css"/>
<script type="text/javascript" src="./dist/script.js"></script>
</head>
@ -16,11 +16,11 @@
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content">
</div><div id="content" class="content">
<h1 class="title">Bash Configuration</h1>
<div id="table-of-contents">
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#bashrc"><code>~/.bashrc</code></a>
<ul>
@ -63,13 +63,12 @@
<li><a href="#org10b40b3">Export some default applications</a></li>
<li><a href="#orgf65a830">Exports</a>
<ul>
<li><a href="#org64e2de8">Term</a></li>
<li><a href="#org0fa2d26">XDG Default</a></li>
<li><a href="#org51055fb">Use Ripgrep for FZF</a></li>
<li><a href="#org08d14fc">Goland</a></li>
<li><a href="#org18f49cf">Latex Path</a></li>
<li><a href="#org992e4cf">Bitwarden Session</a></li>
<li><a href="#org6bdbd18">Python Path</a></li>
<li><a href="#org2895615">Linkding</a></li>
</ul>
</li>
<li><a href="#org8a10d32">Path</a></li>
@ -496,7 +495,7 @@ Enable the keyring for applications run through the terminal
<div class="outline-text-3" id="text-org10b40b3">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-builtin">export</span> <span class="org-variable-name">EDITOR</span>=<span class="org-string">"nvim"</span>
<span class="org-builtin">export</span> <span class="org-variable-name">TERMINAL</span>=<span class="org-string">"termite"</span>
<span class="org-builtin">export</span> <span class="org-variable-name">TERMINAL</span>=<span class="org-string">"alacritty"</span>
<span class="org-builtin">export</span> <span class="org-variable-name">BROWSER</span>=<span class="org-string">"qutebrowser"</span>
<span class="org-builtin">export</span> <span class="org-variable-name">READER</span>=<span class="org-string">"zathura"</span>
<span class="org-builtin">export</span> <span class="org-variable-name">FILE</span>=<span class="org-string">"ranger"</span>
@ -509,19 +508,6 @@ Enable the keyring for applications run through the terminal
<h3 id="orgf65a830">Exports</h3>
<div class="outline-text-3" id="text-orgf65a830">
</div>
<div id="outline-container-org64e2de8" class="outline-4">
<h4 id="org64e2de8">Term</h4>
<div class="outline-text-4" id="text-org64e2de8">
<p>
This is important for termite to work when sshing in remote machines.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-builtin">export</span> <span class="org-variable-name">TERM</span>=xterm-color
</pre>
</div>
</div>
</div>
<div id="outline-container-org0fa2d26" class="outline-4">
<h4 id="org0fa2d26">XDG Default</h4>
<div class="outline-text-4" id="text-org0fa2d26">
@ -563,16 +549,6 @@ This is important for termite to work when sshing in remote machines.
</div>
</div>
<div id="outline-container-org992e4cf" class="outline-4">
<h4 id="org992e4cf">Bitwarden Session</h4>
<div class="outline-text-4" id="text-org992e4cf">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-builtin">export</span> <span class="org-variable-name">BW_SESSION</span>=<span class="org-string">"HH0yycfocRSuGtq/iW1e6v13PQ1sShMXbMhdb/En94S6OcIXFnJlLEyU+dySsmf2YShY4CImoB5FrxgdPsY9Qw=="</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org6bdbd18" class="outline-4">
<h4 id="org6bdbd18">Python Path</h4>
<div class="outline-text-4" id="text-org6bdbd18">
@ -582,6 +558,17 @@ This is important for termite to work when sshing in remote machines.
</div>
</div>
</div>
<div id="outline-container-org2895615" class="outline-4">
<h4 id="org2895615">Linkding</h4>
<div class="outline-text-4" id="text-org2895615">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-builtin">export</span> <span class="org-variable-name">LINKDING_URL</span>=<span class="org-string">"localhost:9090"</span>
<span class="org-builtin">export</span> <span class="org-variable-name">LINKDING_TOKEN</span>=<span class="org-sh-quoted-exec">`pass nas/linkding_token`</span>
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-org8a10d32" class="outline-3">
@ -691,7 +678,7 @@ Don&rsquo;t echo <code>^C</code> after <code>Ctrl+C</code> is pressed.
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-01-08 ven. 01:40</p>
<p class="date">Created: 2021-10-25 lun. 14:33</p>
</div>
</body>
</html>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-05-02 dim. 11:26 -->
<!-- 2021-10-25 lun. 14:33 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>My own specific binaries</title>
<meta name="author" content="Dehaeze Thomas" />
@ -16,11 +16,11 @@
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content">
</div><div id="content" class="content">
<h1 class="title">My own specific binaries</h1>
<div id="table-of-contents">
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#remote-desktop"><code>remote-desktop</code> - Remote Desktop Connect</a></li>
<li><a href="#print-rnice"><code>print-rnice</code> - Print on Rnice</a></li>
@ -29,7 +29,6 @@
<li><a href="#torrent-add"><code>torrent-add</code> - Download Torrent</a></li>
<li><a href="#dl-add"><code>dl-add</code> - Direct Download with Aria2</a></li>
<li><a href="#note-extract-fig"><code>note-extract-fig</code> - Extract Figure from note file</a></li>
<li><a href="#share"><code>share</code> - Share file with self-hosted <code>transfer.sh</code></a></li>
<li><a href="#screen-select"><code>screen-select</code> - Xrandr pre-defined scripts</a></li>
<li><a href="#color-picker"><code>color-picker</code> - Pick color and copy to clipboard</a></li>
<li><a href="#readbib"><code>readbib</code> - Open Bibliography File</a></li>
@ -78,9 +77,9 @@ dunstify --replace=<span class="org-highlight-numbers-number">89891</span> <span
<span class="org-variable-name">media</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">'A4\nA3'</span> | dmenu -p <span class="org-string">'Size:'</span> -l <span class="org-highlight-numbers-number">20</span><span class="org-rainbow-delimiters-depth-1">)</span>;
<span class="org-comment-delimiter"># </span><span class="org-comment">First copy the file to Rnice</span>
<span class="org-keyword">if</span> sshpass -p <span class="org-string">"</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">pass</span><span class="org-string"><span class="org-sh-quoted-exec"> ssl.esrf.fr/dehaeze | sed -n 1p)</span></span><span class="org-string">"</span> scp $<span class="org-highlight-numbers-number">1</span> dehaeze@rnice:~/Downloads/; <span class="org-keyword">then</span>
<span class="org-keyword">if</span> sshpass -p <span class="org-string">"</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">pass</span><span class="org-string"><span class="org-sh-quoted-exec"> esrf.fr/dehaeze | sed -n 1p)</span></span><span class="org-string">"</span> scp $<span class="org-highlight-numbers-number">1</span> dehaeze@rnice:/home/esrf/dehaeze/Downloads/; <span class="org-keyword">then</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Then print on Rnice</span>
sshpass -p <span class="org-string">"</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">pass</span><span class="org-string"><span class="org-sh-quoted-exec"> ssl.esrf.fr/dehaeze | sed -n 1p)</span></span><span class="org-string">"</span> ssh dehaeze@rnice <span class="org-string">"lpr -o media=</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">media</span></span><span class="org-string"> -o sides=</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">sides</span></span><span class="org-string"> -o number-up=</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">nbpage</span></span><span class="org-string"> -P ctb110c1u ~/Downloads/</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span>;
sshpass -p <span class="org-string">"</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">pass</span><span class="org-string"><span class="org-sh-quoted-exec"> esrf.fr/dehaeze | sed -n 1p)</span></span><span class="org-string">"</span> ssh dehaeze@rnice <span class="org-string">"lpr -o media=</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">media</span></span><span class="org-string"> -o sides=</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">sides</span></span><span class="org-string"> -o number-up=</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">nbpage</span></span><span class="org-string"> -P ctb127c1w \"/home/esrf/dehaeze/Downloads/</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">\""</span>;
<span class="org-comment-delimiter"># </span><span class="org-comment">Finally, delete the file</span>
<span class="org-keyword">else</span>
<span class="org-type">echo</span> <span class="org-string">"Command Failed"</span>
@ -126,13 +125,13 @@ As an alternative, <code>sshfs</code> can be used:
<div class="org-src-container">
<pre class="src src-bash"><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span> $<span class="org-highlight-numbers-number">1</span> == <span class="org-string">"mount"</span> <span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">if</span> mount /home/thomas/mnt/NAS/; <span class="org-keyword">then</span>
<span class="org-keyword">if</span> sshfs -o allow_other,default_permissions homelab:/srv/storage/ ~/mnt/NAS; <span class="org-keyword">then</span>
dunstify --replace=<span class="org-highlight-numbers-number">58249</span> <span class="org-string">'NAS &#62003;'</span> <span class="org-string">'Successfully mounted'</span>
<span class="org-keyword">else</span>
dunstify --replace=<span class="org-highlight-numbers-number">58249</span> --urgency=critical <span class="org-string">'NAS &#62003;'</span> <span class="org-string">'Error while mounted'</span>
<span class="org-keyword">fi</span>
<span class="org-keyword">elif</span> <span class="org-rainbow-delimiters-depth-1">[</span> $<span class="org-highlight-numbers-number">1</span> == <span class="org-string">"umount"</span> <span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">if</span> umount /home/thomas/mnt/NAS/; <span class="org-keyword">then</span>
<span class="org-keyword">if</span> umount ~/mnt/NAS/; <span class="org-keyword">then</span>
dunstify --replace=<span class="org-highlight-numbers-number">58249</span> <span class="org-string">'NAS &#62003;'</span> <span class="org-string">'Successfully unmounted'</span>
<span class="org-keyword">else</span>
dunstify --replace=<span class="org-highlight-numbers-number">58249</span> --urgency=critical <span class="org-string">'NAS &#62003;'</span> <span class="org-string">'Error while unmounted'</span>
@ -147,7 +146,7 @@ As an alternative, <code>sshfs</code> can be used:
<h2 id="torrent-add"><code>torrent-add</code> - Download Torrent</h2>
<div class="outline-text-2" id="text-torrent-add">
<div class="org-src-container">
<pre class="src src-bash">transmission-remote &lt;&lt;get-password<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">passname</span>=<span class="org-string">"ip/grenoble"</span><span class="org-rainbow-delimiters-depth-1">)</span>&gt;&gt;:9091 --auth tdehaeze:$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">pass</span> nas/transmission | sed -n 1p<span class="org-rainbow-delimiters-depth-1">)</span> -a $<span class="org-highlight-numbers-number">1</span> &amp;&amp; <span class="org-sh-escaped-newline">\</span>
<pre class="src src-bash">transmission-remote &lt;&lt;get-password<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">passname</span>=<span class="org-string">"ip/homelab"</span><span class="org-rainbow-delimiters-depth-1">)</span>&gt;&gt;:9091 --auth tdehaeze:$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">pass</span> nas/transmission | sed -n 1p<span class="org-rainbow-delimiters-depth-1">)</span> -a $<span class="org-highlight-numbers-number">1</span> &amp;&amp; <span class="org-sh-escaped-newline">\</span>
dunstify <span class="org-string">'Torrent'</span> <span class="org-string">'Successfully added'</span> || <span class="org-sh-escaped-newline">\</span>
dunstify <span class="org-string">'Torrent'</span> <span class="org-string">'Error'</span>
</pre>
@ -185,46 +184,44 @@ Script used to convert a figure drawn on my Boox note2 to a png file that can th
</div>
</div>
<div id="outline-container-share" class="outline-2">
<h2 id="share"><code>share</code> - Share file with self-hosted <code>transfer.sh</code></h2>
<div class="outline-text-2" id="text-share">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span> $<span class="org-variable-name">TMUX</span> <span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
tmux split -v -l <span class="org-highlight-numbers-number">1</span> <span class="org-string">"</span><span class="org-type"><span class="org-string">curl</span></span><span class="org-string"> --progress-bar -F\"file=@</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">\" https://file.tdehaeze.xyz/ | xsel -ib &amp;&amp; dunstify 'Upload' 'Successful' || dunstify --urgency=critical 'Upload' 'Failed';"</span> &amp;&amp; tmux select-pane -U
<span class="org-keyword">else</span>
<span class="org-type">curl</span> --progress-bar -F<span class="org-string">"file=@</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> https://file.tdehaeze.xyz/ | xsel -ib &amp;&amp; <span class="org-sh-escaped-newline">\</span>
dunstify <span class="org-string">'Upload'</span> <span class="org-string">'Successful'</span> || <span class="org-sh-escaped-newline">\</span>
dunstify --urgency=critical <span class="org-string">'Upload'</span> <span class="org-string">'Failed'</span>
<span class="org-keyword">fi</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-screen-select" class="outline-2">
<h2 id="screen-select"><code>screen-select</code> - Xrandr pre-defined scripts</h2>
<div class="outline-text-2" id="text-screen-select">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-variable-name">option</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"Work\nXPS\nHome"</span> | rofi -i -dmenu<span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-function-name">after_screen_change</span> <span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Fix background if screen size/arangement has changed.</span>
setbg
<span class="org-comment-delimiter"># </span><span class="org-comment">Kill polybar</span>
killall -q polybar
<span class="org-comment-delimiter"># </span><span class="org-comment">Wait until the processes have been shut down</span>
<span class="org-keyword">while</span> <span class="org-type">pgrep</span> -u $<span class="org-variable-name">UID</span> -x polybar &gt;/dev/null; <span class="org-keyword">do</span> <span class="org-type">sleep</span> <span class="org-highlight-numbers-number">1</span>; <span class="org-keyword">done</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Launch bars</span>
polybar top &amp;
<span class="org-rainbow-delimiters-depth-1">}</span>
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">option</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"Work"</span>)
xrandr --output eDP1 --off --output DP1 --off --output DP1-1 --primary --mode 2560x1440 --pos 0x0 --rotate normal --output DP1-2 --off --output DP2 --off --output VIRTUAL1 --off
xrandr --output eDP1 --off --output DP1 --off --output DP2 --off --output DP2-1 --off --output VIRTUAL1 --off --output DP2-2 --primary --mode 2560x1440 --pos 0x0 --rotate normal &amp;&amp; <span class="org-sh-escaped-newline">\</span>
after_screen_change
;;
<span class="org-string">"XPS"</span>)
xrandr --output eDP1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output DP1 --off --output DP1-1 --off --output DP1-2 --off --output DP2 --off --output VIRTUAL1 --off
xrandr --output DP1 --off --output DP2 --off --output DP2-1 --off --output VIRTUAL1 --off --output DP2-2 --off --output eDP1 --primary --mode 1920x1080 --pos 0x0 --rotate normal &amp;&amp; <span class="org-sh-escaped-newline">\</span>
after_screen_change
;;
<span class="org-string">"Home"</span>)
xrandr --output eDP1 --off --output DP2-1 --primary --mode 2560x1440 --pos 0x0 --rotate normal --output DP1 --off --output VIRTUAL1 --off
xrandr --output eDP1 --off --output DP1 --off --output DP2 --off --output DP2-2 --off --output VIRTUAL1 --off --output DP2-1 --primary --mode 2560x1440 --pos 0x0 --rotate normal &amp;&amp; <span class="org-sh-escaped-newline">\</span>
after_screen_change
;;
*)
<span class="org-type">echo</span> <span class="org-string">"== ! missing or invalid argument ! =="</span>
<span class="org-keyword">exit</span> <span class="org-highlight-numbers-number">2</span>
<span class="org-keyword">esac</span>
setbg &amp;&amp; <span class="org-string">\ </span> <span class="org-comment-delimiter"># </span><span class="org-comment">Fix background if screen size/arangement has changed.</span>
polybar-msg cmd restart <span class="org-comment-delimiter"># </span><span class="org-comment">restart polybar</span>
<span class="org-keyword">exit</span> <span class="org-highlight-numbers-number">0</span>
</pre>
</div>
@ -263,7 +260,7 @@ List all <code>pdf</code> files and open selected one with zathura.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-type">cd</span> ~/Cloud/brain/pdfs/ &amp;&amp; <span class="org-type">ls</span> | rofi -dmenu -lines <span class="org-highlight-numbers-number">20</span> | xargs -I <span class="org-rainbow-delimiters-depth-1">{}</span> zathura <span class="org-rainbow-delimiters-depth-1">{}</span>
<pre class="src src-bash"><span class="org-type">cd</span> ~/Cloud/brain/pdfs/ &amp;&amp; <span class="org-type">ls</span> *.pdf | rofi -dmenu -lines <span class="org-highlight-numbers-number">20</span> | xargs -I <span class="org-rainbow-delimiters-depth-1">{}</span> zathura <span class="org-rainbow-delimiters-depth-1">{}</span>
</pre>
</div>
</div>
@ -271,7 +268,7 @@ List all <code>pdf</code> files and open selected one with zathura.
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-05-02 dim. 11:26</p>
<p class="date">Created: 2021-10-25 lun. 14:33</p>
</div>
</body>
</html>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-04-25 dim. 19:10 -->
<!-- 2021-10-25 lun. 14:33 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Binaries</title>
<meta name="author" content="Dehaeze Thomas" />
@ -16,11 +16,11 @@
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content">
</div><div id="content" class="content">
<h1 class="title">Binaries</h1>
<div id="table-of-contents">
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#dmenumount"><code>dmenumount</code> - Mount USB and Android</a></li>
<li><a href="#dmenuumount"><code>dmenuumount</code> - Unmount USB and Android devices</a></li>
@ -37,14 +37,80 @@
<li><a href="#setbg"><code>setbg</code> - Set Background</a></li>
<li><a href="#insert-unicode"><code>insert-unicode</code> - Insert Unicode Icon</a></li>
<li><a href="#insert-nerd-fonts"><code>insert-nerd-fonts</code> - Insert Nerd Font Icon</a></li>
<li><a href="#linkhandler"><code>linkhandler</code> - Open with Default application</a></li>
<li><a href="#linkhandler"><code>linkhandler</code> - Open any URL with Default application</a></li>
<li><a href="#filehandler"><code>open</code> - Open any file using <code>rifle</code></a></li>
<li><a href="#lockscreen"><code>lockscreen</code> - Lock Screen</a></li>
<li><a href="#mopidy-restart"><code>mopidy-restart</code> - Restart Mopidy</a></li>
<li><a href="#upload"><code>upload</code> - Upload Script</a></li>
<li><a href="#weather"><code>weather</code> - Display Weather in terminal</a></li>
<li><a href="#pdf2bib"><code>pdf2bib</code> - Extract bibtex entry from PDF file</a></li>
<li><a href="#pdf2png"><code>pdf2png</code> - Convert a PDF to PNG</a></li>
<li><a href="#convert-file"><code>convert-file</code> - Convert any file to another filetype</a></li>
<li><a href="#convert-file"><code>convert-file</code> - Convert any file to another filetype</a>
<ul>
<li><a href="#org1b30080">Get basic information about the file</a></li>
<li><a href="#org3c942d6">SVG files</a>
<ul>
<li><a href="#org97e362d">SVG to PNG</a></li>
<li><a href="#org0e85a36">SVG to PDF</a></li>
<li><a href="#org1ba34d0">Main function</a></li>
</ul>
</li>
<li><a href="#org05c1a0f">PDF files</a>
<ul>
<li><a href="#org83ee81e">PDF to PNG</a></li>
<li><a href="#orga23708b">PDF to SVG</a></li>
<li><a href="#org1d12e53">PDF Reduce Size</a></li>
<li><a href="#org8772f18">PDF Trim</a></li>
<li><a href="#org38ca491">PDF Extract Pages</a></li>
<li><a href="#org3008b15">Delete First Page</a></li>
<li><a href="#org196a94f">Remove Annotations</a></li>
<li><a href="#orgd159cb6">Main function</a></li>
</ul>
</li>
<li><a href="#orgcbd05fa">DVI files</a>
<ul>
<li><a href="#org85096d3">DVI to PNG</a></li>
<li><a href="#org51dfa18">DVI to SVG</a></li>
<li><a href="#orgc8c76c3">Main function</a></li>
</ul>
</li>
<li><a href="#orgb6c8280">DOCX/PTTX files</a>
<ul>
<li><a href="#org53914ee">DOC to PDF</a></li>
<li><a href="#org36bb433">Main function</a></li>
</ul>
</li>
<li><a href="#orgcadf8bf">GIF files</a>
<ul>
<li><a href="#orge9139bf">GIF to PNG</a></li>
<li><a href="#orgcc9508e">Main function</a></li>
</ul>
</li>
<li><a href="#org1d9c757">PNG files</a>
<ul>
<li><a href="#org7468a4f">PNG to PDF</a></li>
<li><a href="#orge629172">PNG to JPG</a></li>
<li><a href="#org6358e53">PNG Trim</a></li>
<li><a href="#org91c91b7">PNG Resize</a></li>
<li><a href="#orgd118f81">Main function</a></li>
</ul>
</li>
<li><a href="#org70bdad9">JPG files</a>
<ul>
<li><a href="#org2a197f4">JPG to PDF</a></li>
<li><a href="#org18f6058">JPG Resize</a></li>
<li><a href="#orge16bd85">Main function</a></li>
</ul>
</li>
<li><a href="#org7da8026">MP4 files</a>
<ul>
<li><a href="#org4c00ce2">MP4 to GIF</a></li>
<li><a href="#orgac4e160">Main function</a></li>
</ul>
</li>
<li><a href="#org91dd1cd">Case statement</a></li>
</ul>
</li>
<li><a href="#pdf-shrink"><code>pdf-shrink</code> - Pdf Shrink</a></li>
<li><a href="#pdf-delete-annotations"><code>pdf-delete-annotations</code> - Delete Annotations from PDFs</a></li>
<li><a href="#pdf-delete-first-page"><code>pdf-delete-first-page</code> - Delete first page of PDF</a></li>
@ -466,7 +532,7 @@ Script taken from <a href="https://github.com/carnager/buku_run">here</a> that a
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span><span class="org-rainbow-delimiters-depth-3">[</span> $<span class="org-variable-name">val</span> -eq <span class="org-highlight-numbers-number">1</span> <span class="org-rainbow-delimiters-depth-3">]</span><span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">exit</span>
<span class="org-keyword">elif</span> <span class="org-rainbow-delimiters-depth-2">[</span><span class="org-rainbow-delimiters-depth-3">[</span> $<span class="org-variable-name">val</span> -eq <span class="org-highlight-numbers-number">0</span> <span class="org-rainbow-delimiters-depth-3">]</span><span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span><span class="org-rainbow-delimiters-depth-3">[</span> $<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{inserttags}</span></span><span class="org-string">"</span> | wc -l<span class="org-rainbow-delimiters-depth-1">)</span> -gt <span class="org-highlight-numbers-number">1</span> <span class="org-rainbow-delimiters-depth-3">]</span><span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span><span class="org-rainbow-delimiters-depth-3">[</span> $<span class="org-rainbow-delimiters-depth-4">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{inserttags}</span></span><span class="org-string">"</span> | wc -l<span class="org-rainbow-delimiters-depth-4">)</span> -gt <span class="org-highlight-numbers-number">1</span> <span class="org-rainbow-delimiters-depth-3">]</span><span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-variable-name">taglist</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{inserttags}</span></span><span class="org-string">"</span> | tr <span class="org-string">'\n'</span> <span class="org-string">','</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">tags</span>=<span class="org-rainbow-delimiters-depth-2">()</span>
<span class="org-keyword">for</span> tag<span class="org-keyword"> in</span> $<span class="org-variable-name">taglist</span>; <span class="org-keyword">do</span>
@ -831,33 +897,50 @@ xsel -h <span class="org-highlight-numbers-number">2</span>&gt;/dev/null || <spa
</div>
<div id="outline-container-linkhandler" class="outline-2">
<h2 id="linkhandler"><code>linkhandler</code> - Open with Default application</h2>
<h2 id="linkhandler"><code>linkhandler</code> - Open any URL with Default application</h2>
<div class="outline-text-2" id="text-linkhandler">
<p>
Inspired from <code>linkhandler</code> script (<a href="https://github.com/LukeSmithxyz/voidrice/">github</a>).
This is used to open any type of file with the wanted program.
It can be used in <code>newsboat</code>, <code>neomutt</code> and <code>ranger</code> for instance.
This is used to open any <b>url</b> with the wanted program.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-rainbow-delimiters-depth-1">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-1">]</span> &amp;&amp; <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">BROWSER</span></span><span class="org-string">"</span>; <span class="org-keyword">exit</span>; <span class="org-rainbow-delimiters-depth-1">}</span>
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
*mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*)
setsid mpv --input-ipc-server=/tmp/mpvsoc$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">date</span> +%s<span class="org-rainbow-delimiters-depth-1">)</span> -quiet <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &gt;/dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span> &amp; ;;
*png|*jpg|*jpe|*jpeg|*gif)
<span class="org-type">curl</span> -sL <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &gt; <span class="org-string">"/tmp/</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">echo</span><span class="org-string"><span class="org-sh-quoted-exec"> "</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">1</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">" | sed "s/.*\///")</span></span><span class="org-string">"</span> &amp;&amp; sxiv -a <span class="org-string">"/tmp/</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">echo</span><span class="org-string"><span class="org-sh-quoted-exec"> "</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">1</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">" | sed "s/.*\///")</span></span><span class="org-string">"</span> &gt;/dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span> &amp; ;;
*mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*|*gif)
setsid mpv -quiet <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &gt;/dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span> &amp; ;;
*png|*jpg|*jpe|*jpeg)
<span class="org-type">curl</span> -sL <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &gt; <span class="org-string">"/tmp/</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">echo</span><span class="org-string"><span class="org-sh-quoted-exec"> "</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">1</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">" | sed "s/.*\///;s/%20/ /g")</span></span><span class="org-string">"</span> &amp;&amp; sxiv -a <span class="org-string">"/tmp/</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">echo</span><span class="org-string"><span class="org-sh-quoted-exec"> "</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">1</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">" | sed "s/.*\///;s/%20/ /g")</span></span><span class="org-string">"</span> &gt;/dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span> &amp; ;;
*pdf|*cbz|*cbr)
<span class="org-type">curl</span> -sL <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &gt; <span class="org-string">"/tmp/</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">echo</span><span class="org-string"><span class="org-sh-quoted-exec"> "</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">1</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">" | sed "s/.*\///;s/%20/ /g")</span></span><span class="org-string">"</span> &amp;&amp; zathura <span class="org-string">"/tmp/</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">echo</span><span class="org-string"><span class="org-sh-quoted-exec"> "</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">1</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">" | sed "s/.*\///;s/%20/ /g")</span></span><span class="org-string">"</span> &gt;/dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span> &amp; ;;
*svg)
<span class="org-type">curl</span> -sL <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &gt; <span class="org-string">"/tmp/</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">echo</span><span class="org-string"><span class="org-sh-quoted-exec"> "</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">1</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">" | sed "s/.*\///;s/%20/ /g")</span></span><span class="org-string">"</span> &amp;&amp; inkview <span class="org-string">"/tmp/</span><span class="org-string"><span class="org-sh-quoted-exec">$(</span></span><span class="org-sh-quoted-exec">echo</span><span class="org-string"><span class="org-sh-quoted-exec"> "</span></span><span class="org-string"><span class="org-constant"><span class="org-sh-quoted-exec">$</span></span></span><span class="org-string"><span class="org-variable-name"><span class="org-sh-quoted-exec">1</span></span></span><span class="org-string"><span class="org-sh-quoted-exec">" | sed "s/.*\///;s/%20/ /g")</span></span><span class="org-string">"</span> &gt;/dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span> &amp; ;;
*mp3|*flac|*opus|*mp3?source*)
setsid <span class="org-type">curl</span> -LO <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &gt;/dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span> &amp; ;;
*)
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span> -f <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">TERMINAL</span></span><span class="org-string">"</span> -e <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">EDITOR</span></span><span class="org-string"> </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span>
<span class="org-keyword">else</span> setsid $<span class="org-variable-name">BROWSER</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &gt;/dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span> &amp; <span class="org-keyword">fi</span> ;;
<span class="org-rainbow-delimiters-depth-1">[</span> -f <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-1">]</span> &amp;&amp; setsid -f <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">TERMINAL</span></span><span class="org-string">"</span> -e <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">EDITOR</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &gt;/dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span> || setsid -f <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">BROWSER</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &gt;/dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span>
<span class="org-keyword">esac</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-filehandler" class="outline-2">
<h2 id="filehandler"><code>open</code> - Open any file using <code>rifle</code></h2>
<div class="outline-text-2" id="text-filehandler">
<p>
Simple alternative to <code>xdg-open</code>, uses the <code>rifle</code> program included with <code>ranger</code>.
The default applications are listed <a href="ranger.html#rifle">here</a>.
</p>
<div class="org-src-container">
<pre class="src src-bash">rifle -p $<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">rifle</span> -l <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> | rofi -dmenu -i | sed -n -e <span class="org-string">'s/\([0-9]*\):.*/\1/p'</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-lockscreen" class="outline-2">
<h2 id="lockscreen"><code>lockscreen</code> - Lock Screen</h2>
<div class="outline-text-2" id="text-lockscreen">
@ -1023,6 +1106,11 @@ Get the weather from <a href="http://wttr.in/">http://wttr.in/</a>.
<div id="outline-container-convert-file" class="outline-2">
<h2 id="convert-file"><code>convert-file</code> - Convert any file to another filetype</h2>
<div class="outline-text-2" id="text-convert-file">
</div>
<div id="outline-container-org1b30080" class="outline-3">
<h3 id="org1b30080">Get basic information about the file</h3>
<div class="outline-text-3" id="text-org1b30080">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Get filename</span>
<span class="org-variable-name">filename_with_extension</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">basename</span> -- <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span><span class="org-rainbow-delimiters-depth-1">)</span>
@ -1030,8 +1118,55 @@ Get the weather from <a href="http://wttr.in/">http://wttr.in/</a>.
<span class="org-variable-name">in_ext</span>=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{filename_with_extension##*.}</span></span><span class="org-string">"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">filename without extension</span>
<span class="org-variable-name">filename_without_extension</span>=$<span class="org-rainbow-delimiters-depth-1">{</span><span class="org-variable-name">filename_with_extension</span>%.*<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<span class="org-comment-delimiter"># </span><span class="org-comment">Convert SVG Files</span>
<div id="outline-container-org3c942d6" class="outline-3">
<h3 id="org3c942d6">SVG files</h3>
<div class="outline-text-3" id="text-org3c942d6">
<p>
List of useful programs:
</p>
<ul class="org-ul">
<li><code>inkscape</code></li>
</ul>
</div>
<div id="outline-container-org97e362d" class="outline-4">
<h4 id="org97e362d">SVG to PNG</h4>
<div class="outline-text-4" id="text-org97e362d">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">svg2png_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v inkscape &amp;&gt; /dev/null; <span class="org-keyword">then</span>
inkscape --export-type=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> --export-dpi=<span class="org-highlight-numbers-number">200</span> --export-area-drawing <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org0e85a36" class="outline-4">
<h4 id="org0e85a36">SVG to PDF</h4>
<div class="outline-text-4" id="text-org0e85a36">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">svg2pdf_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v inkscape &amp;&gt; /dev/null; <span class="org-keyword">then</span>
inkscape --export-type=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org1ba34d0" class="outline-4">
<h4 id="org1ba34d0">Main function</h4>
<div class="outline-text-4" id="text-org1ba34d0">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Convert SVG Files</span>
<span class="org-function-name">svg2</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-variable-name">out_ext</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"pdf\npng"</span> | rofi -i -dmenu -p <span class="org-string">"Convert SVG to"</span><span class="org-rainbow-delimiters-depth-2">)</span>
@ -1041,37 +1176,306 @@ Get the weather from <a href="http://wttr.in/">http://wttr.in/</a>.
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"png"</span>)
inkscape --export-type=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> --export-dpi=<span class="org-highlight-numbers-number">200</span> --export-area-drawing <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
svg2png_function
;;
<span class="org-string">"pdf"</span>)
inkscape --export-type=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">pdf2svg file.pdf file.svg</span>
svg2pdf_function
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
</div>
<span class="org-comment-delimiter"># </span><span class="org-comment">Convert PDF Files</span>
<div id="outline-container-org05c1a0f" class="outline-3">
<h3 id="org05c1a0f">PDF files</h3>
<div class="outline-text-3" id="text-org05c1a0f">
<p>
List of useful programs:
</p>
<ul class="org-ul">
<li><code>pdftocairo</code></li>
<li><code>pdftoppm</code></li>
<li><code>convert</code></li>
<li><code>inkscape</code></li>
<li><code>gs</code></li>
<li><code>pdfcrop</code></li>
<li><code>pdftk</code></li>
</ul>
</div>
<div id="outline-container-org83ee81e" class="outline-4">
<h4 id="org83ee81e">PDF to PNG</h4>
<div class="outline-text-4" id="text-org83ee81e">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">pdf2png_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v pdftocairo &amp;&gt; /dev/null; <span class="org-keyword">then</span>
pdftocairo -png -singlefile -cropbox <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_without_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">elif </span><span class="org-builtin">command</span> -v pdftoppm &amp;&gt; /dev/null; <span class="org-keyword">then</span>
pdftoppm -png <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> &gt; <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_without_extension</span></span><span class="org-string">.png"</span>
<span class="org-keyword">elif </span><span class="org-builtin">command</span> -v convert &amp;&gt; /dev/null; <span class="org-keyword">then</span>
convert -density <span class="org-highlight-numbers-number">100</span> -trim -antialias <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> -quality <span class="org-highlight-numbers-number">100</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_without_extension</span></span><span class="org-string">.png"</span>
<span class="org-keyword">elif </span><span class="org-builtin">command</span> -v inkscape &amp;&gt; /dev/null; <span class="org-keyword">then</span>
inkscape --export-type=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> --export-dpi=<span class="org-highlight-numbers-number">200</span> --export-area-drawing <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orga23708b" class="outline-4">
<h4 id="orga23708b">PDF to SVG</h4>
<div class="outline-text-4" id="text-orga23708b">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">pdf2svg_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v pdftocairo &amp;&gt; /dev/null; <span class="org-keyword">then</span>
pdftocairo -svg <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_without_extension</span></span><span class="org-string">.svg"</span>
<span class="org-keyword">elif </span><span class="org-builtin">command</span> -v pdf2svg &amp;&gt; /dev/null; <span class="org-keyword">then</span>
pdf2svg <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_without_extension</span></span><span class="org-string">.svg"</span>
<span class="org-keyword">elif </span><span class="org-builtin">command</span> -v inkscape &amp;&gt; /dev/null; <span class="org-keyword">then</span>
inkscape --export-type=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org1d12e53" class="outline-4">
<h4 id="org1d12e53">PDF Reduce Size</h4>
<div class="outline-text-4" id="text-org1d12e53">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">pdfreduce_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v gs &amp;&gt; /dev/null; <span class="org-keyword">then</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Maybe ask for new filename?</span>
gs -sDEVICE=pdfwrite -dCompatibilityLevel=<span class="org-highlight-numbers-number">1.4</span> -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_without_extension</span></span><span class="org-string">.red.pdf"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org8772f18" class="outline-4">
<h4 id="org8772f18">PDF Trim</h4>
<div class="outline-text-4" id="text-org8772f18">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">pdftrim_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v pdfcrop &amp;&gt; /dev/null; <span class="org-keyword">then</span>
pdfcrop <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org38ca491" class="outline-4">
<h4 id="org38ca491">PDF Extract Pages</h4>
<div class="outline-text-4" id="text-org38ca491">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">pdfextract_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v pdftk &amp;&gt; /dev/null; <span class="org-keyword">then</span>
<span class="org-variable-name">pages</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"get first\ndelete first\nextract i-j"</span> | rofi -i -dmenu -p <span class="org-string">"Extract pages"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">pages</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">exit</span>;
<span class="org-keyword">fi</span>
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">pages</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"get first"</span>)
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v pdftk &amp;&gt; /dev/null; <span class="org-keyword">then</span>
pdftk <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-type">cat</span> 1-1 output <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_without_extension</span></span><span class="org-string">.first.pdf"</span>
<span class="org-keyword">fi</span>
;;
<span class="org-string">"delete first"</span>)
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v pdftk &amp;&gt; /dev/null; <span class="org-keyword">then</span>
pdftk <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-type">cat</span> 2-end output <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
;;
<span class="org-string">"extract i-j"</span>)
<span class="org-comment-delimiter"># </span><span class="org-comment"><span class="org-bold"><span class="org-warning">TODO</span></span></span>
<span class="org-variable-name">page_i</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">rofi</span> -dmenu -p <span class="org-string">"From"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">page_j</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">rofi</span> -dmenu -p <span class="org-string">"To"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v pdftk &amp;&gt; /dev/null; <span class="org-keyword">then</span>
pdftk <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-type">cat</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">page_i</span></span><span class="org-string">-</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">page_j</span></span><span class="org-string">"</span> output <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">.slice.pdf"</span>
<span class="org-keyword">fi</span>
;;
<span class="org-keyword">esac</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org3008b15" class="outline-4">
<h4 id="org3008b15">Delete First Page</h4>
<div class="outline-text-4" id="text-org3008b15">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">pdf_delete_first_page_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v stapler &amp;&gt; /dev/null; <span class="org-keyword">then</span>
stapler del <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-highlight-numbers-number">1</span> /tmp/pdftk_out.pdf &amp;&amp; <span class="org-type">mv</span> /tmp/pdftk_out.pdf <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">elif </span><span class="org-builtin">command</span> -v pdftk &amp;&gt; /dev/null; <span class="org-keyword">then</span>
pdftk <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-type">cat</span> 2-end output /tmp/pdftk_out.pdf &amp;&amp; <span class="org-type">mv</span> /tmp/pdftk_out.pdf <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org196a94f" class="outline-4">
<h4 id="org196a94f">Remove Annotations</h4>
<div class="outline-text-4" id="text-org196a94f">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">pdf_remove_annotations_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v pdftk &amp;&gt; /dev/null; <span class="org-keyword">then</span>
pdftk <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> output /tmp/uncompressed.pdf uncompress
<span class="org-variable-name">LANG</span>=C sed -n <span class="org-string">'/^\/Annots/!p'</span> /tmp/uncompressed.pdf &gt; /tmp/stripped.pdf
pdftk /tmp/stripped.pdf output <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> compress
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgd159cb6" class="outline-4">
<h4 id="orgd159cb6">Main function</h4>
<div class="outline-text-4" id="text-orgd159cb6">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Convert PDF Files</span>
<span class="org-function-name">pdf2</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-variable-name">out_ext</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"svg\npng\nreduce"</span> | rofi -i -dmenu -p <span class="org-string">"Convert PDF to"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">out_ext</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"svg\npng\nreduce size\ntrim\nextract pages\ndelete first page\nremove annotations"</span> | rofi -i -dmenu -p <span class="org-string">"Convert PDF to"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">exit</span>;
<span class="org-keyword">fi</span>
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"png"</span>)
inkscape --export-type=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> --export-dpi=<span class="org-highlight-numbers-number">200</span> --export-area-drawing <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
;;
<span class="org-string">"reduce"</span>)
gs -sDEVICE=pdfwrite -dCompatibilityLevel=<span class="org-highlight-numbers-number">1.4</span> -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_without_extension</span></span><span class="org-string">.red.pdf"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
;;
<span class="org-string">"svg"</span>)
inkscape --export-type=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
pdf2svg_function
;;
<span class="org-string">"png"</span>)
pdf2png_function
;;
<span class="org-string">"reduce size"</span>)
pdfreduce_function
;;
<span class="org-string">"trim"</span>)
pdftrim_function
;;
<span class="org-string">"extract pages"</span>)
pdfextract_function
;;
<span class="org-string">"delete first page"</span>)
pdf_delete_first_page_function
;;
<span class="org-string">"remove annotations"</span>)
pdf_remove_annotations_function
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
</div>
<span class="org-comment-delimiter"># </span><span class="org-comment">Convert DOCX/PPTX Files</span>
<div id="outline-container-orgcbd05fa" class="outline-3">
<h3 id="orgcbd05fa">DVI files</h3>
<div class="outline-text-3" id="text-orgcbd05fa">
<p>
List of useful programs:
</p>
<ul class="org-ul">
<li><code>dvisvgm</code></li>
<li><code>dvipng</code></li>
</ul>
</div>
<div id="outline-container-org85096d3" class="outline-4">
<h4 id="org85096d3">DVI to PNG</h4>
<div class="outline-text-4" id="text-org85096d3">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">dvi2png_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v dvipng &amp;&gt; /dev/null; <span class="org-keyword">then</span>
dvipng <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org51dfa18" class="outline-4">
<h4 id="org51dfa18">DVI to SVG</h4>
<div class="outline-text-4" id="text-org51dfa18">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">dvi2svg_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v dvisvgm &amp;&gt; /dev/null; <span class="org-keyword">then</span>
dvisvgm <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> -o <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_without_extension</span></span><span class="org-string">.svg"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgc8c76c3" class="outline-4">
<h4 id="orgc8c76c3">Main function</h4>
<div class="outline-text-4" id="text-orgc8c76c3">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Convert DVI Files</span>
<span class="org-function-name">dvi2</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-variable-name">out_ext</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"svg\npng"</span> | rofi -i -dmenu -p <span class="org-string">"Convert DVI to"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">exit</span>;
<span class="org-keyword">fi</span>
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"svg"</span>)
dvi2svg_function
;;
<span class="org-string">"png"</span>)
dvi2png_function
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-orgb6c8280" class="outline-3">
<h3 id="orgb6c8280">DOCX/PTTX files</h3>
<div class="outline-text-3" id="text-orgb6c8280">
</div>
<div id="outline-container-org53914ee" class="outline-4">
<h4 id="org53914ee">DOC to PDF</h4>
<div class="outline-text-4" id="text-org53914ee">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">doc2pdf_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v lowriter &amp;&gt; /dev/null; <span class="org-keyword">then</span>
lowriter --convert-to pdf <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org36bb433" class="outline-4">
<h4 id="org36bb433">Main function</h4>
<div class="outline-text-4" id="text-org36bb433">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Convert DOCX/PPTX Files</span>
<span class="org-function-name">docx2</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-variable-name">out_ext</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"pdf"</span> | rofi -i -dmenu -p <span class="org-string">"Convert DOCX/PPTX to"</span><span class="org-rainbow-delimiters-depth-2">)</span>
@ -1081,12 +1485,39 @@ Get the weather from <a href="http://wttr.in/">http://wttr.in/</a>.
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"pdf"</span>)
lowriter --convert-to pdf <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
doc2pdf_function
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
</div>
<span class="org-comment-delimiter"># </span><span class="org-comment">Convert GIF Files</span>
<div id="outline-container-orgcadf8bf" class="outline-3">
<h3 id="orgcadf8bf">GIF files</h3>
<div class="outline-text-3" id="text-orgcadf8bf">
</div>
<div id="outline-container-orge9139bf" class="outline-4">
<h4 id="orge9139bf">GIF to PNG</h4>
<div class="outline-text-4" id="text-orge9139bf">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">gif2png_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v convert &amp;&gt; /dev/null; <span class="org-keyword">then</span>
convert -coalesce <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_without_extension</span></span><span class="org-string">.png"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgcc9508e" class="outline-4">
<h4 id="orgcc9508e">Main function</h4>
<div class="outline-text-4" id="text-orgcc9508e">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Convert GIF Files</span>
<span class="org-function-name">gif2</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-variable-name">out_ext</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"png"</span> | rofi -i -dmenu -p <span class="org-string">"Convert GIF to"</span><span class="org-rainbow-delimiters-depth-2">)</span>
@ -1096,14 +1527,90 @@ Get the weather from <a href="http://wttr.in/">http://wttr.in/</a>.
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"png"</span>)
convert -coalesce <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_without_extension</span></span><span class="org-string">.png"</span>
gif2png_function
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
</div>
<span class="org-comment-delimiter"># </span><span class="org-comment">Convert PNG Files</span>
<div id="outline-container-org1d9c757" class="outline-3">
<h3 id="org1d9c757">PNG files</h3>
<div class="outline-text-3" id="text-org1d9c757">
</div>
<div id="outline-container-org7468a4f" class="outline-4">
<h4 id="org7468a4f">PNG to PDF</h4>
<div class="outline-text-4" id="text-org7468a4f">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">png2pdf_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v convert &amp;&gt; /dev/null; <span class="org-keyword">then</span>
convert <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_without_extension</span></span><span class="org-string">.pdf"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orge629172" class="outline-4">
<h4 id="orge629172">PNG to JPG</h4>
<div class="outline-text-4" id="text-orge629172">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">png2jpg_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v convert &amp;&gt; /dev/null; <span class="org-keyword">then</span>
convert <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_without_extension</span></span><span class="org-string">.jpg"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org6358e53" class="outline-4">
<h4 id="org6358e53">PNG Trim</h4>
<div class="outline-text-4" id="text-org6358e53">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">pngtrim_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v convert &amp;&gt; /dev/null; <span class="org-keyword">then</span>
convert -trim <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org91c91b7" class="outline-4">
<h4 id="org91c91b7">PNG Resize</h4>
<div class="outline-text-4" id="text-org91c91b7">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">pngresize_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v convert &amp;&gt; /dev/null; <span class="org-keyword">then</span>
<span class="org-variable-name">size_type</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"width\nheight"</span> | rofi -i -dmenu -p <span class="org-string">"Maximum:"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">size_px</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">rofi</span> -dmenu -p <span class="org-string">"Number of px:"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">size_type</span></span><span class="org-string">"</span> = <span class="org-string">"width"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
convert -resize <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">size_px</span></span><span class="org-string">"</span>x <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">elif</span> <span class="org-rainbow-delimiters-depth-2">[</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">size_type</span></span><span class="org-string">"</span> = <span class="org-string">"height"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
convert -resize x<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">size_px</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgd118f81" class="outline-4">
<h4 id="orgd118f81">Main function</h4>
<div class="outline-text-4" id="text-orgd118f81">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Convert PNG Files</span>
<span class="org-function-name">png2</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-variable-name">out_ext</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"pdf\ntrim"</span> | rofi -i -dmenu -p <span class="org-string">"Convert PNG to"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">out_ext</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"pdf\njpg\ntrim\nresize"</span> | rofi -i -dmenu -p <span class="org-string">"Convert PNG to"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">exit</span>;
@ -1111,15 +1618,126 @@ Get the weather from <a href="http://wttr.in/">http://wttr.in/</a>.
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"pdf"</span>)
convert <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_without_extension</span></span><span class="org-string">.pdf"</span>
png2pdf_function
;;
<span class="org-string">"jpg"</span>)
png2jpg_function
;;
<span class="org-string">"trim"</span>)
convert -trim <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">Maybe should ask new filename</span>
pngtrim_function
;;
<span class="org-string">"resize"</span>)
pngresize_function
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
</div>
<span class="org-comment-delimiter"># </span><span class="org-comment">Convert MP4 Files</span>
<div id="outline-container-org70bdad9" class="outline-3">
<h3 id="org70bdad9">JPG files</h3>
<div class="outline-text-3" id="text-org70bdad9">
</div>
<div id="outline-container-org2a197f4" class="outline-4">
<h4 id="org2a197f4">JPG to PDF</h4>
<div class="outline-text-4" id="text-org2a197f4">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">jpg2pdf_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v convert &amp;&gt; /dev/null; <span class="org-keyword">then</span>
convert <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_without_extension</span></span><span class="org-string">.pdf"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org18f6058" class="outline-4">
<h4 id="org18f6058">JPG Resize</h4>
<div class="outline-text-4" id="text-org18f6058">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">jpgresize_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v convert &amp;&gt; /dev/null; <span class="org-keyword">then</span>
<span class="org-variable-name">size_type</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"width\nheight"</span> | rofi -i -dmenu -p <span class="org-string">"Maximum:"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-variable-name">size_px</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">rofi</span> -dmenu -p <span class="org-string">"Number of px:"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">size_type</span></span><span class="org-string">"</span> = <span class="org-string">"width"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
convert -resize <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">size_px</span></span><span class="org-string">"</span>x <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">elif</span> <span class="org-rainbow-delimiters-depth-2">[</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">size_type</span></span><span class="org-string">"</span> = <span class="org-string">"height"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
convert -resize x<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">size_px</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span>
<span class="org-keyword">fi</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orge16bd85" class="outline-4">
<h4 id="orge16bd85">Main function</h4>
<div class="outline-text-4" id="text-orge16bd85">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Convert JPG Files</span>
<span class="org-function-name">jpg2</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-variable-name">out_ext</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"pdf\nresize"</span> | rofi -i -dmenu -p <span class="org-string">"Convert JPG to"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">exit</span>;
<span class="org-keyword">fi</span>
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"pdf"</span>)
jpg2pdf_function
;;
<span class="org-string">"resize"</span>)
jpgresize_function
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-org7da8026" class="outline-3">
<h3 id="org7da8026">MP4 files</h3>
<div class="outline-text-3" id="text-org7da8026">
</div>
<div id="outline-container-org4c00ce2" class="outline-4">
<h4 id="org4c00ce2">MP4 to GIF</h4>
<div class="outline-text-4" id="text-org4c00ce2">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-function-name">mp42gif_function</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-keyword">if </span><span class="org-builtin">command</span> -v ffmpeg &amp;&gt; /dev/null; <span class="org-keyword">then</span>
<span class="org-variable-name">palette</span>=<span class="org-string">"/tmp/palette.png"</span>
<span class="org-variable-name">width</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"auto"</span> | rofi -i -dmenu -p <span class="org-string">"GIF width"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">[</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">width</span></span><span class="org-string">"</span> = <span class="org-string">"auto"</span> <span class="org-rainbow-delimiters-depth-2">]</span>; <span class="org-keyword">then</span>
<span class="org-variable-name">filters</span>=<span class="org-string">"fps=15"</span>
<span class="org-keyword">else</span>
<span class="org-variable-name">filters</span>=<span class="org-string">"fps=15,scale=</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">width</span></span><span class="org-string">:-1:flags=lanczos"</span>
<span class="org-keyword">fi</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Generate optimal pallette of colors</span>
ffmpeg -v warning -i <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> -vf <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filters</span></span><span class="org-string">,palettegen"</span> -y $<span class="org-variable-name">palette</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Convert</span>
ffmpeg -v warning -i <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> -i $<span class="org-variable-name">palette</span> -lavfi <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filters</span></span><span class="org-string"> [x]; [x][1:v] paletteuse"</span> -y <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_without_extension</span></span><span class="org-string">.gif"</span>
<span class="org-keyword">fi</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgac4e160" class="outline-4">
<h4 id="orgac4e160">Main function</h4>
<div class="outline-text-4" id="text-orgac4e160">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Convert MP4 Files</span>
<span class="org-function-name">mp42</span><span class="org-rainbow-delimiters-depth-1">()</span> <span class="org-rainbow-delimiters-depth-1">{</span> <span class="org-sh-escaped-newline">\</span>
<span class="org-variable-name">out_ext</span>=$<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"gif"</span> | rofi -i -dmenu -p <span class="org-string">"Convert MP4 to"</span><span class="org-rainbow-delimiters-depth-2">)</span>
@ -1129,18 +1747,30 @@ Get the weather from <a href="http://wttr.in/">http://wttr.in/</a>.
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">out_ext</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"gif"</span>)
make-gif <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_with_extension</span></span><span class="org-string">"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">filename_without_extension</span></span><span class="org-string">.gif"</span>
mp42gif_function
;;
<span class="org-keyword">esac</span>
<span class="org-rainbow-delimiters-depth-1">}</span>
</pre>
</div>
</div>
</div>
</div>
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">in_ext</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<div id="outline-container-org91dd1cd" class="outline-3">
<h3 id="org91dd1cd">Case statement</h3>
<div class="outline-text-3" id="text-org91dd1cd">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">in_ext</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
<span class="org-string">"svg"</span>)
svg2
;;
<span class="org-string">"gif"</span>)
gif2
;;
<span class="org-string">"dvi"</span>)
dvi2
;;
<span class="org-string">"pdf"</span>)
pdf2
;;
@ -1150,6 +1780,12 @@ Get the weather from <a href="http://wttr.in/">http://wttr.in/</a>.
<span class="org-string">"png"</span>)
png2
;;
<span class="org-string">"jpg"</span>)
jpg2
;;
<span class="org-string">"jpeg"</span>)
jpg2
;;
<span class="org-string">"docx"</span>)
docx2
;;
@ -1161,6 +1797,7 @@ Get the weather from <a href="http://wttr.in/">http://wttr.in/</a>.
</div>
</div>
</div>
</div>
<div id="outline-container-pdf-shrink" class="outline-2">
<h2 id="pdf-shrink"><code>pdf-shrink</code> - Pdf Shrink</h2>
@ -1335,7 +1972,7 @@ Run some simple calculations with <code>rofi</code>.
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-04-25 dim. 19:10</p>
<p class="date">Created: 2021-10-25 lun. 14:33</p>
</div>
</body>
</html>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-05-02 dim. 11:26 -->
<!-- 2021-10-25 lun. 14:33 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Calendar and Contact Configuration</title>
<meta name="author" content="Dehaeze Thomas" />
@ -16,15 +16,16 @@
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content">
</div><div id="content" class="content">
<h1 class="title">Calendar and Contact Configuration</h1>
<div id="table-of-contents">
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#org66320d0"><code>vdirsyncer</code> - Synchronize calendars and contacts</a></li>
<li><a href="#org2ee9696"><code>khal</code> - CLI calendar application</a></li>
<li><a href="#orgfea864c"><code>khard</code> - CLI contact application</a></li>
<li><a href="#ics-add"><code>ics-add</code> - Add ICS file to Khal</a></li>
</ul>
</div>
</div>
@ -46,7 +47,7 @@
<span class="org-variable-name">type</span> = <span class="org-string">"caldav"</span>
<span class="org-variable-name">url</span> = <span class="org-string">"https://radicale.tdehaeze.xyz/tdehaeze/"</span>
<span class="org-variable-name">username</span> = <span class="org-string">"tdehaeze"</span>
<span class="org-variable-name">password</span> = <span class="org-string">"&lt;&lt;get-password(passname="</span>radicale.tdehaeze.xyz/tdehaeze<span class="org-string">")&gt;&gt;"</span>
<span class="org-variable-name">password</span> = <span class="org-string">"&lt;&lt;get-password(passname='radicale.tdehaeze.xyz/tdehaeze')&gt;&gt;"</span>
[<span class="org-type">storage radicale_calendar_local</span>]
<span class="org-variable-name">type</span> = <span class="org-string">"filesystem"</span>
@ -63,7 +64,7 @@
<span class="org-variable-name">type</span> = <span class="org-string">"caldav"</span>
<span class="org-variable-name">url</span> = <span class="org-string">"https://calendar.esrf.fr/egroupware/groupdav.php/calendar"</span>
<span class="org-variable-name">username</span> = <span class="org-string">"dehaeze"</span>
<span class="org-variable-name">password</span> = <span class="org-string">"&lt;&lt;get-password(passname="</span>ce-esrf.fr/dehaeze<span class="org-string">")&gt;&gt;"</span>
<span class="org-variable-name">password</span> = <span class="org-string">"&lt;&lt;get-password(passname='esrf.fr/dehaeze')&gt;&gt;"</span>
[<span class="org-type">storage esrf_calendar_local</span>]
<span class="org-variable-name">type</span> = <span class="org-string">"filesystem"</span>
@ -85,7 +86,7 @@
<span class="org-variable-name">type</span> = <span class="org-string">"carddav"</span>
<span class="org-variable-name">url</span> = <span class="org-string">"https://radicale.tdehaeze.xyz/tdehaeze/"</span>
<span class="org-variable-name">username</span> = <span class="org-string">"tdehaeze"</span>
<span class="org-variable-name">password</span> = <span class="org-string">"&lt;&lt;get-password(passname="</span>radicale.tdehaeze.xyz/tdehaeze<span class="org-string">")&gt;&gt;"</span>
<span class="org-variable-name">password</span> = <span class="org-string">"&lt;&lt;get-password(passname='radicale.tdehaeze.xyz/tdehaeze')&gt;&gt;"</span>
</pre>
</div>
</div>
@ -191,10 +192,40 @@
</div>
</div>
</div>
<div id="outline-container-ics-add" class="outline-2">
<h2 id="ics-add"><code>ics-add</code> - Add ICS file to Khal</h2>
<div class="outline-text-2" id="text-ics-add">
<p>
This function is useful to easily add an event to <code>khal</code>.
It is for instance used in the <code>mutt</code> configuration.
</p>
<p>
To share an event by email, the currently best way to proceed is to first find the event on <code>khal</code>, press <code>e</code> to export it to a file, and then add this file as an attachment.
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span><span class="org-rainbow-delimiters-depth-2">[</span> -f $<span class="org-highlight-numbers-number">1</span> <span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<span class="org-variable-name">resp</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">echo</span> -e <span class="org-string">"yes\nno"</span> | rofi -i -only-match -dmenu -p <span class="org-string">"Would you like to add the event:"</span> -mesg <span class="org-string">"`khal printics </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string"> | tail -n +2`"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span><span class="org-rainbow-delimiters-depth-2">[</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">resp</span></span><span class="org-string">"</span> == <span class="org-string">"yes"</span> <span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<span class="org-variable-name">calendar</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"`khal printcalendars`"</span> | rofi -i -only-match -dmenu -p <span class="org-string">"Save to:"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">calendar</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<span class="org-keyword">exit</span>;
<span class="org-keyword">fi</span>
khal import -a <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">calendar</span></span><span class="org-string">"</span> --batch $<span class="org-highlight-numbers-number">1</span> &amp;&amp; <span class="org-sh-escaped-newline">\</span>
dunstify <span class="org-string">"Calendar"</span> <span class="org-string">"Even added"</span>;
<span class="org-keyword">fi</span>
<span class="org-keyword">fi</span>
</pre>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-05-02 dim. 11:26</p>
<p class="date">Created: 2021-10-25 lun. 14:33</p>
</div>
</body>
</html>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-05-02 dim. 11:26 -->
<!-- 2021-10-25 lun. 14:33 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Configuration Files</title>
<meta name="author" content="Dehaeze Thomas" />
@ -16,11 +16,11 @@
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content">
</div><div id="content" class="content">
<h1 class="title">Configuration Files</h1>
<div id="table-of-contents">
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#org3f17b04">SSH</a></li>
<li><a href="#org10b81df">Font</a></li>
@ -41,14 +41,26 @@
<div class="org-src-container">
<pre class="src src-conf">AddKeysToAgent yes
Host grenoble
<span class="org-variable-name">hostname &lt;&lt;get-password(passname</span>=<span class="org-string">"ip/grenoble"</span>)&gt;&gt;
Host homelab
<span class="org-variable-name">hostname &lt;&lt;get-password(passname</span>=<span class="org-string">"ip/homelab"</span>)&gt;&gt;
Port <span class="org-highlight-numbers-number">22</span>
user thomas
IdentityFile ~/.ssh/id_rsa
Host router
hostname 192.168.1.1
Port <span class="org-highlight-numbers-number">22</span>
user root
IdentityFile ~/.ssh/id_rsa
Host smarttv
hostname 192.168.1.73
Port <span class="org-highlight-numbers-number">22</span>
user thomas
IdentityFile ~/.ssh/id_rsa
Host oneplus
hostname 192.168.1.58
hostname 192.168.1.101
Port <span class="org-highlight-numbers-number">8022</span>
IdentityFile ~/.ssh/id_rsa
</pre>
@ -769,7 +781,7 @@ login tdehaeze
machine torrent.tdehaeze.xyz
login tdehaeze
<span class="org-variable-name">password &lt;&lt;get-password(passname</span>=<span class="org-string">"torrent.tdehaeze.xyz/tdehaeze"</span>)&gt;&gt;
<span class="org-variable-name">password &lt;&lt;get-password(passname</span>=<span class="org-string">"nas/transmission"</span>)&gt;&gt;
machine dl.tdehaeze.xyz
login tdehaeze
@ -790,6 +802,14 @@ login tdehaeze
machine qobuz.tdehaeze.xyz
login tdehaeze
<span class="org-variable-name">password &lt;&lt;get-password(passname</span>=<span class="org-string">"qobuz.tdehaeze.xyz/tdehaeze"</span>)&gt;&gt;
machine down.tdehaeze.xyz
login tdehaeze
<span class="org-variable-name">password &lt;&lt;get-password(passname</span>=<span class="org-string">"down.tdehaeze.xyz/tdehaeze"</span>)&gt;&gt;
machine joal.tdehaeze.xyz
login tdehaeze
<span class="org-variable-name">password &lt;&lt;get-password(passname</span>=<span class="org-string">"joal.tdehaeze.xyz/tdehaeze"</span>)&gt;&gt;
</pre>
</div>
</div>
@ -838,7 +858,7 @@ Colors
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-05-02 dim. 11:26</p>
<p class="date">Created: 2021-10-25 lun. 14:33</p>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -3,11 +3,11 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-01-11 lun. 14:50 -->
<!-- 2021-10-25 lun. 14:33 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Doom Emacs Configuration</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Dehaeze Thomas" />
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="./dist/style.css"/>
<script type="text/javascript" src="./dist/script.js"></script>
</head>
@ -16,11 +16,11 @@
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content">
</div><div id="content" class="content">
<h1 class="title">Doom Emacs Configuration</h1>
<div id="table-of-contents">
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#orga3bc01e">LaTeX</a>
<ul>
@ -905,7 +905,7 @@ $0
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-01-11 lun. 14:50</p>
<p class="date">Created: 2021-10-25 lun. 14:33</p>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-05-02 dim. 11:26 -->
<!-- 2021-10-25 lun. 14:33 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>I3 Configuration</title>
<meta name="author" content="Dehaeze Thomas" />
@ -16,11 +16,11 @@
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content">
</div><div id="content" class="content">
<h1 class="title">I3 Configuration</h1>
<div id="table-of-contents">
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#org603bb02">Mod Key</a></li>
<li><a href="#org2de16b4">Border Style</a></li>
@ -247,10 +247,10 @@ set $ws8 <span class="org-highlight-numbers-number">8</span>
<span class="org-variable-name">for_window [class</span>=<span class="org-string">"Floating"</span>] floating enable, resize set <span class="org-highlight-numbers-number">800</span> <span class="org-highlight-numbers-number">600</span>, move position <span class="org-highlight-numbers-number">1100</span> <span class="org-highlight-numbers-number">460</span>
<span class="org-variable-name">for_window [class</span>=<span class="org-string">"mpv"</span>] floating enable <span class="org-comment-delimiter"># </span><span class="org-comment">Size/Position is defined in mpv.conf</span>
<span class="org-variable-name">for_window [class</span>=<span class="org-string">"Sxiv"</span>] floating enable, resize set <span class="org-highlight-numbers-number">800</span> <span class="org-highlight-numbers-number">600</span>, move position center
<span class="org-variable-name">for_window [title</span>=<span class="org-string">"khal interactive"</span>] floating enable, resize set <span class="org-highlight-numbers-number">600</span> <span class="org-highlight-numbers-number">600</span>, move position center
<span class="org-variable-name">for_window [title</span>=<span class="org-string">"khal"</span>] floating enable, resize set <span class="org-highlight-numbers-number">600</span> <span class="org-highlight-numbers-number">600</span>, move position center
<span class="org-variable-name">for_window [title</span>=<span class="org-string">"ncmpcpp"</span>] floating enable, resize set <span class="org-highlight-numbers-number">800</span> <span class="org-highlight-numbers-number">400</span>, move position center
<span class="org-variable-name">for_window [title</span>=<span class="org-string">"Sensors"</span>] floating enable, resize set <span class="org-highlight-numbers-number">800</span> <span class="org-highlight-numbers-number">400</span>, move position center
<span class="org-variable-name">for_window [title</span>=<span class="org-string">"nmtui"</span>] floating enable, resize set <span class="org-highlight-numbers-number">800</span> <span class="org-highlight-numbers-number">600</span>, move position center
<span class="org-variable-name">for_window [title</span>=<span class="org-string">"linkding"</span>] floating enable, resize set <span class="org-highlight-numbers-number">800</span> <span class="org-highlight-numbers-number">600</span>, move position center
<span class="org-variable-name">for_window [title</span>=<span class="org-string">"Xournal"</span>] floating enable, resize set <span class="org-highlight-numbers-number">1100</span> <span class="org-highlight-numbers-number">750</span>, move position center
</pre>
</div>
@ -293,7 +293,7 @@ exec --no-startup-id polybar top &gt;&gt;/tmp/polybar.log 2&gt;&amp;1 &amp;
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-05-02 dim. 11:26</p>
<p class="date">Created: 2021-10-25 lun. 14:33</p>
</div>
</body>
</html>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-04-25 dim. 19:10 -->
<!-- 2021-06-20 dim. 14:22 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Dotfiles - Manjaro Linux</title>
<meta name="author" content="Dehaeze Thomas" />
@ -37,7 +37,7 @@ There are Specific configuration files for:
<li><b>Display Server</b>: <a href="xconfig.html">Xorg</a></li>
<li><b>Editors</b>: <a href="vim.html">Neovim</a> and <a href="./doom.html">Emacs (Doom)</a> (<a href="emacs-library-babel.html">library of babel</a>, <a href="emacs-snippets.html">snippets</a>)</li>
<li><b>Shell</b>: <a href="bash.html">Bash</a></li>
<li><b>Terminal Emulator</b>: <a href="termite.html">Termite</a></li>
<li><b>Terminal Emulator</b>: <a href="alacritty.html">Alacritty</a></li>
<li><b>Terminal Multiplexer</b> <a href="tmux.html">Tmux</a></li>
<li><b>Image Setup</b>: <a href="image.html">Sxiv</a></li>
<li><b>Music Setup</b>: <a href="music.html">Ncmpcpp, Mopidy and Beets</a></li>
@ -62,7 +62,7 @@ There are Specific configuration files for:
I also have:
</p>
<ul class="org-ul">
<li>a nice Home-Server (<a href="nas.html">conf</a>)</li>
<li>a nice Home-Server (<a href="homelab.html">conf</a>)</li>
<li>a Linux smart-TV (<a href="smart-tv.html">conf</a>)</li>
<li>a Windows PC that I occasionally use (<a href="windows.html">conf</a>)</li>
<li>an Android phone (<a href="android.html">conf</a>)</li>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-04-25 dim. 19:10 -->
<!-- 2021-06-20 dim. 14:21 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Installation</title>
<meta name="author" content="Dehaeze Thomas" />
@ -24,7 +24,7 @@
<ul>
<li><a href="#org6d375e1"><code>yay</code> - Package Manager</a></li>
<li><a href="#orgfd098ac"><code>git</code> - Version Control System</a></li>
<li><a href="#org43a594f"><code>termite</code> - Terminal</a></li>
<li><a href="#org374a65d"><code>alacritty</code> - Terminal</a></li>
<li><a href="#orgfeefb67"><code>bash</code> - Shell</a></li>
<li><a href="#orge245cf3"><code>tmux</code> - Terminal Multiplexer</a></li>
<li><a href="#org7ff3a78">Fonts</a></li>
@ -45,28 +45,28 @@
</li>
<li><a href="#org3faed1a"><code>buku</code> - Bookmark Manager</a>
<ul>
<li><a href="#org0476127">Installation</a></li>
<li><a href="#org23fe870">Installation</a></li>
<li><a href="#org66b2873">Integration with Rofi</a>
<ul>
<li><a href="#org695c5f6">Installation</a></li>
<li><a href="#orge029c21">Configuration</a></li>
<li><a href="#org5acbeff">Installation</a></li>
<li><a href="#orgfde4198">Configuration</a></li>
</ul>
</li>
<li><a href="#org95386c4">Integration with qutebrowser</a></li>
<li><a href="#org731f2dd">Synchronization with a git repository</a></li>
<li><a href="#orgf877133">Import Bookmarks from Firefox and Chrome</a></li>
<li><a href="#orga16f95a">Web Interface</a></li>
<li><a href="#org70fcfb3">Cheatsheet</a></li>
<li><a href="#orgfbd6615">Cheatsheet</a></li>
<li><a href="#org5949612">Alternatives</a></li>
</ul>
</li>
<li><a href="#orga55a047"><code>qutebrowser</code> - Browser</a>
<ul>
<li><a href="#orgfe80476">Installation</a></li>
<li><a href="#org75892ae">Installation</a></li>
<li><a href="#org39f7a62">View Pdf inside qutebrowser with pdfjs</a>
<ul>
<li><a href="#orgd7d6b6f">Installation</a></li>
<li><a href="#orgc8c0e83">Usage</a></li>
<li><a href="#orgaac4732">Installation</a></li>
<li><a href="#orgd8c9a20">Usage</a></li>
</ul>
</li>
<li><a href="#org013ba8f">Integration with Pass: the password manager</a></li>
@ -99,17 +99,17 @@
</li>
<li><a href="#org3b6c55a"><code>weechat</code> - Chat Application</a>
<ul>
<li><a href="#org731cc00">Installation</a></li>
<li><a href="#org0d061b7">Installation</a></li>
<li><a href="#orgce5f866">Enable mouse support</a></li>
<li><a href="#org2e3ae2e">Scripts</a></li>
<li><a href="#orgc35ab72">Theme</a></li>
<li><a href="#orgcf52c65">Configuration</a></li>
<li><a href="#org758eae0">Configuration</a></li>
<li><a href="#org1bedc2c">Multi-line messages</a></li>
<li><a href="#orgdabe0b1">Send message using <code>$EDITOR</code></a></li>
<li><a href="#org58be0d2">CheatSheet</a></li>
<li><a href="#org509ffd4">Slack Integration</a>
<ul>
<li><a href="#org2a4fdbe">Installation</a></li>
<li><a href="#org901c88c">Installation</a></li>
<li><a href="#org4e33767">Add your Slack API key(s)</a></li>
</ul>
</li>
@ -123,8 +123,8 @@
<ul>
<li><a href="#org12c74b1"><code>mbsync</code> - Synchronize Mailboxes</a>
<ul>
<li><a href="#orgfdf1d7e">Installation</a></li>
<li><a href="#org203ef82">Configuration</a></li>
<li><a href="#org4766930">Installation</a></li>
<li><a href="#org1f7cdd9">Configuration</a></li>
<li><a href="#org1ae519a">Automation using systemd</a>
<ul>
<li><a href="#org0635e65">Retreive New mails</a></li>
@ -135,13 +135,13 @@
</li>
<li><a href="#org6772b74"><code>msmtp</code> - Send Mails</a>
<ul>
<li><a href="#org036e930">Installation</a></li>
<li><a href="#org9922807">Installation</a></li>
</ul>
</li>
<li><a href="#org4b6cea1"><code>mu</code> - Mail Index, Search and Tagging</a></li>
<li><a href="#orge78a982"><code>neomutt</code> - Mail Client</a>
<ul>
<li><a href="#org1a4d185">Installation</a></li>
<li><a href="#org7cc5df0">Installation</a></li>
<li><a href="#org7d3dd45">Display html mails</a></li>
<li><a href="#org18d6f5c">Open Url from mail</a></li>
<li><a href="#orgcb95e75">Ressources</a></li>
@ -154,8 +154,8 @@
<ul>
<li><a href="#org79b747c">Ranger</a>
<ul>
<li><a href="#org2c98986">Installation</a></li>
<li><a href="#org29505fd">Configuration</a></li>
<li><a href="#orgc441ad0">Installation</a></li>
<li><a href="#org17fff96">Configuration</a></li>
<li><a href="#orga7f1329">Display pdf</a></li>
</ul>
</li>
@ -164,35 +164,35 @@
</li>
<li><a href="#org0ceb81d"><code>sxiv</code> - Image viewer</a>
<ul>
<li><a href="#orgab6352b">Installation</a></li>
<li><a href="#org2c7eece">Installation</a></li>
<li><a href="#org1d4a585">Open Gif</a></li>
<li><a href="#orgecc11c1">Cheatsheet</a></li>
<li><a href="#org6859b45">Cheatsheet</a></li>
</ul>
</li>
<li><a href="#orga293c83"><code>sxhkd</code> - HotKey Manager</a></li>
<li><a href="#orgb9ddb93"><code>i3</code> - Windows Manager</a>
<ul>
<li><a href="#org7279a21">Installation</a></li>
<li><a href="#org9bcc5d0">Configuration</a></li>
<li><a href="#orgb26157b">Installation</a></li>
<li><a href="#org8bfbbb6">Configuration</a></li>
</ul>
</li>
<li><a href="#org2021f80"><code>polybar</code> - Top Bar</a>
<ul>
<li><a href="#org615564a">Installation</a></li>
<li><a href="#org565f843">Installation</a></li>
</ul>
</li>
<li><a href="#orgc4420f9"><code>picom</code> - Compositor</a>
<ul>
<li><a href="#orgb2faee9">Installation</a></li>
<li><a href="#orge08e43c">Configuration</a></li>
<li><a href="#org87613b5">Installation</a></li>
<li><a href="#orge0acd99">Configuration</a></li>
<li><a href="#org3eda8aa">Automatic run as daemon</a></li>
</ul>
</li>
<li><a href="#org2f8f940"><code>dunst</code> - Notification Manager</a>
<ul>
<li><a href="#org0994364">Installation</a></li>
<li><a href="#orgab5d058">Configuration</a></li>
<li><a href="#org44e33a9">Usage</a></li>
<li><a href="#orgb686d22">Installation</a></li>
<li><a href="#orga95be89">Configuration</a></li>
<li><a href="#orgf11ba75">Usage</a></li>
</ul>
</li>
<li><a href="#org4178a17">Office Suite</a>
@ -233,14 +233,14 @@
<li><a href="#org6a8646d"><code>orgmode</code> - Task Manager</a></li>
<li><a href="#orga841f53"><code>zathura</code> - PDF Reader</a>
<ul>
<li><a href="#orgc32f4df">Installation</a></li>
<li><a href="#orgfde4198">Configuration</a></li>
<li><a href="#orgfbd6615">Cheatsheet</a></li>
<li><a href="#orgdaea54d">Installation</a></li>
<li><a href="#orgba59e57">Configuration</a></li>
<li><a href="#org7f90b87">Cheatsheet</a></li>
<li><a href="#orgf6c7dea">Multi-monitor pdf presentation - pdfpc</a>
<ul>
<li><a href="#org23fe870">Installation</a></li>
<li><a href="#org0f602b9">Installation</a></li>
<li><a href="#orge1b13e7">Video support</a></li>
<li><a href="#orgd8c9a20">Usage</a></li>
<li><a href="#orgc19d52b">Usage</a></li>
</ul>
</li>
</ul>
@ -265,7 +265,7 @@
<li><a href="#org64fd10c"><code>anydesk</code> - Remote Desktop</a></li>
<li><a href="#orgfbeddca"><code>wireguard</code> - VPN</a></li>
<li><a href="#orgd48246b"><code>nordvpn</code> - VPN</a></li>
<li><a href="#orgb4a3de0">Others</a>
<li><a href="#org2fc3118">Others</a>
<ul>
<li><a href="#orgf054688"><code>maim=/=flameshot</code> - Take Screenshots</a></li>
<li><a href="#org72b76b6"><code>screenkey</code> - Show pressed keys</a></li>
@ -290,7 +290,7 @@
<li><a href="#org317c04c">Completion</a></li>
</ul>
</li>
<li><a href="#org2fc3118">Others</a></li>
<li><a href="#orga497aaa">Others</a></li>
<li><a href="#org042d8d2">Archive and Extract</a></li>
<li><a href="#orgd465654">Hardware</a></li>
<li><a href="#orgd0eebf3">Network</a></li>
@ -438,27 +438,27 @@ And configured with the following command:
</div>
</div>
<div id="outline-container-org43a594f" class="outline-2">
<h2 id="org43a594f"><code>termite</code> - Terminal</h2>
<div class="outline-text-2" id="text-org43a594f">
<div id="outline-container-org374a65d" class="outline-2">
<h2 id="org374a65d"><code>alacritty</code> - Terminal</h2>
<div class="outline-text-2" id="text-org374a65d">
<p>
<a href="https://github.com/thestinger/termite">Termite</a> is a very nice keyboard-centric terminal.
<a href="https://github.com/alacritty/alacritty">Alacritty</a> is a very nice keyboard-centric terminal.
</p>
<p>
It can be installed like so:
</p>
<div class="org-src-container">
<pre class="src src-bash"> yay -S termite
<pre class="src src-bash"> yay -S alacritty
</pre>
</div>
<p>
Its configuration file is described <a href="termite.html">here</a>.
Its configuration file is described <a href="alacritty.html">here</a>.
</p>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 2:</span> <code>termite</code> - Cheatsheet</caption>
<caption class="t-above"><span class="table-number">Table 2:</span> <code>alacritty</code> - Cheatsheet</caption>
<colgroup>
<col class="org-left" />
@ -967,9 +967,9 @@ Bitwarden <a href="https://github.com/bitwarden/cli">https://github.com/bitwarde
</p>
</div>
<div id="outline-container-org0476127" class="outline-3">
<h3 id="org0476127">Installation</h3>
<div class="outline-text-3" id="text-org0476127">
<div id="outline-container-org23fe870" class="outline-3">
<h3 id="org23fe870">Installation</h3>
<div class="outline-text-3" id="text-org23fe870">
<div class="org-src-container">
<pre class="src src-bash"> yay -S buku
</pre>
@ -985,9 +985,9 @@ Bitwarden <a href="https://github.com/bitwarden/cli">https://github.com/bitwarde
</p>
</div>
<div id="outline-container-org695c5f6" class="outline-4">
<h4 id="org695c5f6">Installation</h4>
<div class="outline-text-4" id="text-org695c5f6">
<div id="outline-container-org5acbeff" class="outline-4">
<h4 id="org5acbeff">Installation</h4>
<div class="outline-text-4" id="text-org5acbeff">
<div class="org-src-container">
<pre class="src src-bash"> wget https://raw.githubusercontent.com/carnager/buku_run/master/buku_run -o ~/.local/bin/buku_run
<span class="org-type">chmod</span> +x ~/.local/bin/buku_run
@ -996,9 +996,9 @@ Bitwarden <a href="https://github.com/bitwarden/cli">https://github.com/bitwarde
</div>
</div>
<div id="outline-container-orge029c21" class="outline-4">
<h4 id="orge029c21">Configuration</h4>
<div class="outline-text-4" id="text-orge029c21">
<div id="outline-container-orgfde4198" class="outline-4">
<h4 id="orgfde4198">Configuration</h4>
<div class="outline-text-4" id="text-orgfde4198">
<p>
The configuration file is here: <code>~/.config/buku_run/config</code>
</p>
@ -1075,9 +1075,9 @@ And then browse to <a href="http://127.0.0.1:5001">http://127.0.0.1:5001</a>.
</div>
</div>
<div id="outline-container-org70fcfb3" class="outline-3">
<h3 id="org70fcfb3">Cheatsheet</h3>
<div class="outline-text-3" id="text-org70fcfb3">
<div id="outline-container-orgfbd6615" class="outline-3">
<h3 id="orgfbd6615">Cheatsheet</h3>
<div class="outline-text-3" id="text-orgfbd6615">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@ -1141,9 +1141,9 @@ And then browse to <a href="http://127.0.0.1:5001">http://127.0.0.1:5001</a>.
</p>
</div>
<div id="outline-container-orgfe80476" class="outline-3">
<h3 id="orgfe80476">Installation</h3>
<div class="outline-text-3" id="text-orgfe80476">
<div id="outline-container-org75892ae" class="outline-3">
<h3 id="org75892ae">Installation</h3>
<div class="outline-text-3" id="text-org75892ae">
<div class="org-src-container">
<pre class="src src-bash"> yay -S qutebrowser
</pre>
@ -1155,9 +1155,9 @@ And then browse to <a href="http://127.0.0.1:5001">http://127.0.0.1:5001</a>.
<h3 id="org39f7a62">View Pdf inside qutebrowser with pdfjs</h3>
<div class="outline-text-3" id="text-org39f7a62">
</div>
<div id="outline-container-orgd7d6b6f" class="outline-4">
<h4 id="orgd7d6b6f">Installation</h4>
<div class="outline-text-4" id="text-orgd7d6b6f">
<div id="outline-container-orgaac4732" class="outline-4">
<h4 id="orgaac4732">Installation</h4>
<div class="outline-text-4" id="text-orgaac4732">
<div class="org-src-container">
<pre class="src src-bash"> yay -S pdfjs
</pre>
@ -1165,9 +1165,9 @@ And then browse to <a href="http://127.0.0.1:5001">http://127.0.0.1:5001</a>.
</div>
</div>
<div id="outline-container-orgc8c0e83" class="outline-4">
<h4 id="orgc8c0e83">Usage</h4>
<div class="outline-text-4" id="text-orgc8c0e83">
<div id="outline-container-orgd8c9a20" class="outline-4">
<h4 id="orgd8c9a20">Usage</h4>
<div class="outline-text-4" id="text-orgd8c9a20">
<p>
When opening a pdf file on qutebrowser, you&rsquo;ll be ask for options:
</p>
@ -1662,9 +1662,9 @@ This looks for contacts in all indexed emails.
</p>
</div>
<div id="outline-container-org731cc00" class="outline-3">
<h3 id="org731cc00">Installation</h3>
<div class="outline-text-3" id="text-org731cc00">
<div id="outline-container-org0d061b7" class="outline-3">
<h3 id="org0d061b7">Installation</h3>
<div class="outline-text-3" id="text-org0d061b7">
<div class="org-src-container">
<pre class="src src-bash"> yay -S weechat
</pre>
@ -1775,9 +1775,9 @@ Then we install some dependencies
</div>
</div>
<div id="outline-container-orgcf52c65" class="outline-3">
<h3 id="orgcf52c65">Configuration</h3>
<div class="outline-text-3" id="text-orgcf52c65">
<div id="outline-container-org758eae0" class="outline-3">
<h3 id="org758eae0">Configuration</h3>
<div class="outline-text-3" id="text-org758eae0">
<p>
<a href="https://hugo.md/post/the-perfect-weechat-setup-2/">https://hugo.md/post/the-perfect-weechat-setup-2/</a>
<a href="https://robots.thoughtbot.com/weechat-for-slacks-irc-gateway">https://robots.thoughtbot.com/weechat-for-slacks-irc-gateway</a>
@ -1882,9 +1882,9 @@ Then, on weechat, type <code>/edit</code>.
</p>
</div>
<div id="outline-container-org2a4fdbe" class="outline-4">
<h4 id="org2a4fdbe">Installation</h4>
<div class="outline-text-4" id="text-org2a4fdbe">
<div id="outline-container-org901c88c" class="outline-4">
<h4 id="org901c88c">Installation</h4>
<div class="outline-text-4" id="text-org901c88c">
<div class="org-src-container">
<pre class="src src-bash"> yay -S python2-websocket-client
</pre>
@ -2000,9 +2000,9 @@ It runs weechat inside tmux.
</p>
</div>
<div id="outline-container-orgfdf1d7e" class="outline-4">
<h4 id="orgfdf1d7e">Installation</h4>
<div class="outline-text-4" id="text-orgfdf1d7e">
<div id="outline-container-org4766930" class="outline-4">
<h4 id="org4766930">Installation</h4>
<div class="outline-text-4" id="text-org4766930">
<div class="org-src-container">
<pre class="src src-bash"> yay -S isync
</pre>
@ -2010,9 +2010,9 @@ It runs weechat inside tmux.
</div>
</div>
<div id="outline-container-org203ef82" class="outline-4">
<h4 id="org203ef82">Configuration</h4>
<div class="outline-text-4" id="text-org203ef82">
<div id="outline-container-org1f7cdd9" class="outline-4">
<h4 id="org1f7cdd9">Configuration</h4>
<div class="outline-text-4" id="text-org1f7cdd9">
<p>
<code>~/.mbsyncrc</code>
</p>
@ -2066,9 +2066,9 @@ systemctl --user start syncmail.timer
</p>
</div>
<div id="outline-container-org036e930" class="outline-4">
<h4 id="org036e930">Installation</h4>
<div class="outline-text-4" id="text-org036e930">
<div id="outline-container-org9922807" class="outline-4">
<h4 id="org9922807">Installation</h4>
<div class="outline-text-4" id="text-org9922807">
<div class="org-src-container">
<pre class="src src-bash"> yay -S msmtp
</pre>
@ -2094,9 +2094,9 @@ systemctl --user start syncmail.timer
</p>
</div>
<div id="outline-container-org1a4d185" class="outline-4">
<h4 id="org1a4d185">Installation</h4>
<div class="outline-text-4" id="text-org1a4d185">
<div id="outline-container-org7cc5df0" class="outline-4">
<h4 id="org7cc5df0">Installation</h4>
<div class="outline-text-4" id="text-org7cc5df0">
<div class="org-src-container">
<pre class="src src-bash"> yay -S neomutt
</pre>
@ -2165,9 +2165,9 @@ Configuration files:
<a href="https://github.com/ranger/ranger">https://github.com/ranger/ranger</a>
</p>
</div>
<div id="outline-container-org2c98986" class="outline-4">
<h4 id="org2c98986">Installation</h4>
<div class="outline-text-4" id="text-org2c98986">
<div id="outline-container-orgc441ad0" class="outline-4">
<h4 id="orgc441ad0">Installation</h4>
<div class="outline-text-4" id="text-orgc441ad0">
<div class="org-src-container">
<pre class="src src-bash">yay -S ranger
</pre>
@ -2175,9 +2175,9 @@ Configuration files:
</div>
</div>
<div id="outline-container-org29505fd" class="outline-4">
<h4 id="org29505fd">Configuration</h4>
<div class="outline-text-4" id="text-org29505fd">
<div id="outline-container-org17fff96" class="outline-4">
<h4 id="org17fff96">Configuration</h4>
<div class="outline-text-4" id="text-org17fff96">
<p>
The configuration file is <code>~/.config/ranger/rc.conf</code>.
</p>
@ -2221,9 +2221,9 @@ It works better with Urxvt.
</p>
</div>
<div id="outline-container-orgab6352b" class="outline-3">
<h3 id="orgab6352b">Installation</h3>
<div class="outline-text-3" id="text-orgab6352b">
<div id="outline-container-org2c7eece" class="outline-3">
<h3 id="org2c7eece">Installation</h3>
<div class="outline-text-3" id="text-org2c7eece">
<div class="org-src-container">
<pre class="src src-bash"> yay -S sxiv
</pre>
@ -2241,9 +2241,9 @@ It works better with Urxvt.
</div>
</div>
<div id="outline-container-orgecc11c1" class="outline-3">
<h3 id="orgecc11c1">Cheatsheet</h3>
<div class="outline-text-3" id="text-orgecc11c1">
<div id="outline-container-org6859b45" class="outline-3">
<h3 id="org6859b45">Cheatsheet</h3>
<div class="outline-text-3" id="text-org6859b45">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@ -2316,9 +2316,9 @@ Configuration file: <a href="sxhkd.html">SXHKD</a>.
</p>
</div>
<div id="outline-container-org7279a21" class="outline-3">
<h3 id="org7279a21">Installation</h3>
<div class="outline-text-3" id="text-org7279a21">
<div id="outline-container-orgb26157b" class="outline-3">
<h3 id="orgb26157b">Installation</h3>
<div class="outline-text-3" id="text-orgb26157b">
<div class="org-src-container">
<pre class="src src-bash"> yay -S i3-gaps
</pre>
@ -2326,9 +2326,9 @@ Configuration file: <a href="sxhkd.html">SXHKD</a>.
</div>
</div>
<div id="outline-container-org9bcc5d0" class="outline-3">
<h3 id="org9bcc5d0">Configuration</h3>
<div class="outline-text-3" id="text-org9bcc5d0">
<div id="outline-container-org8bfbbb6" class="outline-3">
<h3 id="org8bfbbb6">Configuration</h3>
<div class="outline-text-3" id="text-org8bfbbb6">
<p>
<code>~/.i3/config</code>
</p>
@ -2348,9 +2348,9 @@ Configuration file: <a href="sxhkd.html">SXHKD</a>.
</p>
</div>
<div id="outline-container-org615564a" class="outline-3">
<h3 id="org615564a">Installation</h3>
<div class="outline-text-3" id="text-org615564a">
<div id="outline-container-org565f843" class="outline-3">
<h3 id="org565f843">Installation</h3>
<div class="outline-text-3" id="text-org565f843">
<div class="org-src-container">
<pre class="src src-bash"> yay -S polybar
</pre>
@ -2371,9 +2371,9 @@ Configuration file: <a href="sxhkd.html">SXHKD</a>.
</p>
</div>
<div id="outline-container-orgb2faee9" class="outline-3">
<h3 id="orgb2faee9">Installation</h3>
<div class="outline-text-3" id="text-orgb2faee9">
<div id="outline-container-org87613b5" class="outline-3">
<h3 id="org87613b5">Installation</h3>
<div class="outline-text-3" id="text-org87613b5">
<div class="org-src-container">
<pre class="src src-bash"> yay -S picom
</pre>
@ -2381,9 +2381,9 @@ Configuration file: <a href="sxhkd.html">SXHKD</a>.
</div>
</div>
<div id="outline-container-orge08e43c" class="outline-3">
<h3 id="orge08e43c">Configuration</h3>
<div class="outline-text-3" id="text-orge08e43c">
<div id="outline-container-orge0acd99" class="outline-3">
<h3 id="orge0acd99">Configuration</h3>
<div class="outline-text-3" id="text-orge0acd99">
<p>
<code>~/.config/picom/picom.conf</code>
</p>
@ -2413,9 +2413,9 @@ Compton is run from <code>.xprofile</code> config in the background:
</p>
</div>
<div id="outline-container-org0994364" class="outline-3">
<h3 id="org0994364">Installation</h3>
<div class="outline-text-3" id="text-org0994364">
<div id="outline-container-orgb686d22" class="outline-3">
<h3 id="orgb686d22">Installation</h3>
<div class="outline-text-3" id="text-orgb686d22">
<div class="org-src-container">
<pre class="src src-bash"> yay -S dunst dunstify
</pre>
@ -2423,18 +2423,18 @@ Compton is run from <code>.xprofile</code> config in the background:
</div>
</div>
<div id="outline-container-orgab5d058" class="outline-3">
<h3 id="orgab5d058">Configuration</h3>
<div class="outline-text-3" id="text-orgab5d058">
<div id="outline-container-orga95be89" class="outline-3">
<h3 id="orga95be89">Configuration</h3>
<div class="outline-text-3" id="text-orga95be89">
<p>
<code>~/.config/dunst/dunstrc</code>
</p>
</div>
</div>
<div id="outline-container-org44e33a9" class="outline-3">
<h3 id="org44e33a9">Usage</h3>
<div class="outline-text-3" id="text-org44e33a9">
<div id="outline-container-orgf11ba75" class="outline-3">
<h3 id="orgf11ba75">Usage</h3>
<div class="outline-text-3" id="text-orgf11ba75">
<div class="org-src-container">
<pre class="src src-bash"> dunstify --replace=<span class="org-highlight-numbers-number">16549</span> <span class="org-string">"AppName"</span> <span class="org-string">"Message"</span>
</pre>
@ -2881,9 +2881,9 @@ Configuration:
<a href="https://pwmt.org/projects/zathura/">https://pwmt.org/projects/zathura/</a>
</p>
</div>
<div id="outline-container-orgc32f4df" class="outline-3">
<h3 id="orgc32f4df">Installation</h3>
<div class="outline-text-3" id="text-orgc32f4df">
<div id="outline-container-orgdaea54d" class="outline-3">
<h3 id="orgdaea54d">Installation</h3>
<div class="outline-text-3" id="text-orgdaea54d">
<div class="org-src-container">
<pre class="src src-bash"> yay -S zathura
</pre>
@ -2903,18 +2903,18 @@ It seems that mupdf is better that poppler to view pdf.
</div>
</div>
<div id="outline-container-orgfde4198" class="outline-3">
<h3 id="orgfde4198">Configuration</h3>
<div class="outline-text-3" id="text-orgfde4198">
<div id="outline-container-orgba59e57" class="outline-3">
<h3 id="orgba59e57">Configuration</h3>
<div class="outline-text-3" id="text-orgba59e57">
<p>
<code>~/.config/zathura/zathurarc</code>
</p>
</div>
</div>
<div id="outline-container-orgfbd6615" class="outline-3">
<h3 id="orgfbd6615">Cheatsheet</h3>
<div class="outline-text-3" id="text-orgfbd6615">
<div id="outline-container-org7f90b87" class="outline-3">
<h3 id="org7f90b87">Cheatsheet</h3>
<div class="outline-text-3" id="text-org7f90b87">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@ -3017,9 +3017,9 @@ pdfpc is a great tool for showing pdf presentations. It support:
</ul>
</div>
<div id="outline-container-org23fe870" class="outline-4">
<h4 id="org23fe870">Installation</h4>
<div class="outline-text-4" id="text-org23fe870">
<div id="outline-container-org0f602b9" class="outline-4">
<h4 id="org0f602b9">Installation</h4>
<div class="outline-text-4" id="text-org0f602b9">
<div class="org-src-container">
<pre class="src src-bash"> yay -S pdfpc
</pre>
@ -3037,9 +3037,9 @@ pdfpc is a great tool for showing pdf presentations. It support:
</div>
</div>
<div id="outline-container-orgd8c9a20" class="outline-4">
<h4 id="orgd8c9a20">Usage</h4>
<div class="outline-text-4" id="text-orgd8c9a20">
<div id="outline-container-orgc19d52b" class="outline-4">
<h4 id="orgc19d52b">Usage</h4>
<div class="outline-text-4" id="text-orgc19d52b">
<div class="org-src-container">
<pre class="src src-bash"> pdfpc filename.pdf
</pre>
@ -3303,9 +3303,9 @@ Configuration:
</div>
</div>
<div id="outline-container-orgb4a3de0" class="outline-2">
<h2 id="orgb4a3de0">Others</h2>
<div class="outline-text-2" id="text-orgb4a3de0">
<div id="outline-container-org2fc3118" class="outline-2">
<h2 id="org2fc3118">Others</h2>
<div class="outline-text-2" id="text-org2fc3118">
</div>
<div id="outline-container-orgf054688" class="outline-3">
<h3 id="orgf054688"><code>maim=/=flameshot</code> - Take Screenshots</h3>
@ -3377,7 +3377,7 @@ Configuration:
<div class="outline-text-3" id="text-org635c3c6">
<p>
<code>trash-cli</code> is used to manage the trash.
It is integrated with Ranger.
It is integrated with <code>ranger</code> and <code>pcmanFM</code>.
</p>
<div class="org-src-container">
@ -3777,9 +3777,9 @@ Using command line:
</div>
</div>
<div id="outline-container-org2fc3118" class="outline-3">
<h3 id="org2fc3118">Others</h3>
<div class="outline-text-3" id="text-org2fc3118">
<div id="outline-container-orga497aaa" class="outline-3">
<h3 id="orga497aaa">Others</h3>
<div class="outline-text-3" id="text-orga497aaa">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@ -4489,7 +4489,7 @@ To see next timers
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-04-25 dim. 19:10</p>
<p class="date">Created: 2021-06-20 dim. 14:21</p>
</div>
</body>
</html>

719
docs/iot.html Normal file
View File

@ -0,0 +1,719 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-10-25 lun. 14:33 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>IoT</title>
<meta name="author" content="Dehaeze Thomas" />
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="./dist/style.css"/>
<script type="text/javascript" src="./dist/script.js"></script>
</head>
<body>
<div id="org-div-home-and-up">
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content" class="content">
<h1 class="title">IoT</h1>
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#orgb605813">Smart Bulbs</a></li>
<li><a href="#orgbabc09f">Smart Plugs</a></li>
<li><a href="#orgbfd8257">ESPHome</a>
<ul>
<li><a href="#org1e7eb56">Sonoff S26 - Smart Socket</a>
<ul>
<li><a href="#org4a58ee5">Sonoff S26 1</a></li>
<li><a href="#org207ec57">Sonoff S26 2</a></li>
<li><a href="#org2c9bfdd">Sonoff S26 3</a></li>
<li><a href="#org25259ac">Sonoff S26 4</a></li>
</ul>
</li>
<li><a href="#orgc7cb06f">Anoopsyche SB14 - E27 Smart Bulb (Cold White / Warm White)</a>
<ul>
<li><a href="#org8288a83">Anoopsyche CWWW 1</a></li>
<li><a href="#org8484933">Anoopsyche CWWW 2</a></li>
</ul>
</li>
<li><a href="#org13e47c3">Sonoff BasicR2 - DIY Smart Socket</a>
<ul>
<li><a href="#orgd04920e">Sonoff Basic 1</a></li>
<li><a href="#orga594994">Sonoff Basic 2</a></li>
<li><a href="#orgb5bd748">Sonoff Basic 3</a></li>
<li><a href="#org5ba0236">Sonoff Basic 4</a></li>
</ul>
</li>
<li><a href="#org930b61a">Sonoff POWR2 - DIY Power Monitoring Smart Socket</a>
<ul>
<li><a href="#orgfe15c18">Sonoff POWR2 1</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div id="outline-container-orgb605813" class="outline-2">
<h2 id="orgb605813">Smart Bulbs</h2>
<div class="outline-text-2" id="text-orgb605813">
<p>
<a href="https://www.amazon.fr/Ecologique-Compatible-T%C3%A9l%C3%A9commande-Smartphone-%C3%A9nerg%C3%A9tique/dp/B07KWPQMHH/ref=sr_1_4?dchild=1&amp;keywords=Anoopsyche&amp;qid=1626991095&amp;sr=8-4">https://www.amazon.fr/Ecologique-Compatible-T%C3%A9l%C3%A9commande-Smartphone-%C3%A9nerg%C3%A9tique/dp/B07KWPQMHH/ref=sr_1_4?dchild=1&amp;keywords=Anoopsyche&amp;qid=1626991095&amp;sr=8-4</a>
</p>
</div>
</div>
<div id="outline-container-orgbabc09f" class="outline-2">
<h2 id="orgbabc09f">Smart Plugs</h2>
<div class="outline-text-2" id="text-orgbabc09f">
<p>
<a href="https://sonoff.tech/product/smart-plug/s26/">https://sonoff.tech/product/smart-plug/s26/</a>
</p>
<p>
<a href="https://www.jannikarndt.de/blog/2018/01/how_to_install_tasmota_on_a_sonoff_device_without_opening_it/">https://www.jannikarndt.de/blog/2018/01/how_to_install_tasmota_on_a_sonoff_device_without_opening_it/</a>
<a href="https://www.youtube.com/watch?v=ONFhXM5R-t4">https://www.youtube.com/watch?v=ONFhXM5R-t4</a>
</p>
</div>
</div>
<div id="outline-container-orgbfd8257" class="outline-2">
<h2 id="orgbfd8257">ESPHome</h2>
<div class="outline-text-2" id="text-orgbfd8257">
</div>
<div id="outline-container-org1e7eb56" class="outline-3">
<h3 id="org1e7eb56">Sonoff S26 - Smart Socket</h3>
<div class="outline-text-3" id="text-org1e7eb56">
<p>
<a href="https://www.amazon.fr/Connect%C3%A9e-Intelligente-Compatible-Assistant-T%C3%A9l%C3%A9command%C3%A9e/dp/B07Y1N5J6Y/">https://www.amazon.fr/Connect%C3%A9e-Intelligente-Compatible-Assistant-T%C3%A9l%C3%A9command%C3%A9e/dp/B07Y1N5J6Y/</a>
</p>
</div>
<div id="outline-container-org4a58ee5" class="outline-4">
<h4 id="org4a58ee5">Sonoff S26 1</h4>
<div class="outline-text-4" id="text-org4a58ee5">
<div class="org-src-container">
<pre class="src src-yaml"><span class="org-variable-name">esphome</span>:
<span class="org-variable-name">name</span>: sonoffs26_1
<span class="org-variable-name">platform</span>: ESP8266
<span class="org-variable-name">board</span>: esp01_1m
<span class="org-variable-name">board_flash_mode</span>: dout
<span class="org-variable-name">wifi</span>:
<span class="org-variable-name">ssid</span>: <span class="org-string">'Freebox-11A882'</span>
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="wifi/Freebox-11A882")&gt;&gt;'</span>
<span class="org-variable-name">ap</span>:
<span class="org-variable-name">ssid</span>: <span class="org-string">'Sonoff S26 1 Fallback Hotspot'</span>
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_s26/ap")&gt;&gt;'</span>
<span class="org-variable-name">status_led</span>:
<span class="org-variable-name">pin</span>:
<span class="org-variable-name">number</span>: GPIO13
<span class="org-variable-name">inverted</span>: <span class="org-constant">false</span>
<span class="org-variable-name">logger</span>:
<span class="org-variable-name">api</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_s26/api")&gt;&gt;'</span>
<span class="org-variable-name">ota</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_s26/ota")&gt;&gt;'</span>
<span class="org-variable-name">web_server</span>:
<span class="org-variable-name">binary_sensor</span>:
- <span class="org-variable-name">platform</span>: gpio
<span class="org-variable-name">pin</span>:
<span class="org-variable-name">number</span>: GPIO0
<span class="org-variable-name">mode</span>: INPUT_PULLUP
<span class="org-variable-name">inverted</span>: <span class="org-constant">True</span>
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff S26_1 Button"</span>
<span class="org-variable-name">on_press</span>:
- <span class="org-variable-name">switch.toggle</span>: relay
- <span class="org-variable-name">platform</span>: status
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff S26_1 Status"</span>
<span class="org-variable-name">sensor</span>:
- <span class="org-variable-name">platform</span>: wifi_signal
<span class="org-variable-name">name</span>: <span class="org-string">"sonoffs26_1 WiFi Signal"</span>
<span class="org-variable-name">update_interval</span>: 60s
<span class="org-variable-name">switch</span>:
- <span class="org-variable-name">platform</span>: gpio
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff S26_1 Relay"</span>
<span class="org-variable-name">pin</span>: GPIO12
<span class="org-variable-name">id</span>: <span class="org-string">'relay'</span>
- <span class="org-variable-name">platform</span>: restart
<span class="org-variable-name">name</span>: <span class="org-string">"sonoffs26_1 Restart"</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org207ec57" class="outline-4">
<h4 id="org207ec57">Sonoff S26 2</h4>
<div class="outline-text-4" id="text-org207ec57">
<div class="org-src-container">
<pre class="src src-yaml"><span class="org-variable-name">esphome</span>:
<span class="org-variable-name">name</span>: sonoffs26_2
<span class="org-variable-name">platform</span>: ESP8266
<span class="org-variable-name">board</span>: esp01_1m
<span class="org-variable-name">board_flash_mode</span>: dout
<span class="org-variable-name">wifi</span>:
<span class="org-variable-name">ssid</span>: <span class="org-string">'Freebox-11A882'</span>
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="wifi/Freebox-11A882")&gt;&gt;'</span>
<span class="org-variable-name">ap</span>:
<span class="org-variable-name">ssid</span>: <span class="org-string">'Sonoff S26 2 Fallback Hotspot'</span>
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_s26/ap")&gt;&gt;'</span>
<span class="org-variable-name">status_led</span>:
<span class="org-variable-name">pin</span>:
<span class="org-variable-name">number</span>: GPIO13
<span class="org-variable-name">inverted</span>: <span class="org-constant">false</span>
<span class="org-variable-name">logger</span>:
<span class="org-variable-name">api</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_s26/api")&gt;&gt;'</span>
<span class="org-variable-name">ota</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_s26/ota")&gt;&gt;'</span>
<span class="org-variable-name">web_server</span>:
<span class="org-variable-name">binary_sensor</span>:
- <span class="org-variable-name">platform</span>: gpio
<span class="org-variable-name">pin</span>:
<span class="org-variable-name">number</span>: GPIO0
<span class="org-variable-name">mode</span>: INPUT_PULLUP
<span class="org-variable-name">inverted</span>: <span class="org-constant">True</span>
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff S26_2 Button"</span>
<span class="org-variable-name">on_press</span>:
- <span class="org-variable-name">switch.toggle</span>: relay
- <span class="org-variable-name">platform</span>: status
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff S26_2 Status"</span>
<span class="org-variable-name">sensor</span>:
- <span class="org-variable-name">platform</span>: wifi_signal
<span class="org-variable-name">name</span>: <span class="org-string">"sonoffs26_2 WiFi Signal"</span>
<span class="org-variable-name">update_interval</span>: 60s
<span class="org-variable-name">switch</span>:
- <span class="org-variable-name">platform</span>: gpio
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff S26_2 Relay"</span>
<span class="org-variable-name">pin</span>: GPIO12
<span class="org-variable-name">id</span>: <span class="org-string">'relay'</span>
- <span class="org-variable-name">platform</span>: restart
<span class="org-variable-name">name</span>: <span class="org-string">"sonoffs26_2 Restart"</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org2c9bfdd" class="outline-4">
<h4 id="org2c9bfdd">Sonoff S26 3</h4>
<div class="outline-text-4" id="text-org2c9bfdd">
<div class="org-src-container">
<pre class="src src-yaml"><span class="org-variable-name">esphome</span>:
<span class="org-variable-name">name</span>: sonoffs26_3
<span class="org-variable-name">platform</span>: ESP8266
<span class="org-variable-name">board</span>: esp01_1m
<span class="org-variable-name">board_flash_mode</span>: dout
<span class="org-variable-name">wifi</span>:
<span class="org-variable-name">ssid</span>: <span class="org-string">'Freebox-11A882'</span>
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="wifi/Freebox-11A882")&gt;&gt;'</span>
<span class="org-variable-name">ap</span>:
<span class="org-variable-name">ssid</span>: <span class="org-string">'Sonoff S26 3 Fallback Hotspot'</span>
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_s26/ap")&gt;&gt;'</span>
<span class="org-variable-name">status_led</span>:
<span class="org-variable-name">pin</span>:
<span class="org-variable-name">number</span>: GPIO13
<span class="org-variable-name">inverted</span>: <span class="org-constant">false</span>
<span class="org-variable-name">logger</span>:
<span class="org-variable-name">api</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_s26/api")&gt;&gt;'</span>
<span class="org-variable-name">ota</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_s26/ota")&gt;&gt;'</span>
<span class="org-variable-name">web_server</span>:
<span class="org-variable-name">binary_sensor</span>:
- <span class="org-variable-name">platform</span>: gpio
<span class="org-variable-name">pin</span>:
<span class="org-variable-name">number</span>: GPIO0
<span class="org-variable-name">mode</span>: INPUT_PULLUP
<span class="org-variable-name">inverted</span>: <span class="org-constant">True</span>
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff S26_3 Button"</span>
<span class="org-variable-name">on_press</span>:
- <span class="org-variable-name">switch.toggle</span>: relay
- <span class="org-variable-name">platform</span>: status
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff S26_3 Status"</span>
<span class="org-variable-name">sensor</span>:
- <span class="org-variable-name">platform</span>: wifi_signal
<span class="org-variable-name">name</span>: <span class="org-string">"sonoffs26_3 WiFi Signal"</span>
<span class="org-variable-name">update_interval</span>: 60s
<span class="org-variable-name">switch</span>:
- <span class="org-variable-name">platform</span>: gpio
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff S26_3 Relay"</span>
<span class="org-variable-name">pin</span>: GPIO12
<span class="org-variable-name">id</span>: <span class="org-string">'relay'</span>
- <span class="org-variable-name">platform</span>: restart
<span class="org-variable-name">name</span>: <span class="org-string">"sonoffs26_3 Restart"</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org25259ac" class="outline-4">
<h4 id="org25259ac">Sonoff S26 4</h4>
<div class="outline-text-4" id="text-org25259ac">
<div class="org-src-container">
<pre class="src src-yaml"><span class="org-variable-name">esphome</span>:
<span class="org-variable-name">name</span>: sonoffs26_4
<span class="org-variable-name">platform</span>: ESP8266
<span class="org-variable-name">board</span>: esp01_1m
<span class="org-variable-name">board_flash_mode</span>: dout
<span class="org-variable-name">wifi</span>:
<span class="org-variable-name">ssid</span>: <span class="org-string">'Freebox-11A882'</span>
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="wifi/Freebox-11A882")&gt;&gt;'</span>
<span class="org-variable-name">ap</span>:
<span class="org-variable-name">ssid</span>: <span class="org-string">'Sonoff S26 4 Fallback Hotspot'</span>
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_s26/ap")&gt;&gt;'</span>
<span class="org-variable-name">status_led</span>:
<span class="org-variable-name">pin</span>:
<span class="org-variable-name">number</span>: GPIO13
<span class="org-variable-name">inverted</span>: <span class="org-constant">false</span>
<span class="org-variable-name">logger</span>:
<span class="org-variable-name">api</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_s26/api")&gt;&gt;'</span>
<span class="org-variable-name">ota</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_s26/ota")&gt;&gt;'</span>
<span class="org-variable-name">web_server</span>:
<span class="org-variable-name">binary_sensor</span>:
- <span class="org-variable-name">platform</span>: gpio
<span class="org-variable-name">pin</span>:
<span class="org-variable-name">number</span>: GPIO0
<span class="org-variable-name">mode</span>: INPUT_PULLUP
<span class="org-variable-name">inverted</span>: <span class="org-constant">True</span>
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff S26_4 Button"</span>
<span class="org-variable-name">on_press</span>:
- <span class="org-variable-name">switch.toggle</span>: relay
- <span class="org-variable-name">platform</span>: status
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff S26_4 Status"</span>
<span class="org-variable-name">sensor</span>:
- <span class="org-variable-name">platform</span>: wifi_signal
<span class="org-variable-name">name</span>: <span class="org-string">"sonoffs26_4 WiFi Signal"</span>
<span class="org-variable-name">update_interval</span>: 60s
<span class="org-variable-name">switch</span>:
- <span class="org-variable-name">platform</span>: gpio
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff S26_4 Relay"</span>
<span class="org-variable-name">pin</span>: GPIO12
<span class="org-variable-name">id</span>: <span class="org-string">'relay'</span>
- <span class="org-variable-name">platform</span>: restart
<span class="org-variable-name">name</span>: <span class="org-string">"sonoffs26_4 Restart"</span>
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-orgc7cb06f" class="outline-3">
<h3 id="orgc7cb06f">Anoopsyche SB14 - E27 Smart Bulb (Cold White / Warm White)</h3>
<div class="outline-text-3" id="text-orgc7cb06f">
<p>
<a href="https://www.amazon.fr/Ecologique-Compatible-T%C3%A9l%C3%A9commande-Smartphone-%C3%A9nerg%C3%A9tique/dp/B07KWPQMHH/">https://www.amazon.fr/Ecologique-Compatible-T%C3%A9l%C3%A9commande-Smartphone-%C3%A9nerg%C3%A9tique/dp/B07KWPQMHH/</a>
</p>
</div>
<div id="outline-container-org8288a83" class="outline-4">
<h4 id="org8288a83">Anoopsyche CWWW 1</h4>
<div class="outline-text-4" id="text-org8288a83">
<div class="org-src-container">
<pre class="src src-yaml"><span class="org-variable-name">esphome</span>:
<span class="org-variable-name">name</span>: anoopsyche_cwww_1
<span class="org-variable-name">platform</span>: ESP8266
<span class="org-variable-name">board</span>: esp01_1m
<span class="org-variable-name">wifi</span>:
<span class="org-variable-name">ssid</span>: <span class="org-string">'Freebox-11A882'</span>
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="wifi/Freebox-11A882")&gt;&gt;'</span>
<span class="org-variable-name">ap</span>:
<span class="org-variable-name">ssid</span>: <span class="org-string">'Anoopsyche CWWW 1'</span>
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="anoopsyche_cwww/ap")&gt;&gt;'</span>
<span class="org-variable-name">captive_portal</span>:
<span class="org-comment-delimiter"># </span><span class="org-comment">Enable logging</span>
<span class="org-variable-name">logger</span>:
<span class="org-comment-delimiter"># </span><span class="org-comment">Enable Home Assistant API</span>
<span class="org-variable-name">api</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="anoopsyche_cwww/api")&gt;&gt;'</span>
<span class="org-variable-name">ota</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="anoopsyche_cwww/ota")&gt;&gt;'</span>
<span class="org-variable-name">output</span>:
- <span class="org-variable-name">platform</span>: esp8266_pwm
<span class="org-variable-name">id</span>: output_cold_white
<span class="org-variable-name">pin</span>: GPIO5
- <span class="org-variable-name">platform</span>: esp8266_pwm
<span class="org-variable-name">id</span>: output_warm_white
<span class="org-variable-name">pin</span>: GPIO13
<span class="org-variable-name">light</span>:
- <span class="org-variable-name">platform</span>: cwww
<span class="org-variable-name">name</span>: <span class="org-string">'Anoopsyche CWWW 1'</span>
<span class="org-variable-name">default_transition_length</span>: 1s
<span class="org-variable-name">warm_white</span>: output_warm_white
<span class="org-variable-name">cold_white</span>: output_cold_white
<span class="org-variable-name">cold_white_color_temperature</span>: 6000 K
<span class="org-variable-name">warm_white_color_temperature</span>: 2700 K
</pre>
</div>
</div>
</div>
<div id="outline-container-org8484933" class="outline-4">
<h4 id="org8484933">Anoopsyche CWWW 2</h4>
<div class="outline-text-4" id="text-org8484933">
<div class="org-src-container">
<pre class="src src-yaml"><span class="org-variable-name">esphome</span>:
<span class="org-variable-name">name</span>: anoopsyche_cwww_2
<span class="org-variable-name">platform</span>: ESP8266
<span class="org-variable-name">board</span>: esp01_1m
<span class="org-variable-name">wifi</span>:
<span class="org-variable-name">ssid</span>: <span class="org-string">'Freebox-11A882'</span>
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="wifi/Freebox-11A882")&gt;&gt;'</span>
<span class="org-variable-name">ap</span>:
<span class="org-variable-name">ssid</span>: <span class="org-string">'Anoopsyche CWWW 2'</span>
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="anoopsyche_cwww/ap")&gt;&gt;'</span>
<span class="org-variable-name">captive_portal</span>:
<span class="org-comment-delimiter"># </span><span class="org-comment">Enable logging</span>
<span class="org-variable-name">logger</span>:
<span class="org-comment-delimiter"># </span><span class="org-comment">Enable Home Assistant API</span>
<span class="org-variable-name">api</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="anoopsyche_cwww/api")&gt;&gt;'</span>
<span class="org-variable-name">ota</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="anoopsyche_cwww/ota")&gt;&gt;'</span>
<span class="org-variable-name">output</span>:
- <span class="org-variable-name">platform</span>: esp8266_pwm
<span class="org-variable-name">id</span>: output_cold_white
<span class="org-variable-name">pin</span>: GPIO5
- <span class="org-variable-name">platform</span>: esp8266_pwm
<span class="org-variable-name">id</span>: output_warm_white
<span class="org-variable-name">pin</span>: GPIO13
<span class="org-variable-name">light</span>:
- <span class="org-variable-name">platform</span>: cwww
<span class="org-variable-name">name</span>: <span class="org-string">'Anoopsyche CWWW 2'</span>
<span class="org-variable-name">default_transition_length</span>: 1s
<span class="org-variable-name">warm_white</span>: output_warm_white
<span class="org-variable-name">cold_white</span>: output_cold_white
<span class="org-variable-name">cold_white_color_temperature</span>: 6000 K
<span class="org-variable-name">warm_white_color_temperature</span>: 2700 K
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-org13e47c3" class="outline-3">
<h3 id="org13e47c3">Sonoff BasicR2 - DIY Smart Socket</h3>
<div class="outline-text-3" id="text-org13e47c3">
<ul class="org-ul">
<li><a href="https://esphome.io/devices/sonoff_basic.html">ESPHome documentation</a></li>
<li><a href="https://sonoff.tech/product/diy-smart-switch/basicr2/">Sonoff Website</a></li>
</ul>
</div>
<div id="outline-container-orgd04920e" class="outline-4">
<h4 id="orgd04920e">Sonoff Basic 1</h4>
<div class="outline-text-4" id="text-orgd04920e">
<div class="org-src-container">
<pre class="src src-yaml"><span class="org-variable-name">esphome</span>:
<span class="org-variable-name">name</span>: sonoffbasic_1
<span class="org-variable-name">platform</span>: ESP8266
<span class="org-variable-name">board</span>: esp8285
<span class="org-variable-name">arduino_version</span>: 2.4.2
<span class="org-variable-name">wifi</span>:
<span class="org-variable-name">ssid</span>: <span class="org-string">'Freebox-11A882'</span>
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="wifi/Freebox-11A882")&gt;&gt;'</span>
<span class="org-variable-name">api</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_basic/api")&gt;&gt;'</span>
<span class="org-variable-name">logger</span>:
<span class="org-variable-name">ota</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_basic/ota")&gt;&gt;'</span>
<span class="org-variable-name">binary_sensor</span>:
- <span class="org-variable-name">platform</span>: gpio
<span class="org-variable-name">pin</span>:
<span class="org-variable-name">number</span>: GPIO0
<span class="org-variable-name">mode</span>: INPUT_PULLUP
<span class="org-variable-name">inverted</span>: <span class="org-constant">True</span>
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff Basic Button 1"</span>
<span class="org-variable-name">on_press</span>:
- <span class="org-variable-name">switch.toggle</span>: relay
<span class="org-variable-name">switch</span>:
- <span class="org-variable-name">platform</span>: gpio
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff Basic Relay 1"</span>
<span class="org-variable-name">pin</span>: GPIO12
<span class="org-variable-name">id</span>: relay
<span class="org-variable-name">status_led</span>:
<span class="org-variable-name">pin</span>:
<span class="org-variable-name">number</span>: GPIO13
<span class="org-variable-name">inverted</span>: <span class="org-constant">yes</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orga594994" class="outline-4">
<h4 id="orga594994">Sonoff Basic 2</h4>
<div class="outline-text-4" id="text-orga594994">
<div class="org-src-container">
<pre class="src src-yaml"><span class="org-variable-name">esphome</span>:
<span class="org-variable-name">name</span>: sonoffbasic_2
<span class="org-variable-name">platform</span>: ESP8266
<span class="org-variable-name">board</span>: esp8285
<span class="org-variable-name">arduino_version</span>: 2.4.2
<span class="org-variable-name">wifi</span>:
<span class="org-variable-name">ssid</span>: <span class="org-string">'Freebox-11A882'</span>
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="wifi/Freebox-11A882")&gt;&gt;'</span>
<span class="org-variable-name">api</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_basic/api")&gt;&gt;'</span>
<span class="org-variable-name">logger</span>:
<span class="org-variable-name">ota</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_basic/ota")&gt;&gt;'</span>
<span class="org-variable-name">binary_sensor</span>:
- <span class="org-variable-name">platform</span>: gpio
<span class="org-variable-name">pin</span>:
<span class="org-variable-name">number</span>: GPIO0
<span class="org-variable-name">mode</span>: INPUT_PULLUP
<span class="org-variable-name">inverted</span>: <span class="org-constant">True</span>
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff Basic Button 2"</span>
<span class="org-variable-name">on_press</span>:
- <span class="org-variable-name">switch.toggle</span>: relay
<span class="org-variable-name">switch</span>:
- <span class="org-variable-name">platform</span>: gpio
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff Basic Relay 2"</span>
<span class="org-variable-name">pin</span>: GPIO12
<span class="org-variable-name">id</span>: relay
<span class="org-variable-name">status_led</span>:
<span class="org-variable-name">pin</span>:
<span class="org-variable-name">number</span>: GPIO13
<span class="org-variable-name">inverted</span>: <span class="org-constant">yes</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgb5bd748" class="outline-4">
<h4 id="orgb5bd748">Sonoff Basic 3</h4>
<div class="outline-text-4" id="text-orgb5bd748">
<div class="org-src-container">
<pre class="src src-yaml"><span class="org-variable-name">esphome</span>:
<span class="org-variable-name">name</span>: sonoffbasic_3
<span class="org-variable-name">platform</span>: ESP8266
<span class="org-variable-name">board</span>: esp8285
<span class="org-variable-name">arduino_version</span>: 2.4.2
<span class="org-variable-name">wifi</span>:
<span class="org-variable-name">ssid</span>: <span class="org-string">'Freebox-11A882'</span>
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="wifi/Freebox-11A882")&gt;&gt;'</span>
<span class="org-variable-name">api</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_basic/api")&gt;&gt;'</span>
<span class="org-variable-name">logger</span>:
<span class="org-variable-name">ota</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_basic/ota")&gt;&gt;'</span>
<span class="org-variable-name">binary_sensor</span>:
- <span class="org-variable-name">platform</span>: gpio
<span class="org-variable-name">pin</span>:
<span class="org-variable-name">number</span>: GPIO0
<span class="org-variable-name">mode</span>: INPUT_PULLUP
<span class="org-variable-name">inverted</span>: <span class="org-constant">True</span>
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff Basic Button 3"</span>
<span class="org-variable-name">on_press</span>:
- <span class="org-variable-name">switch.toggle</span>: relay
<span class="org-variable-name">switch</span>:
- <span class="org-variable-name">platform</span>: gpio
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff Basic Relay 3"</span>
<span class="org-variable-name">pin</span>: GPIO12
<span class="org-variable-name">id</span>: relay
<span class="org-variable-name">status_led</span>:
<span class="org-variable-name">pin</span>:
<span class="org-variable-name">number</span>: GPIO13
<span class="org-variable-name">inverted</span>: <span class="org-constant">yes</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org5ba0236" class="outline-4">
<h4 id="org5ba0236">Sonoff Basic 4</h4>
<div class="outline-text-4" id="text-org5ba0236">
<div class="org-src-container">
<pre class="src src-yaml"><span class="org-variable-name">esphome</span>:
<span class="org-variable-name">name</span>: sonoffbasic_4
<span class="org-variable-name">platform</span>: ESP8266
<span class="org-variable-name">board</span>: esp8285
<span class="org-variable-name">arduino_version</span>: 2.4.2
<span class="org-variable-name">wifi</span>:
<span class="org-variable-name">ssid</span>: <span class="org-string">'Freebox-11A882'</span>
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="wifi/Freebox-11A882")&gt;&gt;'</span>
<span class="org-variable-name">api</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_basic/api")&gt;&gt;'</span>
<span class="org-variable-name">logger</span>:
<span class="org-variable-name">ota</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_basic/ota")&gt;&gt;'</span>
<span class="org-variable-name">binary_sensor</span>:
- <span class="org-variable-name">platform</span>: gpio
<span class="org-variable-name">pin</span>:
<span class="org-variable-name">number</span>: GPIO0
<span class="org-variable-name">mode</span>: INPUT_PULLUP
<span class="org-variable-name">inverted</span>: <span class="org-constant">True</span>
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff Basic Button 4"</span>
<span class="org-variable-name">on_press</span>:
- <span class="org-variable-name">switch.toggle</span>: relay
<span class="org-variable-name">switch</span>:
- <span class="org-variable-name">platform</span>: gpio
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff Basic Relay 4"</span>
<span class="org-variable-name">pin</span>: GPIO12
<span class="org-variable-name">id</span>: relay
<span class="org-variable-name">status_led</span>:
<span class="org-variable-name">pin</span>:
<span class="org-variable-name">number</span>: GPIO13
<span class="org-variable-name">inverted</span>: <span class="org-constant">yes</span>
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-org930b61a" class="outline-3">
<h3 id="org930b61a">Sonoff POWR2 - DIY Power Monitoring Smart Socket</h3>
<div class="outline-text-3" id="text-org930b61a">
<ul class="org-ul">
<li><a href="https://sonoff.tech/product/diy-smart-switch/powr2/">Sonoff Website</a></li>
</ul>
</div>
<div id="outline-container-orgfe15c18" class="outline-4">
<h4 id="orgfe15c18">Sonoff POWR2 1</h4>
<div class="outline-text-4" id="text-orgfe15c18">
<div class="org-src-container">
<pre class="src src-yaml"><span class="org-variable-name">esphome</span>:
<span class="org-variable-name">name</span>: sonoffpowr2_1
<span class="org-variable-name">platform</span>: ESP8266
<span class="org-variable-name">board</span>: esp01_1m
<span class="org-variable-name">board_flash_mode</span>: dout
<span class="org-variable-name">wifi</span>:
<span class="org-variable-name">ssid</span>: <span class="org-string">'Freebox-11A882'</span>
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="wifi/Freebox-11A882")&gt;&gt;'</span>
<span class="org-variable-name">ap</span>:
<span class="org-variable-name">ssid</span>: <span class="org-string">'Sonoff POWR2 1 Fallback Hotspot'</span>
<span class="org-variable-name">password</span>: <span class="org-string">'gmHu3rQHZHwH'</span>
<span class="org-variable-name">mqtt</span>:
<span class="org-variable-name">broker</span>: <span class="org-string">'192.168.1.11'</span>
<span class="org-variable-name">logger</span>:
<span class="org-variable-name">api</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_powr2/api")&gt;&gt;'</span>
<span class="org-variable-name">ota</span>:
<span class="org-variable-name">password</span>: <span class="org-string">'&lt;&lt;get-password(passname="sonoff_powr2/ota")&gt;&gt;'</span>
<span class="org-variable-name">uart</span>:
<span class="org-variable-name">rx_pin</span>: RX
<span class="org-variable-name">baud_rate</span>: 4800
<span class="org-variable-name">sensor</span>:
- <span class="org-variable-name">platform</span>: cse7766
<span class="org-variable-name">current</span>:
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff POWR2_1 Current"</span>
<span class="org-variable-name">voltage</span>:
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff POWR2_1 Voltage"</span>
<span class="org-variable-name">power</span>:
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff POWR2_1 Power"</span>
<span class="org-variable-name">binary_sensor</span>:
- <span class="org-variable-name">platform</span>: gpio
<span class="org-variable-name">pin</span>:
<span class="org-variable-name">number</span>: GPIO0
<span class="org-variable-name">mode</span>: INPUT_PULLUP
<span class="org-variable-name">inverted</span>: <span class="org-constant">True</span>
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff POWR2_1 Button"</span>
<span class="org-variable-name">on_press</span>:
- <span class="org-variable-name">switch.toggle</span>: relay
<span class="org-variable-name">switch</span>:
- <span class="org-variable-name">platform</span>: gpio
<span class="org-variable-name">name</span>: <span class="org-string">"Sonoff POWR2_1 Relay"</span>
<span class="org-variable-name">pin</span>: GPIO12
<span class="org-variable-name">id</span>: <span class="org-string">'relay'</span>
</pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-10-25 lun. 14:33</p>
</div>
</body>
</html>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-04-25 dim. 19:10 -->
<!-- 2021-10-25 lun. 14:33 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Mail Configuration</title>
<meta name="author" content="Dehaeze Thomas" />
@ -16,17 +16,17 @@
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content">
</div><div id="content" class="content">
<h1 class="title">Mail Configuration</h1>
<div id="table-of-contents">
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#mbsync"><code>mbsync</code> - Synchronize Mailboxes</a>
<ul>
<li><a href="#orgfe8c5af">Global Defaults</a></li>
<li><a href="#org6d923d6">Gmail Account</a></li>
<li><a href="#org938fdb8">ESRF Account</a></li>
<li><a href="#orgb0c3173">Gmail Account</a></li>
<li><a href="#org0a8a59b">ESRF Account</a></li>
<li><a href="#org62106bc">ULG Student Account</a></li>
<li><a href="#org0b87d58">ULG Personal Account</a></li>
</ul>
@ -34,8 +34,8 @@
<li><a href="#msmtp"><code>msmtp</code> - Send Mails</a>
<ul>
<li><a href="#org4a1b391">Defaults</a></li>
<li><a href="#org1ff2ab1">Gmail Account</a></li>
<li><a href="#org97e9d97">ESRF Account</a></li>
<li><a href="#orgb0d4eab">Gmail Account</a></li>
<li><a href="#org8d2a90a">ESRF Account</a></li>
<li><a href="#orga821cde">ULG Account</a></li>
<li><a href="#org9bced56">ULIEGE Account</a></li>
<li><a href="#org8274d8c">Default Account</a></li>
@ -48,11 +48,11 @@
<ul>
<li><a href="#orgabf02bf">Unding all the key bindings</a></li>
<li><a href="#orgab6327c">Quit Neomutt</a></li>
<li><a href="#org66ef145">Generic</a></li>
<li><a href="#orga1062ac">Generic</a></li>
<li><a href="#orgc3a79b4">Index and Pager</a></li>
<li><a href="#orge2cd847">Limit</a></li>
<li><a href="#orgdaa2ab4">Search</a></li>
<li><a href="#org3f46ed0">Attachments</a></li>
<li><a href="#orgb41e617">Attachments</a></li>
<li><a href="#orga27e33b">Compose</a>
<ul>
<li><a href="#orgf944cb5">Attach with Ranger Script</a></li>
@ -60,8 +60,8 @@
</ul>
</li>
<li><a href="#org1ff0684">Browser</a></li>
<li><a href="#org0cbcd02">Generic</a></li>
<li><a href="#orgcd09540">Sidebar</a></li>
<li><a href="#org2448417">Generic</a></li>
<li><a href="#org9f696dc">Sidebar</a></li>
<li><a href="#orgd383cd7">Reload Configuration</a></li>
<li><a href="#org5fccb4d">urlview - Open URL in emails</a></li>
<li><a href="#orgbe837d6">Searching using Mu</a></li>
@ -72,19 +72,7 @@
</li>
</ul>
</li>
<li><a href="#org623ded5">Colors</a>
<ul>
<li><a href="#orgcceb03a">Basic colors</a></li>
<li><a href="#orgfd072f9">Index</a></li>
<li><a href="#org83f1610">Sidebar</a></li>
<li><a href="#org35e03db">Message headers</a></li>
<li><a href="#org4443f6e">Attachments</a></li>
<li><a href="#orgf06407f">Body</a></li>
<li><a href="#org28ee304">PGP</a></li>
<li><a href="#org1894a8b">Urls</a></li>
<li><a href="#org2284ebe">Emails</a></li>
</ul>
</li>
<li><a href="#org623ded5">Colors</a></li>
<li><a href="#org6ba784d">Contacts with Mu</a></li>
<li><a href="#org69d81ad">Paths</a></li>
<li><a href="#orgd9f320f">Print</a></li>
@ -92,26 +80,26 @@
<ul>
<li><a href="#org828ef22">Gmail</a>
<ul>
<li><a href="#org27216c2">Configuration</a></li>
<li><a href="#org655b864">Signature</a></li>
<li><a href="#orgf1f7ab1">Configuration</a></li>
<li><a href="#org28444ce">Signature</a></li>
</ul>
</li>
<li><a href="#org75c25aa">ESRF</a>
<ul>
<li><a href="#org0743b6e">Configuration</a></li>
<li><a href="#org04e1907">Signature</a></li>
<li><a href="#org38fcd39">Configuration</a></li>
<li><a href="#orgd86e4b8">Signature</a></li>
</ul>
</li>
<li><a href="#org8c506c3">ULG</a>
<ul>
<li><a href="#orga56e103">Configuration</a></li>
<li><a href="#orgf201532">Signature</a></li>
<li><a href="#org4507cc1">Configuration</a></li>
<li><a href="#org24686f3">Signature</a></li>
</ul>
</li>
<li><a href="#org72df244">ULIEGE</a>
<ul>
<li><a href="#org82ffb40">Configuration</a></li>
<li><a href="#org20fa21b">Signature</a></li>
<li><a href="#orged812e7">Configuration</a></li>
<li><a href="#orgd419bc3">Signature</a></li>
</ul>
</li>
</ul>
@ -127,13 +115,13 @@
<li><a href="#orgda776cc">Headers</a></li>
</ul>
</li>
<li><a href="#org98d56f4">Sidebar</a>
<li><a href="#orgc35a45a">Sidebar</a>
<ul>
<li><a href="#org763534f">General Config</a></li>
<li><a href="#org6ca1b3c">Mailboxes to show in the sidebar.</a></li>
</ul>
</li>
<li><a href="#orge3f70c1">Attachments</a>
<li><a href="#orgec162c4">Attachments</a>
<ul>
<li><a href="#orgc93e665">Attachment View Options</a></li>
<li><a href="#orge340736">Open Attachment</a></li>
@ -186,9 +174,9 @@ Expunge Both
</div>
</div>
<div id="outline-container-org6d923d6" class="outline-3">
<h3 id="org6d923d6">Gmail Account</h3>
<div class="outline-text-3" id="text-org6d923d6">
<div id="outline-container-orgb0c3173" class="outline-3">
<h3 id="orgb0c3173">Gmail Account</h3>
<div class="outline-text-3" id="text-orgb0c3173">
<div class="org-src-container">
<pre class="src src-conf">IMAPAccount gmail
Host imap.gmail.com
@ -224,8 +212,8 @@ Channel gmail-Trash
Far :gmail-remote:<span class="org-string">"[Gmail]/Trash"</span>
Near :gmail-local:Trash
Channel gmail-All
Far :gmail-remote:<span class="org-string">"[Gmail]/All Mail"</span>
Channel gmail-Archive
Far :gmail-remote:<span class="org-string">"[Imap]/Archive"</span>
Near :gmail-local:Archive
</pre>
</div>
@ -241,12 +229,10 @@ Near :gmail-local:
Patterns *
Patterns !INBOX
Patterns ![Gmail]*
Patterns !Archive
Patterns !Drafts
Patterns !Sent Mail
Patterns !Trash
Patterns !Spam
Patterns !Starred
<span class="org-comment-delimiter"># </span><span class="org-comment">Patterns ![Imap]/Archive</span>
</pre>
</div>
@ -263,9 +249,9 @@ Sync Pull
</div>
</div>
<div id="outline-container-org938fdb8" class="outline-3">
<h3 id="org938fdb8">ESRF Account</h3>
<div class="outline-text-3" id="text-org938fdb8">
<div id="outline-container-org0a8a59b" class="outline-3">
<h3 id="org0a8a59b">ESRF Account</h3>
<div class="outline-text-3" id="text-org0a8a59b">
<div class="org-src-container">
<pre class="src src-conf">IMAPAccount esrf
Host imaps.esrf.fr
@ -480,9 +466,9 @@ tls_certcheck off
</div>
</div>
<div id="outline-container-org1ff2ab1" class="outline-3">
<h3 id="org1ff2ab1">Gmail Account</h3>
<div class="outline-text-3" id="text-org1ff2ab1">
<div id="outline-container-orgb0d4eab" class="outline-3">
<h3 id="orgb0d4eab">Gmail Account</h3>
<div class="outline-text-3" id="text-orgb0d4eab">
<div class="org-src-container">
<pre class="src src-conf">account gmail
host smtp.gmail.com
@ -496,9 +482,9 @@ passwordeval <span class="org-string">"pass email/dehaeze.thomas@gmail.com"</spa
</div>
</div>
<div id="outline-container-org97e9d97" class="outline-3">
<h3 id="org97e9d97">ESRF Account</h3>
<div class="outline-text-3" id="text-org97e9d97">
<div id="outline-container-org8d2a90a" class="outline-3">
<h3 id="org8d2a90a">ESRF Account</h3>
<div class="outline-text-3" id="text-org8d2a90a">
<div class="org-src-container">
<pre class="src src-conf">account esrf
host smtps.esrf.fr
@ -881,9 +867,9 @@ macro index q <span class="org-string">"&lt;shell-escape&gt;if [ $TMUX ]; then t
</div>
</div>
<div id="outline-container-org66ef145" class="outline-4">
<h4 id="org66ef145">Generic</h4>
<div class="outline-text-4" id="text-org66ef145">
<div id="outline-container-orga1062ac" class="outline-4">
<h4 id="orga1062ac">Generic</h4>
<div class="outline-text-4" id="text-orga1062ac">
<div class="org-src-container">
<pre class="src src-conf">bind generic Q exit
@ -919,6 +905,9 @@ bind generic,index,pager \Cy previous-line
<pre class="src src-conf">bind pager k previous-line
bind pager j next-line
<span class="org-comment-delimiter"># </span><span class="org-comment">Display mode information</span>
bind pager i display-toggle-weed
bind index &lt;space&gt; collapse-thread
bind index,pager K previous-entry
@ -1008,7 +997,7 @@ Open mail with Vim
</div>
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">bind index,pager U toggle-new</span>
<pre class="src src-conf">bind index U toggle-new
</pre>
</div>
@ -1057,9 +1046,9 @@ bind index,pager N search-opposite
</div>
</div>
<div id="outline-container-org3f46ed0" class="outline-4">
<h4 id="org3f46ed0">Attachments</h4>
<div class="outline-text-4" id="text-org3f46ed0">
<div id="outline-container-orgb41e617" class="outline-4">
<h4 id="orgb41e617">Attachments</h4>
<div class="outline-text-4" id="text-orgb41e617">
<div class="org-src-container">
<pre class="src src-conf">bind attach l view-attach
@ -1157,9 +1146,9 @@ bind browser q exit
</div>
</div>
<div id="outline-container-org0cbcd02" class="outline-4">
<h4 id="org0cbcd02">Generic</h4>
<div class="outline-text-4" id="text-org0cbcd02">
<div id="outline-container-org2448417" class="outline-4">
<h4 id="org2448417">Generic</h4>
<div class="outline-text-4" id="text-org2448417">
<p>
Enter Command
</p>
@ -1170,9 +1159,9 @@ Enter Command
</div>
</div>
<div id="outline-container-orgcd09540" class="outline-4">
<h4 id="orgcd09540">Sidebar</h4>
<div class="outline-text-4" id="text-orgcd09540">
<div id="outline-container-org9f696dc" class="outline-4">
<h4 id="org9f696dc">Sidebar</h4>
<div class="outline-text-4" id="text-org9f696dc">
<div class="org-src-container">
<pre class="src src-conf">bind index,pager \Cp sidebar-prev
bind index,pager \Cn sidebar-next
@ -1243,28 +1232,31 @@ macro index,pager gf <span class="org-string">"&lt;change-folder-readonly&gt;~/.
<div id="outline-container-orge02ba2d" class="outline-5">
<h5 id="orge02ba2d">Link mail to orgmode - Script</h5>
<div class="outline-text-5" id="text-orge02ba2d">
<p>
<a href="https://orgmode.org/manual/The-capture-protocol.html#The-capture-protocol">https://orgmode.org/manual/The-capture-protocol.html#The-capture-protocol</a>
</p>
<div class="org-src-container">
<pre class="src src-python"><span class="org-keyword">import</span> sys
<span class="org-keyword">import</span> email
<span class="org-keyword">from</span> email <span class="org-keyword">import</span> policy
<span class="org-keyword">import</span> subprocess
<span class="org-keyword">import</span> urllib.parse
<span class="org-comment-delimiter"># </span><span class="org-comment">Parse the email from standard input</span>
<span class="org-variable-name">message_bytes</span> = sys.stdin.<span class="org-builtin">buffer</span>.read()
<span class="org-variable-name">message</span> = email.message_from_bytes(message_bytes)
<span class="org-variable-name">message</span> = email.message_from_bytes(message_bytes, policy=policy.default)
<span class="org-comment-delimiter"># </span><span class="org-comment">Grab the relevant message headers</span>
<span class="org-variable-name">message_id</span> = urllib.parse.quote(message[<span class="org-string">'message-id'</span>].strip()[<span class="org-highlight-numbers-number">1</span>:-<span class="org-highlight-numbers-number">1</span>])
<span class="org-variable-name">subject</span> = message[<span class="org-string">'subject'</span>].replace(<span class="org-string">'['</span>, <span class="org-string">'{'</span>).replace(<span class="org-string">']'</span>, <span class="org-string">'}'</span>).replace(<span class="org-string">'\n'</span>, <span class="org-string">' '</span>)
<span class="org-variable-name">subject</span> = (subject[:<span class="org-highlight-numbers-number">75</span>] + <span class="org-string">'..'</span>) <span class="org-keyword">if</span> <span class="org-builtin">len</span>(subject) &gt; <span class="org-highlight-numbers-number">75</span> <span class="org-keyword">else</span> subject
<span class="org-variable-name">message_id</span> = urllib.parse.quote(message[<span class="org-string">'message-id'</span>][<span class="org-highlight-numbers-number">1</span>:-<span class="org-highlight-numbers-number">1</span>])
<span class="org-variable-name">subject</span> = message[<span class="org-string">'subject'</span>]
<span class="org-variable-name">message_to</span> = message[<span class="org-string">'to'</span>]
<span class="org-comment-delimiter"># </span><span class="org-comment">Ask emacsclient to save a link to the message</span>
<span class="org-variable-name">p</span> = subprocess.Popen([
subprocess.Popen([
<span class="org-string">'emacsclient'</span>,
f<span class="org-string">'org-protocol://capture?template=pm&amp;url={message_id}&amp;title={subject}'</span>
f<span class="org-string">'org-protocol://capture?template=ps&amp;url={message_id}&amp;title={subject}&amp;body={message_to}'</span>
])
p.wait()
</pre>
</div>
</div>
@ -1275,172 +1267,66 @@ p.wait()
<div id="outline-container-org623ded5" class="outline-3">
<h3 id="org623ded5">Colors</h3>
<div class="outline-text-3" id="text-org623ded5">
</div>
<div id="outline-container-orgcceb03a" class="outline-4">
<h4 id="orgcceb03a">Basic colors</h4>
<div class="outline-text-4" id="text-orgcceb03a">
<div class="org-src-container">
<pre class="src src-conf">color normal color021 color000
color error color021 color000
color tilde color021 color000
color message color021 color000
color markers color021 color000
color attachment color021 color000
color search color000 color003
color status color016 color000
color indicator color000 color021
color tree color021 color000
color progress color000 color021
<pre class="src src-conf">color attachment color109 color235
color bold color229 color235
color error color167 color235
color hdrdefault color246 color235
color indicator color223 color237
color markers color243 color235
color normal color223 color235
color prompt color223 color235
color quoted color250 color235
color quoted1 color108 color235
color quoted2 color250 color235
color quoted3 color108 color235
color quoted4 color250 color235
color quoted5 color108 color235
color search color235 color208
color signature color108 color235
color status color245 color235
color tilde color243 color235
color tree color142 color235
color underline color223 color239
<span class="org-comment-delimiter"># </span><span class="org-comment">basic monocolor screen</span>
mono bold bold
mono underline underline
mono indicator reverse
mono error bold
color sidebar_divider color250 color235
color sidebar_new color142 color235
color index color142 color235 ~N
color index color108 color235 ~O
color index color109 color235 ~P
color index color214 color235 ~F
color index color175 color235 ~Q
<span class="org-variable-name">color index color167 color235 ~</span>=
color index color235 color223 ~T
color index color235 color167 ~D
color header color214 color235 <span class="org-string">"^(To:|Cc:|Bcc:|From:)"</span>
color header color142 color235 <span class="org-string">"^Subject:"</span>
color header color108 color235 <span class="org-string">"^X-Spam-Status:"</span>
color header color108 color235 <span class="org-string">"^Received:"</span>
color body color142 color235 <span class="org-string">"[a-z]{3,256}://[-a-zA-Z0-9@:%._\\+~#=/?&amp;,]+"</span>
color body color208 color235 <span class="org-string">"[-a-z_0-9.%$]+@[-a-z_0-9.]+\\.[-a-z][-a-z]+"</span>
color body color208 color235 <span class="org-string">"mailto:[-a-z_0-9.]+@[-a-z_0-9.]+"</span>
color body color235 color214 <span class="org-string">"[;:]-*[)&gt;(&lt;lt;|]"</span>
color body color229 color235 <span class="org-string">"\\*[- A-Za-z]+\\*"</span>
color body color214 color235 <span class="org-string">"^-.*PGP.*-*"</span>
color body color142 color235 <span class="org-string">"^gpg: Good signature from"</span>
color body color167 color235 <span class="org-string">"^gpg: Can't.*$"</span>
color body color214 color235 <span class="org-string">"^gpg: WARNING:.*$"</span>
color body color167 color235 <span class="org-string">"^gpg: BAD signature from"</span>
color body color167 color235 <span class="org-string">"^gpg: Note: This key has expired!"</span>
color body color214 color235 <span class="org-string">"^gpg: There is no indication that the signature belongs to the owner."</span>
color body color214 color235 <span class="org-string">"^gpg: can't handle these multiple signatures"</span>
color body color214 color235 <span class="org-string">"^gpg: signature verification suppressed"</span>
color body color214 color235 <span class="org-string">"^gpg: invalid node with packet of type"</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgfd072f9" class="outline-4">
<h4 id="orgfd072f9">Index</h4>
<div class="outline-text-4" id="text-orgfd072f9">
<div class="org-src-container">
<pre class="src src-conf">color index color021 color000 <span class="org-string">"~A"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">All messages</span>
color index brightcolor006 color000 <span class="org-string">"~N"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">New messages</span>
color index color020 color000 <span class="org-string">"~O"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">Old messages</span>
color index color020 color000 <span class="org-string">"~Q"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">messages that have been replied to</span>
color index color021 color000 <span class="org-string">"~R"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">read messages</span>
color index color006 color000 <span class="org-string">"~U"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">unread messages</span>
color index color021 color000 <span class="org-string">"~R~p!~F"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">messages to me</span>
color index brightcolor006 color000 <span class="org-string">"~N~p!~F"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">new messages to me</span>
color index brightcolor006 color000 <span class="org-string">"~U~p!~F"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">unread messages to me</span>
color index color005 color000 <span class="org-string">"~F"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">flagged messages</span>
color index color005 color000 <span class="org-string">"~F~p"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">flagged messages to me</span>
color index brightcolor006 color000 <span class="org-string">"~N~F"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">new flagged messages</span>
color index brightcolor006 color000 <span class="org-string">"~N~F~p"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">new flagged messages to me</span>
color index brightcolor006 color000 <span class="org-string">"~U~F~p"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">new flagged messages to me</span>
color index brightcolor000 color001 <span class="org-string">"~D"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">deleted messages</span>
color index brightcolor021 color019 <span class="org-string">"~v~(!~N)"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">collapsed thread with no unread</span>
color index brightcolor006 color019 <span class="org-string">"~v~(~N)"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">collapsed thread with some unread</span>
color index brightcolor006 color019 <span class="org-string">"~N~v~(~N)"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">collapsed thread with unread parent</span>
color index brightcolor005 color019 <span class="org-string">"~v~(~F)!~N"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">collapsed thread with flagged, no unread</span>
color index brightcolor006 color019 <span class="org-string">"~v~(~F~N)"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">collapsed thread with some unread &amp; flagged</span>
color index brightcolor006 color019 <span class="org-string">"~N~v~(~F~N)"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">collapsed thread with unread parent &amp; flagged</span>
color index brightcolor005 color019 <span class="org-string">"~N~v~(~F)"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">collapsed thread with unread parent, no unread inside, but some flagged</span>
color index brightcolor000 color001 <span class="org-string">"~v~(~D)"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">thread with deleted (doesn't differentiate between all or partial)</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org83f1610" class="outline-4">
<h4 id="org83f1610">Sidebar</h4>
<div class="outline-text-4" id="text-org83f1610">
<div class="org-src-container">
<pre class="src src-conf"> color sidebar_indicator color000 color021 <span class="org-comment-delimiter"># </span><span class="org-comment">Mailbox is open</span>
color sidebar_highlight color000 color003 <span class="org-comment-delimiter"># </span><span class="org-comment">Mailbox is highlighted</span>
color sidebar_new brightcolor006 color000 <span class="org-comment-delimiter"># </span><span class="org-comment">Mailbox contains new mail</span>
color sidebar_ordinary color021 color000 <span class="org-comment-delimiter"># </span><span class="org-comment">Mailbox contains new mail</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org35e03db" class="outline-4">
<h4 id="org35e03db">Message headers</h4>
<div class="outline-text-4" id="text-org35e03db">
<div class="org-src-container">
<pre class="src src-conf">color hdrdefault color006 color000
color header brightcolor006 color000 <span class="org-string">"^(From)"</span>
color header brightcolor004 color000 <span class="org-string">"^(Subject)"</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org4443f6e" class="outline-4">
<h4 id="org4443f6e">Attachments</h4>
<div class="outline-text-4" id="text-org4443f6e">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">Color if the attachment is autoviewed</span>
color attach_headers brightgreen default <span class="org-string">"Autoview"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Color only the brackets around the headers</span>
color attach_headers brightyellow default <span class="org-string">"^\\[--"</span>
color attach_headers brightyellow default <span class="org-string">"--]$"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Color the mime type and the size</span>
color attach_headers green default <span class="org-string">"Type: [a-z]+/[a-z0-9\-]+"</span>
color attach_headers green default <span class="org-string">"Size: [0-9\.]+[KM]"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Color GPGME signature checks</span>
color attach_headers brightgreen default <span class="org-string">"Good signature from.*"</span>
color attach_headers brightred default <span class="org-string">"Bad signature from.*"</span>
color attach_headers brightred default <span class="org-string">"BAD signature from.*"</span>
color attach_headers brightred default <span class="org-string">"Note: This key has expired!"</span>
color attach_headers brightmagenta default <span class="org-string">"Problem signature from.*"</span>
color attach_headers brightmagenta default <span class="org-string">"WARNING: This key is not certified with a trusted signature!"</span>
color attach_headers brightmagenta default <span class="org-string">" There is no indication that the signature belongs to the owner."</span>
color attach_headers brightmagenta default <span class="org-string">"can't handle these multiple signatures"</span>
color attach_headers brightmagenta default <span class="org-string">"signature verification suppressed"</span>
color attach_headers brightmagenta default <span class="org-string">"invalid node with packet of type"</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgf06407f" class="outline-4">
<h4 id="orgf06407f">Body</h4>
<div class="outline-text-4" id="text-orgf06407f">
<div class="org-src-container">
<pre class="src src-conf">color quoted color002 color000
color quoted1 color003 color000
color quoted2 color004 color000
color quoted3 color005 color000
color quoted4 color006 color000
color signature color021 color000
color bold brightcolor021 color000
color underline brightcolor021 color000
color normal color021 color000
</pre>
</div>
</div>
</div>
<div id="outline-container-org28ee304" class="outline-4">
<h4 id="org28ee304">PGP</h4>
<div class="outline-text-4" id="text-org28ee304">
<div class="org-src-container">
<pre class="src src-conf">color body color001 color000 <span class="org-string">"(BAD signature)"</span>
color body color002 color000 <span class="org-string">"(Good signature)"</span>
color body color002 color000 <span class="org-string">"^gpg: Good signature .*"</span>
color body color002 color000 <span class="org-string">"^gpg: "</span>
color body color002 color000 <span class="org-string">"^gpg: BAD signature from.*"</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org1894a8b" class="outline-4">
<h4 id="org1894a8b">Urls</h4>
<div class="outline-text-4" id="text-org1894a8b">
<div class="org-src-container">
<pre class="src src-conf">color body color006 color000 <span class="org-string">"([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&amp;=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&amp;=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&amp;=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&amp;=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&amp;=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&amp;=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&amp;=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&amp;=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&amp;=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&amp;=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&amp;=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&amp;=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&amp;=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&amp;=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n&lt;&gt;\"]"</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org2284ebe" class="outline-4">
<h4 id="org2284ebe">Emails</h4>
<div class="outline-text-4" id="text-org2284ebe">
<div class="org-src-container">
<pre class="src src-conf">color body color006 color000 <span class="org-string">"((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])"</span>
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-org6ba784d" class="outline-3">
<h3 id="org6ba784d">Contacts with Mu</h3>
<div class="outline-text-3" id="text-org6ba784d">
@ -1508,18 +1394,19 @@ macro index,pager gm <span class="org-string">"&lt;change-folder&gt;+gmail/Inbox
<h4 id="org828ef22">Gmail</h4>
<div class="outline-text-4" id="text-org828ef22">
</div>
<div id="outline-container-org27216c2" class="outline-5">
<h5 id="org27216c2">Configuration</h5>
<div class="outline-text-5" id="text-org27216c2">
<div id="outline-container-orgf1f7ab1" class="outline-5">
<h5 id="orgf1f7ab1">Configuration</h5>
<div class="outline-text-5" id="text-orgf1f7ab1">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">set from</span> = <span class="org-string">"dehaeze.thomas@gmail.com"</span>
<span class="org-variable-name">set sendmail</span> = <span class="org-string">"~/.config/neomutt/bin/send_mail.sh gmail"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Other special folders.</span>
<span class="org-variable-name">set mbox</span> = <span class="org-string">"+gmail/Archive"</span>
unset record <span class="org-comment-delimiter"># </span><span class="org-comment">Don't copy send message to Sent folder: Gmail does that for us</span>
<span class="org-variable-name">set mbox</span> = <span class="org-string">"+gmail/Archive"</span> <span class="org-comment-delimiter"># </span><span class="org-comment">Archive Box</span>
<span class="org-variable-name">set postponed</span> = <span class="org-string">"+gmail/Drafts"</span>
unset record <span class="org-comment-delimiter"># </span><span class="org-comment">Don't copy send message to Sent folder: Gmail does that for us</span>
<span class="org-variable-name">set signature</span> = <span class="org-string">"~/.config/neomutt/accounts/gmail.signature"</span>
macro index,pager d \
@ -1534,9 +1421,9 @@ macro index,pager D \
</div>
</div>
<div id="outline-container-org655b864" class="outline-5">
<h5 id="org655b864">Signature</h5>
<div class="outline-text-5" id="text-org655b864">
<div id="outline-container-org28444ce" class="outline-5">
<h5 id="org28444ce">Signature</h5>
<div class="outline-text-5" id="text-org28444ce">
<div class="org-src-container">
<pre class="src src-conf">Thomas Dehaeze
</pre>
@ -1556,9 +1443,9 @@ This empty code block is used to add a new line after signature
<h4 id="org75c25aa">ESRF</h4>
<div class="outline-text-4" id="text-org75c25aa">
</div>
<div id="outline-container-org0743b6e" class="outline-5">
<h5 id="org0743b6e">Configuration</h5>
<div class="outline-text-5" id="text-org0743b6e">
<div id="outline-container-org38fcd39" class="outline-5">
<h5 id="org38fcd39">Configuration</h5>
<div class="outline-text-5" id="text-org38fcd39">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">set from</span> = <span class="org-string">"thomas.dehaeze@esrf.fr"</span>
<span class="org-variable-name">set sendmail</span> = <span class="org-string">"~/.config/neomutt/bin/send_mail.sh esrf"</span>
@ -1582,9 +1469,9 @@ macro index,pager D \
</div>
</div>
<div id="outline-container-org04e1907" class="outline-5">
<h5 id="org04e1907">Signature</h5>
<div class="outline-text-5" id="text-org04e1907">
<div id="outline-container-orgd86e4b8" class="outline-5">
<h5 id="orgd86e4b8">Signature</h5>
<div class="outline-text-5" id="text-orgd86e4b8">
<div class="org-src-container">
<pre class="src src-conf">Thomas Dehaeze
</pre>
@ -1604,9 +1491,9 @@ This empty code block is used to add a new line after signature
<h4 id="org8c506c3">ULG</h4>
<div class="outline-text-4" id="text-org8c506c3">
</div>
<div id="outline-container-orga56e103" class="outline-5">
<h5 id="orga56e103">Configuration</h5>
<div class="outline-text-5" id="text-orga56e103">
<div id="outline-container-org4507cc1" class="outline-5">
<h5 id="org4507cc1">Configuration</h5>
<div class="outline-text-5" id="text-org4507cc1">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">set from</span> = <span class="org-string">"thomas.dehaeze@doct.uliege.be"</span>
<span class="org-variable-name">set sendmail</span> = <span class="org-string">"~/.config/neomutt/bin/send_mail.sh ulg"</span>
@ -1630,9 +1517,9 @@ macro index,pager D \
</div>
</div>
<div id="outline-container-orgf201532" class="outline-5">
<h5 id="orgf201532">Signature</h5>
<div class="outline-text-5" id="text-orgf201532">
<div id="outline-container-org24686f3" class="outline-5">
<h5 id="org24686f3">Signature</h5>
<div class="outline-text-5" id="text-org24686f3">
<div class="org-src-container">
<pre class="src src-conf">Thomas Dehaeze
</pre>
@ -1652,9 +1539,9 @@ This empty code block is used to add a new line after signature
<h4 id="org72df244">ULIEGE</h4>
<div class="outline-text-4" id="text-org72df244">
</div>
<div id="outline-container-org82ffb40" class="outline-5">
<h5 id="org82ffb40">Configuration</h5>
<div class="outline-text-5" id="text-org82ffb40">
<div id="outline-container-orged812e7" class="outline-5">
<h5 id="orged812e7">Configuration</h5>
<div class="outline-text-5" id="text-orged812e7">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">set from</span> = <span class="org-string">"tdehaeze@uliege.be"</span>
<span class="org-variable-name">set sendmail</span> = <span class="org-string">"~/.config/neomutt/bin/send_mail.sh uliege"</span>
@ -1678,9 +1565,9 @@ macro index,pager D \
</div>
</div>
<div id="outline-container-org20fa21b" class="outline-5">
<h5 id="org20fa21b">Signature</h5>
<div class="outline-text-5" id="text-org20fa21b">
<div id="outline-container-orgd419bc3" class="outline-5">
<h5 id="orgd419bc3">Signature</h5>
<div class="outline-text-5" id="text-orgd419bc3">
<div class="org-src-container">
<pre class="src src-conf">Thomas Dehaeze
</pre>
@ -1822,9 +1709,9 @@ hdr_order from: to: cc: date: subject: <span class="org-comment-delimiter"># </
</div>
</div>
<div id="outline-container-org98d56f4" class="outline-3">
<h3 id="org98d56f4">Sidebar</h3>
<div class="outline-text-3" id="text-org98d56f4">
<div id="outline-container-orgc35a45a" class="outline-3">
<h3 id="orgc35a45a">Sidebar</h3>
<div class="outline-text-3" id="text-orgc35a45a">
</div>
<div id="outline-container-org763534f" class="outline-4">
<h4 id="org763534f">General Config</h4>
@ -1931,9 +1818,9 @@ named-mailboxes <span class="org-string">" &#61460; Trash"</span> =uliege/Trash
</div>
</div>
<div id="outline-container-orge3f70c1" class="outline-3">
<h3 id="orge3f70c1">Attachments</h3>
<div class="outline-text-3" id="text-orge3f70c1">
<div id="outline-container-orgec162c4" class="outline-3">
<h3 id="orgec162c4">Attachments</h3>
<div class="outline-text-3" id="text-orgec162c4">
</div>
<div id="outline-container-orgc93e665" class="outline-4">
<h4 id="orgc93e665">Attachment View Options</h4>
@ -2062,8 +1949,15 @@ application/pdf; zathura %s &amp;
audio/*; /usr/bin/xdg-open %s; copiousoutput
<span class="org-variable-name">text/html; export DISPLAY</span>=:<span class="org-highlight-numbers-number">0</span> &amp;&amp; setsid qutebrowser %s; nametemplate=%s.html
<span class="org-variable-name">text/html; lynx -width ${COLUMNS:-80} -dump %s; nametemplate</span>=%s.html; copiousoutput;
text/calendar; khal import --batch -a home %s &amp;&amp; khal printics %s; copiousoutput;
application/ics; khal import --batch -a home %s &amp;&amp; khal printics %s; copiousoutput;
</pre>
</div>
<p>
For calendar output, a personal <code>ics-add</code> script is used.
</p>
<div class="org-src-container">
<pre class="src src-conf">text/calendar; ics-add %s; copiousoutput;
application/ics; ics-add %s; copiousoutput;
</pre>
</div>
@ -2147,7 +2041,7 @@ text/rtf; libreoffice --nologo --writer <span class="org-string">'%s'</span>; co
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-04-25 dim. 19:10</p>
<p class="date">Created: 2021-10-25 lun. 14:33</p>
</div>
</body>
</html>

210
docs/maintenance.html Normal file
View File

@ -0,0 +1,210 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-10-25 lun. 14:33 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>System maintenance</title>
<meta name="author" content="Dehaeze Thomas" />
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="./dist/style.css"/>
<script type="text/javascript" src="./dist/script.js"></script>
</head>
<body>
<div id="org-div-home-and-up">
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content" class="content">
<h1 class="title">System maintenance</h1>
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#orgffc515a">Update</a>
<ul>
<li><a href="#org1dbb612">System packages</a></li>
<li><a href="#orge4759bc">NPM</a></li>
<li><a href="#org359ad9e">PIP</a></li>
<li><a href="#org4a73361">Emacs and Vim</a></li>
</ul>
</li>
<li><a href="#org91cdfc6">Check problems in the system</a></li>
<li><a href="#org51b97e6">Check orphan and dropped packages</a></li>
</ul>
</div>
</div>
<p>
<a href="https://wiki.archlinux.org/title/System_maintenance">https://wiki.archlinux.org/title/System_maintenance</a>
</p>
<div id="outline-container-orgffc515a" class="outline-2">
<h2 id="orgffc515a">Update</h2>
<div class="outline-text-2" id="text-orgffc515a">
</div>
<div id="outline-container-org1dbb612" class="outline-3">
<h3 id="org1dbb612">System packages</h3>
<div class="outline-text-3" id="text-org1dbb612">
<p>
To check packages to update:
</p>
<div class="org-src-container">
<pre class="src src-bash">paru -Qu
</pre>
</div>
<p>
And then to perform the update:
</p>
<div class="org-src-container">
<pre class="src src-bash">paru
</pre>
</div>
</div>
</div>
<div id="outline-container-orge4759bc" class="outline-3">
<h3 id="orge4759bc">NPM</h3>
<div class="outline-text-3" id="text-orge4759bc">
<p>
First update <code>npm</code> itself
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-type">sudo</span> npm install npm@latest -g
</pre>
</div>
<p>
Then, we can list outdated packages:
</p>
<div class="org-src-container">
<pre class="src src-bash">npm outdated -g --depth=<span class="org-highlight-numbers-number">0</span>
</pre>
</div>
<p>
And finally perform the update:
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-type">sudo</span> npm update -g
</pre>
</div>
</div>
</div>
<div id="outline-container-org359ad9e" class="outline-3">
<h3 id="org359ad9e">PIP</h3>
<div class="outline-text-3" id="text-org359ad9e">
<p>
First upgrade <code>pip</code> itself:
</p>
<div class="org-src-container">
<pre class="src src-bash">/usr/bin/python3 -m pip install --upgrade pip
</pre>
</div>
<p>
Then list outdated packages:
</p>
<div class="org-src-container">
<pre class="src src-bash">pip3 list --outdated
</pre>
</div>
<p>
And update everything with:
</p>
<div class="org-src-container">
<pre class="src src-bash">pip3 list --outdated --format=freeze | <span class="org-type">grep</span> -v <span class="org-string">'^\-e'</span> | cut -d = -f <span class="org-highlight-numbers-number">1</span> | xargs -n1 pip3 install -U
</pre>
</div>
</div>
</div>
<div id="outline-container-org4a73361" class="outline-3">
<h3 id="org4a73361">Emacs and Vim</h3>
<div class="outline-text-3" id="text-org4a73361">
<p>
Update Doom emacs with:
</p>
<div class="org-src-container">
<pre class="src src-bash">doom up
</pre>
</div>
<p>
And Vim packages with:
</p>
<div class="org-src-container">
<pre class="src src-bash">nvim -c PlugUpgrade -c PlugUpdate
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-org91cdfc6" class="outline-2">
<h2 id="org91cdfc6">Check problems in the system</h2>
<div class="outline-text-2" id="text-org91cdfc6">
<p>
First check for failed services:
</p>
<div class="org-src-container">
<pre class="src src-bash">systemctl --failed
</pre>
</div>
<p>
Same for user services:
</p>
<div class="org-src-container">
<pre class="src src-bash">systemctl --user --failed
</pre>
</div>
<p>
Look for errors in the logs:
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-type">sudo</span> journalctl -p <span class="org-highlight-numbers-number">3</span> -b
</pre>
</div>
</div>
</div>
<div id="outline-container-org51b97e6" class="outline-2">
<h2 id="org51b97e6">Check orphan and dropped packages</h2>
<div class="outline-text-2" id="text-org51b97e6">
<p>
Run the following to list all orphan packages:
</p>
<div class="org-src-container">
<pre class="src src-bash">pacman -Qtdq | fzf --preview <span class="org-string">'pacman -Qil {}'</span> --layout=reverse --bind <span class="org-string">'enter:execute(pacman -Qil {} | </span><span class="org-type"><span class="org-string">less</span></span><span class="org-string">)'</span>
</pre>
</div>
<p>
Then, either remove the unused packages or set the package to &ldquo;explicitly installed&rdquo; with:
</p>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-type">sudo</span> pacman -D --asexplicit package_name
</pre>
</div>
<p>
Use the <code>ancient-packages</code> (<a href="https://aur.archlinux.org/packages/ancient-packages/">link</a>) command to list dropped packages (packages may longer in the remote repositories, but still on the local system):
</p>
<div class="org-src-container">
<pre class="src src-bash">ancient-packages
</pre>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-10-25 lun. 14:33</p>
</div>
</body>
</html>

View File

@ -3,11 +3,11 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-01-08 ven. 01:43 -->
<!-- 2021-10-25 lun. 14:33 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Matlab Configuration</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Dehaeze Thomas" />
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="./dist/style.css"/>
<script type="text/javascript" src="./dist/script.js"></script>
</head>
@ -16,11 +16,11 @@
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content">
</div><div id="content" class="content">
<h1 class="title">Matlab Configuration</h1>
<div id="table-of-contents">
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#orga81f527">Startup</a>
<ul>
@ -53,10 +53,10 @@
<h3 id="orgadff39b">Setup LaTeX as a default interpreter</h3>
<div class="outline-text-3" id="text-orgadff39b">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultTextInterpreter'</span>, <span class="org-string">'LaTeX'</span>);
<span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesTickLabelInterpreter'</span>, <span class="org-string">'LaTeX'</span>);
<span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesFontName'</span>, <span class="org-string">'LaTeX'</span>);
<span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultLegendInterpreter'</span>, <span class="org-string">'LaTeX'</span>);
<pre class="src src-matlab"><span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultTextInterpreter'</span>, <span class="org-string">'LaTeX'</span>);
<span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesTickLabelInterpreter'</span>, <span class="org-string">'LaTeX'</span>);
<span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesFontName'</span>, <span class="org-string">'LaTeX'</span>);
<span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultLegendInterpreter'</span>, <span class="org-string">'LaTeX'</span>);
</pre>
</div>
</div>
@ -66,8 +66,8 @@
<h3 id="orga7cc243">Default Line Width</h3>
<div class="outline-text-3" id="text-orga7cc243">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultLineLineWidth'</span>, 1.5);
<span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesLineWidth'</span>, 0.5);
<pre class="src src-matlab"><span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultLineLineWidth'</span>, 1.5);
<span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesLineWidth'</span>, 0.5);
</pre>
</div>
</div>
@ -77,9 +77,9 @@
<h3 id="org9bcf5b6">Default grids on all axis</h3>
<div class="outline-text-3" id="text-org9bcf5b6">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesXGrid'</span>,<span class="org-string">'on'</span>);
<span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesYGrid'</span>,<span class="org-string">'on'</span>);
<span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesZGrid'</span>,<span class="org-string">'on'</span>);
<pre class="src src-matlab"><span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesXGrid'</span>,<span class="org-string">'on'</span>);
<span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesYGrid'</span>,<span class="org-string">'on'</span>);
<span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesZGrid'</span>,<span class="org-string">'on'</span>);
</pre>
</div>
</div>
@ -89,11 +89,11 @@
<h3 id="orgcda5566">Default Font Size</h3>
<div class="outline-text-3" id="text-orgcda5566">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultTextFontUnits'</span>, <span class="org-string">'points'</span>);
<span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultTextFontSize'</span>, 10);
<span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesFontUnits'</span>, <span class="org-string">'points'</span>);
<span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesFontSize'</span>, 10);
<span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultUicontrolFontSize'</span>, 10);
<pre class="src src-matlab"><span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultTextFontUnits'</span>, <span class="org-string">'points'</span>);
<span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultTextFontSize'</span>, 10);
<span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesFontUnits'</span>, <span class="org-string">'points'</span>);
<span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesFontSize'</span>, 10);
<span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultUicontrolFontSize'</span>, 10);
</pre>
</div>
</div>
@ -103,8 +103,8 @@
<h3 id="org0a7bfe6">Default Fonts</h3>
<div class="outline-text-3" id="text-org0a7bfe6">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesFontName'</span>, <span class="org-string">'Helvetica'</span>);
<span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultTextFontName'</span>, <span class="org-string">'Helvetica'</span>);
<pre class="src src-matlab"><span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesFontName'</span>, <span class="org-string">'Helvetica'</span>);
<span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultTextFontName'</span>, <span class="org-string">'Helvetica'</span>);
</pre>
</div>
</div>
@ -114,7 +114,7 @@
<h3 id="orgced64b8">Make figures into a Box</h3>
<div class="outline-text-3" id="text-orgced64b8">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesBox'</span>, <span class="org-string">'on'</span>);
<pre class="src src-matlab"><span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesBox'</span>, <span class="org-string">'on'</span>);
</pre>
</div>
</div>
@ -124,11 +124,11 @@
<h3 id="org731843c">Default Colors</h3>
<div class="outline-text-3" id="text-org731843c">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesColor'</span>, <span class="org-string">'w'</span>);
<span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesXColor'</span>, <span class="org-string">'k'</span>);
<span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesYColor'</span>, <span class="org-string">'k'</span>);
<pre class="src src-matlab"><span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesColor'</span>, <span class="org-string">'w'</span>);
<span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesXColor'</span>, <span class="org-string">'k'</span>);
<span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultAxesYColor'</span>, <span class="org-string">'k'</span>);
<span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultFigureColor'</span>, <span class="org-string">'w'</span>);
<span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultFigureColor'</span>, <span class="org-string">'w'</span>);
</pre>
</div>
</div>
@ -138,15 +138,15 @@
<h3 id="orgc91b474">Default Plot Colors</h3>
<div class="outline-text-3" id="text-orgc91b474">
<div class="org-src-container">
<pre class="src src-matlab">c1 = [ 0 0.4470 0.7410]; <span class="org-comment">% Blue</span>
c2 = [0.8500 0.3250 0.0980]; <span class="org-comment">% Orange</span>
c3 = [0.9290 0.6940 0.1250]; <span class="org-comment">% Yellow</span>
c4 = [0.4940 0.1840 0.5560]; <span class="org-comment">% Purple</span>
c5 = [0.4660 0.6740 0.1880]; <span class="org-comment">% Green</span>
c6 = [0.3010 0.7450 0.9330]; <span class="org-comment">% Light Blue</span>
c7 = [0.6350 0.0780 0.1840]; <span class="org-comment">% Red</span>
<pre class="src src-matlab">c1 = [ 0 0.4470 0.7410]; <span class="org-comment-delimiter">% </span><span class="org-comment">Blue</span>
c2 = [0.8500 0.3250 0.0980]; <span class="org-comment-delimiter">% </span><span class="org-comment">Orange</span>
c3 = [0.9290 0.6940 0.1250]; <span class="org-comment-delimiter">% </span><span class="org-comment">Yellow</span>
c4 = [0.4940 0.1840 0.5560]; <span class="org-comment-delimiter">% </span><span class="org-comment">Purple</span>
c5 = [0.4660 0.6740 0.1880]; <span class="org-comment-delimiter">% </span><span class="org-comment">Green</span>
c6 = [0.3010 0.7450 0.9330]; <span class="org-comment-delimiter">% </span><span class="org-comment">Light Blue</span>
c7 = [0.6350 0.0780 0.1840]; <span class="org-comment-delimiter">% </span><span class="org-comment">Red</span>
<span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'defaultAxesColorOrder'</span>, [c1; c2; c3; c4; c5; c6; c7])
<span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'defaultAxesColorOrder'</span>, [c1; c2; c3; c4; c5; c6; c7])
</pre>
</div>
</div>
@ -156,8 +156,8 @@ c7 = [0.6350 0.0780 0.1840]; <span class="org-comment">% Red</span>
<h3 id="orgc0980a1">Figure paper and window style</h3>
<div class="outline-text-3" id="text-orgc0980a1">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultFigurePaperType'</span>, <span class="org-string">'A4'</span>);
<span class="org-type">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultFigureWindowStyle'</span>, <span class="org-string">'normal'</span>);
<pre class="src src-matlab"><span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultFigurePaperType'</span>, <span class="org-string">'A4'</span>);
<span class="org-builtin">set</span>(<span class="org-variable-name">groot</span>, <span class="org-string">'DefaultFigureWindowStyle'</span>, <span class="org-string">'normal'</span>);
</pre>
</div>
</div>
@ -211,6 +211,14 @@ Converts MATLAB figures to TikZ (<a href="https://github.com/matlab2tikz/matlab2
</pre>
</div>
<p>
Working with Tensors (<a href="https://www.tensorlab.net/">link</a>).
</p>
<div class="org-src-container">
<pre class="src src-matlab">addpath([toolboxes_path <span class="org-string">'tensorlab'</span>])
</pre>
</div>
<p>
MATLAB toolbox for exporting publication quality figures (<a href="https://github.com/altmany/export_fig">link</a>).
</p>
@ -255,7 +263,7 @@ Some useful function (<a href="https://github.com/tdehaeze/matlab_useful_functio
H-Infinity Toolbox (<a href="https://github.com/tdehaeze/hinf-toolbox">link</a>).
</p>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-comment">% addpath([toolboxes_path 'Hinf-Toolbox/src'])</span>
<pre class="src src-matlab"><span class="org-comment-delimiter">% </span><span class="org-comment">addpath([toolboxes_path 'Hinf-Toolbox/src'])</span>
</pre>
</div>
@ -307,7 +315,7 @@ Import a nice color scheme.
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-01-08 ven. 01:43</p>
<p class="date">Created: 2021-10-25 lun. 14:33</p>
</div>
</body>
</html>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-04-25 dim. 19:10 -->
<!-- 2021-06-20 dim. 14:22 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Music/Sound Configuration</title>
<meta name="author" content="Dehaeze Thomas" />
@ -57,14 +57,7 @@
<h2 id="mopidy"><code>mopidy</code> - Music Server</h2>
<div class="outline-text-2" id="text-mopidy">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">spotify</span>]
<span class="org-variable-name">username</span> = dehaeze.thomas@gmail.com
<span class="org-variable-name">password</span> = &lt;&lt;get-password(passname=<span class="org-string">"spotify.com/dehaeze.thomas@gmail.com"</span>)&gt;&gt;
<span class="org-variable-name">client_id</span> = 9dd02534-f038-46d8-946e-bfe72498204e
<span class="org-variable-name">client_secret</span> = &lt;&lt;get-password(passname=<span class="org-string">"spotify/client_secret"</span>)&gt;&gt;
<span class="org-variable-name">bitrate</span> = <span class="org-highlight-numbers-number">320</span>
[<span class="org-type">mpd</span>]
<pre class="src src-conf">[<span class="org-type">mpd</span>]
<span class="org-variable-name">enabled</span> = true
<span class="org-variable-name">hostname</span> = 127.0.0.1
<span class="org-variable-name">port</span> = <span class="org-highlight-numbers-number">6600</span>
@ -269,7 +262,7 @@ plugins: fromfilename discogs
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-04-25 dim. 19:10</p>
<p class="date">Created: 2021-06-20 dim. 14:22</p>
</div>
</body>
</html>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-04-25 dim. 19:10 -->
<!-- 2021-10-25 lun. 14:33 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Polybar Configuration</title>
<meta name="author" content="Dehaeze Thomas" />
@ -16,18 +16,17 @@
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content">
</div><div id="content" class="content">
<h1 class="title">Polybar Configuration</h1>
<div id="table-of-contents">
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#org3781e1e">Colors</a></li>
<li><a href="#org445e1c9">VM</a></li>
<li><a href="#org4821d11">Top Bar</a></li>
<li><a href="#orgf8c6a7f">Show Windows Title</a></li>
<li><a href="#org094ba94">I3 - Information about workspaces and active one</a></li>
<li><a href="#org3d63ec8">BSPWM</a></li>
<li><a href="#org9a4155c">Music using MPD</a></li>
<li><a href="#org3d0e06d">Backlight level</a></li>
<li><a href="#orgca1fe67">CPU Usage</a></li>
@ -111,6 +110,12 @@
<li><a href="#orgf2e2fb0">Toggle Loopback</a></li>
</ul>
</li>
<li><a href="#org01c2810">High cursor</a>
<ul>
<li><a href="#org28d4776">Cursor - Status</a></li>
<li><a href="#org6f6d991">Toggle Cursor</a></li>
</ul>
</li>
<li><a href="#org1243118">Screenshot</a></li>
</ul>
</div>
@ -160,7 +165,7 @@
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">bar/top</span>]
<span class="org-variable-name">enable-ipc</span> = true
<span class="org-variable-name">override-redirect</span> = false
<span class="org-comment-delimiter"># </span><span class="org-comment">override-redirect = false</span>
<span class="org-variable-name">bottom</span> = false
<span class="org-variable-name">fixed-center</span> = false
@ -185,11 +190,11 @@
<span class="org-variable-name">font-1</span> = unifont:fontformat=truetype:size=<span class="org-highlight-numbers-number">8</span>:antialias=false;<span class="org-highlight-numbers-number">0</span>
<span class="org-variable-name">font-2</span> = Weather Icons:size=<span class="org-highlight-numbers-number">10</span>;<span class="org-highlight-numbers-number">1</span>
<span class="org-variable-name">modules-left</span> = i3 bspwm xwindow
<span class="org-variable-name">modules-left</span> = i3 xwindow
<span class="org-variable-name">modules-center</span> =
<span class="org-variable-name">modules-right</span> = pulseaudio wired-network wireless-network nordvpn bluetooth redshift lockscreen dunst packages unread_news unread_mail calendar temperature battery date
<span class="org-variable-name">modules-right</span> = pulseaudio wired-network wireless-network wireguard nordvpn bluetooth redshift cursor lockscreen dunst packages unread_news unread_mail calendar temperature battery date
<span class="org-variable-name">wm-restack</span> = i3
<span class="org-comment-delimiter"># </span><span class="org-comment">wm-restack = i3</span>
<span class="org-variable-name">tray-position</span> = right
<span class="org-variable-name">tray-detached</span> = true
@ -264,60 +269,13 @@
</div>
</div>
<div id="outline-container-org3d63ec8" class="outline-2">
<h2 id="org3d63ec8">BSPWM</h2>
<div class="outline-text-2" id="text-org3d63ec8">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">module/bspwm</span>]
<span class="org-variable-name">type</span> = internal/bspwm
<span class="org-variable-name">pin-workspaces</span> = true
<span class="org-variable-name">enable-click</span> = true
<span class="org-variable-name">enable-scroll</span> = false
; Use fuzzy (partial) matching on labels when assigning
; icons to workspaces
; Example: code;&#9818; will apply the icon to all workspaces
; containing <span class="org-string">'code'</span> in the label
<span class="org-variable-name">fuzzy-match</span> = false
<span class="org-variable-name">ws-icon-0</span> = code;&#63083;
<span class="org-variable-name">ws-icon-1</span> = web;&#62057;
<span class="org-variable-name">ws-icon-2</span> = mail;&#63215;
<span class="org-variable-name">ws-icon-3</span> = misc;&#58879;
<span class="org-variable-name">ws-icon-4</span> = figs;&#64295;
<span class="org-variable-name">ws-icon-default</span> =
<span class="org-variable-name">label-focused</span> = %icon%
<span class="org-variable-name">label-focused-foreground</span> = ${colors.bg}
<span class="org-variable-name">label-focused-background</span> = ${colors.aqua}
<span class="org-variable-name">label-focused-underline</span>= ${colors.aqua}
<span class="org-variable-name">label-focused-padding</span> = <span class="org-highlight-numbers-number">1</span>
<span class="org-variable-name">label-occupied</span> = %icon%
<span class="org-variable-name">label-occupied-underline</span> = ${colors.fg}
<span class="org-variable-name">label-occupied-padding</span> = <span class="org-highlight-numbers-number">1</span>
<span class="org-variable-name">label-urgent</span> = %icon%
<span class="org-variable-name">label-urgent-background</span> = ${colors.red}
<span class="org-variable-name">label-urgent-padding</span> = <span class="org-highlight-numbers-number">1</span>
<span class="org-variable-name">label-empty</span> = %icon%
<span class="org-variable-name">label-empty-foreground</span> = ${colors.fg}
<span class="org-variable-name">label-empty-padding</span> = <span class="org-highlight-numbers-number">1</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org9a4155c" class="outline-2">
<h2 id="org9a4155c">Music using MPD</h2>
<div class="outline-text-2" id="text-org9a4155c">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">module/mpd</span>]
<span class="org-variable-name">type</span> = internal/mpd
<span class="org-variable-name">format-online</span> = &lt;icon-prev&gt; &lt;toggle&gt; &lt;icon-next&gt; %{A1:$TERMINAL -e <span class="org-string">"ncmpcpp"</span> &amp;:}&lt;label-song&gt;%{A}
<span class="org-variable-name">format-online</span> = &lt;icon-prev&gt; &lt;toggle&gt; &lt;icon-next&gt; %{A1:$TERMINAL -e ncmpcpp &amp;:}&lt;label-song&gt;%{A}
<span class="org-variable-name">format-online-spacing</span> = <span class="org-highlight-numbers-number">0</span>
<span class="org-variable-name">format-online-padding</span> = <span class="org-highlight-numbers-number">0</span>
@ -388,7 +346,7 @@
<span class="org-variable-name">format-prefix-foreground</span> = ${colors.fg}
<span class="org-variable-name">format-underline</span> = ${colors.bg}
<span class="org-variable-name">label</span> = %{A1:$TERMINAL -e <span class="org-string">"htop"</span> &amp;:}&#64281; %percentage:2%%%{A}
<span class="org-variable-name">label</span> = %{A1:$TERMINAL -e htop &amp;:}&#64281; %percentage:2%%%{A}
</pre>
</div>
</div>
@ -403,8 +361,8 @@
<span class="org-variable-name">interval</span> = <span class="org-highlight-numbers-number">1</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Open google calendar on left right</span>
<span class="org-variable-name">date</span> = %{A1:$TERMINAL -e <span class="org-string">"ikhal"</span> &amp;:}&#62549; %d-%m%{A}
<span class="org-variable-name">date-alt</span> = <span class="org-string">"%{A1:$TERMINAL -e \"ikhal\" &amp;:}&#62549; %d-%m-%Y%{A}"</span>
<span class="org-variable-name">date</span> = %{A1:$TERMINAL --title khal -e ikhal &amp;:}&#62549; %d-%m%{A}
<span class="org-variable-name">date-alt</span> = <span class="org-string">"%{A1:$TERMINAL --title khal -e ikhal &amp;:}&#62549; %d-%m-%Y%{A}"</span>
<span class="org-variable-name">time</span> = &#58251; %H:%M
<span class="org-variable-name">time-alt</span> = &#58251; %H:%M:%S
@ -491,10 +449,11 @@
<span class="org-variable-name">type</span> = internal/temperature
<span class="org-variable-name">interval</span> = <span class="org-highlight-numbers-number">2</span>
<span class="org-variable-name">thermal-zone</span> = <span class="org-highlight-numbers-number">0</span>
<span class="org-variable-name">warn-temperature</span> = <span class="org-highlight-numbers-number">70</span>
<span class="org-variable-name">hwmon-path</span> = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
<span class="org-variable-name">base-temperature</span> = <span class="org-highlight-numbers-number">50</span>
<span class="org-variable-name">warn-temperature</span> = <span class="org-highlight-numbers-number">80</span>
<span class="org-variable-name">hwmon-path</span> = /sys/class/thermal/thermal_zone10/temp
<span class="org-variable-name">units</span> = false
<span class="org-variable-name">format</span> = %{A1:$TERMINAL --class=<span class="org-string">"Floating"</span> -e <span class="org-string">"watch sensors"</span> &amp;:}&lt;ramp&gt; &lt;label&gt;%{A}
<span class="org-variable-name">format</span> = %{A1:$TERMINAL --title=<span class="org-string">"Sensors"</span> -e watch sensors &amp;:}&lt;ramp&gt; &lt;label&gt;%{A}
<span class="org-variable-name">format-warn</span> = &lt;ramp&gt; &lt;label-warn&gt;
<span class="org-variable-name">label</span> = %temperature-c%&#176;C
<span class="org-variable-name">label-warn</span> = %temperature-c%&#176;C
@ -563,7 +522,7 @@ checkmail -q &amp;&amp; <span class="org-sh-escaped-newline">\</span>
<h3 id="org892ac5a">Open Mails</h3>
<div class="outline-text-3" id="text-org892ac5a">
<div class="org-src-container">
<pre class="src src-bash">$<span class="org-variable-name">TERMINAL</span> -e <span class="org-string">"tmux new-session -A -s neomutt neomutt"</span>
<pre class="src src-bash">$<span class="org-variable-name">TERMINAL</span> -e tmux new-session -A -s neomutt neomutt
</pre>
</div>
</div>
@ -626,7 +585,7 @@ checkmail -q &amp;&amp; <span class="org-sh-escaped-newline">\</span>
<h3 id="org4b2dabe">Open Newsboat</h3>
<div class="outline-text-3" id="text-org4b2dabe">
<div class="org-src-container">
<pre class="src src-bash">$<span class="org-variable-name">TERMINAL</span> -e <span class="org-string">"tmux new-session -A -s newsboat newsboat"</span>
<pre class="src src-bash">$<span class="org-variable-name">TERMINAL</span> -e tmux new-session -A -s newsboat newsboat
</pre>
</div>
</div>
@ -685,7 +644,7 @@ checkmail -q &amp;&amp; <span class="org-sh-escaped-newline">\</span>
<h3 id="org8c169a3">Open Calendar</h3>
<div class="outline-text-3" id="text-org8c169a3">
<div class="org-src-container">
<pre class="src src-bash">$<span class="org-variable-name">TERMINAL</span> --class=<span class="org-string">"Floating"</span> -e <span class="org-string">"khal interactive"</span>
<pre class="src src-bash">$<span class="org-variable-name">TERMINAL</span> --title=khal -e ikhal
</pre>
</div>
</div>
@ -799,7 +758,7 @@ paru -Sy &gt; /dev/null <span class="org-highlight-numbers-number">2</span>&gt;&
<h3 id="org9a148af">Packages Update</h3>
<div class="outline-text-3" id="text-org9a148af">
<div class="org-src-container">
<pre class="src src-bash">$<span class="org-variable-name">TERMINAL</span> -e <span class="org-string">"paru"</span>
<pre class="src src-bash">$<span class="org-variable-name">TERMINAL</span> -e paru
</pre>
</div>
</div>
@ -951,7 +910,7 @@ paru -Sy &gt; /dev/null <span class="org-highlight-numbers-number">2</span>&gt;&
<h3 id="org4f57e9b">Run Network Manager</h3>
<div class="outline-text-3" id="text-org4f57e9b">
<div class="org-src-container">
<pre class="src src-bash">$<span class="org-variable-name">TERMINAL</span> -e <span class="org-string">'</span><span class="org-type"><span class="org-string">sudo</span></span><span class="org-string"> nmtui'</span>
<pre class="src src-bash">$<span class="org-variable-name">TERMINAL</span> -e <span class="org-type">sudo</span> nmtui
</pre>
</div>
</div>
@ -1205,6 +1164,54 @@ The script is accessible <a href="binaries.html#nordvpn-toggle">here</a>.
</div>
<div id="outline-container-org01c2810" class="outline-2">
<h2 id="org01c2810">High cursor</h2>
<div class="outline-text-2" id="text-org01c2810">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">module/cursor</span>]
<span class="org-variable-name">type</span> = custom/script
<span class="org-variable-name">format-underline</span> = ${colors.bg}
<span class="org-variable-name">click-left</span> = ~/.config/polybar/scripts/cursor-toggle.sh &gt;/dev/null 2&gt;%1 &amp;
<span class="org-variable-name">format</span> = &lt;label&gt;
<span class="org-variable-name">exec</span> = ~/.config/polybar/scripts/cursor-status.sh
<span class="org-variable-name">interval</span> = <span class="org-highlight-numbers-number">2</span>
</pre>
</div>
</div>
<div id="outline-container-org28d4776" class="outline-3">
<h3 id="org28d4776">Cursor - Status</h3>
<div class="outline-text-3" id="text-org28d4776">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-keyword">if</span> <span class="org-type">pgrep</span> -x <span class="org-string">"highlight-point"</span> &gt;/dev/null; <span class="org-keyword">then</span>
<span class="org-type">echo</span> <span class="org-string">"%{F#859900}&#63155;%{F-}"</span>;
<span class="org-keyword">else</span>
<span class="org-type">echo</span> <span class="org-string">"&#63155;"</span>;
<span class="org-keyword">fi</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org6f6d991" class="outline-3">
<h3 id="org6f6d991">Toggle Cursor</h3>
<div class="outline-text-3" id="text-org6f6d991">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-keyword">if</span> <span class="org-type">pgrep</span> -x <span class="org-string">"highlight-point"</span> &gt;/dev/null; <span class="org-keyword">then</span>
killall highlight-point &amp;&amp; <span class="org-sh-escaped-newline">\</span>
dunstify --replace=<span class="org-highlight-numbers-number">46492</span> <span class="org-string">"Cursor"</span> <span class="org-string">"Turned off"</span>;
<span class="org-keyword">else</span>
nohup highlight-pointer -r <span class="org-highlight-numbers-number">10</span> &gt; /dev/null <span class="org-highlight-numbers-number">2</span>&gt;&amp;<span class="org-highlight-numbers-number">1</span> &amp;
dunstify --replace=<span class="org-highlight-numbers-number">46492</span> <span class="org-string">"Cursor"</span> <span class="org-string">"Highlight..."</span>;
<span class="org-keyword">fi</span>
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-org1243118" class="outline-2">
<h2 id="org1243118">Screenshot</h2>
<div class="outline-text-2" id="text-org1243118">
@ -1220,7 +1227,7 @@ The script is accessible <a href="binaries.html#nordvpn-toggle">here</a>.
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-04-25 dim. 19:10</p>
<p class="date">Created: 2021-10-25 lun. 14:33</p>
</div>
</body>
</html>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-04-25 dim. 19:10 -->
<!-- 2021-10-25 lun. 14:33 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Qutebrowser Configuration</title>
<meta name="author" content="Dehaeze Thomas" />
@ -16,11 +16,11 @@
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content">
</div><div id="content" class="content">
<h1 class="title">Qutebrowser Configuration</h1>
<div id="table-of-contents">
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#orgbf1db67">Import</a></li>
<li><a href="#org5c509d0">Auto Config</a></li>
@ -47,13 +47,17 @@
<li><a href="#org38a2899">Password_fill_rc</a></li>
<li><a href="#org5b8c3ce">Org-Capture</a></li>
<li><a href="#org244788b">Org-Protocol-Capture-HTML</a></li>
<li><a href="#org6d745ed">Open Bookmark with Linkding</a></li>
<li><a href="#orgb3b6592">Add Url to Linkding</a></li>
<li><a href="#org153f69f">Add Url to Buku using Rofi</a></li>
<li><a href="#orgfe64fed">Add Url to Buku without asking for information</a></li>
<li><a href="#orgf02d7da">Download with aria2c</a></li>
<li><a href="#orgfcd3553">Download with aria2c on the Homelab</a></li>
<li><a href="#orgcd649c5">Screenshot</a></li>
<li><a href="#org508f98a">Save to PNG</a></li>
<li><a href="#org13f7ed3">Save to PDF</a></li>
<li><a href="#orgc2161e6">Get OTP number</a></li>
<li><a href="#org0d058a3">Download AES video</a></li>
<li><a href="#org8110088">Display URL as a QRcode</a></li>
</ul>
</li>
</ul>
@ -122,7 +126,7 @@ Linked to <a href="https://github.com/qutebrowser/qutebrowser/issues/6401">issue
<div class="outline-text-2" id="text-org0471984">
<div class="org-src-container">
<pre class="src src-python"><span class="org-variable-name">c.content.autoplay</span> = <span class="org-constant">False</span>
<span class="org-variable-name">c.content.notifications</span> = <span class="org-constant">False</span>
<span class="org-variable-name">c.content.notifications.enabled</span> = <span class="org-constant">False</span>
<span class="org-variable-name">c.content.geolocation</span> = <span class="org-string">'ask'</span>
<span class="org-variable-name">c.content.javascript.alert</span> = <span class="org-constant">True</span>
<span class="org-variable-name">c.content.javascript.can_access_clipboard</span> = <span class="org-constant">True</span>
@ -139,7 +143,7 @@ Linked to <a href="https://github.com/qutebrowser/qutebrowser/issues/6401">issue
<h2 id="org9d328f1">Editor</h2>
<div class="outline-text-2" id="text-org9d328f1">
<div class="org-src-container">
<pre class="src src-python"><span class="org-variable-name">c.editor.command</span> = [<span class="org-string">'/usr/bin/termite'</span>, <span class="org-string">'--class="Floating"'</span>, <span class="org-string">'-e'</span>, <span class="org-string">'nvim {}'</span>]
<pre class="src src-python"><span class="org-variable-name">c.editor.command</span> = [<span class="org-string">'/usr/bin/alacritty'</span>, <span class="org-string">'--class'</span>, <span class="org-string">'terminal,Floating'</span>, <span class="org-string">'-e'</span>, <span class="org-string">'nvim'</span>, <span class="org-string">'{}'</span>]
</pre>
</div>
</div>
@ -155,6 +159,7 @@ Linked to <a href="https://github.com/qutebrowser/qutebrowser/issues/6401">issue
<span class="org-variable-name">c.downloads.location.suggestion</span> = <span class="org-string">'path'</span>
<span class="org-variable-name">c.downloads.position</span> = <span class="org-string">'bottom'</span>
<span class="org-variable-name">c.downloads.remove_finished</span> = <span class="org-highlight-numbers-number">10000</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.downloads.open_dispatcher = 'linkhandler'</span>
</pre>
</div>
</div>
@ -166,7 +171,7 @@ Linked to <a href="https://github.com/qutebrowser/qutebrowser/issues/6401">issue
<div class="org-src-container">
<pre class="src src-python"><span class="org-variable-name">c.fileselect.handler</span> = <span class="org-string">"default"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.fileselect.single_file.command = ['termine', '-e', 'ranger', '--choosefile', '{}']</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.fileselect.multiple_files.command = ['termite', '-e', 'ranger', '--choosefiles', '{}']</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">c.fileselect.multiple_files.command = ['alacritty', '-e', 'ranger', '--choosefiles', '{}']</span>
</pre>
</div>
</div>
@ -305,7 +310,6 @@ c.<span class="org-builtin">input</span>.insert_mode.plugins = <span class="org-
<div class="org-src-container">
<pre class="src src-python"><span class="org-variable-name">c.url.searchengines</span> = {
<span class="org-string">'DEFAULT'</span>: <span class="org-string">'https://www.duckduckgo.org/?q={}'</span>,
<span class="org-string">'aw'</span>: <span class="org-string">'https://wiki.archlinux.org/?search={}'</span>,
<span class="org-string">'wi'</span>: <span class="org-string">'https://en.wikipedia.org/wiki/Special:Search?search={}'</span>,
<span class="org-string">'go'</span>: <span class="org-string">'https://www.google.com/search?q={}'</span>,
<span class="org-string">'gc'</span>: <span class="org-string">'https://scholar.google.fr/scholar?hl=fr&amp;as_sdt=0%2C5&amp;q={}&amp;btnG='</span>,
@ -318,9 +322,9 @@ c.<span class="org-builtin">input</span>.insert_mode.plugins = <span class="org-
<span class="org-string">'sm'</span>: <span class="org-string">'https://www.openstreetmap.org/search?query={}'</span>,
<span class="org-string">'am'</span>: <span class="org-string">'https://www.amazon.fr/s?k={}'</span>,
<span class="org-string">'md'</span>: <span class="org-string">'https://fr.mathworks.com/help/search.html?qdoc={}&amp;submitsearch='</span>,
<span class="org-string">'js'</span>: <span class="org-string">'https://developer.mozilla.org/en-US/search?q={}'</span>,
<span class="org-string">'tf'</span>: <span class="org-string">'https://translate.google.com/#view=home&amp;op=translate&amp;sl=en&amp;tl=fr&amp;text={}'</span>,
<span class="org-string">'te'</span>: <span class="org-string">'https://translate.google.com/#view=home&amp;op=translate&amp;sl=fr&amp;tl=en&amp;text={}'</span>,
<span class="org-string">'lb'</span>: <span class="org-string">'https://www.leboncoin.fr/recherche?text={}'</span>,
}
</pre>
</div>
@ -454,7 +458,8 @@ config.bind(<span class="org-string">'gs'</span>, <span class="org-string">'open
Create a Password for the current website
</p>
<div class="org-src-container">
<pre class="src src-python">config.bind(<span class="org-string">',P'</span>, <span class="org-string">'spawn --userscript ~/.config/qutebrowser/userscripts/add-passowrd.sh'</span>)
<pre class="src src-python"><span class="org-variable-name">c.aliases</span>[<span class="org-string">'Password_Add'</span>] = <span class="org-string">'spawn --userscript ~/.config/qutebrowser/userscripts/add-passowrd.sh'</span>
config.bind(<span class="org-string">',P'</span>, <span class="org-string">'Password_Add'</span>)
</pre>
</div>
@ -462,7 +467,17 @@ Create a Password for the current website
Use Pass to fill password and username (configuration is done in <code>~/.config/qutebrowser/password_fill_rc</code>)
</p>
<div class="org-src-container">
<pre class="src src-python">config.bind(<span class="org-string">',p'</span>, <span class="org-string">'spawn --userscript password_fill'</span>)
<pre class="src src-python"><span class="org-variable-name">c.aliases</span>[<span class="org-string">'Password_Fill'</span>] = <span class="org-string">'spawn --userscript password_fill'</span>
config.bind(<span class="org-string">',p'</span>, <span class="org-string">'Password_Fill'</span>)
</pre>
</div>
<p>
Get Two Factor Authentication number.
</p>
<div class="org-src-container">
<pre class="src src-python"><span class="org-variable-name">c.aliases</span>[<span class="org-string">'OTP'</span>] = <span class="org-string">'spawn --userscript ~/.config/qutebrowser/userscripts/get-otp.sh'</span>
config.bind(<span class="org-string">',2'</span>, <span class="org-string">'OTP'</span>)
</pre>
</div>
@ -470,8 +485,11 @@ Use Pass to fill password and username (configuration is done in <code>~/.config
Open Youtube video using <code>mpv</code>
</p>
<div class="org-src-container">
<pre class="src src-python">config.bind(<span class="org-string">',m'</span>, <span class="org-string">'spawn --detach mpv --force-window yes {url}'</span>)
config.bind(<span class="org-string">',M'</span>, <span class="org-string">'hint links spawn --detach mpv --force-window yes {hint-url}'</span>)
<pre class="src src-python"><span class="org-variable-name">c.aliases</span>[<span class="org-string">'MPV_view'</span>] = <span class="org-string">'spawn --detach mpv --force-window yes {url}'</span>
config.bind(<span class="org-string">',m'</span>, <span class="org-string">'MPV_view'</span>)
<span class="org-variable-name">c.aliases</span>[<span class="org-string">'MPV_view_hint'</span>] = <span class="org-string">'hint links spawn --detach mpv --force-window yes {hint-url}'</span>
config.bind(<span class="org-string">';m'</span>, <span class="org-string">'MPV_view_hint'</span>)
</pre>
</div>
@ -479,17 +497,20 @@ config.bind(<span class="org-string">',M'</span>, <span class="org-string">'hint
Download Youtube video / entire playlist
</p>
<div class="org-src-container">
<pre class="src src-python">config.bind(<span class="org-string">',v'</span>, <span class="org-string">'spawn --userscript ~/.config/qutebrowser/userscripts/yt-download.sh {url}'</span>)
config.bind(<span class="org-string">',V'</span>, <span class="org-string">'hint links spawn --userscript ~/.config/qutebrowser/userscripts/yt-download.sh {hint-url}'</span>)
<pre class="src src-python"><span class="org-variable-name">c.aliases</span>[<span class="org-string">'Download_Youtube'</span>] = <span class="org-string">'spawn --userscript ~/.config/qutebrowser/userscripts/yt-download.sh {url}'</span>
config.bind(<span class="org-string">',v'</span>, <span class="org-string">'Download_Youtube'</span>)
<span class="org-variable-name">c.aliases</span>[<span class="org-string">'Download_Youtube_hint'</span>] = <span class="org-string">'hint links spawn --userscript ~/.config/qutebrowser/userscripts/yt-download.sh {hint-url}'</span>
config.bind(<span class="org-string">';v'</span>, <span class="org-string">'Download_Youtube_hint'</span>)
</pre>
</div>
<p>
Add page to Bookmarks using <code>buku</code>
Add page to Bookmarks using <code>linkding</code>
</p>
<div class="org-src-container">
<pre class="src src-python">config.bind(<span class="org-string">',b'</span>, <span class="org-string">'spawn --userscript ~/.config/qutebrowser/userscripts/buku-add.sh'</span>)
config.bind(<span class="org-string">',B'</span>, <span class="org-string">'spawn --userscript ~/.config/qutebrowser/userscripts/buku-rofi.sh'</span>)
<pre class="src src-python"><span class="org-variable-name">c.aliases</span>[<span class="org-string">'Bookmark_Add'</span>] = <span class="org-string">'spawn --userscript ~/.config/qutebrowser/userscripts/linkding-add.sh'</span>
config.bind(<span class="org-string">',b'</span>, <span class="org-string">'Bookmark_Add'</span>)
</pre>
</div>
@ -497,16 +518,29 @@ config.bind(<span class="org-string">',B'</span>, <span class="org-string">'spaw
Download with <code>aria2c</code>
</p>
<div class="org-src-container">
<pre class="src src-python">config.bind(<span class="org-string">',d'</span>, <span class="org-string">'hint links spawn --userscript ~/.config/qutebrowser/userscripts/aria2c-add.sh {hint-url}'</span>)
config.bind(<span class="org-string">',D'</span>, <span class="org-string">'hint links spawn --userscript ~/.config/qutebrowser/userscripts/aria2c-add-homelab.sh {hint-url}'</span>)
<pre class="src src-python"><span class="org-variable-name">c.aliases</span>[<span class="org-string">'Download_Local'</span>] = <span class="org-string">'hint links spawn --userscript ~/.config/qutebrowser/userscripts/aria2c-add.sh {hint-url}'</span>
config.bind(<span class="org-string">',d'</span>, <span class="org-string">'Download_Local'</span>)
<span class="org-variable-name">c.aliases</span>[<span class="org-string">'Download_Homelab'</span>] = <span class="org-string">'hint links spawn --userscript ~/.config/qutebrowser/userscripts/aria2c-add-homelab.sh {hint-url}'</span>
config.bind(<span class="org-string">',D'</span>, <span class="org-string">'Download_Homelab'</span>)
</pre>
</div>
<p>
Open bookmark using <code>buku</code>
Open bookmark using <code>linkding</code>
</p>
<div class="org-src-container">
<pre class="src src-python">config.bind(<span class="org-string">',o'</span>, <span class="org-string">'spawn ~/.local/bin/bukurun'</span>)
<pre class="src src-python"><span class="org-variable-name">c.aliases</span>[<span class="org-string">'Open_Bookmark'</span>] = <span class="org-string">'spawn --userscript ~/.config/qutebrowser/userscripts/linkding-open.sh'</span>
config.bind(<span class="org-string">',o'</span>, <span class="org-string">'Open_Bookmark'</span>)
</pre>
</div>
<p>
Open with <code>linkhandler</code>
</p>
<div class="org-src-container">
<pre class="src src-python"><span class="org-variable-name">c.aliases</span>[<span class="org-string">'Open_Default'</span>] = <span class="org-string">'hint links spawn --detach linkhandler {hint-url}'</span>
config.bind(<span class="org-string">',O'</span>, <span class="org-string">'Open_Default'</span>)
</pre>
</div>
@ -514,8 +548,11 @@ Open bookmark using <code>buku</code>
Org Capture
</p>
<div class="org-src-container">
<pre class="src src-python">config.bind(<span class="org-string">',r'</span>, <span class="org-string">'spawn --userscript ~/.config/qutebrowser/userscripts/org-capture.sh'</span>)
config.bind(<span class="org-string">',R'</span>, <span class="org-string">'hint links userscript ~/.config/qutebrowser/userscripts/org-capture.sh'</span>)
<pre class="src src-python"><span class="org-variable-name">c.aliases</span>[<span class="org-string">'Org_Capture'</span>] = <span class="org-string">'spawn --userscript ~/.config/qutebrowser/userscripts/org-capture.sh'</span>
config.bind(<span class="org-string">',r'</span>, <span class="org-string">'Org_Capture'</span>)
<span class="org-variable-name">c.aliases</span>[<span class="org-string">'Org_Capture_hint'</span>] = <span class="org-string">'hint links userscript ~/.config/qutebrowser/userscripts/org-capture.sh'</span>
config.bind(<span class="org-string">';R'</span>, <span class="org-string">'Org_Capture_hint'</span>)
</pre>
</div>
@ -523,8 +560,11 @@ config.bind(<span class="org-string">',R'</span>, <span class="org-string">'hint
Screenshot of webpage to png
</p>
<div class="org-src-container">
<pre class="src src-python">config.bind(<span class="org-string">',s'</span>, <span class="org-string">'spawn --userscript ~/.config/qutebrowser/userscripts/html-to-pdf.sh'</span>)
config.bind(<span class="org-string">',S'</span>, <span class="org-string">'spawn --userscript ~/.config/qutebrowser/userscripts/html-to-png.sh'</span>)
<pre class="src src-python"><span class="org-variable-name">c.aliases</span>[<span class="org-string">'Save_PDF'</span>] = <span class="org-string">'spawn --userscript html-to-pdf.sh'</span>
config.bind(<span class="org-string">',s'</span>, <span class="org-string">'Save_PDF'</span>)
<span class="org-variable-name">c.aliases</span>[<span class="org-string">'Save_PNG'</span>] = <span class="org-string">'spawn --userscript html-to-png.sh'</span>
config.bind(<span class="org-string">',S'</span>, <span class="org-string">'Save_PNG'</span>)
</pre>
</div>
@ -532,7 +572,8 @@ config.bind(<span class="org-string">',S'</span>, <span class="org-string">'spaw
Download AES video
</p>
<div class="org-src-container">
<pre class="src src-python">config.bind(<span class="org-string">',E'</span>, <span class="org-string">'spawn --userscript ~/.config/qutebrowser/userscripts/aes-download.sh'</span>)
<pre class="src src-python"><span class="org-variable-name">c.aliases</span>[<span class="org-string">'Download_AES'</span>] = <span class="org-string">'spawn --userscript aes-download.sh'</span>
config.bind(<span class="org-string">',E'</span>, <span class="org-string">'Download_AES'</span>)
</pre>
</div>
@ -540,15 +581,8 @@ Download AES video
Download a torrent
</p>
<div class="org-src-container">
<pre class="src src-python">config.bind(<span class="org-string">',t'</span>, <span class="org-string">'hint links spawn torrent-add {hint-url}'</span>)
</pre>
</div>
<p>
Annotate with Hypothesis
</p>
<div class="org-src-container">
<pre class="src src-python">config.bind(<span class="org-string">',a'</span>, <span class="org-string">"jseval javascript:(function(){window.hypothesisConfig=function(){return{showHighlights:true,appType:'bookmarklet'};};var d=document,s=d.createElement('script');s.setAttribute('src','https://hypothes.is/embed.js');d.body.appendChild(s)})();"</span>)
<pre class="src src-python"><span class="org-variable-name">c.aliases</span>[<span class="org-string">'Download_Torrent_Homelab'</span>] = <span class="org-string">'hint links spawn torrent-add {hint-url}'</span>
config.bind(<span class="org-string">',t'</span>, <span class="org-string">'Download_Torrent_Homelab'</span>)
</pre>
</div>
@ -556,7 +590,8 @@ Annotate with Hypothesis
See Amazon price history using CamelCamelCamel
</p>
<div class="org-src-container">
<pre class="src src-python">config.bind(<span class="org-string">',A'</span>, <span class="org-string">"open -t https://fr.camelcamelcamel.com/search?sq={url}"</span>)
<pre class="src src-python"><span class="org-variable-name">c.aliases</span>[<span class="org-string">'CamelCamelCamel'</span>] = <span class="org-string">'open -t https://fr.camelcamelcamel.com/search?sq={url}'</span>
config.bind(<span class="org-string">',A'</span>, <span class="org-string">'CamelCamelCamel'</span>)
</pre>
</div>
@ -564,12 +599,17 @@ See Amazon price history using CamelCamelCamel
Org Roam Entry for the current page
</p>
<div class="org-src-container">
<pre class="src src-python">config.bind(<span class="org-string">',R'</span>, <span class="org-string">"open javascript:void(location.href='org-protocol://roam-ref?template=r&amp;ref='+encodeURIComponent(location.href)+'&amp;title='+encodeURIComponent(document.title))"</span>)
<pre class="src src-python"><span class="org-variable-name">c.aliases</span>[<span class="org-string">'Org_Roam_Save'</span>] = <span class="org-string">"open javascript:void(location.href='org-protocol://roam-ref?template=r&amp;ref='+encodeURIComponent(location.href)+'&amp;title='+encodeURIComponent(document.title))"</span>
config.bind(<span class="org-string">',R'</span>, <span class="org-string">'Org_Roam_Save'</span>)
</pre>
</div>
<p>
Display Current URL as a QRcode (useful to open in on a phone).
</p>
<div class="org-src-container">
<pre class="src src-python">config.bind(<span class="org-string">',Z'</span>, <span class="org-string">"open -w https://bm.tdehaeze.xyz/bookmarks/new?url={url}&amp;auto_close"</span>)
<pre class="src src-python"><span class="org-variable-name">c.aliases</span>[<span class="org-string">'QRcode'</span>] = <span class="org-string">"spawn --userscript ~/.config/qutebrowser/userscripts/url-to-qrcode.sh {url}"</span>
config.bind(<span class="org-string">',q'</span>, <span class="org-string">'QRcode'</span>)
</pre>
</div>
</div>
@ -578,6 +618,9 @@ Org Roam Entry for the current page
<div id="outline-container-org1668b62" class="outline-2">
<h2 id="org1668b62">Userscripts</h2>
<div class="outline-text-2" id="text-org1668b62">
<p>
<a href="https://qutebrowser.org/doc/userscripts.html">Here</a> is the documentation related to userscripts.
</p>
</div>
<div id="outline-container-org1453ee9" class="outline-3">
@ -826,6 +869,52 @@ Send to Emacs
</div>
</div>
<div id="outline-container-org6d745ed" class="outline-3">
<h3 id="org6d745ed">Open Bookmark with Linkding</h3>
<div class="outline-text-3" id="text-org6d745ed">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Verify that environment variable are set</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span><span class="org-rainbow-delimiters-depth-2">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{LINKDING_URL}</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<span class="org-variable-name">LINKDING_URL</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">pass</span> nas/linkding_url<span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-keyword">fi</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span><span class="org-rainbow-delimiters-depth-2">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{LINKDING_TOKEN}</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<span class="org-variable-name">LINKDING_TOKEN</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">pass</span> nas/linkding_token<span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-keyword">fi</span>
<span class="org-type">curl</span> -H <span class="org-string">"Authorization: Token </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{LINKDING_TOKEN}</span></span><span class="org-string">"</span> $<span class="org-rainbow-delimiters-depth-1">{</span><span class="org-variable-name">LINKDING_URL</span><span class="org-rainbow-delimiters-depth-1">}</span>/api/bookmarks/ | jq <span class="org-string">'.results[] | "\(.title) - \(.url) - [#\((.tag_names | join(", #")))]"'</span> -r | rofi -dmenu -no-custom | <span class="org-type">grep</span> -Eo <span class="org-string">'https?://[^ ]+'</span> | head -1 | xargs -I <span class="org-rainbow-delimiters-depth-1">{}</span> <span class="org-type">echo</span> <span class="org-string">"open -t {}"</span> &gt;&gt; <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">QUTE_FIFO</span></span><span class="org-string">"</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgb3b6592" class="outline-3">
<h3 id="orgb3b6592">Add Url to Linkding</h3>
<div class="outline-text-3" id="text-orgb3b6592">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-comment-delimiter"># </span><span class="org-comment">Verify that environment variable are set</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span><span class="org-rainbow-delimiters-depth-2">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{LINKDING_URL}</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<span class="org-variable-name">LINKDING_URL</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">pass</span> nas/linkding_url<span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-keyword">fi</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span><span class="org-rainbow-delimiters-depth-2">[</span> -z <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{LINKDING_TOKEN}</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
<span class="org-variable-name">LINKDING_TOKEN</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">pass</span> nas/linkding_token<span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-keyword">fi</span>
<span class="org-variable-name">title</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">echo</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">QUTE_TITLE</span></span><span class="org-string">"</span> | rofi -p <span class="org-string">"Title"</span> -dmenu -lines <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-variable-name">existing_tags</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">curl</span> -H <span class="org-string">"Authorization: Token </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{LINKDING_TOKEN}</span></span><span class="org-string">"</span> $<span class="org-rainbow-delimiters-depth-2">{</span><span class="org-variable-name">LINKDING_URL</span><span class="org-rainbow-delimiters-depth-2">}</span>/api/tags/ | jq <span class="org-string">'.results[].name'</span> -r | rofi -multi-select -p <span class="org-string">"Existing tags"</span> -dmenu<span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-variable-name">new_tags</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">rofi</span> -p <span class="org-string">"New tags"</span> -dmenu<span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-variable-name">formated_tags</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">echo</span> $<span class="org-variable-name">existing_tags</span> $<span class="org-variable-name">new_tags</span> | sed -E <span class="org-string">'s/(\w+)/"\1"/g;s/\s/,/g'</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-type">curl</span> -H <span class="org-string">"Authorization: Token </span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">{LINKDING_TOKEN}</span></span><span class="org-string">"</span> -H <span class="org-string">"Content-Type: application/json"</span> -d <span class="org-string">"{\"url\": \"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">QUTE_URL</span></span><span class="org-string">\", \"title\": \"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">title</span></span><span class="org-string">\", \"tag_names\": [</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">formated_tags</span></span><span class="org-string">]}"</span> $<span class="org-rainbow-delimiters-depth-1">{</span><span class="org-variable-name">LINKDING_URL</span><span class="org-rainbow-delimiters-depth-1">}</span>/api/bookmarks/ &amp;&amp; <span class="org-sh-escaped-newline">\</span>
dunstify <span class="org-string">"Linkding"</span> <span class="org-string">"&#62561; Bookmark Added"</span> || <span class="org-sh-escaped-newline">\</span>
dunstify --urgency=critical <span class="org-string">"Linkding"</span> <span class="org-string">"Failed"</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org153f69f" class="outline-3">
<h3 id="org153f69f">Add Url to Buku using Rofi</h3>
<div class="outline-text-3" id="text-org153f69f">
@ -876,9 +965,9 @@ buku --add <span class="org-string">"</span><span class="org-string"><span class
</div>
</div>
<div id="outline-container-orgcd649c5" class="outline-3">
<h3 id="orgcd649c5">Screenshot</h3>
<div class="outline-text-3" id="text-orgcd649c5">
<div id="outline-container-org508f98a" class="outline-3">
<h3 id="org508f98a">Save to PNG</h3>
<div class="outline-text-3" id="text-org508f98a">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-variable-name">filename</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">rofi</span> -p <span class="org-string">"filename"</span> -dmenu -lines <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-1">)</span>
@ -908,6 +997,21 @@ buku --add <span class="org-string">"</span><span class="org-string"><span class
</div>
</div>
<div id="outline-container-orgc2161e6" class="outline-3">
<h3 id="orgc2161e6">Get OTP number</h3>
<div class="outline-text-3" id="text-orgc2161e6">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-variable-name">passname</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">ls</span> ~/.password-store/totp-* | xargs -n <span class="org-highlight-numbers-number">1</span> basename | sed -e <span class="org-string">'s/\..*$//'</span> | rofi -p <span class="org-string">"TOPT"</span> -dmenu<span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span> -n <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">passname</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
pass otp $<span class="org-variable-name">passname</span> | xsel -ib &amp;&amp; <span class="org-sh-escaped-newline">\</span>
dunstify <span class="org-string">'OTP'</span> <span class="org-string">'copied to clipboard.'</span> &amp;
<span class="org-keyword">fi</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org0d058a3" class="outline-3">
<h3 id="org0d058a3">Download AES video</h3>
<div class="outline-text-3" id="text-org0d058a3">
@ -926,11 +1030,21 @@ buku --add <span class="org-string">"</span><span class="org-string"><span class
</div>
</div>
</div>
<div id="outline-container-org8110088" class="outline-3">
<h3 id="org8110088">Display URL as a QRcode</h3>
<div class="outline-text-3" id="text-org8110088">
<div class="org-src-container">
<pre class="src src-bash">qrencode -o /tmp/qrcode.png <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> &amp;&amp; sxiv /tmp/qrcode.png
</pre>
</div>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-04-25 dim. 19:10</p>
<p class="date">Created: 2021-10-25 lun. 14:33</p>
</div>
</body>
</html>

View File

@ -3,11 +3,11 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-02-10 mer. 17:57 -->
<!-- 2021-06-20 dim. 14:21 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Ranger</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Dehaeze Thomas" />
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="./dist/style.css"/>
<script type="text/javascript" src="./dist/script.js"></script>
</head>
@ -32,13 +32,14 @@
<ul>
<li><a href="#org7681c16">Extract Script</a></li>
<li><a href="#orgd110a48">Compress Script</a></li>
<li><a href="#org4e182ba">Copy File Content</a></li>
<li><a href="#orgb94aa26">Backup to NAS</a></li>
<li><a href="#org95969c5">Paste with Rsync</a></li>
</ul>
</li>
<li><a href="#orgd57ea4e">Define keys for the browser</a>
<ul>
<li><a href="#org527bd08">Basic</a></li>
<li><a href="#orgf964ebf">Basic</a></li>
<li><a href="#org1c6f91a">Open Shell in current directory</a></li>
<li><a href="#orgdf72b75">Open With</a></li>
<li><a href="#org8e148cf">Filter</a></li>
@ -62,14 +63,27 @@
</li>
<li><a href="#org7e7a4ec">Define keys for the console</a>
<ul>
<li><a href="#orgf964ebf">Basic</a></li>
<li><a href="#orgef5af30">Basic</a></li>
<li><a href="#orga9f3972">Move around</a></li>
<li><a href="#org6265874">Line Editing</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#org9007d23">Rifle</a></li>
<li><a href="#rifle">Rifle</a>
<ul>
<li><a href="#org1462e63">Documentation</a></li>
<li><a href="#org64e62ab">Text Files</a></li>
<li><a href="#org72831a4">PDF, Epub and jdvu</a></li>
<li><a href="#org2c35566">Archives</a></li>
<li><a href="#orga558ade">Websites</a></li>
<li><a href="#orgc892be6">Word, Excel and Presentation files</a></li>
<li><a href="#org64ef3f5">Images</a></li>
<li><a href="#org7d765c1">Audio</a></li>
<li><a href="#org82c25f1">Video</a></li>
<li><a href="#org85aac1e">Misc</a></li>
</ul>
</li>
<li><a href="#org89bf721">Ranger Commands</a>
<ul>
<li><a href="#org58a0d43">Import</a></li>
@ -277,7 +291,7 @@ alias travel scout -aefiklst
<h3 id="org7bcf949">Some Custom Keybindings</h3>
<div class="outline-text-3" id="text-org7bcf949">
<p>
Extract
Extract:
</p>
<div class="org-src-container">
<pre class="src src-conf">map ,x shell ~/.config/ranger/scripts/extract.sh %f
@ -285,7 +299,7 @@ Extract
</div>
<p>
Compress
Compress:
</p>
<div class="org-src-container">
<pre class="src src-conf">map ,z shell ~/.config/ranger/scripts/compress.sh %f
@ -293,7 +307,7 @@ Compress
</div>
<p>
Get Bibtex from PDF
Get Bibtex from PDF:
</p>
<div class="org-src-container">
<pre class="src src-conf">map ,b shell pdf2bib %f
@ -301,15 +315,7 @@ Get Bibtex from PDF
</div>
<p>
Delete first page of pdf
</p>
<div class="org-src-container">
<pre class="src src-conf">map ,d shell pdf-delete-first-page %f
</pre>
</div>
<p>
Convert images/pdf/&#x2026;
Convert images/pdf/&#x2026;:
</p>
<div class="org-src-container">
<pre class="src src-conf">map ,c shell convert-file %f
@ -317,15 +323,7 @@ Convert images/pdf/&#x2026;
</div>
<p>
Magit Status
</p>
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">map ,gs shell emacsclient -create-frame --alternate-editor</span>=<span class="org-string">""</span> -n --eval <span class="org-string">'(magit-status)'</span>
</pre>
</div>
<p>
Open SXIV on current directory
Open SXIV on current directory:
</p>
<div class="org-src-container">
<pre class="src src-conf">map ,s shell nohup sxiv -t %d &amp;
@ -333,16 +331,15 @@ Open SXIV on current directory
</div>
<p>
Upload with 0x0 / self hosted Tansfer.sh
Upload to <a href="https://0x0.st/">https://0x0.st/</a>:
</p>
<div class="org-src-container">
<pre class="src src-conf">map ,t shell upload %f
map ,T shell share %f
</pre>
</div>
<p>
Open current folder with PCManFM
Open current folder with PCManFM:
</p>
<div class="org-src-container">
<pre class="src src-conf">map ,o shell nohup pcmanfm %d &amp;
@ -350,15 +347,7 @@ Open current folder with PCManFM
</div>
<p>
Open with Emacs
</p>
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">map ,e shell emacsclient -create-frame --alternate-editor</span>=<span class="org-string">""</span> -n %f
</pre>
</div>
<p>
Print on Rnice
Print on Rnice:
</p>
<div class="org-src-container">
<pre class="src src-conf">map ,p shell print-rnice %f &amp;
@ -366,12 +355,17 @@ Print on Rnice
</div>
<p>
Backup to NAS
Backup to NAS:
</p>
<div class="org-src-container">
<pre class="src src-conf">map ,B shell ~/.config/ranger/scripts/backup-to-nas.sh %s &amp;
</pre>
</div>
<div class="org-src-container">
<pre class="src src-conf">map ,y shell ~/.config/ranger/scripts/copy-content.sh %s &amp;
</pre>
</div>
</div>
</div>
@ -408,6 +402,16 @@ Backup to NAS
</div>
<div id="outline-container-org4e182ba" class="outline-4">
<h4 id="org4e182ba">Copy File Content</h4>
<div class="outline-text-4" id="text-org4e182ba">
<div class="org-src-container">
<pre class="src src-bash">xclip -sel c &lt; $<span class="org-highlight-numbers-number">1</span> &amp;&amp; dunstify <span class="org-string">"Ranger"</span> <span class="org-string">"Copied to clipboard"</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgb94aa26" class="outline-4">
<h4 id="orgb94aa26">Backup to NAS</h4>
<div class="outline-text-4" id="text-orgb94aa26">
@ -417,9 +421,9 @@ Backup to NAS
<div class="org-src-container">
<pre class="src src-bash"><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">[</span> $<span class="org-variable-name">TMUX</span> <span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">then</span>
tmux split -v -l <span class="org-highlight-numbers-number">2</span> rsync -a --inplace --info=progress2 --rsh=<span class="org-string">'ssh -p10022'</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">@</span></span><span class="org-string">"</span> nas:/volume1/Data/Downloads/Backup/ &amp;&amp; tmux select-pane -U
tmux split -v -l <span class="org-highlight-numbers-number">2</span> rsync -a --inplace --info=progress2 --rsh=<span class="org-string">'ssh '</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">@</span></span><span class="org-string">"</span> homelab:/srv/storage/Backups/ &amp;&amp; tmux select-pane -U
<span class="org-keyword">else</span>
rsync -a --info=progress2 --inplace --rsh=<span class="org-string">'ssh -p10022'</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">@</span></span><span class="org-string">"</span> nas:/volume1/Data/Downloads/Backup/
rsync -a --info=progress2 --inplace --rsh=<span class="org-string">'ssh'</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">@</span></span><span class="org-string">"</span> homelab:/srv/storage/Backups/
<span class="org-keyword">fi</span>
</pre>
</div>
@ -451,9 +455,9 @@ Backup to NAS
<h3 id="orgd57ea4e">Define keys for the browser</h3>
<div class="outline-text-3" id="text-orgd57ea4e">
</div>
<div id="outline-container-org527bd08" class="outline-4">
<h4 id="org527bd08">Basic</h4>
<div class="outline-text-4" id="text-org527bd08">
<div id="outline-container-orgf964ebf" class="outline-4">
<h4 id="orgf964ebf">Basic</h4>
<div class="outline-text-4" id="text-orgf964ebf">
<div class="org-src-container">
<pre class="src src-conf">map Q quit!
map q eval fm.execute_console(<span class="org-string">"shell tmux detach"</span>) if <span class="org-string">'TMUX'</span> in os.environ.keys() else fm.execute_console(<span class="org-string">"quit"</span>)
@ -584,7 +588,7 @@ map [ move_parent -1
map gb cd ~/Cloud/brain
map gm cd ~/Cloud/thesis
map gp cd ~/Pictures
map gP cd ~/Cloud/personal
map gP cd ~/Cloud/pictures/phone
map gT cd ~/.local/share/Trash/files
map gd cd ~/Downloads
map gc cd ~/Cloud
@ -766,14 +770,17 @@ map <span class="org-string">'&lt;any&gt; enter_bookmark %any</span>
<h3 id="org7e7a4ec">Define keys for the console</h3>
<div class="outline-text-3" id="text-org7e7a4ec">
</div>
<div id="outline-container-orgf964ebf" class="outline-4">
<h4 id="orgf964ebf">Basic</h4>
<div class="outline-text-4" id="text-orgf964ebf">
<div id="outline-container-orgef5af30" class="outline-4">
<h4 id="orgef5af30">Basic</h4>
<div class="outline-text-4" id="text-orgef5af30">
<div class="org-src-container">
<pre class="src src-conf">cmap &lt;tab&gt; eval fm.ui.console.tab()
cmap &lt;s-tab&gt; eval fm.ui.console.tab(-1)
cmap &lt;ESC&gt; eval fm.ui.console.close()
cmap &lt;CR&gt; eval fm.ui.console.execute()
cmap &lt;C-l&gt; redraw_window
copycmap &lt;ESC&gt; &lt;C-c&gt;
@ -791,8 +798,6 @@ copycmap &lt;CR&gt; &lt;C-j&gt;
cmap &lt;down&gt; eval fm.ui.console.history_move(<span class="org-highlight-numbers-number">1</span>)
<span class="org-variable-name">cmap &lt;left&gt; eval fm.ui.console.move(left</span>=<span class="org-highlight-numbers-number">1</span>)
<span class="org-variable-name">cmap &lt;right&gt; eval fm.ui.console.move(right</span>=<span class="org-highlight-numbers-number">1</span>)
<span class="org-variable-name">cmap &lt;home&gt; eval fm.ui.console.move(right</span>=<span class="org-highlight-numbers-number">0</span>, absolute=True)
<span class="org-variable-name">cmap &lt;end&gt; eval fm.ui.console.move(right</span>=-1, absolute=True)
</pre>
</div>
</div>
@ -815,9 +820,14 @@ copycmap &lt;end&gt; &lt;C-e&gt;
</div>
</div>
<div id="outline-container-org9007d23" class="outline-2">
<h2 id="org9007d23">Rifle</h2>
<div class="outline-text-2" id="text-org9007d23">
<div id="outline-container-rifle" class="outline-2">
<h2 id="rifle">Rifle</h2>
<div class="outline-text-2" id="text-rifle">
</div>
<div id="outline-container-org1462e63" class="outline-3">
<h3 id="org1462e63">Documentation</h3>
<div class="outline-text-3" id="text-org1462e63">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">This is the configuration file of "rifle", ranger's file executor/opener.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Each line consists of conditions and a command. For each line the conditions</span>
@ -866,165 +876,206 @@ copycmap &lt;end&gt; &lt;C-e&gt;
<span class="org-comment-delimiter"># </span><span class="org-comment">implementation may differ.</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Note: When using rifle in ranger, there is an additional flag "c" for</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">only running the current file even if you have marked multiple files.</span>
</pre>
</div>
</div>
</div>
<span class="org-comment-delimiter">#</span><span class="org-comment">-------------------------------------------</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Websites</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">-------------------------------------------</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Rarely installed browsers get higher priority; It is assumed that if you</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">install a rare browser, you probably use it. Firefox/konqueror/w3m on the</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">other hand are often only installed as fallback browsers.</span>
<span class="org-variable-name">ext x?html?, has qutebrowser, X, flag f</span> = qutebrowser -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext x?html?, has firefox, X, flag f</span> = firefox -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext x?html?, has elinks, terminal</span> = elinks <span class="org-string">"$@"</span>
<span class="org-variable-name">ext x?html?, has links2, terminal</span> = links2 <span class="org-string">"$@"</span>
<span class="org-variable-name">ext x?html?, has links, terminal</span> = links <span class="org-string">"$@"</span>
<span class="org-variable-name">ext x?html?, has lynx, terminal</span> = lynx -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext x?html?, has w3m, terminal</span> = w3m <span class="org-string">"$@"</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">Spreadsheets for scim</span>
<span class="org-variable-name">ext sc|csv|sxc|xlsx?|xlt|xlw|gnm|gnumeric,</span> = sc-im -- <span class="org-string">"$@"</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">-------------------------------------------</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Misc</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">-------------------------------------------</span>
<span class="org-variable-name">ext org</span> = emacsclient -c <span class="org-string">"$1"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Define the "editor" for text files as first action</span>
<span class="org-variable-name">mime ^text, label editor</span> = $EDITOR -- <span class="org-string">"$@"</span>
<div id="outline-container-org64e62ab" class="outline-3">
<h3 id="org64e62ab">Text Files</h3>
<div class="outline-text-3" id="text-org64e62ab">
<p>
Define the <code>$EDITOR</code> for text files as first action:
</p>
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">mime ^text, label editor</span> = $EDITOR -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^text, label pager</span> = <span class="org-string">"$PAGER"</span> -- <span class="org-string">"$@"</span>
<span class="org-variable-name">!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php</span> = $EDITOR -- <span class="org-string">"$@"</span>
</pre>
</div>
<p>
Favorite editors:
</p>
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">mime ^text, has nvim, flag f</span> = nvim <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^text, has emacsclient, X, flag f</span> = emacsclient -c <span class="org-string">"$@"</span>
</pre>
</div>
<p>
Org mode files
</p>
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">ext org, has emacsclient, X, flag f</span> = emacsclient -c <span class="org-string">"$@"</span>
</pre>
</div>
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php</span> = $EDITOR -- <span class="org-string">"$@"</span>
<span class="org-variable-name">!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php</span> = <span class="org-string">"$PAGER"</span> -- <span class="org-string">"$@"</span>
ext <span class="org-highlight-numbers-number">1</span> = man <span class="org-string">"$1"</span>
<span class="org-variable-name">ext s[wmf]c, has zsnes, X</span> = zsnes <span class="org-string">"$1"</span>
<span class="org-variable-name">ext s[wmf]c, has snes9x-gtk,X</span> = snes9x-gtk <span class="org-string">"$1"</span>
<span class="org-variable-name">ext nes, has fceux, X</span> = fceux <span class="org-string">"$1"</span>
<span class="org-variable-name">ext exe</span> = wine <span class="org-string">"$1"</span>
<span class="org-variable-name">name ^[mM]akefile$</span> = make
<span class="org-comment-delimiter">#</span><span class="org-comment">--------------------------------------------</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Code</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">-------------------------------------------</span>
<span class="org-variable-name">ext py</span> = python -- <span class="org-string">"$1"</span>
<span class="org-variable-name">ext pl</span> = perl -- <span class="org-string">"$1"</span>
<span class="org-variable-name">ext rb</span> = ruby -- <span class="org-string">"$1"</span>
<span class="org-variable-name">ext js</span> = node -- <span class="org-string">"$1"</span>
<span class="org-variable-name">ext sh</span> = sh -- <span class="org-string">"$1"</span>
<span class="org-variable-name">ext php</span> = php -- <span class="org-string">"$1"</span>
</pre>
</div>
</div>
</div>
<span class="org-comment-delimiter">#</span><span class="org-comment">--------------------------------------------</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Video/Audio with a GUI</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">-------------------------------------------</span>
<span class="org-variable-name">mime ^video, has mpv, X, flag f</span> = mpv -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^video, has mpv, X, flag f</span> = mpv --fs -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^video, has mpv, X, flag f</span> = mpv --loop -- <span class="org-string">"$@"</span>
<div id="outline-container-org72831a4" class="outline-3">
<h3 id="org72831a4">PDF, Epub and jdvu</h3>
<div class="outline-text-3" id="text-org72831a4">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">ext pdf, has zathura, X, flag f</span> = zathura -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext pdf, has mupdf, X, flag f</span> = mupdf <span class="org-string">"$@"</span>
<span class="org-variable-name">ext pdf, X, flag f</span> = <span class="org-string">"$BROWSER"</span> <span class="org-string">"$@"</span>
</pre>
</div>
<span class="org-comment-delimiter">#</span><span class="org-comment">--------------------------------------------</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Audio without X</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">-------------------------------------------</span>
<span class="org-variable-name">mime ^audio|ogg$, terminal, has mpv</span> = mpv --no-audio-display -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^audio|ogg$</span> = tag <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^audio|ogg$, terminal, has mpv</span> = mpv -- <span class="org-string">"$@"</span>
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">ext epub, has zathura, X, flag f</span> = zathura -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext epub, has mupdf, X, flag f</span> = mupdf <span class="org-string">"$@"</span>
</pre>
</div>
<span class="org-comment-delimiter">#</span><span class="org-comment">--------------------------------------------</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Video without X:</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">-------------------------------------------</span>
<span class="org-variable-name">mime ^video, terminal, !X, has mpv</span> = mpv -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^video, terminal, !X, has mplayer2</span> = mplayer2 -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^video, terminal, !X, has mplayer</span> = mplayer -- <span class="org-string">"$@"</span>
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">ext djvu, has zathura, X, flag f</span> = zathura -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext djvu, has evince, X, flag f</span> = evince -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext djvu, has atril, X, flag f</span> = atril -- <span class="org-string">"$@"</span>
</pre>
</div>
</div>
</div>
<span class="org-comment-delimiter">#</span><span class="org-comment">-------------------------------------------</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Documents</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">-------------------------------------------</span>
<span class="org-variable-name">ext pdf, has zathura, X, flag f</span> = zathura -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext pdf, has llpp, X, flag f</span> = llpp <span class="org-string">"$@"</span>
<span class="org-variable-name">ext pdf, has mupdf, X, flag f</span> = mupdf <span class="org-string">"$@"</span>
<span class="org-variable-name">ext pdf, has mupdf, X, flag f</span> = mupdf -I <span class="org-string">"$@"</span>
<span class="org-variable-name">ext pdf, has mupdf-x11,X, flag f</span> = mupdf-x11 <span class="org-string">"$@"</span>
<span class="org-variable-name">ext pdf, has apvlv, X, flag f</span> = apvlv -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext pdf, has xpdf, X, flag f</span> = xpdf -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext pdf, has evince, X, flag f</span> = evince -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext pdf, has atril, X, flag f</span> = atril -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext pdf, has okular, X, flag f</span> = okular -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext pdf, has epdfview, X, flag f</span> = epdfview -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext pdf, has qpdfview, X, flag f</span> = qpdfview <span class="org-string">"$@"</span>
<div id="outline-container-org2c35566" class="outline-3">
<h3 id="org2c35566">Archives</h3>
<div class="outline-text-3" id="text-org2c35566">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool</span> = atool -- <span class="org-string">"$@"</span> | <span class="org-string">"$PAGER"</span>
<span class="org-variable-name">ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool</span> = atool -- <span class="org-string">"$@"</span> | <span class="org-string">"$PAGER"</span>
<span class="org-variable-name">ext epub, has zathura, X, flag f</span> = zathura -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext epub, has mupdf, X, flag f</span> = mupdf <span class="org-string">"$@"</span>
<span class="org-variable-name">ext docx?, has wps, X, flag f</span> = wps <span class="org-string">"$@"</span>
<span class="org-variable-name">ext docx?, has onlyoffice, X, flag f</span> = onlyoffice <span class="org-string">"$@"</span>
<span class="org-variable-name">ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has wpp, X, flag f</span> = wpp <span class="org-string">"$@"</span>
<span class="org-variable-name">ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has gnumeric, X, flag f</span> = gnumeric -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has kspread, X, flag f</span> = kspread -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f</span> = libreoffice <span class="org-string">"$@"</span>
<span class="org-variable-name">ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has soffice, X, flag f</span> = soffice <span class="org-string">"$@"</span>
<span class="org-variable-name">ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f</span> = ooffice <span class="org-string">"$@"</span>
<span class="org-variable-name">ext djvu, has zathura,X, flag f</span> = zathura -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext djvu, has evince, X, flag f</span> = evince -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext djvu, has atril, X, flag f</span> = atril -- <span class="org-string">"$@"</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">-------------------------------------------</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Image Viewing:</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">-------------------------------------------</span>
<span class="org-variable-name">mime ^image/svg, has inkscape, X, flag f</span> = inkscape -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^image/svg, has display, X, flag f</span> = display -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^image/gif, has mpv, X, flag f</span> = mpv --loop -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^image/gif, has viewnior, X, flag f</span> = viewnior -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^image/gif, has qutebrowser, X, flag f</span> = qutebrowser -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext xcf, X, flag f</span> = gimp -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^image, has sxiv, X, flag f</span> = sxiv -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^image, has feh, X, flag f</span> = feh --scale-down --auto-zoom --image-bg black -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^image, has feh, X, flag f</span> = feh --scale-down --auto-zoom -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^image, has mirage, X, flag f</span> = mirage -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^image, has ristretto, X, flag f</span> = ristretto <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^image, has eog, X, flag f</span> = eog -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^image, has eom, X, flag f</span> = eom -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^image, has gimp, X, flag f</span> = gimp -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^image, has pinta, X, flag f</span> = pinta -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^image, has mypaint, X, flag f</span> = mypaint -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^image, has kolourpaint, X, flag f</span> = kolourpaint -- <span class="org-string">"$@"</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">-------------------------------------------</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Archives</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">-------------------------------------------</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">This requires atool</span>
<span class="org-variable-name">ext jar</span> = java -jar <span class="org-string">"$@"</span>
<span class="org-variable-name">ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has als</span> = als -- <span class="org-string">"$@"</span> | <span class="org-string">"$PAGER"</span>
<span class="org-variable-name">ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has als</span> = als -- <span class="org-string">"$@"</span> | <span class="org-string">"$PAGER"</span>
<span class="org-variable-name">ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has aunpack</span> = aunpack -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has aunpack</span> = aunpack -- <span class="org-string">"$@"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Fallback:</span>
<span class="org-variable-name">ext tar|gz, has tar</span> = tar vvtf <span class="org-string">"$@"</span> | <span class="org-string">"$PAGER"</span>
<span class="org-variable-name">ext tar|gz, has tar</span> = tar vvxf <span class="org-string">"$@"</span>
</pre>
</div>
</div>
</div>
<span class="org-comment-delimiter">#</span><span class="org-comment">-------------------------------------------</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Misc</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">-------------------------------------------</span>
label wallpaper, number <span class="org-highlight-numbers-number">11</span>, mime ^image, has feh, X = feh --bg-scale <span class="org-string">"$1"</span>
label wallpaper, number <span class="org-highlight-numbers-number">12</span>, mime ^image, has feh, X = feh --bg-tile <span class="org-string">"$1"</span>
label wallpaper, number <span class="org-highlight-numbers-number">13</span>, mime ^image, has feh, X = feh --bg-center <span class="org-string">"$1"</span>
label wallpaper, number <span class="org-highlight-numbers-number">14</span>, mime ^image, has feh, X = feh --bg-fill <span class="org-string">"$1"</span>
<div id="outline-container-orga558ade" class="outline-3">
<h3 id="orga558ade">Websites</h3>
<div class="outline-text-3" id="text-orga558ade">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">ext x?html?, has qutebrowser, X, flag f</span> = qutebrowser -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext x?html?, has firefox, X, flag f</span> = firefox -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext x?html?, has elinks, terminal</span> = elinks <span class="org-string">"$@"</span>
<span class="org-variable-name">ext x?html?, has w3m, terminal</span> = w3m <span class="org-string">"$@"</span>
</pre>
</div>
</div>
</div>
<span class="org-comment-delimiter"># </span><span class="org-comment">Define the editor for non-text files + pager as last action</span>
<div id="outline-container-orgc892be6" class="outline-3">
<h3 id="orgc892be6">Word, Excel and Presentation files</h3>
<div class="outline-text-3" id="text-orgc892be6">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">ext docx?, has onlyoffice, X, flag f</span> = onlyoffice <span class="org-string">"$@"</span>
<span class="org-variable-name">ext docx?, has wps, X, flag f</span> = wps <span class="org-string">"$@"</span>
<span class="org-variable-name">ext docx?, has libreoffice, X, flag f</span> = libreoffice <span class="org-string">"$@"</span>
</pre>
</div>
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">ext pptx?, has onlyoffice, X, flag f</span> = onlyoffice <span class="org-string">"$@"</span>
<span class="org-variable-name">ext pptx?, has wps, X, flag f</span> = wps <span class="org-string">"$@"</span>
<span class="org-variable-name">ext pptx?, has libreoffice, X, flag f</span> = libreoffice <span class="org-string">"$@"</span>
</pre>
</div>
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">ext csv|xlsx?, has sc-im</span> = sc-im -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext csv|xlsx?, has onlyoffice, X, flag f</span> = onlyoffice <span class="org-string">"$@"</span>
<span class="org-variable-name">ext csv|xlsx?, has wps, X, flag f</span> = wps <span class="org-string">"$@"</span>
<span class="org-variable-name">ext csv|xlsx?, has libreoffice, X, flag f</span> = libreoffice <span class="org-string">"$@"</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org64ef3f5" class="outline-3">
<h3 id="org64ef3f5">Images</h3>
<div class="outline-text-3" id="text-org64ef3f5">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">mime ^image/svg, has inkview, X, flag f</span> = inkview -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^image/svg, has inkscape, X, flag f</span> = inkscape -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^image/svg, has display, X, flag f</span> = display -- <span class="org-string">"$@"</span>
</pre>
</div>
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">mime ^image/gif, has mpv, X, flag f</span> = mpv --loop -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^image/gif, has qutebrowser, X, flag f</span> = qutebrowser -- <span class="org-string">"$@"</span>
</pre>
</div>
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">mime ^image, has sxiv, X, flag f</span> = sxiv -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^image, has feh, X, flag f</span> = feh --scale-down --auto-zoom -- <span class="org-string">"$@"</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org7d765c1" class="outline-3">
<h3 id="org7d765c1">Audio</h3>
<div class="outline-text-3" id="text-org7d765c1">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">mime ^audio|ogg$, terminal, has mpv</span> = mpv --no-audio-display -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^audio|ogg$, X, flag f, has vlc</span> = vlc -- <span class="org-string">"$@"</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org82c25f1" class="outline-3">
<h3 id="org82c25f1">Video</h3>
<div class="outline-text-3" id="text-org82c25f1">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-variable-name">mime ^video, has mpv, X, flag f</span> = mpv -- <span class="org-string">"$@"</span>
<span class="org-variable-name">mime ^video, has vlc, X, flag f</span> = vlc -- <span class="org-string">"$@"</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org85aac1e" class="outline-3">
<h3 id="org85aac1e">Misc</h3>
<div class="outline-text-3" id="text-org85aac1e">
<div class="org-src-container">
<pre class="src src-conf">ext <span class="org-highlight-numbers-number">1</span> = man <span class="org-string">"$1"</span>
<span class="org-variable-name">ext s[wmf]c, has zsnes, X</span> = zsnes <span class="org-string">"$1"</span>
<span class="org-variable-name">ext s[wmf]c, has snes9x-gtk,X</span> = snes9x-gtk <span class="org-string">"$1"</span>
<span class="org-variable-name">ext nes, has fceux, X</span> = fceux <span class="org-string">"$1"</span>
<span class="org-variable-name">ext exe</span> = wine <span class="org-string">"$1"</span>
<span class="org-variable-name">name ^[mM]akefile$</span> = make
</pre>
</div>
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">Define the editor for non-text files + pager as last action</span>
<span class="org-variable-name">!mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php</span> = ask
<span class="org-variable-name">label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php</span> = $EDITOR -- <span class="org-string">"$@"</span>
<span class="org-variable-name">label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php</span> = <span class="org-string">"$PAGER"</span> -- <span class="org-string">"$@"</span>
<span class="org-variable-name">ext blend, has blender, X, flag f</span> = blender -- <span class="org-string">"$@"</span>
<span class="org-variable-name">has dragon-drag-and-drop, X, flag f</span> = dragon-drag-and-drop -a -x <span class="org-string">"$@"</span>
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-org89bf721" class="outline-2">
<h2 id="org89bf721">Ranger Commands</h2>
@ -1083,7 +1134,7 @@ label wallpaper, number <span class="org-highlight-numbers-number">14</span>, mi
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-02-10 mer. 17:57</p>
<p class="date">Created: 2021-06-20 dim. 14:21</p>
</div>
</body>
</html>

147
docs/router.html Normal file
View File

@ -0,0 +1,147 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-10-25 lun. 14:33 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Open-WRT Router (Netgear R7000)</title>
<meta name="author" content="Dehaeze Thomas" />
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="./dist/style.css"/>
<script type="text/javascript" src="./dist/script.js"></script>
</head>
<body>
<div id="org-div-home-and-up">
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content" class="content">
<h1 class="title">Open-WRT Router (Netgear R7000)</h1>
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#org94a53fe">Installation</a>
<ul>
<li><a href="#org160d543">Freebox - Bridge mode</a></li>
<li><a href="#org99fb9c5">Enable SSL</a></li>
<li><a href="#org68a11a8">Install useful packages</a></li>
</ul>
</li>
<li><a href="#orgf6a31ea">Update</a></li>
<li><a href="#orgf2ed597">Configuration</a></li>
</ul>
</div>
</div>
<div id="outline-container-org94a53fe" class="outline-2">
<h2 id="org94a53fe">Installation</h2>
<div class="outline-text-2" id="text-org94a53fe">
</div>
<div id="outline-container-org160d543" class="outline-3">
<h3 id="org160d543">Freebox - Bridge mode</h3>
<div class="outline-text-3" id="text-org160d543">
<p>
<a href="https://blog.kulakowski.fr/post/openwrt-derriere-une-freebox-ipv6-dmz-et-bridge">https://blog.kulakowski.fr/post/openwrt-derriere-une-freebox-ipv6-dmz-et-bridge</a>
</p>
</div>
</div>
<div id="outline-container-org99fb9c5" class="outline-3">
<h3 id="org99fb9c5">Enable SSL</h3>
<div class="outline-text-3" id="text-org99fb9c5">
<p>
How can I enable SSL for the web admin gui?
In an SSH-command line, run opkg update, then install the package opkg install luci-ssl, then restart the router. Then you can access <a href="https://192.168.1.1">https://192.168.1.1</a> or <a href="https://openwrt">https://openwrt</a> with your favorite web browser
</p>
</div>
</div>
<div id="outline-container-org68a11a8" class="outline-3">
<h3 id="org68a11a8">Install useful packages</h3>
<div class="outline-text-3" id="text-org68a11a8">
<div class="org-src-container">
<pre class="src src-bash">opkg update &amp;&amp; opkg install luci-ssl-openssl luci-theme-material ipset <span class="org-type">curl</span> diffutils speedtest-netperf kmod-ipt-nat6
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-orgf6a31ea" class="outline-2">
<h2 id="orgf6a31ea">Update</h2>
<div class="outline-text-2" id="text-orgf6a31ea">
<div class="org-src-container">
<pre class="src src-bash">opkg list-upgradable | cut -f <span class="org-highlight-numbers-number">1</span> -d <span class="org-string">' '</span> | xargs -r opkg upgrade
</pre>
</div>
</div>
</div>
<div id="outline-container-orgf2ed597" class="outline-2">
<h2 id="orgf2ed597">Configuration</h2>
<div class="outline-text-2" id="text-orgf2ed597">
<p>
<a href="https://openwrt.org/docs/guide-user/base-system/uci#common_principles">https://openwrt.org/docs/guide-user/base-system/uci#common_principles</a>
</p>
<p>
Configuration files are in <code>/etc/config</code>.
</p>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left"><b>File</b></th>
<th scope="col" class="org-left"><b>Description</b></th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left"><code>/etc/config/dhcp</code></td>
<td class="org-left">Dnsmasq and odhcpd settings: DNS, DHCP, DHCPv6</td>
</tr>
<tr>
<td class="org-left"><code>/etc/config/dropbear</code></td>
<td class="org-left">SSH server options</td>
</tr>
<tr>
<td class="org-left"><code>/etc/config/firewall</code></td>
<td class="org-left">NAT, packet filter, port forwarding, etc.</td>
</tr>
<tr>
<td class="org-left"><code>/etc/config/network</code></td>
<td class="org-left">Switch, interface and route configuration:</td>
</tr>
<tr>
<td class="org-left"><code>/etc/config/system</code></td>
<td class="org-left">Misc. system settings, NTP, RNG, Watchcat</td>
</tr>
<tr>
<td class="org-left"><code>/etc/config/wireless</code></td>
<td class="org-left">Wireless settings and wifi network definition</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-10-25 lun. 14:33</p>
</div>
</body>
</html>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-04-25 dim. 19:10 -->
<!-- 2021-06-20 dim. 14:21 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Simple X Hotkey Daemon</title>
<meta name="author" content="Dehaeze Thomas" />
@ -39,20 +39,20 @@
<ul>
<li><a href="#orgb21b9fa">BSPWM hotkeys</a></li>
<li><a href="#org7784897">Monocle Layout</a></li>
<li><a href="#orgbe96bd6">Set the window State</a></li>
<li><a href="#orgf0e6469">Set the window State</a></li>
<li><a href="#org8a5891f">Sticky Window</a></li>
<li><a href="#org9363f85">Focus and Swap</a></li>
<li><a href="#org39668cf">Preselect</a></li>
<li><a href="#orgefaac3d">Resize</a></li>
<li><a href="#org1163075">Preselect</a></li>
<li><a href="#org523987d">Resize</a></li>
</ul>
</li>
<li><a href="#orgb8b77ba">I3 related</a>
<ul>
<li><a href="#orgf0994dd">Kill Window</a></li>
<li><a href="#orgf0e6469">Set the window State</a></li>
<li><a href="#org61f51d5">Set the window State</a></li>
<li><a href="#org993d527">focus/swap</a></li>
<li><a href="#org1163075">Preselect</a></li>
<li><a href="#org523987d">Resize</a></li>
<li><a href="#orgd3c5be6">Preselect</a></li>
<li><a href="#org83da401">Resize</a></li>
</ul>
</li>
</ul>
@ -232,7 +232,7 @@ super + Return
<span class="org-comment-delimiter"># </span><span class="org-comment">File Manager</span>
super + o
$TERMINAL -e <span class="org-string">"tmux new-session -A -s ranger ranger"</span>
$TERMINAL -e tmux new-session -A -s ranger ranger
<span class="org-comment-delimiter"># </span><span class="org-comment">Browser</span>
super + i
@ -240,7 +240,7 @@ super + i
<span class="org-comment-delimiter"># </span><span class="org-comment">Mails with neomutt</span>
super + m
$TERMINAL -e <span class="org-string">"tmux new-session -A -s neomutt neomutt"</span>
$TERMINAL -e tmux new-session -A -s neomutt neomutt
<span class="org-comment-delimiter"># </span><span class="org-comment">Emacs Client</span>
super + e
@ -256,7 +256,7 @@ super + e
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">Network Manager</span>
super + shift + w
$TERMINAL -e <span class="org-string">'sudo nmtui'</span>
$TERMINAL --title nmtui -e sudo nmtui
<span class="org-comment-delimiter"># </span><span class="org-comment">Bluetooth Manager</span>
super + shift + b
@ -269,11 +269,8 @@ super + shift + c
<span class="org-comment-delimiter"># </span><span class="org-comment">Sound Manager</span>
super + shift + s
pavucontrol
</pre>
</div>
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">Bookmarks</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Bookmarks</span>
super + shift + f
bukurun
@ -291,11 +288,7 @@ super + shift + p
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">Command line Calendar Client (khal)</span>
super + space ; c
$TERMINAL -e <span class="org-string">"khal interactive"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">GUI Calendar (Google Calendar)</span>
super + space ; shift + c
$BROWSER https://calendar.google.com/
$TERMINAL --title khal -e ikhal
<span class="org-comment-delimiter"># </span><span class="org-comment">pcmanfm: GUI file manager</span>
super + space ; o
@ -303,27 +296,19 @@ super + space ; o
<span class="org-comment-delimiter"># </span><span class="org-comment">Download with Aria2c</span>
super + space ; d
$TERMINAL -e <span class="org-string">"tmux new-session -A -s aria2p aria2p --port 6800 --host http://dl.tdehaeze.xyz --secret $(pass dl.tdehaeze.xyz/tdehaeze | sed -n 1p)"</span>
$TERMINAL -e tmux new-session -A -s aria2p aria2p --port <span class="org-highlight-numbers-number">6800</span> --host http://dl.tdehaeze.xyz --secret $(pass dl.tdehaeze.xyz/tdehaeze | sed -n 1p)
<span class="org-comment-delimiter"># </span><span class="org-comment">Run another instance of Neomutt in read-only mode</span>
super + space ; m
$TERMINAL -e <span class="org-string">"neomutt -R"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Weechat</span>
super + space ; w
$TERMINAL -e <span class="org-string">"tmux new-session -A -s weechat weechat"</span>
$TERMINAL -e neomutt -R
<span class="org-comment-delimiter"># </span><span class="org-comment">News with newsboat</span>
super + space ; n
$TERMINAL -e <span class="org-string">"tmux new-session -A -s newsboat newsboat"</span>
$TERMINAL -e tmux new-session -A -s newsboat newsboat
<span class="org-comment-delimiter"># </span><span class="org-comment">Music with ncmpcpp</span>
super + space ; p
$TERMINAL -e <span class="org-string">"tmux new-session -A -s ncmpcpp ncmpcpp"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Print Screen</span>
super + space ; shift + p
$HOME/.local/bin/mopidy-restart
$TERMINAL -e tmux new-session -A -s ncmpcpp ncmpcpp
<span class="org-comment-delimiter"># </span><span class="org-comment">Default Browser</span>
super + space ; i
@ -331,7 +316,7 @@ super + space ; i
<span class="org-comment-delimiter"># </span><span class="org-comment">Start Torrent Managaer</span>
super + space ; t
$TERMINAL -e <span class="org-string">"tremc"</span>
$TERMINAL -e tremc
<span class="org-comment-delimiter"># </span><span class="org-comment">Emacs</span>
super + space ; e
@ -382,9 +367,9 @@ super + c
</div>
</div>
<div id="outline-container-orgbe96bd6" class="outline-3">
<h3 id="orgbe96bd6">Set the window State</h3>
<div class="outline-text-3" id="text-orgbe96bd6">
<div id="outline-container-orgf0e6469" class="outline-3">
<h3 id="orgf0e6469">Set the window State</h3>
<div class="outline-text-3" id="text-orgf0e6469">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">Set the window state to tiled</span>
super + t
@ -458,9 +443,9 @@ super + shift + {1-9}
</div>
</div>
<div id="outline-container-org39668cf" class="outline-3">
<h3 id="org39668cf">Preselect</h3>
<div class="outline-text-3" id="text-org39668cf">
<div id="outline-container-org1163075" class="outline-3">
<h3 id="org1163075">Preselect</h3>
<div class="outline-text-3" id="text-org1163075">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">preselect the direction</span>
super + ctrl + {h,j,k,l}
@ -478,9 +463,9 @@ bspc node -p cancel
</div>
</div>
<div id="outline-container-orgefaac3d" class="outline-3">
<h3 id="orgefaac3d">Resize</h3>
<div class="outline-text-3" id="text-orgefaac3d">
<div id="outline-container-org523987d" class="outline-3">
<h3 id="org523987d">Resize</h3>
<div class="outline-text-3" id="text-org523987d">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">expand a window by moving one of its side outward</span>
super + alt + {h,j,k,l}
@ -519,9 +504,9 @@ super + q
</div>
</div>
<div id="outline-container-orgf0e6469" class="outline-3">
<h3 id="orgf0e6469">Set the window State</h3>
<div class="outline-text-3" id="text-orgf0e6469">
<div id="outline-container-org61f51d5" class="outline-3">
<h3 id="org61f51d5">Set the window State</h3>
<div class="outline-text-3" id="text-org61f51d5">
<div class="org-src-container">
<pre class="src src-conf"><span class="org-comment-delimiter"># </span><span class="org-comment">Set the window to full-screen</span>
super + f
@ -588,9 +573,9 @@ super + shift + {1-9}
</div>
</div>
<div id="outline-container-org1163075" class="outline-3">
<h3 id="org1163075">Preselect</h3>
<div class="outline-text-3" id="text-org1163075">
<div id="outline-container-orgd3c5be6" class="outline-3">
<h3 id="orgd3c5be6">Preselect</h3>
<div class="outline-text-3" id="text-orgd3c5be6">
<p>
Preselect the direction
</p>
@ -607,9 +592,9 @@ super + ctrl + {j,k,Up,Down}
</div>
</div>
<div id="outline-container-org523987d" class="outline-3">
<h3 id="org523987d">Resize</h3>
<div class="outline-text-3" id="text-org523987d">
<div id="outline-container-org83da401" class="outline-3">
<h3 id="org83da401">Resize</h3>
<div class="outline-text-3" id="text-org83da401">
<p>
Expand/Shrink a window
</p>
@ -634,7 +619,7 @@ super + alt + l
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-04-25 dim. 19:10</p>
<p class="date">Created: 2021-06-20 dim. 14:21</p>
</div>
</body>
</html>

View File

@ -3,11 +3,11 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-01-08 ven. 01:43 -->
<!-- 2021-06-20 dim. 14:22 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title><code>systemd</code> services and timers</title>
<meta name="generator" content="Org mode" />
<title>=systemd= services and timers</title>
<meta name="author" content="Dehaeze Thomas" />
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="./dist/style.css"/>
<script type="text/javascript" src="./dist/script.js"></script>
</head>
@ -24,50 +24,56 @@
<ul>
<li><a href="#org9efc12d"><code>bukugit</code> - Automatic commit and push new bookmarks</a>
<ul>
<li><a href="#org782b2ab">Service</a></li>
<li><a href="#org0f85a10">Timer</a></li>
<li><a href="#orga2cf44a">Script</a></li>
<li><a href="#org047c23f">Service</a></li>
<li><a href="#org057bbfb">Timer</a></li>
<li><a href="#orgd21f3b8">Script</a></li>
</ul>
</li>
<li><a href="#orga6ac362"><code>braingit</code> - Automatic commit and push new brain pages</a>
<ul>
<li><a href="#orgf49f7f3">Service</a></li>
<li><a href="#org541a815">Timer</a></li>
<li><a href="#orgdeee651">Script</a></li>
<li><a href="#org5d32354">Service</a></li>
<li><a href="#orgaa0d02e">Timer</a></li>
<li><a href="#org753a3b1">Script</a></li>
</ul>
</li>
<li><a href="#orgcd55ae1"><code>checkmail</code> - Check new mails</a>
<ul>
<li><a href="#org2b2ce61">Service</a></li>
<li><a href="#org3b13896">Timer</a></li>
<li><a href="#orgd21f3b8">Script</a></li>
<li><a href="#org3117b0f">Service</a></li>
<li><a href="#org31dc560">Timer</a></li>
<li><a href="#org33c5284">Script</a></li>
</ul>
</li>
<li><a href="#orgb4148ce"><code>syncmail</code> - Synchronize all mails</a>
<ul>
<li><a href="#orgd646b63">Service</a></li>
<li><a href="#orga7b9728">Timer</a></li>
<li><a href="#org71deedc">Service</a></li>
<li><a href="#org70acd93">Timer</a></li>
</ul>
</li>
<li><a href="#org64a5ff5"><code>vdirsyncer</code> - Synchronize calendar and contacts</a>
<ul>
<li><a href="#org527e986">Service</a></li>
<li><a href="#org057bbfb">Timer</a></li>
<li><a href="#org636594d">Service</a></li>
<li><a href="#org263ab05">Timer</a></li>
</ul>
</li>
<li><a href="#orgea6990c"><code>ssh-agent</code> - SSH Agent</a>
<ul>
<li><a href="#orgd52a406">Service</a></li>
<li><a href="#org075df6f">Service</a></li>
</ul>
</li>
<li><a href="#org6c316cc"><code>powertop</code> - Powertop</a>
<ul>
<li><a href="#org8b3fdc8">Service</a></li>
<li><a href="#orgf3e364a">Service</a></li>
</ul>
</li>
<li><a href="#org4072349"><code>emacs</code> - Emacs</a>
<ul>
<li><a href="#org047c23f">Service</a></li>
<li><a href="#orgec28af9">Service</a></li>
</ul>
</li>
<li><a href="#org9dd1459"><code>trash-empty</code> - Empty the trash for files older than 30 days</a>
<ul>
<li><a href="#org3ab76b0">Service</a></li>
<li><a href="#org79b900d">Timer</a></li>
</ul>
</li>
</ul>
@ -81,9 +87,9 @@
<h2 id="org9efc12d"><code>bukugit</code> - Automatic commit and push new bookmarks</h2>
<div class="outline-text-2" id="text-org9efc12d">
</div>
<div id="outline-container-org782b2ab" class="outline-3">
<h3 id="org782b2ab">Service</h3>
<div class="outline-text-3" id="text-org782b2ab">
<div id="outline-container-org047c23f" class="outline-3">
<h3 id="org047c23f">Service</h3>
<div class="outline-text-3" id="text-org047c23f">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">Unit</span>]
<span class="org-variable-name">Description</span>=Sync Bookmarks every day
@ -98,9 +104,9 @@
</div>
</div>
<div id="outline-container-org0f85a10" class="outline-3">
<h3 id="org0f85a10">Timer</h3>
<div class="outline-text-3" id="text-org0f85a10">
<div id="outline-container-org057bbfb" class="outline-3">
<h3 id="org057bbfb">Timer</h3>
<div class="outline-text-3" id="text-org057bbfb">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">Unit</span>]
<span class="org-variable-name">Description</span>=Sync All Mails every x hours
@ -121,9 +127,9 @@
</div>
</div>
<div id="outline-container-orga2cf44a" class="outline-3">
<h3 id="orga2cf44a">Script</h3>
<div class="outline-text-3" id="text-orga2cf44a">
<div id="outline-container-orgd21f3b8" class="outline-3">
<h3 id="orgd21f3b8">Script</h3>
<div class="outline-text-3" id="text-orgd21f3b8">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-type">cd</span> ~/.local/share/buku/
@ -150,9 +156,9 @@
<h2 id="orga6ac362"><code>braingit</code> - Automatic commit and push new brain pages</h2>
<div class="outline-text-2" id="text-orga6ac362">
</div>
<div id="outline-container-orgf49f7f3" class="outline-3">
<h3 id="orgf49f7f3">Service</h3>
<div class="outline-text-3" id="text-orgf49f7f3">
<div id="outline-container-org5d32354" class="outline-3">
<h3 id="org5d32354">Service</h3>
<div class="outline-text-3" id="text-org5d32354">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">Unit</span>]
<span class="org-variable-name">Description</span>=Sync Brain Website everyday
@ -167,9 +173,9 @@
</div>
</div>
<div id="outline-container-org541a815" class="outline-3">
<h3 id="org541a815">Timer</h3>
<div class="outline-text-3" id="text-org541a815">
<div id="outline-container-orgaa0d02e" class="outline-3">
<h3 id="orgaa0d02e">Timer</h3>
<div class="outline-text-3" id="text-orgaa0d02e">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">Unit</span>]
<span class="org-variable-name">Description</span>=Sync Brain Website everyday
@ -190,9 +196,9 @@
</div>
</div>
<div id="outline-container-orgdeee651" class="outline-3">
<h3 id="orgdeee651">Script</h3>
<div class="outline-text-3" id="text-orgdeee651">
<div id="outline-container-org753a3b1" class="outline-3">
<h3 id="org753a3b1">Script</h3>
<div class="outline-text-3" id="text-org753a3b1">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-type">cd</span> ~/Cloud/brain-website/
@ -212,9 +218,9 @@
<h2 id="orgcd55ae1"><code>checkmail</code> - Check new mails</h2>
<div class="outline-text-2" id="text-orgcd55ae1">
</div>
<div id="outline-container-org2b2ce61" class="outline-3">
<h3 id="org2b2ce61">Service</h3>
<div class="outline-text-3" id="text-org2b2ce61">
<div id="outline-container-org3117b0f" class="outline-3">
<h3 id="org3117b0f">Service</h3>
<div class="outline-text-3" id="text-org3117b0f">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">Unit</span>]
<span class="org-variable-name">Description</span>=Check new mails
@ -229,9 +235,9 @@
</div>
</div>
<div id="outline-container-org3b13896" class="outline-3">
<h3 id="org3b13896">Timer</h3>
<div class="outline-text-3" id="text-org3b13896">
<div id="outline-container-org31dc560" class="outline-3">
<h3 id="org31dc560">Timer</h3>
<div class="outline-text-3" id="text-org31dc560">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">Unit</span>]
<span class="org-variable-name">Description</span>=Check Mail every x minutes
@ -255,9 +261,9 @@
</div>
</div>
<div id="outline-container-orgd21f3b8" class="outline-3">
<h3 id="orgd21f3b8">Script</h3>
<div class="outline-text-3" id="text-orgd21f3b8">
<div id="outline-container-org33c5284" class="outline-3">
<h3 id="org33c5284">Script</h3>
<div class="outline-text-3" id="text-org33c5284">
<div class="org-src-container">
<pre class="src src-bash"><span class="org-keyword">while</span> <span class="org-rainbow-delimiters-depth-1">[</span> -n <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> <span class="org-rainbow-delimiters-depth-1">]</span>; <span class="org-keyword">do</span> <span class="org-comment-delimiter"># </span><span class="org-comment">while loop starts</span>
<span class="org-keyword">case</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span><span class="org-keyword"> in</span>
@ -322,9 +328,9 @@ mbsync $<span class="org-variable-name">opt_all</span> $<span class="org-variabl
<h2 id="orgb4148ce"><code>syncmail</code> - Synchronize all mails</h2>
<div class="outline-text-2" id="text-orgb4148ce">
</div>
<div id="outline-container-orgd646b63" class="outline-3">
<h3 id="orgd646b63">Service</h3>
<div class="outline-text-3" id="text-orgd646b63">
<div id="outline-container-org71deedc" class="outline-3">
<h3 id="org71deedc">Service</h3>
<div class="outline-text-3" id="text-org71deedc">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">Unit</span>]
<span class="org-variable-name">Description</span>=Sync all mails
@ -339,9 +345,9 @@ mbsync $<span class="org-variable-name">opt_all</span> $<span class="org-variabl
</div>
</div>
<div id="outline-container-orga7b9728" class="outline-3">
<h3 id="orga7b9728">Timer</h3>
<div class="outline-text-3" id="text-orga7b9728">
<div id="outline-container-org70acd93" class="outline-3">
<h3 id="org70acd93">Timer</h3>
<div class="outline-text-3" id="text-org70acd93">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">Unit</span>]
<span class="org-variable-name">Description</span>=Sync All Mails every x hours
@ -370,9 +376,9 @@ mbsync $<span class="org-variable-name">opt_all</span> $<span class="org-variabl
<h2 id="org64a5ff5"><code>vdirsyncer</code> - Synchronize calendar and contacts</h2>
<div class="outline-text-2" id="text-org64a5ff5">
</div>
<div id="outline-container-org527e986" class="outline-3">
<h3 id="org527e986">Service</h3>
<div class="outline-text-3" id="text-org527e986">
<div id="outline-container-org636594d" class="outline-3">
<h3 id="org636594d">Service</h3>
<div class="outline-text-3" id="text-org636594d">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">Unit</span>]
<span class="org-variable-name">Description</span>=Synchronize calendars and contacts
@ -381,16 +387,16 @@ mbsync $<span class="org-variable-name">opt_all</span> $<span class="org-variabl
<span class="org-variable-name">After</span>=network-online.target
[<span class="org-type">Service</span>]
<span class="org-variable-name">ExecStart</span>=/usr/bin/vdirsyncer --verbosity <span class="org-string">"ERROR"</span> sync
<span class="org-variable-name">ExecStart</span>=/home/thomas/.local/bin/vdirsyncer --verbosity <span class="org-string">"ERROR"</span> sync
<span class="org-variable-name">Type</span>=oneshot
</pre>
</div>
</div>
</div>
<div id="outline-container-org057bbfb" class="outline-3">
<h3 id="org057bbfb">Timer</h3>
<div class="outline-text-3" id="text-org057bbfb">
<div id="outline-container-org263ab05" class="outline-3">
<h3 id="org263ab05">Timer</h3>
<div class="outline-text-3" id="text-org263ab05">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">Unit</span>]
<span class="org-variable-name">Description</span>=Synchronize vdirs
@ -412,9 +418,9 @@ mbsync $<span class="org-variable-name">opt_all</span> $<span class="org-variabl
<h2 id="orgea6990c"><code>ssh-agent</code> - SSH Agent</h2>
<div class="outline-text-2" id="text-orgea6990c">
</div>
<div id="outline-container-orgd52a406" class="outline-3">
<h3 id="orgd52a406">Service</h3>
<div class="outline-text-3" id="text-orgd52a406">
<div id="outline-container-org075df6f" class="outline-3">
<h3 id="org075df6f">Service</h3>
<div class="outline-text-3" id="text-org075df6f">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">Unit</span>]
<span class="org-variable-name">Description</span>=SSH key agent
@ -436,9 +442,9 @@ mbsync $<span class="org-variable-name">opt_all</span> $<span class="org-variabl
<h2 id="org6c316cc"><code>powertop</code> - Powertop</h2>
<div class="outline-text-2" id="text-org6c316cc">
</div>
<div id="outline-container-org8b3fdc8" class="outline-3">
<h3 id="org8b3fdc8">Service</h3>
<div class="outline-text-3" id="text-org8b3fdc8">
<div id="outline-container-orgf3e364a" class="outline-3">
<h3 id="orgf3e364a">Service</h3>
<div class="outline-text-3" id="text-orgf3e364a">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">Unit</span>]
<span class="org-variable-name">Description</span>=Powertop tunings
@ -460,9 +466,9 @@ mbsync $<span class="org-variable-name">opt_all</span> $<span class="org-variabl
<h2 id="org4072349"><code>emacs</code> - Emacs</h2>
<div class="outline-text-2" id="text-org4072349">
</div>
<div id="outline-container-org047c23f" class="outline-3">
<h3 id="org047c23f">Service</h3>
<div class="outline-text-3" id="text-org047c23f">
<div id="outline-container-orgec28af9" class="outline-3">
<h3 id="orgec28af9">Service</h3>
<div class="outline-text-3" id="text-orgec28af9">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">Unit</span>]
<span class="org-variable-name">Description</span>=Emacs text editor
@ -482,10 +488,50 @@ mbsync $<span class="org-variable-name">opt_all</span> $<span class="org-variabl
</div>
</div>
</div>
<div id="outline-container-org9dd1459" class="outline-2">
<h2 id="org9dd1459"><code>trash-empty</code> - Empty the trash for files older than 30 days</h2>
<div class="outline-text-2" id="text-org9dd1459">
</div>
<div id="outline-container-org3ab76b0" class="outline-3">
<h3 id="org3ab76b0">Service</h3>
<div class="outline-text-3" id="text-org3ab76b0">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">Unit</span>]
<span class="org-variable-name">Description</span>=Empty the trash for files older than <span class="org-highlight-numbers-number">30</span> days
<span class="org-variable-name">Documentation</span>=https://github.com/andreafrancia/trash-cli
[<span class="org-type">Service</span>]
<span class="org-variable-name">ExecStart</span>=/home/thomas/.local/bin/trash-empty <span class="org-highlight-numbers-number">30</span>
<span class="org-variable-name">Type</span>=oneshot
</pre>
</div>
</div>
</div>
<div id="outline-container-org79b900d" class="outline-3">
<h3 id="org79b900d">Timer</h3>
<div class="outline-text-3" id="text-org79b900d">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">Unit</span>]
<span class="org-variable-name">Description</span>=Empty trash
[<span class="org-type">Timer</span>]
<span class="org-variable-name">OnCalendar</span>=*-*-* <span class="org-highlight-numbers-number">16</span>:<span class="org-highlight-numbers-number">00</span>:<span class="org-highlight-numbers-number">00</span>
<span class="org-variable-name">Persistent</span>=true
<span class="org-variable-name">Unit</span>=trash-empty
[<span class="org-type">Install</span>]
<span class="org-variable-name">WantedBy</span>=timers.target
</pre>
</div>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-01-08 ven. 01:43</p>
<p class="date">Created: 2021-06-20 dim. 14:22</p>
</div>
</body>
</html>

View File

@ -1,165 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-04-25 dim. 19:10 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Termite Configuration</title>
<meta name="author" content="Dehaeze Thomas" />
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="./dist/style.css"/>
<script type="text/javascript" src="./dist/script.js"></script>
</head>
<body>
<div id="org-div-home-and-up">
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content">
<h1 class="title">Termite Configuration</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orga2a8aab">Options</a></li>
<li><a href="#orgd325539">Hints</a></li>
<li><a href="#org53904a0">Colors</a></li>
</ul>
</div>
</div>
<div id="outline-container-orga2a8aab" class="outline-2">
<h2 id="orga2a8aab">Options</h2>
<div class="outline-text-2" id="text-orga2a8aab">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">options</span>]
<span class="org-comment-delimiter">#</span><span class="org-comment">allow_bold = true</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">audible_bell = false</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">bold_is_bright = true</span>
<span class="org-variable-name">clickable_url</span> = true
<span class="org-comment-delimiter">#</span><span class="org-comment">dynamic_title = true</span>
<span class="org-variable-name">font</span> = Hack Nerd Font Mono 13px
<span class="org-comment-delimiter">#</span><span class="org-comment">fullscreen = true</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">icon_name = terminal</span>
<span class="org-variable-name">mouse_autohide</span> = true
<span class="org-comment-delimiter">#</span><span class="org-comment">scroll_on_output = false</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">scroll_on_keystroke = true</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Length of the scrollback buffer, 0 disabled the scrollback buffer</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">and setting it to a negative value means "infinite scrollback"</span>
<span class="org-variable-name">scrollback_lines</span> = -1
<span class="org-variable-name">search_wrap</span> = true
<span class="org-comment-delimiter">#</span><span class="org-comment">urgent_on_bell = true</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">hyperlinks = false</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">$BROWSER is used by default if set, with xdg-open as a fallback</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">browser = xdg-open</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Hide links that are no longer valid in url select overlay mode</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">filter_unmatched_urls = true</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Emit escape sequences for extra modified keys</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">modify_other_keys = false</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">set size hints for the window</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">size_hints = false</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">"off", "left" or "right"</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">scrollbar = off</span>
<span class="org-variable-name">highlight</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">2f2f2f</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgd325539" class="outline-2">
<h2 id="orgd325539">Hints</h2>
<div class="outline-text-2" id="text-orgd325539">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">hints</span>]
<span class="org-comment-delimiter">#</span><span class="org-comment">padding = 2</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">border = #3f3f3f</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">border_width = 0.5</span>
<span class="org-comment-delimiter">#</span><span class="org-comment">roundness = 2.0</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org53904a0" class="outline-2">
<h2 id="org53904a0">Colors</h2>
<div class="outline-text-2" id="text-org53904a0">
<div class="org-src-container">
<pre class="src src-conf">[<span class="org-type">colors</span>]
<span class="org-comment-delimiter"># </span><span class="org-comment">Base16 Gruvbox dark, soft</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Author: Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">fg2</span>
<span class="org-variable-name">foreground</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">d5c4a1</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">fg1</span>
<span class="org-variable-name">foreground_bold</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">ebdbb2</span>
<span class="org-variable-name">cursor</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">ebdbb2</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">bg0_s</span>
<span class="org-variable-name">cursor_foreground</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">32302f</span>
<span class="org-variable-name">background</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">32302f</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">16 color space</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">bg0_s</span>
<span class="org-variable-name">color0</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">32302f</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">bg3</span>
<span class="org-variable-name">color8</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">665c54</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">fb2</span>
<span class="org-variable-name">color7</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">d5c4a1</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">fg0</span>
<span class="org-variable-name">color15</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">fbf1c7</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Red</span>
<span class="org-variable-name">color1</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">fb4934</span>
<span class="org-variable-name">color9</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">fb4934</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Green</span>
<span class="org-variable-name">color2</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">b8bb26</span>
<span class="org-variable-name">color10</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">b8bb26</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Yellow</span>
<span class="org-variable-name">color3</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">fabd2f</span>
<span class="org-variable-name">color11</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">fabd2f</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Blue</span>
<span class="org-variable-name">color4</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">83a598</span>
<span class="org-variable-name">color12</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">83a598</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Purple</span>
<span class="org-variable-name">color5</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">d3869b</span>
<span class="org-variable-name">color13</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">d3869b</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Teal</span>
<span class="org-variable-name">color6</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">8ec07c</span>
<span class="org-variable-name">color14</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">8ec07c</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Extra colors</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">orange</span>
<span class="org-variable-name">color16</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">fe8019</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">orange</span>
<span class="org-variable-name">color17</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">d65d0e</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">bg1</span>
<span class="org-variable-name">color18</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">3c3836</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">bg2</span>
<span class="org-variable-name">color19</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">504945</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">fg3</span>
<span class="org-variable-name">color20</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">bdae93</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">fg</span>
<span class="org-variable-name">color21</span> = <span class="org-comment-delimiter">#</span><span class="org-comment">ebdbb2</span>
</pre>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-04-25 dim. 19:10</p>
</div>
</body>
</html>

View File

@ -3,11 +3,11 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-01-08 ven. 01:43 -->
<!-- 2021-10-25 lun. 14:33 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>MPV Configuration</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Dehaeze Thomas" />
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="./dist/style.css"/>
<script type="text/javascript" src="./dist/script.js"></script>
</head>
@ -16,11 +16,11 @@
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content">
</div><div id="content" class="content">
<h1 class="title">MPV Configuration</h1>
<div id="table-of-contents">
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#org06a0ee3"><code>mpv.conf</code> - MPV Configuration</a></li>
<li><a href="#org9b7ebc9"><code>input.conf</code> - MPV Key Bindings</a></li>
@ -52,6 +52,8 @@
<span class="org-comment-delimiter"># </span><span class="org-comment">Do not close mpv at the end of video</span>
<span class="org-variable-name">keep-open</span>=yes
<span class="org-variable-name">script-opts</span>=ytdl_hook-ytdl_path=/usr/bin/yt-dlp
</pre>
</div>
</div>
@ -267,7 +269,7 @@ Z add sub-delay +0.1 <span class="org-comment-delimiter"># </s
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-01-08 ven. 01:43</p>
<p class="date">Created: 2021-10-25 lun. 14:33</p>
</div>
</body>
</html>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-04-25 dim. 19:10 -->
<!-- 2021-10-25 lun. 14:33 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Vim Config</title>
<meta name="author" content="Dehaeze Thomas" />
@ -16,11 +16,11 @@
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content">
</div><div id="content" class="content">
<h1 class="title">Vim Config</h1>
<div id="table-of-contents">
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#orge318481">Plugins Install</a>
<ul>
@ -40,8 +40,8 @@
<li><a href="#org05222b1">Tmux</a></li>
<li><a href="#orgfc62c14">Syntax</a></li>
<li><a href="#org4fbd147">Markdown</a></li>
<li><a href="#org0ead904">LaTeX</a></li>
<li><a href="#org06a6278">Matlab</a></li>
<li><a href="#org18ac8fe">LaTeX</a></li>
<li><a href="#orgea260b6">Matlab</a></li>
<li><a href="#orgcceec60">Org Mode</a></li>
<li><a href="#org251d57e">Plug End</a></li>
</ul>
@ -74,42 +74,42 @@
</li>
<li><a href="#orgbf12520">Filetypes</a>
<ul>
<li><a href="#orge74ae73">Vim Which Key</a></li>
<li><a href="#org135a723">Vim Which Key</a></li>
<li><a href="#org849b459">Mails</a></li>
<li><a href="#org42e1db0">MarkDown</a></li>
<li><a href="#org18ac8fe">LaTeX</a></li>
<li><a href="#orgc5ce266">LaTeX</a></li>
<li><a href="#org4bc3f4d">Arduino</a></li>
<li><a href="#org9ce420d">Python</a></li>
<li><a href="#orgea260b6">Matlab</a></li>
<li><a href="#org0ac7dbc">Save Which Key Configuration</a></li>
<li><a href="#org975017c">Matlab</a></li>
<li><a href="#orgf9610f4">Save Which Key Configuration</a></li>
</ul>
</li>
<li><a href="#org5ea2f36">Plugins Config</a>
<ul>
<li><a href="#orgb5e86db">junegunn/fzf</a></li>
<li><a href="#org63fd7d8">autozimu/LanguageClient-neovim</a></li>
<li><a href="#org25fa39c">JamshedVesuna/vim-markdown-preview</a></li>
<li><a href="#orge00dc6f">mhinz/vim-signify</a></li>
<li><a href="#org63386bc">Deoplete</a></li>
<li><a href="#orga9a5852">SirVer/ultisnips</a></li>
<li><a href="#orga1fd137">honza/vim-snippets</a></li>
<li><a href="#org3fd4af9">itchyny/lightline.vim</a></li>
<li><a href="#orga89494b">Autopairs</a></li>
<li><a href="#orgd049e76">Yggdroot/indentLine</a></li>
<li><a href="#org9475dd3">ryanoasis/vim-devicons</a></li>
<li><a href="#org3776a9d">junegunn/goyo.vim</a></li>
<li><a href="#orgc1ea9c9">tpope/vim-surround</a></li>
<li><a href="#org7cc5f39">Vim-Markdown</a></li>
<li><a href="#org2fde55c">Neomake</a></li>
<li><a href="#orgf6f402a">lervag/vimtex</a></li>
<li><a href="#org53ca775">jpalardy/vim-slime</a></li>
<li><a href="#org4c92519">mhinz/vim-grepper</a></li>
<li><a href="#org2436daa"><code>junegunn/fzf</code></a></li>
<li><a href="#org633de78"><code>autozimu/LanguageClient-neovim</code></a></li>
<li><a href="#org530c33b"><code>JamshedVesuna/vim-markdown-preview</code></a></li>
<li><a href="#orgf435b47"><code>mhinz/vim-signify</code></a></li>
<li><a href="#org96e8776"><code>Deoplete</code></a></li>
<li><a href="#orgacfd5d8"><code>SirVer/ultisnips</code></a></li>
<li><a href="#org792637b"><code>honza/vim-snippets</code></a></li>
<li><a href="#org8bc27ac"><code>itchyny/lightline.vim</code></a></li>
<li><a href="#orgeeb846d"><code>Autopairs</code></a></li>
<li><a href="#orgec97ba8"><code>Yggdroot/indentLine</code></a></li>
<li><a href="#orgb950c54"><code>ryanoasis/vim-devicons</code></a></li>
<li><a href="#org58545fe"><code>junegunn/goyo.vim</code></a></li>
<li><a href="#orgc2ae68e"><code>tpope/vim-surround</code></a></li>
<li><a href="#org48c6403"><code>Vim-Markdown</code></a></li>
<li><a href="#org6e96121"><code>Neomake</code></a></li>
<li><a href="#org52ec1d5"><code>lervag/vimtex</code></a></li>
<li><a href="#org9b37457"><code>jpalardy/vim-slime</code></a></li>
<li><a href="#orga920649"><code>mhinz/vim-grepper</code></a></li>
<li><a href="#orgc009d1c">Editor config</a></li>
</ul>
</li>
<li><a href="#org492ddcb">Bindings</a>
<ul>
<li><a href="#org135a723">Vim Which Key</a></li>
<li><a href="#org804ac1a">Vim Which Key</a></li>
<li><a href="#org0df6a36">Direct ones</a></li>
<li><a href="#orgdfeb9c4">Quit</a></li>
<li><a href="#org8bb23f5">Files</a></li>
@ -125,7 +125,7 @@
<li><a href="#orge197646">Text</a></li>
<li><a href="#orgb596c67">Config</a></li>
<li><a href="#orgeb5450c">Insert</a></li>
<li><a href="#orgf9610f4">Save Which Key Configuration</a></li>
<li><a href="#orgf40e93e">Save Which Key Configuration</a></li>
</ul>
</li>
</ul>
@ -341,9 +341,9 @@ Plug <span class="org-string">'nelstrom/vim-markdown-folding'</span>
</div>
</div>
<div id="outline-container-org0ead904" class="outline-3">
<h3 id="org0ead904">LaTeX</h3>
<div class="outline-text-3" id="text-org0ead904">
<div id="outline-container-org18ac8fe" class="outline-3">
<h3 id="org18ac8fe">LaTeX</h3>
<div class="outline-text-3" id="text-org18ac8fe">
<div class="org-src-container">
<pre class="src src-vimrc">Plug <span class="org-string">'lervag/vimtex'</span>, { <span class="org-string">'for'</span>: <span class="org-string">'tex'</span> } <span class="org-comment">" A modern vim plugin for editing LaTeX files.</span>
</pre>
@ -351,9 +351,9 @@ Plug <span class="org-string">'nelstrom/vim-markdown-folding'</span>
</div>
</div>
<div id="outline-container-org06a6278" class="outline-3">
<h3 id="org06a6278">Matlab</h3>
<div class="outline-text-3" id="text-org06a6278">
<div id="outline-container-orgea260b6" class="outline-3">
<h3 id="orgea260b6">Matlab</h3>
<div class="outline-text-3" id="text-orgea260b6">
<div class="org-src-container">
<pre class="src src-vimrc">Plug <span class="org-string">'tdehaeze/matlab-vim'</span>, { <span class="org-string">'for'</span>: <span class="org-string">'matlab'</span> } <span class="org-comment">" Edit Matlab M-files in Vim editor</span>
Plug <span class="org-string">'djoshea/vim-matlab-fold'</span>, { <span class="org-string">'for'</span>: <span class="org-string">'matlab'</span> } <span class="org-comment">" Vim code folding for Matlab files</span>
@ -866,7 +866,7 @@ Taken from: <a href="https://vi.stackexchange.com/questions/68/autocorrect-spell
</p>
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-comment">" Go back to last misspelled word and pick first suggestion.</span>
<span class="org-vimrc-command">inoremap</span> <span class="org-constant">&lt;</span>C<span class="org-constant">-</span>L<span class="org-constant">&gt;</span> <span class="org-constant">&lt;</span>C<span class="org-constant">-</span>G<span class="org-constant">&gt;</span>u<span class="org-constant">&lt;</span>Esc<span class="org-constant">&gt;</span>[s1z<span class="org-constant">=</span>`]a<span class="org-constant">&lt;</span>C<span class="org-constant">-</span>G<span class="org-constant">&gt;</span>u
<span class="org-vimrc-command">inoremap</span> <span class="org-constant">&lt;</span>C<span class="org-constant">-</span>L<span class="org-constant">&gt;</span> <span class="org-constant">&lt;</span><span class="org-vimrc-command">c</span><span class="org-constant">-</span>g<span class="org-constant">&gt;</span>u<span class="org-constant">&lt;</span>Esc<span class="org-constant">&gt;</span>[s1z<span class="org-constant">=</span>`]a<span class="org-constant">&lt;</span><span class="org-vimrc-command">c</span><span class="org-constant">-</span>g<span class="org-constant">&gt;</span>u
<span class="org-comment">" Select last misspelled word (typing will edit).</span>
<span class="org-vimrc-command">nnoremap</span> <span class="org-constant">&lt;</span>C<span class="org-constant">-</span>K<span class="org-constant">&gt;</span> <span class="org-constant">&lt;</span>Esc<span class="org-constant">&gt;</span>[sve<span class="org-constant">&lt;</span>C<span class="org-constant">-</span>G<span class="org-constant">&gt;</span>
@ -882,9 +882,9 @@ Taken from: <a href="https://vi.stackexchange.com/questions/68/autocorrect-spell
<h2 id="orgbf12520">Filetypes</h2>
<div class="outline-text-2" id="text-orgbf12520">
</div>
<div id="outline-container-orge74ae73" class="outline-3">
<h3 id="orge74ae73">Vim Which Key</h3>
<div class="outline-text-3" id="text-orge74ae73">
<div id="outline-container-org135a723" class="outline-3">
<h3 id="org135a723">Vim Which Key</h3>
<div class="outline-text-3" id="text-org135a723">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-vimrc-command">nnoremap</span> <span class="org-constant">&lt;</span><span class="org-vimrc-command">silent</span><span class="org-constant">&gt;</span> <span class="org-constant">&lt;</span>leader<span class="org-constant">&gt;</span> :WhichKey <span class="org-string">'&lt;Space&gt;'</span><span class="org-constant">&lt;</span><span class="org-vimrc-command">cr</span><span class="org-constant">&gt;</span>
@ -900,6 +900,36 @@ Taken from: <a href="https://vi.stackexchange.com/questions/68/autocorrect-spell
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-vimrc-command">autocmd</span> FileType mail <span class="org-vimrc-command">set</span> <span class="org-vimrc-option">spell</span> <span class="org-vimrc-option">spelllang</span><span class="org-constant">=</span>en_us,fr
<span class="org-vimrc-command">autocmd</span> FileType mail <span class="org-vimrc-command">set</span> <span class="org-vimrc-option">textwidth</span><span class="org-constant">=</span><span class="org-vimrc-number">0</span>
<span class="org-vimrc-command">function</span><span class="org-constant">!</span> <span class="org-function-name">Mailcomplete</span>(findstart, base)
<span class="org-vimrc-command">if</span> <span class="org-variable-name">a:findstart</span> <span class="org-constant">==</span> <span class="org-highlight-numbers-number">1</span>
<span class="org-vimrc-command">let</span> <span class="org-variable-name">line</span> <span class="org-constant">=</span> <span class="org-function-name">getline</span>(<span class="org-string">'.'</span>)
<span class="org-vimrc-command">let</span> <span class="org-variable-name">idx</span> <span class="org-constant">=</span> <span class="org-function-name">col</span>(<span class="org-string">'.'</span>)
<span class="org-vimrc-command">while</span> idx <span class="org-constant">&gt;</span> <span class="org-highlight-numbers-number">0</span>
<span class="org-vimrc-command">let</span> <span class="org-variable-name">idx</span> <span class="org-constant">-=</span> <span class="org-highlight-numbers-number">1</span>
<span class="org-vimrc-command">let</span> <span class="org-variable-name">c</span> <span class="org-constant">=</span> line[idx]
<span class="org-vimrc-command">if</span> c <span class="org-constant">==</span> <span class="org-string">':'</span> <span class="org-constant">||</span> <span class="org-vimrc-command">c</span> <span class="org-constant">==</span> <span class="org-string">'&gt;'</span>
<span class="org-vimrc-command">return</span> idx <span class="org-constant">+</span> <span class="org-highlight-numbers-number">2</span>
<span class="org-vimrc-command">else</span>
<span class="org-vimrc-command">continue</span>
<span class="org-vimrc-command">endif</span>
<span class="org-vimrc-command">endwhile</span>
<span class="org-vimrc-command">return</span> idx
<span class="org-vimrc-command">else</span>
<span class="org-vimrc-command">return</span> <span class="org-function-name">split</span>(<span class="org-function-name">system</span>(<span class="org-string">'~/.local/scripts/find-config.sh '</span> <span class="org-constant">.</span> <span class="org-variable-name">a:base</span>), <span class="org-string">'\n'</span>)
<span class="org-vimrc-command">endif</span>
<span class="org-vimrc-command">endfunction</span>
<span class="org-vimrc-command">setl</span> <span class="org-vimrc-option">omnifunc</span><span class="org-constant">=</span>Mailcomplete
</pre>
</div>
<div class="org-src-container">
<pre class="src src-bash"><span class="org-variable-name">search</span>=<span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">@</span></span><span class="org-string">"</span>
<span class="org-variable-name">contacts</span>=<span class="org-sh-quoted-exec">`mu cfind "$search"`</span>
<span class="org-variable-name">emails</span>=<span class="org-sh-quoted-exec">`</span><span class="org-type"><span class="org-sh-quoted-exec">echo</span></span><span class="org-sh-quoted-exec"> "$contacts" | awk -F' ' '{print "&lt;" $NF "&gt;"}'`</span>
<span class="org-variable-name">names</span>=<span class="org-sh-quoted-exec">`</span><span class="org-type"><span class="org-sh-quoted-exec">echo</span></span><span class="org-sh-quoted-exec"> "$contacts" | awk -F' ' '{$NF=""; print $0}'`</span>
paste -d <span class="org-string">""</span> &lt;<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-builtin">printf</span> %s <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">names</span></span><span class="org-string">"</span><span class="org-rainbow-delimiters-depth-1">)</span> &lt;<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-builtin">printf</span> %s <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">emails</span></span><span class="org-string">"</span><span class="org-rainbow-delimiters-depth-1">)</span>
</pre>
</div>
</div>
@ -916,9 +946,9 @@ Taken from: <a href="https://vi.stackexchange.com/questions/68/autocorrect-spell
</div>
</div>
<div id="outline-container-org18ac8fe" class="outline-3">
<h3 id="org18ac8fe">LaTeX</h3>
<div class="outline-text-3" id="text-org18ac8fe">
<div id="outline-container-orgc5ce266" class="outline-3">
<h3 id="orgc5ce266">LaTeX</h3>
<div class="outline-text-3" id="text-orgc5ce266">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-vimrc-command">au</span> BufRead,BufNewFile *<span class="org-constant">.</span>tikz <span class="org-vimrc-command">set</span> <span class="org-vimrc-option">filetype</span><span class="org-constant">=</span>tex
<span class="org-vimrc-command">let</span> <span class="org-variable-name">tex_no_error</span><span class="org-constant">=</span><span class="org-vimrc-number">1</span> <span class="org-comment">" used to not highlight underscores</span>
@ -1003,9 +1033,9 @@ Taken from: <a href="https://vi.stackexchange.com/questions/68/autocorrect-spell
</div>
</div>
<div id="outline-container-orgea260b6" class="outline-3">
<h3 id="orgea260b6">Matlab</h3>
<div class="outline-text-3" id="text-orgea260b6">
<div id="outline-container-org975017c" class="outline-3">
<h3 id="org975017c">Matlab</h3>
<div class="outline-text-3" id="text-org975017c">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-comment">" Run Section (delimited by %%)</span>
<span class="org-vimrc-command">au</span> FileType matlab <span class="org-vimrc-command">nmap</span> <span class="org-constant">&lt;</span><span class="org-vimrc-command">buffer</span><span class="org-constant">&gt;</span> <span class="org-constant">&lt;</span>localleader<span class="org-constant">&gt;</span><span class="org-vimrc-option">mm</span> <span class="org-constant">&lt;</span>Plug<span class="org-constant">&gt;</span>SlimeParagraphSend
@ -1050,9 +1080,9 @@ endfunc
</div>
</div>
<div id="outline-container-org0ac7dbc" class="outline-3">
<h3 id="org0ac7dbc">Save Which Key Configuration</h3>
<div class="outline-text-3" id="text-org0ac7dbc">
<div id="outline-container-orgf9610f4" class="outline-3">
<h3 id="orgf9610f4">Save Which Key Configuration</h3>
<div class="outline-text-3" id="text-orgf9610f4">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-vimrc-command">call</span> which_key#<span class="org-function-name">register</span>(<span class="org-string">'&lt;Space&gt;'</span>, <span class="org-comment">"g:which_key_map")</span>
</pre>
@ -1065,9 +1095,9 @@ endfunc
<h2 id="org5ea2f36">Plugins Config</h2>
<div class="outline-text-2" id="text-org5ea2f36">
</div>
<div id="outline-container-orgb5e86db" class="outline-3">
<h3 id="orgb5e86db">junegunn/fzf</h3>
<div class="outline-text-3" id="text-orgb5e86db">
<div id="outline-container-org2436daa" class="outline-3">
<h3 id="org2436daa"><code>junegunn/fzf</code></h3>
<div class="outline-text-3" id="text-org2436daa">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-comment">" This is the default extra key bindings</span>
<span class="org-vimrc-command">let</span> <span class="org-variable-name">g:fzf_action</span> <span class="org-constant">=</span> {
@ -1105,9 +1135,9 @@ endfunc
</div>
</div>
<div id="outline-container-org63fd7d8" class="outline-3">
<h3 id="org63fd7d8">autozimu/LanguageClient-neovim</h3>
<div class="outline-text-3" id="text-org63fd7d8">
<div id="outline-container-org633de78" class="outline-3">
<h3 id="org633de78"><code>autozimu/LanguageClient-neovim</code></h3>
<div class="outline-text-3" id="text-org633de78">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-vimrc-command">let</span> <span class="org-variable-name">g:LanguageClient_serverCommands</span> <span class="org-constant">=</span> {
\ <span class="org-string">'matlab'</span>: [<span class="org-string">'java'</span>, <span class="org-string">' -Djava.library.path=$MATLABROOT/bin/glnxa64 -cp $MATLABROOT/extern/engines/java/jar/engine.jar:$MATLABROOT/java/jar/jmi.jar:/home/thomas/github/matlab-langserver/build/libs/lsp-matlab-0.1.jar org.tokor.lspmatlab.Application'</span>],
@ -1123,9 +1153,9 @@ endfunc
</div>
</div>
<div id="outline-container-org25fa39c" class="outline-3">
<h3 id="org25fa39c">JamshedVesuna/vim-markdown-preview</h3>
<div class="outline-text-3" id="text-org25fa39c">
<div id="outline-container-org530c33b" class="outline-3">
<h3 id="org530c33b"><code>JamshedVesuna/vim-markdown-preview</code></h3>
<div class="outline-text-3" id="text-org530c33b">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-vimrc-command">let</span> <span class="org-variable-name">vim_markdown_preview_github</span><span class="org-constant">=</span><span class="org-vimrc-number">1</span>
<span class="org-vimrc-command">let</span> <span class="org-variable-name">vim_markdown_preview_browser</span><span class="org-constant">=</span><span class="org-string">'Google Chrome'</span>
@ -1136,9 +1166,9 @@ endfunc
</div>
</div>
<div id="outline-container-orge00dc6f" class="outline-3">
<h3 id="orge00dc6f">mhinz/vim-signify</h3>
<div class="outline-text-3" id="text-orge00dc6f">
<div id="outline-container-orgf435b47" class="outline-3">
<h3 id="orgf435b47"><code>mhinz/vim-signify</code></h3>
<div class="outline-text-3" id="text-orgf435b47">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-vimrc-command">let</span> <span class="org-variable-name">g:signify_vcs_list</span> <span class="org-constant">=</span> [<span class="org-string">'git'</span>]
@ -1148,9 +1178,9 @@ endfunc
</div>
</div>
<div id="outline-container-org63386bc" class="outline-3">
<h3 id="org63386bc">Deoplete</h3>
<div class="outline-text-3" id="text-org63386bc">
<div id="outline-container-org96e8776" class="outline-3">
<h3 id="org96e8776"><code>Deoplete</code></h3>
<div class="outline-text-3" id="text-org96e8776">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-vimrc-command">let</span> <span class="org-variable-name">g:deoplete#enable_at_startup</span> <span class="org-constant">=</span> <span class="org-highlight-numbers-number">1</span>
@ -1164,9 +1194,9 @@ endfunc
</div>
</div>
<div id="outline-container-orga9a5852" class="outline-3">
<h3 id="orga9a5852">SirVer/ultisnips</h3>
<div class="outline-text-3" id="text-orga9a5852">
<div id="outline-container-orgacfd5d8" class="outline-3">
<h3 id="orgacfd5d8"><code>SirVer/ultisnips</code></h3>
<div class="outline-text-3" id="text-orgacfd5d8">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-vimrc-command">let</span> <span class="org-variable-name">g:UltiSnipsSnippetsDir</span> <span class="org-constant">=</span> <span class="org-string">'~/.vim/UltiSnip'</span>
@ -1179,9 +1209,9 @@ endfunc
</div>
</div>
<div id="outline-container-orga1fd137" class="outline-3">
<h3 id="orga1fd137">honza/vim-snippets</h3>
<div class="outline-text-3" id="text-orga1fd137">
<div id="outline-container-org792637b" class="outline-3">
<h3 id="org792637b"><code>honza/vim-snippets</code></h3>
<div class="outline-text-3" id="text-org792637b">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-vimrc-command">let</span> <span class="org-variable-name">g:snipMate</span> <span class="org-constant">=</span> {}
<span class="org-vimrc-command">let</span> <span class="org-variable-name">g:snipMate</span><span class="org-constant">.</span>scope_aliases <span class="org-constant">=</span> {}
@ -1190,9 +1220,9 @@ endfunc
</div>
</div>
<div id="outline-container-org3fd4af9" class="outline-3">
<h3 id="org3fd4af9">itchyny/lightline.vim</h3>
<div class="outline-text-3" id="text-org3fd4af9">
<div id="outline-container-org8bc27ac" class="outline-3">
<h3 id="org8bc27ac"><code>itchyny/lightline.vim</code></h3>
<div class="outline-text-3" id="text-org8bc27ac">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-vimrc-command">function</span><span class="org-constant">!</span> <span class="org-function-name">LightlineObsession</span>()
<span class="org-vimrc-command">return</span> <span class="org-string">'%{ObsessionStatus("&#61639;")}'</span>
@ -1222,9 +1252,9 @@ endfunc
</div>
</div>
<div id="outline-container-orga89494b" class="outline-3">
<h3 id="orga89494b">Autopairs</h3>
<div class="outline-text-3" id="text-orga89494b">
<div id="outline-container-orgeeb846d" class="outline-3">
<h3 id="orgeeb846d"><code>Autopairs</code></h3>
<div class="outline-text-3" id="text-orgeeb846d">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-comment">" Incompatibilit&#233; entre auto-pairs et clang-complete</span>
<span class="org-vimrc-command">let</span> <span class="org-variable-name">g:AutoPairsMapCR</span> <span class="org-constant">=</span> <span class="org-highlight-numbers-number">0</span>
@ -1234,9 +1264,9 @@ endfunc
</div>
</div>
<div id="outline-container-orgd049e76" class="outline-3">
<h3 id="orgd049e76">Yggdroot/indentLine</h3>
<div class="outline-text-3" id="text-orgd049e76">
<div id="outline-container-orgec97ba8" class="outline-3">
<h3 id="orgec97ba8"><code>Yggdroot/indentLine</code></h3>
<div class="outline-text-3" id="text-orgec97ba8">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-comment">" :IndentLinesToggle toggles lines on and off.</span>
<span class="org-vimrc-command">let</span> <span class="org-variable-name">g:indentLine_color_term</span> <span class="org-constant">=</span> <span class="org-highlight-numbers-number">239</span>
@ -1245,9 +1275,9 @@ endfunc
</div>
</div>
<div id="outline-container-org9475dd3" class="outline-3">
<h3 id="org9475dd3">ryanoasis/vim-devicons</h3>
<div class="outline-text-3" id="text-org9475dd3">
<div id="outline-container-orgb950c54" class="outline-3">
<h3 id="orgb950c54"><code>ryanoasis/vim-devicons</code></h3>
<div class="outline-text-3" id="text-orgb950c54">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-vimrc-command">let</span> <span class="org-variable-name">g:webdevicons_enable_ctrlp</span> <span class="org-constant">=</span> <span class="org-highlight-numbers-number">1</span>
</pre>
@ -1255,9 +1285,9 @@ endfunc
</div>
</div>
<div id="outline-container-org3776a9d" class="outline-3">
<h3 id="org3776a9d">junegunn/goyo.vim</h3>
<div class="outline-text-3" id="text-org3776a9d">
<div id="outline-container-org58545fe" class="outline-3">
<h3 id="org58545fe"><code>junegunn/goyo.vim</code></h3>
<div class="outline-text-3" id="text-org58545fe">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-vimrc-command">let</span> <span class="org-variable-name">g:goyo_width</span><span class="org-constant">=</span><span class="org-vimrc-number">100</span>
<span class="org-vimrc-command">let</span> <span class="org-variable-name">g:goyo_margin_top</span> <span class="org-constant">=</span> <span class="org-highlight-numbers-number">2</span>
@ -1302,9 +1332,9 @@ Quit Vim if this is the only remaining buffer
</div>
</div>
<div id="outline-container-orgc1ea9c9" class="outline-3">
<h3 id="orgc1ea9c9">tpope/vim-surround</h3>
<div class="outline-text-3" id="text-orgc1ea9c9">
<div id="outline-container-orgc2ae68e" class="outline-3">
<h3 id="orgc2ae68e"><code>tpope/vim-surround</code></h3>
<div class="outline-text-3" id="text-orgc2ae68e">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-vimrc-command">vmap</span> Si <span class="org-function-name">S</span>(i_<span class="org-constant">&lt;</span>esc<span class="org-constant">&gt;</span><span class="org-vimrc-command">f</span>)
<span class="org-vimrc-command">au</span> FileType mako <span class="org-vimrc-command">vmap</span> Si S<span class="org-comment">"i${ _(&lt;esc&gt;2f"a) }&lt;esc&gt;</span>
@ -1315,9 +1345,9 @@ Quit Vim if this is the only remaining buffer
</div>
</div>
<div id="outline-container-org7cc5f39" class="outline-3">
<h3 id="org7cc5f39">Vim-Markdown</h3>
<div class="outline-text-3" id="text-org7cc5f39">
<div id="outline-container-org48c6403" class="outline-3">
<h3 id="org48c6403"><code>Vim-Markdown</code></h3>
<div class="outline-text-3" id="text-org48c6403">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-vimrc-command">let</span> <span class="org-variable-name">g:vim_markdown_folding_disabled</span> <span class="org-constant">=</span> <span class="org-highlight-numbers-number">1</span>
<span class="org-vimrc-command">let</span> <span class="org-variable-name">g:vim_markdown_conceal</span> <span class="org-constant">=</span> <span class="org-highlight-numbers-number">0</span>
@ -1330,9 +1360,9 @@ Quit Vim if this is the only remaining buffer
</div>
</div>
<div id="outline-container-org2fde55c" class="outline-3">
<h3 id="org2fde55c">Neomake</h3>
<div class="outline-text-3" id="text-org2fde55c">
<div id="outline-container-org6e96121" class="outline-3">
<h3 id="org6e96121"><code>Neomake</code></h3>
<div class="outline-text-3" id="text-org6e96121">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-comment">" Latex</span>
<span class="org-vimrc-command">autocmd</span><span class="org-constant">!</span> BufWritePost *<span class="org-constant">.</span>tex Neomake
@ -1364,9 +1394,9 @@ Quit Vim if this is the only remaining buffer
</div>
</div>
<div id="outline-container-orgf6f402a" class="outline-3">
<h3 id="orgf6f402a">lervag/vimtex</h3>
<div class="outline-text-3" id="text-orgf6f402a">
<div id="outline-container-org52ec1d5" class="outline-3">
<h3 id="org52ec1d5"><code>lervag/vimtex</code></h3>
<div class="outline-text-3" id="text-org52ec1d5">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-comment">" let g:tex_conceal=""</span>
<span class="org-comment">" autocmd FileType tex let b:vimtex_main = 'main.tex'</span>
@ -1376,9 +1406,9 @@ Quit Vim if this is the only remaining buffer
</div>
</div>
<div id="outline-container-org53ca775" class="outline-3">
<h3 id="org53ca775">jpalardy/vim-slime</h3>
<div class="outline-text-3" id="text-org53ca775">
<div id="outline-container-org9b37457" class="outline-3">
<h3 id="org9b37457"><code>jpalardy/vim-slime</code></h3>
<div class="outline-text-3" id="text-org9b37457">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-vimrc-command">if</span> <span class="org-function-name">exists</span>(<span class="org-string">'$TMUX'</span>)
<span class="org-vimrc-command">let</span> <span class="org-variable-name">g:slime_target</span> <span class="org-constant">=</span> <span class="org-comment">"tmux"</span>
@ -1390,9 +1420,9 @@ Quit Vim if this is the only remaining buffer
</div>
</div>
<div id="outline-container-org4c92519" class="outline-3">
<h3 id="org4c92519">mhinz/vim-grepper</h3>
<div class="outline-text-3" id="text-org4c92519">
<div id="outline-container-orga920649" class="outline-3">
<h3 id="orga920649"><code>mhinz/vim-grepper</code></h3>
<div class="outline-text-3" id="text-orga920649">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-comment">" nnoremap &lt;leader&gt;G :Grepper -tool ag&lt;cr&gt;</span>
<span class="org-comment">" nmap gs &lt;plug&gt;(GrepperOperator)</span>
@ -1418,9 +1448,9 @@ Quit Vim if this is the only remaining buffer
<h2 id="org492ddcb">Bindings</h2>
<div class="outline-text-2" id="text-org492ddcb">
</div>
<div id="outline-container-org135a723" class="outline-3">
<h3 id="org135a723">Vim Which Key</h3>
<div class="outline-text-3" id="text-org135a723">
<div id="outline-container-org804ac1a" class="outline-3">
<h3 id="org804ac1a">Vim Which Key</h3>
<div class="outline-text-3" id="text-org804ac1a">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-vimrc-command">nnoremap</span> <span class="org-constant">&lt;</span><span class="org-vimrc-command">silent</span><span class="org-constant">&gt;</span> <span class="org-constant">&lt;</span>leader<span class="org-constant">&gt;</span> :WhichKey <span class="org-string">'&lt;Space&gt;'</span><span class="org-constant">&lt;</span><span class="org-vimrc-command">cr</span><span class="org-constant">&gt;</span>
@ -2013,9 +2043,9 @@ endfun
</div>
</div>
<div id="outline-container-orgf9610f4" class="outline-3">
<h3 id="orgf9610f4">Save Which Key Configuration</h3>
<div class="outline-text-3" id="text-orgf9610f4">
<div id="outline-container-orgf40e93e" class="outline-3">
<h3 id="orgf40e93e">Save Which Key Configuration</h3>
<div class="outline-text-3" id="text-orgf40e93e">
<div class="org-src-container">
<pre class="src src-vimrc"><span class="org-vimrc-command">call</span> which_key#<span class="org-function-name">register</span>(<span class="org-string">'&lt;Space&gt;'</span>, <span class="org-comment">"g:which_key_map")</span>
</pre>
@ -2026,7 +2056,7 @@ endfun
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-04-25 dim. 19:10</p>
<p class="date">Created: 2021-10-25 lun. 14:33</p>
</div>
</body>
</html>

View File

@ -3,11 +3,11 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-01-08 ven. 01:43 -->
<!-- 2021-10-25 lun. 14:33 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Windows Config and Install</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Dehaeze Thomas" />
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="./dist/style.css"/>
<script type="text/javascript" src="./dist/script.js"></script>
</head>
@ -16,20 +16,20 @@
<a accesskey="h" href="./index.html"> UP </a>
|
<a accesskey="H" href="./index.html"> HOME </a>
</div><div id="content">
</div><div id="content" class="content">
<h1 class="title">Windows Config and Install</h1>
<div id="table-of-contents">
<div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#org9346dc9">Create a bootable USB Key</a></li>
<li><a href="#org0143940">Install Windows10 PRO</a></li>
<li><a href="#org0cc05f7">Install Software using Chocolatey</a></li>
<li><a href="#org0a94edb">Debloat windows10</a></li>
<li><a href="#org432cd75">SSHFS</a>
<li><a href="#org9192414">SSHFS</a>
<ul>
<li><a href="#org46e6091">SSH Setup</a></li>
<li><a href="#orgb2e9259">SSHFS</a></li>
<li><a href="#org432cd75">SSHFS</a></li>
</ul>
</li>
<li><a href="#orgb8446e0">Software Setup</a>
@ -103,9 +103,9 @@ Run a PowerShell with administrative rights and run:
</div>
</div>
<div id="outline-container-org432cd75" class="outline-2">
<h2 id="org432cd75">SSHFS</h2>
<div class="outline-text-2" id="text-org432cd75">
<div id="outline-container-org9192414" class="outline-2">
<h2 id="org9192414">SSHFS</h2>
<div class="outline-text-2" id="text-org9192414">
</div>
<div id="outline-container-org46e6091" class="outline-3">
<h3 id="org46e6091">SSH Setup</h3>
@ -159,9 +159,9 @@ Finally, it should be possible to ssh to the server.
</div>
</div>
<div id="outline-container-orgb2e9259" class="outline-3">
<h3 id="orgb2e9259">SSHFS</h3>
<div class="outline-text-3" id="text-orgb2e9259">
<div id="outline-container-org432cd75" class="outline-3">
<h3 id="org432cd75">SSHFS</h3>
<div class="outline-text-3" id="text-org432cd75">
<p>
Install <a href="https://github.com/billziss-gh/sshfs-win">sshfs-win</a>.
</p>
@ -178,7 +178,7 @@ Run the <code>Registry Editor</code>, and find <code>Computer\HKEY_LOCAL_MACHINE
Then, to mount the network drive using <code>sshfs</code>:
</p>
<div class="org-src-container">
<pre class="src src-bash">net use X: <span class="org-string">\\</span>sshfs.kr\thomas@192.168.1.150\srv\storage /persistent:yes
<pre class="src src-bash">net use X: <span class="org-string">\\</span>sshfs.kr\thomas@192.168.1.21\srv\storage /persistent:yes
</pre>
</div>
@ -226,7 +226,7 @@ Then, Syncthing can be accessed with: <a href="http://localhost:8384/">http://lo
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-01-08 ven. 01:43</p>
<p class="date">Created: 2021-10-25 lun. 14:33</p>
</div>
</body>
</html>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-04-25 dim. 19:10 -->
<!-- 2021-06-20 dim. 14:22 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Configuration Files related to Xorg</title>
<meta name="author" content="Dehaeze Thomas" />
@ -555,7 +555,7 @@ Finally, run SXHKD for the key bindings:
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-04-25 dim. 19:10</p>
<p class="date">Created: 2021-06-20 dim. 14:22</p>
</div>
</body>
</html>

View File

@ -3,11 +3,11 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-02-10 mer. 17:57 -->
<!-- 2021-06-20 dim. 14:22 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Zathura</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Dehaeze Thomas" />
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" type="text/css" href="./dist/style.css"/>
<script type="text/javascript" src="./dist/script.js"></script>
</head>
@ -144,9 +144,9 @@ set recolor-keephue <span class="org-string">"false"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Ideally would get the page from Zathura...</span>
<span class="org-variable-name">pagenum</span>=$<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-sh-quoted-exec">rofi</span> -dmenu -p <span class="org-string">"Page Number"</span><span class="org-rainbow-delimiters-depth-1">)</span>
pdftk $<span class="org-highlight-numbers-number">1</span> <span class="org-type">cat</span> $<span class="org-variable-name">pagenum</span> output $<span class="org-variable-name">tmpfile</span>.pdf &amp;&amp; <span class="org-sh-escaped-newline">\</span>
pdf2svg $<span class="org-variable-name">tmpfile</span>.pdf $<span class="org-variable-name">tmpfile</span>.svg &amp;&amp; <span class="org-sh-escaped-newline">\</span>
inkscape $<span class="org-variable-name">tmpfile</span>.svg
pdftk <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">1</span></span><span class="org-string">"</span> <span class="org-type">cat</span> $<span class="org-variable-name">pagenum</span> output <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">tmpfile</span></span><span class="org-string">.pdf"</span> &amp;&amp; <span class="org-sh-escaped-newline">\</span>
pdf2svg <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">tmpfile</span></span><span class="org-string">.pdf"</span> <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">tmpfile</span></span><span class="org-string">.svg"</span> &amp;&amp; <span class="org-sh-escaped-newline">\</span>
inkscape <span class="org-string">"</span><span class="org-string"><span class="org-constant">$</span></span><span class="org-string"><span class="org-variable-name">tmpfile</span></span><span class="org-string">.svg"</span>
</pre>
</div>
</div>
@ -155,7 +155,7 @@ pdftk $<span class="org-highlight-numbers-number">1</span> <span class="org-type
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-02-10 mer. 17:57</p>
<p class="date">Created: 2021-06-20 dim. 14:22</p>
</div>
</body>
</html>

302
doom.org
View File

@ -245,6 +245,20 @@ Switch from one language to an other ([[https://stackoverflow.com/questions/4215
(setq ispell-program-name "aspell")
#+end_src
#+begin_src emacs-lisp
(defun tdh-correct-last-word ()
(interactive)
(save-excursion
(+spell/previous-error)
(+spell/correct)
)
)
#+end_src
#+begin_src emacs-lisp
(define-key evil-insert-state-map (kbd "C-l") 'tdh-correct-last-word)
#+end_src
** Lockfiles
#+begin_src emacs-lisp
(setq create-lockfiles nil)
@ -311,6 +325,16 @@ This works also with =C-x C-q=
- =(= Hide details
- =)= Show git infos
#+begin_src emacs-lisp
(after! magit
(setq dired-listing-switches "-lAGh1v --group-directories-first")
(add-hook 'dired-mode-hook
(lambda ()
(dired-hide-details-mode)
(dired-sort-toggle-or-edit)))
)
#+end_src
** PDF-Tools
#+begin_src emacs-lisp
(use-package! pdf-tools
@ -340,6 +364,30 @@ This works also with =C-x C-q=
))
#+end_src
** Flycheck
#+begin_src emacs-lisp :tangle no
(flycheck-define-checker proselint
"A linter for prose."
:command ("proselint" source-inplace)
:error-patterns
((warning line-start (file-name) ":" line ":" column ": "
(id (one-or-more (not (any " "))))
(message (one-or-more not-newline)
(zero-or-more "\n" (any " ") (one-or-more not-newline)))
line-end))
:modes (text-mode markdown-mode gfm-mode org-mode))
(add-to-list 'flycheck-checkers 'proselint)
#+end_src
Disable flycheck for now with orgmode buffers:
#+begin_src emacs-lisp
(defun disable-flycheck-mode ()
(interactive)
(flycheck-mode -1))
(add-hook 'org-mode-hook 'disable-flycheck-mode)
#+end_src
** Yassnippets
#+begin_src emacs-lisp
(push "~/.config/doom/snippets" yas-snippet-dirs)
@ -655,7 +703,7 @@ Org Agenda Custom Views
)
#+end_src
** Org Agenda HTML
** TODO Org Agenda HTML
This function can be used to export the week calendar to html.
This html page can be used as a starting page for the browser.
This idea comes from [[https://blog.lambda.cx/posts/org-agenda-new-tab/][here]].
@ -663,7 +711,7 @@ This idea comes from [[https://blog.lambda.cx/posts/org-agenda-new-tab/][here]].
(defun tdh-org-agenda-to-html ()
(interactive)
(org-agenda-list)
(org-agenda-write "/ssh:thomas@grenoble:~/docker/config/calendar/www/index.html"))
(org-agenda-write "/ssh:thomas@homelab:~/docker/config/calendar/www/index.html"))
#+end_src
** Org Fancy Priority
@ -772,7 +820,14 @@ Documentation:
"Org-Protocol Mail"
entry
(file+headline "~/Cloud/org/work-notebook.org" "Mails")
"* MAIL %:description [[message:%:link][link]]\nSCHEDULED: %(org-insert-time-stamp (org-read-date nil t \"+0d\"))\n\n"
"* MAIL %:description [[message:%:link][link]]\nSCHEDULED: %(org-insert-time-stamp (org-read-date nil t \"+0d\"))\n%i\n"
:immediate-finish t
)
("ps"
"Org-Protocol Sent Mail"
entry
(file+headline "~/Cloud/org/work-notebook.org" "Mails")
"* WAIT %:description [[message:%:link][link]]\n%(org-insert-time-stamp (org-read-date nil t \"+0d\"))\n- to: %i\n\n\n\n"
:immediate-finish t
)
("pu"
@ -793,6 +848,38 @@ Documentation:
)
#+end_src
** =message:= link to mutt
#+begin_src emacs-lisp
(require 'org-protocol)
(defun stefanv/mutt-open-message (message-id)
"In neomutt, open the email with the the given Message-ID"
(let*
((message-id (replace-regexp-in-string "^/*" "" message-id))
(mail-file
(replace-regexp-in-string
"\n$" "" (shell-command-to-string
(format "mu find -f l i:%s | head -n 1" message-id))))
(mail-dir (replace-regexp-in-string "/\\(cur\\|new\\|tmp\\)/$" ""
(file-name-directory mail-file)))
(process-id (concat "neomutt-" message-id))
(message-id-escaped (regexp-quote message-id))
(mutt-keystrokes
(format "L~i %s\n\nLall\n\nl" (shell-quote-argument message-id-escaped)))
(mutt-command (list "neomutt" "-R" "-f" mail-dir
"-e" (format "push '%s'" mutt-keystrokes))))
(message "Launching neomutt for message %s" message-id)
(call-process "setsid" nil nil
"-f" "alacritty" "-e"
"neomutt" "-R" "-f" mail-dir
"-e" (format "push '%s'" mutt-keystrokes))))
; Whenever org-mode sees a link starting with `message://`, it
; calls our `mutt-open-message` function
(org-add-link-type "message" 'stefanv/mutt-open-message)
#+end_src
** Org Export
Basic configuration:
#+begin_src emacs-lisp
@ -829,6 +916,14 @@ Do not export headline with the =:ignore:= tag:
(ox-extras-activate '(ignore-headlines)))
#+end_src
** Org Effort
#+begin_src emacs-lisp
(after! org
(setq org-global-properties
'(("Effort_ALL". "0 0:10 0:30 1:00 2:00 3:00 4:00")))
)
#+end_src
** HTML Export
*** HTML Defaults
#+begin_src emacs-lisp
@ -1079,6 +1174,14 @@ by spaces.
(setq org-xournalpp-template-getter (lambda () "/home/thomas/Downloads/template_test.xopp"))
#+end_src
** Org Transclusion
#+begin_src emacs-lisp
(use-package! org-transclusion
:config
)
#+end_src
** Org LaTeX
*** LaTeX Fragments
#+begin_src emacs-lisp
@ -1652,7 +1755,7 @@ The file is taken from a start directory set by `tdh-image-dir' and moved to the
** Render Tables
https://www.reddit.com/r/emacs/comments/d3a8or/pretty_org_tables_in_the_buffer_chapter_2_it/
#+begin_src emacs-lisp :tangle no
#+begin_src emacs-lisp
(after! org
(defun tdh-render-org-table-at-point ()
(interactive)
@ -1751,23 +1854,6 @@ https://www.reddit.com/r/emacs/comments/d3a8or/pretty_org_tables_in_the_buffer_c
)
#+end_src
** Org Gcal
- https://cestlaz.github.io/posts/using-emacs-26-gcal/#.WIqBud9vGAk
#+begin_src emacs-lisp
(use-package! org-gcal
:after org
:init
:config
(setq org-gcal-client-id "396102378658-dcmbcmrnthbe925519otsjbd921otq0v.apps.googleusercontent.com"
org-gcal-client-secret "4M5PWrbhQjwYEMXGK85lDYX9"
org-gcal-file-alist '(("dehaeze.thomas@gmail.com" . "~/Cloud/org/gcal.org")
("8kjmhe2ar0abnm054ill1fb0gc@group.calendar.google.com" . "~/Cloud/org/gcal_phd.org")))
;; Automatic fetch of the new events
;; (add-hook 'org-agenda-mode-hook (lambda () (org-gcal-fetch) ))
)
#+end_src
** Citeproc-Org
#+begin_src emacs-lisp
(use-package! citeproc-org
@ -1976,9 +2062,7 @@ Map Keys
"Watch LaTeX file using latexmk"
(interactive)
(start-process-shell-command "latexmk-watch" "*latexmk-watch-output*"
"latexmk" (format "-pdflatex=\"xelatex -synctex=1 -shell-escape -interaction nonstopmode -output-directory='%s'\" -pdf -pvc -bibtex -f %s.tex"
(file-name-directory buffer-file-name)
(file-name-base buffer-file-name))))
"latexmk" "-pvc"))
#+end_src
#+begin_src emacs-lisp
@ -2041,7 +2125,7 @@ Map Keys
(defun tdh-open-ranger-in-workdir ()
(interactive)
(call-process-shell-command
(concat "termite --directory=" default-directory " --exec=ranger") nil 0))
(concat "alacritty -e ranger " default-directory) nil 0))
#+end_src
#+begin_src emacs-lisp
@ -2654,6 +2738,34 @@ Nice Functions:
)
#+end_src
** Capture Templates
*** Bibliography
#+begin_src org :tangle ~/.config/doom/capture-templates/ref.org
- Tags :: %?
- Reference :: ${ref}
- Author(s) :: %^{author}
- Year :: %^{year}
,* %^{author-abbrev} (%^{year}): %^{title} :%^{entry-type}:ignore:
:PROPERTIES:
:NOTER_DOCUMENT: ../pdfs/%^{citekey}.pdf
:END:
,* Bibliography :ignore:
,#+BIBLIOGRAPHY: here
#+end_src
*** Default
#+begin_src org :tangle ~/.config/doom/capture-templates/default.org
- Tags ::
%?
,* Bibliography :ignore:
,#+BIBLIOGRAPHY: here
#+end_src
** Org Roam ([[https://github.com/jethrokuan/org-roam/][link]])
#+begin_src emacs-lisp
(use-package! org-roam
@ -2661,39 +2773,22 @@ Nice Functions:
(org-roam-link ((t (:inherit org-link :foreground "#cc241d"))))
:config
(setq org-roam-directory (file-truename "~/Cloud/brain/"))
(make-directory org-roam-directory 'parents)
(setq org-roam-completion-system 'helm)
(setq org-roam-tag-sources '(prop last-directory))
(setq org-roam-capture-templates
`(("d" "default" plain (function org-roam--capture-get-point)
"%?"
:file-name "${slug}"
:head ,(concat "#+title: ${title}\n"
"#+setupfile: ./setup/org-setup-file.org\n"
"#+hugo_section: zettels\n"
"\n"
"- Tags ::\n"
"\n"
"* Bibliography :ignore:\n"
"bibliography:./biblio/references.bib"
)
:unnarrowed t)))
(setq org-roam-capture-ref-templates
`(("r" "ref" plain (function org-roam--capture-get-point)
"%?"
:file-name "${slug}"
:head ,(concat "#+title: ${title}\n"
"#+setupfile: ./setup/org-setup-file.org\n"
"#+hugo_section: websites\n"
"#+roam_key: ${ref}\n"
"\n"
"- Tags ::\n"
)
`(("d" "default" plain (file "~/.config/doom/capture-templates/default.org")
:if-new (file+head "${slug}.org" "#+title: ${title}\n#+setupfile: ./setup/org-setup-file.org\n#+hugo_section: zettels\n\n")
:unnarrowed t)
("r" "bibliography reference" plain (file "~/.config/doom/capture-templates/ref.org")
:if-new (file+head "${citekey}.org" "#+title: ${title}\n#+setupfile: ./setup/org-setup-file.org\n#+hugo_section: ${entry-type}\n\n")
:unnarrowed t)))
)
#+end_src
Automatic export of backlinks
#+begin_src emacs-lisp
#+begin_src emacs-lisp :tangle no
(after! (org org-roam)
(defun tdh-org-roam--backlinks-list (file)
(when (org-roam--org-roam-file-p file)
@ -2724,47 +2819,6 @@ Re-Export all roam files.
(org-hugo-export-wim-to-md)))))
#+end_src
Create Org-Roam file from heading ([[https://ag91.github.io/blog/2020/11/12/write-org-roam-notes-via-elisp/][link]])
#+begin_src emacs-lisp
(defun tdh/make-roam-filepath (title)
"Make filename from note TITLE."
(concat
org-roam-directory
(org-roam--title-to-slug title)
".org"))
(defun tdh/insert-org-roam-file (file-path title text)
"Insert org roam file in FILE-PATH with TITLE, LINKS, SOURCES, TEXT, QUOTE."
(with-temp-file file-path
(insert
"#+title: " title "\n"
"#+setupfile: ./setup/org-setup-file.org\n"
"#+hugo_section: zettels\n"
"\n"
"- Tags ::\n"
"\n"
text
"\n"
"\n"
"* Bibliography :ignore:\n"
"bibliography:./biblio/references.bib"
"\n"
)))
(defun tdh/convert-task-to-org-note ()
"Convert a task in a `org-roam' note."
(interactive)
(let* ((heading (org-get-heading t t t t))
(body (org-get-entry))
(filepath (tdh/make-roam-filepath heading)))
(tdh/insert-org-roam-file
filepath
heading
body)
(find-file filepath)))
#+end_src
** Helm-Bibtex ([[https://github.com/tmalsburg/helm-bibtex][link]])
#+begin_src emacs-lisp
(use-package! helm-bibtex
@ -2804,6 +2858,7 @@ Create Org-Roam file from heading ([[https://ag91.github.io/blog/2020/11/12/writ
"#+setupfile: ./setup/org-setup-file.org\n"
"#+hugo_section: ${=type=}\n"
"#+roam_key: ${=key=}\n"
"#+hugo_draft: true\n"
"\n"
"- Tags ::\n"
"- Reference :: cite:${=key=}\n"
@ -2892,14 +2947,14 @@ List all element of the bibliography without pdf associated
)
#+end_src
** Deft
#+begin_src emacs-lisp
** Deft ([[https://github.com/jrblevin/deft][link]])
#+begin_src emacs-lisp :tangle no
(use-package! deft
:custom
(deft-directory "~/Cloud/brain/"))
#+end_src
** Org-Roam-Bibtex ([[https://github.com/Zaeph/org-roam-bibtex][link]])
** Org-Roam-Bibtex ([[https://github.com/org-roam/org-roam-bibtex][link]])
Provides nice functions such as:
- =orb-find-non-ref-file=
- =orb-insert-non-ref=
@ -2907,33 +2962,9 @@ Provides nice functions such as:
#+begin_src emacs-lisp
(use-package! org-roam-bibtex
:hook (org-roam-mode . org-roam-bibtex-mode)
:after org-roam
:config
(setq orb-preformat-keywords `("=key=" "title" "author" "year" "author-abbrev" "=type="))
(setq orb-templates
`(("r" "ref" plain (function org-roam-capture--get-point) ""
:file-name "${=key=}"
:head ,(concat "#+title: ${title}\n"
"#+setupfile: ./setup/org-setup-file.org\n"
"#+hugo_section: ${=type=}\n"
"#+roam_key: ${ref}\n"
"\n"
"- Tags ::\n"
"- Reference :: ${ref}\n"
"- Author(s) :: ${author}\n"
"- Year :: ${year}\n"
"\n"
"* ${author-abbrev} (${year}): ${title} :${=type=}:ignore:\n"
":PROPERTIES:\n"
":NOTER_DOCUMENT: ../pdfs/${=key=}.pdf\n"
":END:\n"
"\n"
"* Bibliography :ignore:\n"
"bibliography:./biblio/references.bib"
)
:unnarrowed t)))
(setq orb-preformat-keywords '("citekey" "title" "author" "year" "author-abbrev" "entry-type"))
(setq orb-note-actions-user '(("Open with Zathura" . tdh-open-bib-with-zathura)))
)
#+end_src
@ -3350,7 +3381,7 @@ Choose account label to feed msmtp -a option based on From header in Message buf
(org ; organize your plain life in plain text
+dragndrop ; drag & drop files/images into org buffers
+hugo ; use Emacs for hugo blogging
+roam ;
+roam2 ;
+gnuplot
+present) ; using org-mode for presentations
python ; beautiful is better than ugly
@ -3364,7 +3395,7 @@ Choose account label to feed msmtp -a option based on From header in Message buf
(mu4e +gmail)
:app
calendar
;; calendar
;;(rss +org) ; emacs as an RSS reader
;;write ; emacs for writers (fiction, notes, papers, etc.)
@ -3386,6 +3417,14 @@ Choose account label to feed msmtp -a option based on From header in Message buf
:files ("resources" "*.el")))
#+end_src
#+begin_src emacs-lisp
(package! org-transclusion
:recipe (:host github
:repo "nobiot/org-transclusion"
:branch "main"
:files ("*.el")))
#+end_src
#+begin_src emacs-lisp
;; Vimrc
(package! vimrc-mode)
@ -3413,11 +3452,6 @@ Choose account label to feed msmtp -a option based on From header in Message buf
(package! poet-theme)
#+end_src
#+begin_src emacs-lisp
;; Major mode for SPICE
(package! spice-mode)
#+end_src
#+begin_src emacs-lisp
;; Import file to Org-mode
(package! org-pandoc-import
@ -3433,7 +3467,9 @@ Choose account label to feed msmtp -a option based on From header in Message buf
#+begin_src emacs-lisp
;; Connector between Org-roam, BibTeX-completion, and Org-ref
(package! org-roam-bibtex)
(package! org-roam-bibtex
:recipe (:host github :repo "org-roam/org-roam-bibtex"))
(unpin! org-roam company-org-roam)
#+end_src
#+begin_src emacs-lisp
@ -3441,21 +3477,11 @@ Choose account label to feed msmtp -a option based on From header in Message buf
(package! org-ref)
#+end_src
#+begin_src emacs-lisp
;; Org file tangling upon save
;; (package! org-auto-tangle)
#+end_src
#+begin_src emacs-lisp
;; Alert notifications for org-agenda
(package! org-wild-notifier)
#+end_src
#+begin_src emacs-lisp
;; Display Google Calendar in org-calendar
(package! org-gcal)
#+end_src
#+begin_src emacs-lisp
;; Turn table into subfigure
(package! ox-latex-subfigure

View File

@ -97,7 +97,7 @@ $0
#+end_src
** Caption
#+begin_src conf :tangle ~/.config/doom/snippets/org-mode/caption
#+begin_src conf :tangle ~/.config/doom/snippets/org-mode/]c
#contributor : Thomas Dehaeze <dehaeze.thomas@gmail.com>
#name :Caption
# --

5
esrf.org Normal file
View File

@ -0,0 +1,5 @@
#+TITLE: ESRF Configuration
* Windows
* Linux

File diff suppressed because it is too large Load Diff

4
i3.org
View File

@ -131,10 +131,10 @@ for_window [title="Simulink Library Browser"] floating enable
for_window [class="Floating"] floating enable, resize set 800 600, move position 1100 460
for_window [class="mpv"] floating enable # Size/Position is defined in mpv.conf
for_window [class="Sxiv"] floating enable, resize set 800 600, move position center
for_window [title="khal interactive"] floating enable, resize set 600 600, move position center
for_window [title="khal"] floating enable, resize set 600 600, move position center
for_window [title="ncmpcpp"] floating enable, resize set 800 400, move position center
for_window [title="Sensors"] floating enable, resize set 800 400, move position center
for_window [title="nmtui"] floating enable, resize set 800 600, move position center
for_window [title="linkding"] floating enable, resize set 800 600, move position center
for_window [title="Xournal"] floating enable, resize set 1100 750, move position center
#+end_src

View File

@ -17,7 +17,7 @@ There are Specific configuration files for:
- *Display Server*: [[file:xconfig.org][Xorg]]
- *Editors*: [[file:vim.org][Neovim]] and [[./doom.org][Emacs (Doom)]] ([[file:emacs-library-babel.org][library of babel]], [[file:emacs-snippets.org][snippets]])
- *Shell*: [[file:bash.org][Bash]]
- *Terminal Emulator*: [[file:termite.org][Termite]]
- *Terminal Emulator*: [[file:alacritty.org][Alacritty]]
- *Terminal Multiplexer* [[file:tmux.org][Tmux]]
- *Image Setup*: [[file:image.org][Sxiv]]
- *Music Setup*: [[file:music.org][Ncmpcpp, Mopidy and Beets]]
@ -38,7 +38,7 @@ There are Specific configuration files for:
- [[file:config.org][Other Configurations]] and some [[file:data.org][data]]
I also have:
- a nice Home-Server ([[file:nas.org][conf]])
- a nice Home-Server ([[file:homelab.org][conf]])
- a Linux smart-TV ([[file:smart-tv.org][conf]])
- a Windows PC that I occasionally use ([[file:windows.org][conf]])
- an Android phone ([[file:android.org][conf]])

View File

@ -48,17 +48,17 @@ And configured with the following command:
=pass= can be used as credential helper for git repositories.
* =termite= - Terminal
[[https://github.com/thestinger/termite][Termite]] is a very nice keyboard-centric terminal.
* =alacritty= - Terminal
[[https://github.com/alacritty/alacritty][Alacritty]] is a very nice keyboard-centric terminal.
It can be installed like so:
#+begin_src bash
yay -S termite
yay -S alacritty
#+end_src
Its configuration file is described [[file:termite.org][here]].
Its configuration file is described [[file:alacritty.org][here]].
#+caption: =termite= - Cheatsheet
#+caption: =alacritty= - Cheatsheet
| Command | Usage |
|--------------------+-------------------------|
| =ctrl-shift-x= | activate url hints mode |
@ -1316,7 +1316,7 @@ https://github.com/schollz/croc
** Trash
=trash-cli= is used to manage the trash.
It is integrated with Ranger.
It is integrated with =ranger= and =pcmanFM=.
#+begin_src bash
yay -S trash-cli

557
iot.org Normal file
View File

@ -0,0 +1,557 @@
#+TITLE: IoT
#+SETUPFILE: ./setup/org-setup-file.org
* Smart Bulbs
https://www.amazon.fr/Ecologique-Compatible-T%C3%A9l%C3%A9commande-Smartphone-%C3%A9nerg%C3%A9tique/dp/B07KWPQMHH/ref=sr_1_4?dchild=1&keywords=Anoopsyche&qid=1626991095&sr=8-4
* Smart Plugs
https://sonoff.tech/product/smart-plug/s26/
https://www.jannikarndt.de/blog/2018/01/how_to_install_tasmota_on_a_sonoff_device_without_opening_it/
https://www.youtube.com/watch?v=ONFhXM5R-t4
* ESPHome
** Sonoff S26 - Smart Socket
https://www.amazon.fr/Connect%C3%A9e-Intelligente-Compatible-Assistant-T%C3%A9l%C3%A9command%C3%A9e/dp/B07Y1N5J6Y/
*** Sonoff S26 1
#+begin_src yaml :noweb yes :tangle ~/.local/data/esphome/config/sonoff_S26_1.yaml
esphome:
name: sonoffs26_1
platform: ESP8266
board: esp01_1m
board_flash_mode: dout
wifi:
ssid: 'Freebox-11A882'
password: '<<get-password(passname="wifi/Freebox-11A882")>>'
ap:
ssid: 'Sonoff S26 1 Fallback Hotspot'
password: '<<get-password(passname="sonoff_s26/ap")>>'
status_led:
pin:
number: GPIO13
inverted: false
logger:
api:
password: '<<get-password(passname="sonoff_s26/api")>>'
ota:
password: '<<get-password(passname="sonoff_s26/ota")>>'
web_server:
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: True
name: "Sonoff S26_1 Button"
on_press:
- switch.toggle: relay
- platform: status
name: "Sonoff S26_1 Status"
sensor:
- platform: wifi_signal
name: "sonoffs26_1 WiFi Signal"
update_interval: 60s
switch:
- platform: gpio
name: "Sonoff S26_1 Relay"
pin: GPIO12
id: 'relay'
- platform: restart
name: "sonoffs26_1 Restart"
#+end_src
*** Sonoff S26 2
#+begin_src yaml :noweb yes :tangle ~/.local/data/esphome/config/sonoff_S26_2.yaml
esphome:
name: sonoffs26_2
platform: ESP8266
board: esp01_1m
board_flash_mode: dout
wifi:
ssid: 'Freebox-11A882'
password: '<<get-password(passname="wifi/Freebox-11A882")>>'
ap:
ssid: 'Sonoff S26 2 Fallback Hotspot'
password: '<<get-password(passname="sonoff_s26/ap")>>'
status_led:
pin:
number: GPIO13
inverted: false
logger:
api:
password: '<<get-password(passname="sonoff_s26/api")>>'
ota:
password: '<<get-password(passname="sonoff_s26/ota")>>'
web_server:
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: True
name: "Sonoff S26_2 Button"
on_press:
- switch.toggle: relay
- platform: status
name: "Sonoff S26_2 Status"
sensor:
- platform: wifi_signal
name: "sonoffs26_2 WiFi Signal"
update_interval: 60s
switch:
- platform: gpio
name: "Sonoff S26_2 Relay"
pin: GPIO12
id: 'relay'
- platform: restart
name: "sonoffs26_2 Restart"
#+end_src
*** Sonoff S26 3
#+begin_src yaml :noweb yes :tangle ~/.local/data/esphome/config/sonoff_S26_3.yaml
esphome:
name: sonoffs26_3
platform: ESP8266
board: esp01_1m
board_flash_mode: dout
wifi:
ssid: 'Freebox-11A882'
password: '<<get-password(passname="wifi/Freebox-11A882")>>'
ap:
ssid: 'Sonoff S26 3 Fallback Hotspot'
password: '<<get-password(passname="sonoff_s26/ap")>>'
status_led:
pin:
number: GPIO13
inverted: false
logger:
api:
password: '<<get-password(passname="sonoff_s26/api")>>'
ota:
password: '<<get-password(passname="sonoff_s26/ota")>>'
web_server:
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: True
name: "Sonoff S26_3 Button"
on_press:
- switch.toggle: relay
- platform: status
name: "Sonoff S26_3 Status"
sensor:
- platform: wifi_signal
name: "sonoffs26_3 WiFi Signal"
update_interval: 60s
switch:
- platform: gpio
name: "Sonoff S26_3 Relay"
pin: GPIO12
id: 'relay'
- platform: restart
name: "sonoffs26_3 Restart"
#+end_src
*** Sonoff S26 4
#+begin_src yaml :noweb yes :tangle ~/.local/data/esphome/config/sonoff_S26_4.yaml
esphome:
name: sonoffs26_4
platform: ESP8266
board: esp01_1m
board_flash_mode: dout
wifi:
ssid: 'Freebox-11A882'
password: '<<get-password(passname="wifi/Freebox-11A882")>>'
ap:
ssid: 'Sonoff S26 4 Fallback Hotspot'
password: '<<get-password(passname="sonoff_s26/ap")>>'
status_led:
pin:
number: GPIO13
inverted: false
logger:
api:
password: '<<get-password(passname="sonoff_s26/api")>>'
ota:
password: '<<get-password(passname="sonoff_s26/ota")>>'
web_server:
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: True
name: "Sonoff S26_4 Button"
on_press:
- switch.toggle: relay
- platform: status
name: "Sonoff S26_4 Status"
sensor:
- platform: wifi_signal
name: "sonoffs26_4 WiFi Signal"
update_interval: 60s
switch:
- platform: gpio
name: "Sonoff S26_4 Relay"
pin: GPIO12
id: 'relay'
- platform: restart
name: "sonoffs26_4 Restart"
#+end_src
** Anoopsyche SB14 - E27 Smart Bulb (Cold White / Warm White)
https://www.amazon.fr/Ecologique-Compatible-T%C3%A9l%C3%A9commande-Smartphone-%C3%A9nerg%C3%A9tique/dp/B07KWPQMHH/
*** Anoopsyche CWWW 1
#+begin_src yaml :noweb yes :tangle ~/.local/data/esphome/config/anoopsyche_cwww_1.yaml
esphome:
name: anoopsyche_cwww_1
platform: ESP8266
board: esp01_1m
wifi:
ssid: 'Freebox-11A882'
password: '<<get-password(passname="wifi/Freebox-11A882")>>'
ap:
ssid: 'Anoopsyche CWWW 1'
password: '<<get-password(passname="anoopsyche_cwww/ap")>>'
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
password: '<<get-password(passname="anoopsyche_cwww/api")>>'
ota:
password: '<<get-password(passname="anoopsyche_cwww/ota")>>'
output:
- platform: esp8266_pwm
id: output_cold_white
pin: GPIO5
- platform: esp8266_pwm
id: output_warm_white
pin: GPIO13
light:
- platform: cwww
name: 'Anoopsyche CWWW 1'
default_transition_length: 1s
warm_white: output_warm_white
cold_white: output_cold_white
cold_white_color_temperature: 6000 K
warm_white_color_temperature: 2700 K
#+end_src
*** Anoopsyche CWWW 2
#+begin_src yaml :noweb yes :tangle ~/.local/data/esphome/config/anoopsyche_cwww_2.yaml
esphome:
name: anoopsyche_cwww_2
platform: ESP8266
board: esp01_1m
wifi:
ssid: 'Freebox-11A882'
password: '<<get-password(passname="wifi/Freebox-11A882")>>'
ap:
ssid: 'Anoopsyche CWWW 2'
password: '<<get-password(passname="anoopsyche_cwww/ap")>>'
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
password: '<<get-password(passname="anoopsyche_cwww/api")>>'
ota:
password: '<<get-password(passname="anoopsyche_cwww/ota")>>'
output:
- platform: esp8266_pwm
id: output_cold_white
pin: GPIO5
- platform: esp8266_pwm
id: output_warm_white
pin: GPIO13
light:
- platform: cwww
name: 'Anoopsyche CWWW 2'
default_transition_length: 1s
warm_white: output_warm_white
cold_white: output_cold_white
cold_white_color_temperature: 6000 K
warm_white_color_temperature: 2700 K
#+end_src
** Sonoff BasicR2 - DIY Smart Socket
- [[https://esphome.io/devices/sonoff_basic.html][ESPHome documentation]]
- [[https://sonoff.tech/product/diy-smart-switch/basicr2/][Sonoff Website]]
*** Sonoff Basic 1
#+begin_src yaml :noweb yes :tangle ~/.local/data/esphome/config/sonoff_basic_1.yaml
esphome:
name: sonoffbasic_1
platform: ESP8266
board: esp8285
arduino_version: 2.4.2
wifi:
ssid: 'Freebox-11A882'
password: '<<get-password(passname="wifi/Freebox-11A882")>>'
api:
password: '<<get-password(passname="sonoff_basic/api")>>'
logger:
ota:
password: '<<get-password(passname="sonoff_basic/ota")>>'
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: True
name: "Sonoff Basic Button 1"
on_press:
- switch.toggle: relay
switch:
- platform: gpio
name: "Sonoff Basic Relay 1"
pin: GPIO12
id: relay
status_led:
pin:
number: GPIO13
inverted: yes
#+end_src
*** Sonoff Basic 2
#+begin_src yaml :noweb yes :tangle ~/.local/data/esphome/config/sonoff_basic_2.yaml
esphome:
name: sonoffbasic_2
platform: ESP8266
board: esp8285
arduino_version: 2.4.2
wifi:
ssid: 'Freebox-11A882'
password: '<<get-password(passname="wifi/Freebox-11A882")>>'
api:
password: '<<get-password(passname="sonoff_basic/api")>>'
logger:
ota:
password: '<<get-password(passname="sonoff_basic/ota")>>'
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: True
name: "Sonoff Basic Button 2"
on_press:
- switch.toggle: relay
switch:
- platform: gpio
name: "Sonoff Basic Relay 2"
pin: GPIO12
id: relay
status_led:
pin:
number: GPIO13
inverted: yes
#+end_src
*** Sonoff Basic 3
#+begin_src yaml :noweb yes :tangle ~/.local/data/esphome/config/sonoff_basic_3.yaml
esphome:
name: sonoffbasic_3
platform: ESP8266
board: esp8285
arduino_version: 2.4.2
wifi:
ssid: 'Freebox-11A882'
password: '<<get-password(passname="wifi/Freebox-11A882")>>'
api:
password: '<<get-password(passname="sonoff_basic/api")>>'
logger:
ota:
password: '<<get-password(passname="sonoff_basic/ota")>>'
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: True
name: "Sonoff Basic Button 3"
on_press:
- switch.toggle: relay
switch:
- platform: gpio
name: "Sonoff Basic Relay 3"
pin: GPIO12
id: relay
status_led:
pin:
number: GPIO13
inverted: yes
#+end_src
*** Sonoff Basic 4
#+begin_src yaml :noweb yes :tangle ~/.local/data/esphome/config/sonoff_basic_4.yaml
esphome:
name: sonoffbasic_4
platform: ESP8266
board: esp8285
arduino_version: 2.4.2
wifi:
ssid: 'Freebox-11A882'
password: '<<get-password(passname="wifi/Freebox-11A882")>>'
api:
password: '<<get-password(passname="sonoff_basic/api")>>'
logger:
ota:
password: '<<get-password(passname="sonoff_basic/ota")>>'
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: True
name: "Sonoff Basic Button 4"
on_press:
- switch.toggle: relay
switch:
- platform: gpio
name: "Sonoff Basic Relay 4"
pin: GPIO12
id: relay
status_led:
pin:
number: GPIO13
inverted: yes
#+end_src
** Sonoff POWR2 - DIY Power Monitoring Smart Socket
- [[https://sonoff.tech/product/diy-smart-switch/powr2/][Sonoff Website]]
*** Sonoff POWR2 1
#+begin_src yaml :noweb yes :tangle ~/.local/data/esphome/config/sonoff_powr2_1.yaml
esphome:
name: sonoffpowr2_1
platform: ESP8266
board: esp01_1m
board_flash_mode: dout
wifi:
ssid: 'Freebox-11A882'
password: '<<get-password(passname="wifi/Freebox-11A882")>>'
ap:
ssid: 'Sonoff POWR2 1 Fallback Hotspot'
password: 'gmHu3rQHZHwH'
mqtt:
broker: '192.168.1.11'
logger:
api:
password: '<<get-password(passname="sonoff_powr2/api")>>'
ota:
password: '<<get-password(passname="sonoff_powr2/ota")>>'
uart:
rx_pin: RX
baud_rate: 4800
sensor:
- platform: cse7766
current:
name: "Sonoff POWR2_1 Current"
voltage:
name: "Sonoff POWR2_1 Voltage"
power:
name: "Sonoff POWR2_1 Power"
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: True
name: "Sonoff POWR2_1 Button"
on_press:
- switch.toggle: relay
switch:
- platform: gpio
name: "Sonoff POWR2_1 Relay"
pin: GPIO12
id: 'relay'
#+end_src

212
mail.org
View File

@ -59,8 +59,8 @@ Channel gmail-Trash
Far :gmail-remote:"[Gmail]/Trash"
Near :gmail-local:Trash
Channel gmail-All
Far :gmail-remote:"[Gmail]/All Mail"
Channel gmail-Archive
Far :gmail-remote:"[Imap]/Archive"
Near :gmail-local:Archive
#+END_SRC
@ -75,12 +75,10 @@ Near :gmail-local:
Patterns *
Patterns !INBOX
Patterns ![Gmail]*
Patterns !Archive
Patterns !Drafts
Patterns !Sent Mail
Patterns !Trash
Patterns !Spam
Patterns !Starred
# Patterns ![Imap]/Archive
#+END_SRC
#+BEGIN_SRC conf
@ -661,6 +659,9 @@ bind generic,index,pager \Cy previous-line
bind pager k previous-line
bind pager j next-line
# Display mode information
bind pager i display-toggle-weed
bind index <space> collapse-thread
bind index,pager K previous-entry
@ -733,7 +734,7 @@ macro index,pager V "<view-attachments><search>plain<enter><view-mailcap><exit>"
#+end_src
#+begin_src conf
# bind index,pager U toggle-new
bind index U toggle-new
#+end_src
Labels
@ -886,150 +887,90 @@ macro index,pager S "<pipe-message>$HOME/.config/neomutt/bin/mutt-save-org-link.
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env python3"
:END:
https://orgmode.org/manual/The-capture-protocol.html#The-capture-protocol
#+begin_src python
import sys
import email
from email import policy
import subprocess
import urllib.parse
# Parse the email from standard input
message_bytes = sys.stdin.buffer.read()
message = email.message_from_bytes(message_bytes)
message = email.message_from_bytes(message_bytes, policy=policy.default)
# Grab the relevant message headers
message_id = urllib.parse.quote(message['message-id'].strip()[1:-1])
subject = message['subject'].replace('[', '{').replace(']', '}').replace('\n', ' ')
subject = (subject[:75] + '..') if len(subject) > 75 else subject
message_id = urllib.parse.quote(message['message-id'][1:-1])
subject = message['subject']
message_to = message['to']
# Ask emacsclient to save a link to the message
p = subprocess.Popen([
subprocess.Popen([
'emacsclient',
f'org-protocol://capture?template=pm&url={message_id}&title={subject}'
f'org-protocol://capture?template=ps&url={message_id}&title={subject}&body={message_to}'
])
p.wait()
#+end_src
** Colors
*** Basic colors
#+BEGIN_SRC conf
color normal color021 color000
color error color021 color000
color tilde color021 color000
color message color021 color000
color markers color021 color000
color attachment color021 color000
color search color000 color003
color status color016 color000
color indicator color000 color021
color tree color021 color000
color progress color000 color021
# basic monocolor screen
mono bold bold
mono underline underline
mono indicator reverse
mono error bold
#+END_SRC
*** Index
#+begin_src conf
color index color021 color000 "~A" # All messages
color index brightcolor006 color000 "~N" # New messages
color index color020 color000 "~O" # Old messages
color index color020 color000 "~Q" # messages that have been replied to
color index color021 color000 "~R" # read messages
color index color006 color000 "~U" # unread messages
color index color021 color000 "~R~p!~F" # messages to me
color index brightcolor006 color000 "~N~p!~F" # new messages to me
color index brightcolor006 color000 "~U~p!~F" # unread messages to me
color index color005 color000 "~F" # flagged messages
color index color005 color000 "~F~p" # flagged messages to me
color index brightcolor006 color000 "~N~F" # new flagged messages
color index brightcolor006 color000 "~N~F~p" # new flagged messages to me
color index brightcolor006 color000 "~U~F~p" # new flagged messages to me
color index brightcolor000 color001 "~D" # deleted messages
color attachment color109 color235
color bold color229 color235
color error color167 color235
color hdrdefault color246 color235
color indicator color223 color237
color markers color243 color235
color normal color223 color235
color prompt color223 color235
color quoted color250 color235
color quoted1 color108 color235
color quoted2 color250 color235
color quoted3 color108 color235
color quoted4 color250 color235
color quoted5 color108 color235
color search color235 color208
color signature color108 color235
color status color245 color235
color tilde color243 color235
color tree color142 color235
color underline color223 color239
color index brightcolor021 color019 "~v~(!~N)" # collapsed thread with no unread
color index brightcolor006 color019 "~v~(~N)" # collapsed thread with some unread
color index brightcolor006 color019 "~N~v~(~N)" # collapsed thread with unread parent
color index brightcolor005 color019 "~v~(~F)!~N" # collapsed thread with flagged, no unread
color index brightcolor006 color019 "~v~(~F~N)" # collapsed thread with some unread & flagged
color index brightcolor006 color019 "~N~v~(~F~N)" # collapsed thread with unread parent & flagged
color index brightcolor005 color019 "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged
color index brightcolor000 color001 "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial)
color sidebar_divider color250 color235
color sidebar_new color142 color235
color index color142 color235 ~N
color index color108 color235 ~O
color index color109 color235 ~P
color index color214 color235 ~F
color index color175 color235 ~Q
color index color167 color235 ~=
color index color235 color223 ~T
color index color235 color167 ~D
color header color214 color235 "^(To:|Cc:|Bcc:|From:)"
color header color142 color235 "^Subject:"
color header color108 color235 "^X-Spam-Status:"
color header color108 color235 "^Received:"
color body color142 color235 "[a-z]{3,256}://[-a-zA-Z0-9@:%._\\+~#=/?&,]+"
color body color208 color235 "[-a-z_0-9.%$]+@[-a-z_0-9.]+\\.[-a-z][-a-z]+"
color body color208 color235 "mailto:[-a-z_0-9.]+@[-a-z_0-9.]+"
color body color235 color214 "[;:]-*[)>(<lt;|]"
color body color229 color235 "\\*[- A-Za-z]+\\*"
color body color214 color235 "^-.*PGP.*-*"
color body color142 color235 "^gpg: Good signature from"
color body color167 color235 "^gpg: Can't.*$"
color body color214 color235 "^gpg: WARNING:.*$"
color body color167 color235 "^gpg: BAD signature from"
color body color167 color235 "^gpg: Note: This key has expired!"
color body color214 color235 "^gpg: There is no indication that the signature belongs to the owner."
color body color214 color235 "^gpg: can't handle these multiple signatures"
color body color214 color235 "^gpg: signature verification suppressed"
color body color214 color235 "^gpg: invalid node with packet of type"
#+end_src
*** Sidebar
#+begin_src conf
color sidebar_indicator color000 color021 # Mailbox is open
color sidebar_highlight color000 color003 # Mailbox is highlighted
color sidebar_new brightcolor006 color000 # Mailbox contains new mail
color sidebar_ordinary color021 color000 # Mailbox contains new mail
#+end_src
*** Message headers
#+BEGIN_SRC conf
color hdrdefault color006 color000
color header brightcolor006 color000 "^(From)"
color header brightcolor004 color000 "^(Subject)"
#+END_SRC
*** Attachments
#+begin_src conf
# Color if the attachment is autoviewed
color attach_headers brightgreen default "Autoview"
# Color only the brackets around the headers
color attach_headers brightyellow default "^\\[--"
color attach_headers brightyellow default "--]$"
# Color the mime type and the size
color attach_headers green default "Type: [a-z]+/[a-z0-9\-]+"
color attach_headers green default "Size: [0-9\.]+[KM]"
# Color GPGME signature checks
color attach_headers brightgreen default "Good signature from.*"
color attach_headers brightred default "Bad signature from.*"
color attach_headers brightred default "BAD signature from.*"
color attach_headers brightred default "Note: This key has expired!"
color attach_headers brightmagenta default "Problem signature from.*"
color attach_headers brightmagenta default "WARNING: This key is not certified with a trusted signature!"
color attach_headers brightmagenta default " There is no indication that the signature belongs to the owner."
color attach_headers brightmagenta default "can't handle these multiple signatures"
color attach_headers brightmagenta default "signature verification suppressed"
color attach_headers brightmagenta default "invalid node with packet of type"
#+end_src
*** Body
#+BEGIN_SRC conf
color quoted color002 color000
color quoted1 color003 color000
color quoted2 color004 color000
color quoted3 color005 color000
color quoted4 color006 color000
color signature color021 color000
color bold brightcolor021 color000
color underline brightcolor021 color000
color normal color021 color000
#+END_SRC
*** PGP
#+BEGIN_SRC conf
color body color001 color000 "(BAD signature)"
color body color002 color000 "(Good signature)"
color body color002 color000 "^gpg: Good signature .*"
color body color002 color000 "^gpg: "
color body color002 color000 "^gpg: BAD signature from.*"
#+END_SRC
*** Urls
#+BEGIN_SRC conf
color body color006 color000 "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"
#+END_SRC
*** Emails
#+BEGIN_SRC conf
color body color006 color000 "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])"
#+END_SRC
** Contacts with Mu
#+BEGIN_SRC conf
set query_command="mu cfind '%s' -o mutt-ab"
@ -1079,10 +1020,11 @@ set from = "dehaeze.thomas@gmail.com"
set sendmail = "~/.config/neomutt/bin/send_mail.sh gmail"
# Other special folders.
set mbox = "+gmail/Archive"
unset record # Don't copy send message to Sent folder: Gmail does that for us
set mbox = "+gmail/Archive" # Archive Box
set postponed = "+gmail/Drafts"
unset record # Don't copy send message to Sent folder: Gmail does that for us
set signature = "~/.config/neomutt/accounts/gmail.signature"
macro index,pager d \
@ -1474,8 +1416,12 @@ application/pdf; zathura %s &
audio/*; /usr/bin/xdg-open %s; copiousoutput
text/html; export DISPLAY=:0 && setsid qutebrowser %s; nametemplate=%s.html
text/html; lynx -width ${COLUMNS:-80} -dump %s; nametemplate=%s.html; copiousoutput;
text/calendar; khal import --batch -a home %s && khal printics %s; copiousoutput;
application/ics; khal import --batch -a home %s && khal printics %s; copiousoutput;
#+END_SRC
For calendar output, a personal =ics-add= script is used.
#+BEGIN_SRC conf
text/calendar; ics-add %s; copiousoutput;
application/ics; ics-add %s; copiousoutput;
#+END_SRC
Libreoffice

91
maintenance.org Normal file
View File

@ -0,0 +1,91 @@
#+TITLE:System maintenance
#+SETUPFILE: ./setup/org-setup-file.org
https://wiki.archlinux.org/title/System_maintenance
* Update
** System packages
To check packages to update:
#+begin_src bash
paru -Qu
#+end_src
And then to perform the update:
#+begin_src bash
paru
#+end_src
** NPM
First update =npm= itself
#+begin_src bash
sudo npm install npm@latest -g
#+end_src
Then, we can list outdated packages:
#+begin_src bash
npm outdated -g --depth=0
#+end_src
And finally perform the update:
#+begin_src bash
sudo npm update -g
#+end_src
** PIP
First upgrade =pip= itself:
#+begin_src bash
/usr/bin/python3 -m pip install --upgrade pip
#+end_src
Then list outdated packages:
#+begin_src bash
pip3 list --outdated
#+end_src
And update everything with:
#+begin_src bash
pip3 list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip3 install -U
#+end_src
** Emacs and Vim
Update Doom emacs with:
#+begin_src bash
doom up
#+end_src
And Vim packages with:
#+begin_src bash
nvim -c PlugUpgrade -c PlugUpdate
#+end_src
* Check problems in the system
First check for failed services:
#+begin_src bash
systemctl --failed
#+end_src
Same for user services:
#+begin_src bash
systemctl --user --failed
#+end_src
Look for errors in the logs:
#+begin_src bash
sudo journalctl -p 3 -b
#+end_src
* Check orphan and dropped packages
Run the following to list all orphan packages:
#+begin_src bash
pacman -Qtdq | fzf --preview 'pacman -Qil {}' --layout=reverse --bind 'enter:execute(pacman -Qil {} | less)'
#+end_src
Then, either remove the unused packages or set the package to "explicitly installed" with:
#+begin_src bash
sudo pacman -D --asexplicit package_name
#+end_src
Use the =ancient-packages= ([[https://aur.archlinux.org/packages/ancient-packages/][link]]) command to list dropped packages (packages may longer in the remote repositories, but still on the local system):
#+begin_src bash
ancient-packages
#+end_src

View File

@ -106,6 +106,11 @@ Converts MATLAB figures to TikZ ([[https://github.com/matlab2tikz/matlab2tikz][l
addpath([toolboxes_path 'matlab2tikz/src'])
#+end_src
Working with Tensors ([[https://www.tensorlab.net/][link]]).
#+begin_src matlab
addpath([toolboxes_path 'tensorlab'])
#+end_src
MATLAB toolbox for exporting publication quality figures ([[https://github.com/altmany/export_fig][link]]).
#+begin_src matlab
addpath([toolboxes_path 'export_fig'])

View File

@ -27,13 +27,6 @@ showVolumeMeters=1
:END:
#+begin_src conf
[spotify]
username = dehaeze.thomas@gmail.com
password = <<get-password(passname="spotify.com/dehaeze.thomas@gmail.com")>>
client_id = 9dd02534-f038-46d8-946e-bfe72498204e
client_secret = <<get-password(passname="spotify/client_secret")>>
bitrate = 320
[mpd]
enabled = true
hostname = 127.0.0.1

View File

@ -36,7 +36,7 @@ margin-bottom = 0
#+BEGIN_SRC conf
[bar/top]
enable-ipc = true
override-redirect = false
# override-redirect = false
bottom = false
fixed-center = false
@ -61,11 +61,11 @@ font-0 = Hack Nerd Font:style=Medium,Regular:pixelsize=10;1
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
font-2 = Weather Icons:size=10;1
modules-left = i3 bspwm xwindow
modules-left = i3 xwindow
modules-center =
modules-right = pulseaudio wired-network wireless-network nordvpn bluetooth redshift lockscreen dunst packages unread_news unread_mail calendar temperature battery date
modules-right = pulseaudio wired-network wireless-network wireguard nordvpn bluetooth redshift cursor lockscreen dunst packages unread_news unread_mail calendar temperature battery date
wm-restack = i3
# wm-restack = i3
tray-position = right
tray-detached = true
@ -125,53 +125,11 @@ label-urgent-background = ${colors.red}
label-urgent-padding = 1
#+END_SRC
* BSPWM
#+begin_src conf
[module/bspwm]
type = internal/bspwm
pin-workspaces = true
enable-click = true
enable-scroll = false
; Use fuzzy (partial) matching on labels when assigning
; icons to workspaces
; Example: code;♚ will apply the icon to all workspaces
; containing 'code' in the label
fuzzy-match = false
ws-icon-0 = code;
ws-icon-1 = web;
ws-icon-2 = mail;
ws-icon-3 = misc;
ws-icon-4 = figs;ﬧ
ws-icon-default =
label-focused = %icon%
label-focused-foreground = ${colors.bg}
label-focused-background = ${colors.aqua}
label-focused-underline= ${colors.aqua}
label-focused-padding = 1
label-occupied = %icon%
label-occupied-underline = ${colors.fg}
label-occupied-padding = 1
label-urgent = %icon%
label-urgent-background = ${colors.red}
label-urgent-padding = 1
label-empty = %icon%
label-empty-foreground = ${colors.fg}
label-empty-padding = 1
#+end_src
* Music using MPD
#+BEGIN_SRC conf
[module/mpd]
type = internal/mpd
format-online = <icon-prev> <toggle> <icon-next> %{A1:$TERMINAL -e "ncmpcpp" &:}<label-song>%{A}
format-online = <icon-prev> <toggle> <icon-next> %{A1:$TERMINAL -e ncmpcpp &:}<label-song>%{A}
format-online-spacing = 0
format-online-padding = 0
@ -232,7 +190,7 @@ interval = 2
format-prefix-foreground = ${colors.fg}
format-underline = ${colors.bg}
label = %{A1:$TERMINAL -e "htop" &:}﬙ %percentage:2%%%{A}
label = %{A1:$TERMINAL -e htop &:}﬙ %percentage:2%%%{A}
#+END_SRC
* Date
@ -242,8 +200,8 @@ type = internal/date
interval = 1
# Open google calendar on left right
date = %{A1:$TERMINAL -e "ikhal" &:} %d-%m%{A}
date-alt = "%{A1:$TERMINAL -e \"ikhal\" &:} %d-%m-%Y%{A}"
date = %{A1:$TERMINAL --title khal -e ikhal &:} %d-%m%{A}
date-alt = "%{A1:$TERMINAL --title khal -e ikhal &:} %d-%m-%Y%{A}"
time =  %H:%M
time-alt =  %H:%M:%S
@ -315,10 +273,11 @@ ramp-capacity-4 = 
type = internal/temperature
interval = 2
thermal-zone = 0
warn-temperature = 70
hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
base-temperature = 50
warn-temperature = 80
hwmon-path = /sys/class/thermal/thermal_zone10/temp
units = false
format = %{A1:$TERMINAL --class="Floating" -e "watch sensors" &:}<ramp> <label>%{A}
format = %{A1:$TERMINAL --title="Sensors" -e watch sensors &:}<ramp> <label>%{A}
format-warn = <ramp> <label-warn>
label = %temperature-c%°C
label-warn = %temperature-c%°C
@ -383,7 +342,7 @@ checkmail -q && \
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
$TERMINAL -e "tmux new-session -A -s neomutt neomutt"
$TERMINAL -e tmux new-session -A -s neomutt neomutt
#+end_src
* Unread News
@ -441,7 +400,7 @@ fi
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
$TERMINAL -e "tmux new-session -A -s newsboat newsboat"
$TERMINAL -e tmux new-session -A -s newsboat newsboat
#+end_src
* Calendar
@ -496,7 +455,7 @@ echo "${cal_icon}${cal_nb}${cal_desc}"
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
$TERMINAL --class="Floating" -e "khal interactive"
$TERMINAL --title=khal -e ikhal
#+end_src
* Redshift
@ -600,7 +559,7 @@ fi
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+BEGIN_SRC bash
$TERMINAL -e "paru"
$TERMINAL -e paru
#+END_SRC
* Dunst
@ -738,7 +697,7 @@ label-disconnected-foreground = #777
:END:
#+begin_src bash
$TERMINAL -e 'sudo nmtui'
$TERMINAL -e sudo nmtui
#+end_src
** Toggle Wifi or Ethernet
@ -972,6 +931,49 @@ fi
#+end_src
* High cursor
#+BEGIN_SRC conf
[module/cursor]
type = custom/script
format-underline = ${colors.bg}
click-left = ~/.config/polybar/scripts/cursor-toggle.sh >/dev/null 2>%1 &
format = <label>
exec = ~/.config/polybar/scripts/cursor-status.sh
interval = 2
#+END_SRC
** Cursor - Status
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/cursor-status.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
if pgrep -x "highlight-point" >/dev/null; then
echo "%{F#859900}%{F-}";
else
echo "";
fi
#+end_src
** Toggle Cursor
:PROPERTIES:
:header-args: :tangle ~/.config/polybar/scripts/cursor-toggle.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
if pgrep -x "highlight-point" >/dev/null; then
killall highlight-point && \
dunstify --replace=46492 "Cursor" "Turned off";
else
nohup highlight-pointer -r 10 > /dev/null 2>&1 &
dunstify --replace=46492 "Cursor" "Highlight...";
fi
#+end_src
* Screenshot
#+BEGIN_SRC conf

View File

@ -39,7 +39,7 @@ c.qt.workarounds.remove_service_workers = True
* Content
#+begin_src python
c.content.autoplay = False
c.content.notifications = False
c.content.notifications.enabled = False
c.content.geolocation = 'ask'
c.content.javascript.alert = True
c.content.javascript.can_access_clipboard = True
@ -51,7 +51,7 @@ c.content.blocking.adblock.lists = ['https://easylist.to/easylist/easylist.txt',
* Editor
#+begin_src python
c.editor.command = ['/usr/bin/termite', '--class="Floating"', '-e', 'nvim {}']
c.editor.command = ['/usr/bin/alacritty', '--class', 'terminal,Floating', '-e', 'nvim', '{}']
#+end_src
* Downloads
@ -62,13 +62,14 @@ c.downloads.location.remember = True
c.downloads.location.suggestion = 'path'
c.downloads.position = 'bottom'
c.downloads.remove_finished = 10000
# c.downloads.open_dispatcher = 'linkhandler'
#+END_SRC
* File Select
#+begin_src python
c.fileselect.handler = "default"
# c.fileselect.single_file.command = ['termine', '-e', 'ranger', '--choosefile', '{}']
# c.fileselect.multiple_files.command = ['termite', '-e', 'ranger', '--choosefiles', '{}']
# c.fileselect.multiple_files.command = ['alacritty', '-e', 'ranger', '--choosefiles', '{}']
#+end_src
* Colors
@ -167,7 +168,6 @@ c.tabs.wrap = False
#+begin_src python
c.url.searchengines = {
'DEFAULT': 'https://www.duckduckgo.org/?q={}',
'aw': 'https://wiki.archlinux.org/?search={}',
'wi': 'https://en.wikipedia.org/wiki/Special:Search?search={}',
'go': 'https://www.google.com/search?q={}',
'gc': 'https://scholar.google.fr/scholar?hl=fr&as_sdt=0%2C5&q={}&btnG=',
@ -180,9 +180,9 @@ c.url.searchengines = {
'sm': 'https://www.openstreetmap.org/search?query={}',
'am': 'https://www.amazon.fr/s?k={}',
'md': 'https://fr.mathworks.com/help/search.html?qdoc={}&submitsearch=',
'js': 'https://developer.mozilla.org/en-US/search?q={}',
'tf': 'https://translate.google.com/#view=home&op=translate&sl=en&tl=fr&text={}',
'te': 'https://translate.google.com/#view=home&op=translate&sl=fr&tl=en&text={}',
'lb': 'https://www.leboncoin.fr/recherche?text={}',
}
#+end_src
@ -271,82 +271,113 @@ config.bind('gs', 'open -t qute://settings')
* Custom Bindings
Create a Password for the current website
#+begin_src python
config.bind(',P', 'spawn --userscript ~/.config/qutebrowser/userscripts/add-passowrd.sh')
c.aliases['Password_Add'] = 'spawn --userscript ~/.config/qutebrowser/userscripts/add-passowrd.sh'
config.bind(',P', 'Password_Add')
#+end_src
Use Pass to fill password and username (configuration is done in =~/.config/qutebrowser/password_fill_rc=)
#+begin_src python
config.bind(',p', 'spawn --userscript password_fill')
c.aliases['Password_Fill'] = 'spawn --userscript password_fill'
config.bind(',p', 'Password_Fill')
#+END_SRC
Get Two Factor Authentication number.
#+begin_src python
c.aliases['OTP'] = 'spawn --userscript ~/.config/qutebrowser/userscripts/get-otp.sh'
config.bind(',2', 'OTP')
#+END_SRC
Open Youtube video using =mpv=
#+begin_src python
config.bind(',m', 'spawn --detach mpv --force-window yes {url}')
config.bind(',M', 'hint links spawn --detach mpv --force-window yes {hint-url}')
c.aliases['MPV_view'] = 'spawn --detach mpv --force-window yes {url}'
config.bind(',m', 'MPV_view')
c.aliases['MPV_view_hint'] = 'hint links spawn --detach mpv --force-window yes {hint-url}'
config.bind(';m', 'MPV_view_hint')
#+END_SRC
Download Youtube video / entire playlist
#+begin_src python
config.bind(',v', 'spawn --userscript ~/.config/qutebrowser/userscripts/yt-download.sh {url}')
config.bind(',V', 'hint links spawn --userscript ~/.config/qutebrowser/userscripts/yt-download.sh {hint-url}')
c.aliases['Download_Youtube'] = 'spawn --userscript ~/.config/qutebrowser/userscripts/yt-download.sh {url}'
config.bind(',v', 'Download_Youtube')
c.aliases['Download_Youtube_hint'] = 'hint links spawn --userscript ~/.config/qutebrowser/userscripts/yt-download.sh {hint-url}'
config.bind(';v', 'Download_Youtube_hint')
#+END_SRC
Add page to Bookmarks using =buku=
Add page to Bookmarks using =linkding=
#+begin_src python
config.bind(',b', 'spawn --userscript ~/.config/qutebrowser/userscripts/buku-add.sh')
config.bind(',B', 'spawn --userscript ~/.config/qutebrowser/userscripts/buku-rofi.sh')
c.aliases['Bookmark_Add'] = 'spawn --userscript ~/.config/qutebrowser/userscripts/linkding-add.sh'
config.bind(',b', 'Bookmark_Add')
#+end_src
Download with =aria2c=
#+begin_src python
config.bind(',d', 'hint links spawn --userscript ~/.config/qutebrowser/userscripts/aria2c-add.sh {hint-url}')
config.bind(',D', 'hint links spawn --userscript ~/.config/qutebrowser/userscripts/aria2c-add-homelab.sh {hint-url}')
c.aliases['Download_Local'] = 'hint links spawn --userscript ~/.config/qutebrowser/userscripts/aria2c-add.sh {hint-url}'
config.bind(',d', 'Download_Local')
c.aliases['Download_Homelab'] = 'hint links spawn --userscript ~/.config/qutebrowser/userscripts/aria2c-add-homelab.sh {hint-url}'
config.bind(',D', 'Download_Homelab')
#+end_src
Open bookmark using =buku=
Open bookmark using =linkding=
#+begin_src python
config.bind(',o', 'spawn ~/.local/bin/bukurun')
c.aliases['Open_Bookmark'] = 'spawn --userscript ~/.config/qutebrowser/userscripts/linkding-open.sh'
config.bind(',o', 'Open_Bookmark')
#+end_src
Open with =linkhandler=
#+begin_src python
c.aliases['Open_Default'] = 'hint links spawn --detach linkhandler {hint-url}'
config.bind(',O', 'Open_Default')
#+end_src
Org Capture
#+begin_src python
config.bind(',r', 'spawn --userscript ~/.config/qutebrowser/userscripts/org-capture.sh')
config.bind(',R', 'hint links userscript ~/.config/qutebrowser/userscripts/org-capture.sh')
c.aliases['Org_Capture'] = 'spawn --userscript ~/.config/qutebrowser/userscripts/org-capture.sh'
config.bind(',r', 'Org_Capture')
c.aliases['Org_Capture_hint'] = 'hint links userscript ~/.config/qutebrowser/userscripts/org-capture.sh'
config.bind(';R', 'Org_Capture_hint')
#+end_src
Screenshot of webpage to png
#+begin_src python
config.bind(',s', 'spawn --userscript ~/.config/qutebrowser/userscripts/html-to-pdf.sh')
config.bind(',S', 'spawn --userscript ~/.config/qutebrowser/userscripts/html-to-png.sh')
c.aliases['Save_PDF'] = 'spawn --userscript html-to-pdf.sh'
config.bind(',s', 'Save_PDF')
c.aliases['Save_PNG'] = 'spawn --userscript html-to-png.sh'
config.bind(',S', 'Save_PNG')
#+end_src
Download AES video
#+begin_src python
config.bind(',E', 'spawn --userscript ~/.config/qutebrowser/userscripts/aes-download.sh')
c.aliases['Download_AES'] = 'spawn --userscript aes-download.sh'
config.bind(',E', 'Download_AES')
#+end_src
Download a torrent
#+begin_src python
config.bind(',t', 'hint links spawn torrent-add {hint-url}')
#+end_src
Annotate with Hypothesis
#+begin_src python
config.bind(',a', "jseval javascript:(function(){window.hypothesisConfig=function(){return{showHighlights:true,appType:'bookmarklet'};};var d=document,s=d.createElement('script');s.setAttribute('src','https://hypothes.is/embed.js');d.body.appendChild(s)})();")
c.aliases['Download_Torrent_Homelab'] = 'hint links spawn torrent-add {hint-url}'
config.bind(',t', 'Download_Torrent_Homelab')
#+end_src
See Amazon price history using CamelCamelCamel
#+begin_src python
config.bind(',A', "open -t https://fr.camelcamelcamel.com/search?sq={url}")
c.aliases['CamelCamelCamel'] = 'open -t https://fr.camelcamelcamel.com/search?sq={url}'
config.bind(',A', 'CamelCamelCamel')
#+end_src
Org Roam Entry for the current page
#+begin_src python
config.bind(',R', "open javascript:void(location.href='org-protocol://roam-ref?template=r&ref='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title))")
c.aliases['Org_Roam_Save'] = "open javascript:void(location.href='org-protocol://roam-ref?template=r&ref='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title))"
config.bind(',R', 'Org_Roam_Save')
#+end_src
Display Current URL as a QRcode (useful to open in on a phone).
#+begin_src python
config.bind(',Z', "open -w https://bm.tdehaeze.xyz/bookmarks/new?url={url}&auto_close")
c.aliases['QRcode'] = "spawn --userscript ~/.config/qutebrowser/userscripts/url-to-qrcode.sh {url}"
config.bind(',q', 'QRcode')
#+end_src
* Userscripts
@ -357,6 +388,8 @@ config.bind(',Z', "open -w https://bm.tdehaeze.xyz/bookmarks/new?url={url}&auto_
:header-args:python+: :comments both :mkdirp yes
:END:
[[https://qutebrowser.org/doc/userscripts.html][Here]] is the documentation related to userscripts.
** Create a new password
#+begin_src bash :tangle ~/.config/qutebrowser/userscripts/add-passowrd.sh
url=$(echo "$QUTE_URL" | awk -F[/:] '{print $4}' | rofi -p "URL" -dmenu -lines 1)
@ -562,6 +595,42 @@ Send to Emacs
emacsclient "org-protocol://capture?template=$template&url=$url&title=$heading&body=$body"
#+end_src
** Open Bookmark with Linkding
#+begin_src bash :tangle ~/.config/qutebrowser/userscripts/linkding-open.sh
# Verify that environment variable are set
if [[ -z "${LINKDING_URL}" ]]; then
LINKDING_URL=$(pass nas/linkding_url)
fi
if [[ -z "${LINKDING_TOKEN}" ]]; then
LINKDING_TOKEN=$(pass nas/linkding_token)
fi
curl -H "Authorization: Token ${LINKDING_TOKEN}" ${LINKDING_URL}/api/bookmarks/ | jq '.results[] | "\(.title) - \(.url) - [#\((.tag_names | join(", #")))]"' -r | rofi -dmenu -no-custom | grep -Eo 'https?://[^ ]+' | head -1 | xargs -I {} echo "open -t {}" >> "$QUTE_FIFO"
#+end_src
** Add Url to Linkding
#+begin_src bash :tangle ~/.config/qutebrowser/userscripts/linkding-add.sh
# Verify that environment variable are set
if [[ -z "${LINKDING_URL}" ]]; then
LINKDING_URL=$(pass nas/linkding_url)
fi
if [[ -z "${LINKDING_TOKEN}" ]]; then
LINKDING_TOKEN=$(pass nas/linkding_token)
fi
title=$(echo "$QUTE_TITLE" | rofi -p "Title" -dmenu -lines 1)
existing_tags=$(curl -H "Authorization: Token ${LINKDING_TOKEN}" ${LINKDING_URL}/api/tags/ | jq '.results[].name' -r | rofi -multi-select -p "Existing tags" -dmenu)
new_tags=$(rofi -p "New tags" -dmenu)
formated_tags=$(echo $existing_tags $new_tags | sed -E 's/(\w+)/"\1"/g;s/\s/,/g')
curl -H "Authorization: Token ${LINKDING_TOKEN}" -H "Content-Type: application/json" -d "{\"url\": \"$QUTE_URL\", \"title\": \"$title\", \"tag_names\": [$formated_tags]}" ${LINKDING_URL}/api/bookmarks/ && \
dunstify "Linkding" " Bookmark Added" || \
dunstify --urgency=critical "Linkding" "Failed"
#+end_src
** Add Url to Buku using Rofi
#+begin_src bash :tangle ~/.config/qutebrowser/userscripts/buku-rofi.sh
title=$(echo "$QUTE_TITLE" | rofi -p "Title" -dmenu -lines 1)
@ -592,7 +661,7 @@ dl-add $(echo "$1" | sed 's/\&af=.*$//g') && \
dunstify "Aria2" "Error"
#+end_src
** Screenshot
** Save to PNG
#+begin_src bash :tangle ~/.config/qutebrowser/userscripts/html-to-png.sh
filename=$(rofi -p "filename" -dmenu -lines 1)
@ -614,6 +683,16 @@ if [ -n "$filename" ]; then
fi
#+end_src
** Get OTP number
#+begin_src bash :tangle ~/.config/qutebrowser/userscripts/get-otp.sh
passname=$(ls ~/.password-store/totp-* | xargs -n 1 basename | sed -e 's/\..*$//' | rofi -p "TOPT" -dmenu)
if [ -n "$passname" ]; then
pass otp $passname | xsel -ib && \
dunstify 'OTP' 'copied to clipboard.' &
fi
#+end_src
** Download AES video
#+begin_src bash :tangle ~/.config/qutebrowser/userscripts/aes-download.sh
m3u8_path=`curl -L -s "$QUTE_URL" | pcregrep -o1 "file = \"\/(.*aes.*mp4)\""`
@ -627,3 +706,8 @@ else
dunstify "Qutebrowser" "$QUTE_TITLE Downloaded"
fi
#+end_src
** Display URL as a QRcode
#+begin_src bash :tangle ~/.config/qutebrowser/userscripts/url-to-qrcode.sh
qrencode -o /tmp/qrcode.png "$1" && sxiv /tmp/qrcode.png
#+end_src

View File

@ -180,67 +180,55 @@ alias travel scout -aefiklst
#+END_SRC
** Some Custom Keybindings
Extract
Extract:
#+BEGIN_SRC conf
map ,x shell ~/.config/ranger/scripts/extract.sh %f
#+END_SRC
Compress
Compress:
#+BEGIN_SRC conf
map ,z shell ~/.config/ranger/scripts/compress.sh %f
#+END_SRC
Get Bibtex from PDF
Get Bibtex from PDF:
#+BEGIN_SRC conf
map ,b shell pdf2bib %f
#+END_SRC
Delete first page of pdf
#+BEGIN_SRC conf
map ,d shell pdf-delete-first-page %f
#+END_SRC
Convert images/pdf/...
Convert images/pdf/...:
#+BEGIN_SRC conf
map ,c shell convert-file %f
#+END_SRC
Magit Status
#+BEGIN_SRC conf
map ,gs shell emacsclient -create-frame --alternate-editor="" -n --eval '(magit-status)'
#+END_SRC
Open SXIV on current directory
Open SXIV on current directory:
#+BEGIN_SRC conf
map ,s shell nohup sxiv -t %d &
#+END_SRC
Upload with 0x0 / self hosted Tansfer.sh
Upload to https://0x0.st/:
#+BEGIN_SRC conf
map ,t shell upload %f
map ,T shell share %f
#+END_SRC
Open current folder with PCManFM
Open current folder with PCManFM:
#+begin_src conf
map ,o shell nohup pcmanfm %d &
#+end_src
Open with Emacs
#+begin_src conf
map ,e shell emacsclient -create-frame --alternate-editor="" -n %f
#+end_src
Print on Rnice
Print on Rnice:
#+BEGIN_SRC conf
map ,p shell print-rnice %f &
#+END_SRC
Backup to NAS
Backup to NAS:
#+BEGIN_SRC conf
map ,B shell ~/.config/ranger/scripts/backup-to-nas.sh %s &
#+END_SRC
#+begin_src conf
map ,y shell ~/.config/ranger/scripts/copy-content.sh %s &
#+end_src
** Scripts
*** Extract Script
:PROPERTIES:
@ -250,9 +238,9 @@ map ,B shell ~/.config/ranger/scripts/backup-to-nas.sh %s &
:END:
#+begin_src bash
if [ $TMUX ]; then
tmux split -v -l 2 atool -x $1 && tmux select-pane -U
tmux split -v -l 2 atool -x "$1" && tmux select-pane -U
else
atool -x $1
atool -x "$1"
fi
#+end_src
@ -264,14 +252,24 @@ fi
:END:
#+begin_src bash
if [ $TMUX ]; then
tmux split -v -l 2 apack ${1%.*}.zip $1 && tmux select-pane -U
tmux split -v -l 2 apack "${1%.*}.zip" "$1" && tmux select-pane -U
else
apack ${1%.*}.zip $1
apack "${1%.*}.zip" "$1"
fi
#+end_src
*** Backup to NAS
*** Copy File Content
:PROPERTIES:
:header-args: :tangle ~/.config/ranger/scripts/copy-content.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
xclip -sel c < "$1" && dunstify "Ranger" "Copied to clipboard"
#+end_src
*** TODO [#B] Backup to NAS
:PROPERTIES:
:header-args: :tangle ~/.config/ranger/scripts/backup-to-nas.sh
:header-args+: :comments both :mkdirp yes
@ -282,9 +280,9 @@ fi
#+begin_src bash
if [ $TMUX ]; then
tmux split -v -l 2 rsync -a --inplace --info=progress2 --rsh='ssh -p10022' "$@" nas:/volume1/Data/Downloads/Backup/ && tmux select-pane -U
tmux split -v -l 2 rsync -a --inplace --info=progress2 --rsh='ssh ' "$@" homelab:/srv/storage/Backups/ && tmux select-pane -U
else
rsync -a --info=progress2 --inplace --rsh='ssh -p10022' "$@" nas:/volume1/Data/Downloads/Backup/
rsync -a --info=progress2 --inplace --rsh='ssh' "$@" homelab:/srv/storage/Backups/
fi
#+end_src
@ -396,7 +394,7 @@ map gh cd ~/
map gb cd ~/Cloud/brain
map gm cd ~/Cloud/thesis
map gp cd ~/Pictures
map gP cd ~/Cloud/personal
map gP cd ~/Cloud/pictures/phone
map gT cd ~/.local/share/Trash/files
map gd cd ~/Downloads
map gc cd ~/Cloud
@ -512,8 +510,11 @@ map <C-f> fzf_select
#+BEGIN_SRC conf
cmap <tab> eval fm.ui.console.tab()
cmap <s-tab> eval fm.ui.console.tab(-1)
cmap <ESC> eval fm.ui.console.close()
cmap <CR> eval fm.ui.console.execute()
cmap <C-l> redraw_window
copycmap <ESC> <C-c>
@ -526,8 +527,6 @@ cmap <up> eval fm.ui.console.history_move(-1)
cmap <down> eval fm.ui.console.history_move(1)
cmap <left> eval fm.ui.console.move(left=1)
cmap <right> eval fm.ui.console.move(right=1)
cmap <home> eval fm.ui.console.move(right=0, absolute=True)
cmap <end> eval fm.ui.console.move(right=-1, absolute=True)
#+END_SRC
*** Line Editing
@ -542,11 +541,13 @@ copycmap <end> <C-e>
* Rifle
:PROPERTIES:
:CUSTOM_ID: rifle
:header-args: :tangle ~/.config/ranger/rifle.conf
:header-args+: :comments both :mkdirp yes
:END:
#+BEGIN_SRC conf
** Documentation
#+BEGIN_SRC conf :tangle no
# This is the configuration file of "rifle", ranger's file executor/opener.
# Each line consists of conditions and a command. For each line the conditions
# are checked and if they are met, the respective command is run.
@ -594,160 +595,139 @@ copycmap <end> <C-e>
# implementation may differ.
# Note: When using rifle in ranger, there is an additional flag "c" for
# only running the current file even if you have marked multiple files.
#+END_SRC
#-------------------------------------------
# Websites
#-------------------------------------------
# Rarely installed browsers get higher priority; It is assumed that if you
# install a rare browser, you probably use it. Firefox/konqueror/w3m on the
# other hand are often only installed as fallback browsers.
ext x?html?, has qutebrowser, X, flag f = qutebrowser -- "$@"
ext x?html?, has firefox, X, flag f = firefox -- "$@"
ext x?html?, has elinks, terminal = elinks "$@"
ext x?html?, has links2, terminal = links2 "$@"
ext x?html?, has links, terminal = links "$@"
ext x?html?, has lynx, terminal = lynx -- "$@"
ext x?html?, has w3m, terminal = w3m "$@"
#Spreadsheets for scim
ext sc|csv|sxc|xlsx?|xlt|xlw|gnm|gnumeric, = sc-im -- "$@"
#-------------------------------------------
# Misc
#-------------------------------------------
ext org = emacsclient -c "$1"
# Define the "editor" for text files as first action
** Text Files
Define the =$EDITOR= for text files as first action:
#+BEGIN_SRC conf
mime ^text, label editor = $EDITOR -- "$@"
mime ^text, label pager = "$PAGER" -- "$@"
#+END_SRC
Favorite editors:
#+begin_src conf
mime ^text, has nvim, flag f = nvim "$@"
mime ^text, has emacsclient, X, flag f = emacsclient -c "$@"
#+end_src
Org mode files
#+BEGIN_SRC conf
ext org, has emacsclient, X, flag f = emacsclient -c "$@"
#+END_SRC
#+BEGIN_SRC conf
!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php = $EDITOR -- "$@"
!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
ext 1 = man "$1"
ext s[wmf]c, has zsnes, X = zsnes "$1"
ext s[wmf]c, has snes9x-gtk,X = snes9x-gtk "$1"
ext nes, has fceux, X = fceux "$1"
ext exe = wine "$1"
name ^[mM]akefile$ = make
#--------------------------------------------
# Code
#-------------------------------------------
ext py = python -- "$1"
ext pl = perl -- "$1"
ext rb = ruby -- "$1"
ext js = node -- "$1"
ext sh = sh -- "$1"
ext php = php -- "$1"
#+END_SRC
#--------------------------------------------
# Video/Audio with a GUI
#-------------------------------------------
mime ^video, has mpv, X, flag f = mpv -- "$@"
mime ^video, has mpv, X, flag f = mpv --fs -- "$@"
mime ^video, has mpv, X, flag f = mpv --loop -- "$@"
** PDF, Epub and jdvu
#+BEGIN_SRC conf
ext pdf, has zathura, X, flag f = zathura -- "$@"
ext pdf, has mupdf, X, flag f = mupdf "$@"
ext pdf, X, flag f = "$BROWSER" "$@"
#+END_SRC
#--------------------------------------------
# Audio without X
#-------------------------------------------
mime ^audio|ogg$, terminal, has mpv = mpv --no-audio-display -- "$@"
mime ^audio|ogg$ = tag "$@"
mime ^audio|ogg$, terminal, has mpv = mpv -- "$@"
#+BEGIN_SRC conf
ext epub, has zathura, X, flag f = zathura -- "$@"
ext epub, has mupdf, X, flag f = mupdf "$@"
#+END_SRC
#--------------------------------------------
# Video without X:
#-------------------------------------------
mime ^video, terminal, !X, has mpv = mpv -- "$@"
mime ^video, terminal, !X, has mplayer2 = mplayer2 -- "$@"
mime ^video, terminal, !X, has mplayer = mplayer -- "$@"
#+BEGIN_SRC conf
ext djvu, has zathura, X, flag f = zathura -- "$@"
ext djvu, has evince, X, flag f = evince -- "$@"
ext djvu, has atril, X, flag f = atril -- "$@"
#+END_SRC
#-------------------------------------------
# Documents
#-------------------------------------------
ext pdf, has zathura, X, flag f = zathura -- "$@"
ext pdf, has llpp, X, flag f = llpp "$@"
ext pdf, has mupdf, X, flag f = mupdf "$@"
ext pdf, has mupdf, X, flag f = mupdf -I "$@"
ext pdf, has mupdf-x11,X, flag f = mupdf-x11 "$@"
ext pdf, has apvlv, X, flag f = apvlv -- "$@"
ext pdf, has xpdf, X, flag f = xpdf -- "$@"
ext pdf, has evince, X, flag f = evince -- "$@"
ext pdf, has atril, X, flag f = atril -- "$@"
ext pdf, has okular, X, flag f = okular -- "$@"
ext pdf, has epdfview, X, flag f = epdfview -- "$@"
ext pdf, has qpdfview, X, flag f = qpdfview "$@"
** Archives
#+BEGIN_SRC conf
ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool -- "$@" | "$PAGER"
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool -- "$@" | "$PAGER"
ext epub, has zathura, X, flag f = zathura -- "$@"
ext epub, has mupdf, X, flag f = mupdf "$@"
ext docx?, has wps, X, flag f = wps "$@"
ext docx?, has onlyoffice, X, flag f = onlyoffice "$@"
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has wpp, X, flag f = wpp "$@"
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has gnumeric, X, flag f = gnumeric -- "$@"
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has kspread, X, flag f = kspread -- "$@"
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@"
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has soffice, X, flag f = soffice "$@"
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f = ooffice "$@"
ext djvu, has zathura,X, flag f = zathura -- "$@"
ext djvu, has evince, X, flag f = evince -- "$@"
ext djvu, has atril, X, flag f = atril -- "$@"
#-------------------------------------------
# Image Viewing:
#-------------------------------------------
mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@"
mime ^image/svg, has display, X, flag f = display -- "$@"
mime ^image/gif, has mpv, X, flag f = mpv --loop -- "$@"
mime ^image/gif, has viewnior, X, flag f = viewnior -- "$@"
mime ^image/gif, has qutebrowser, X, flag f = qutebrowser -- "$@"
ext xcf, X, flag f = gimp -- "$@"
mime ^image, has sxiv, X, flag f = sxiv -- "$@"
mime ^image, has feh, X, flag f = feh --scale-down --auto-zoom --image-bg black -- "$@"
mime ^image, has feh, X, flag f = feh --scale-down --auto-zoom -- "$@"
mime ^image, has mirage, X, flag f = mirage -- "$@"
mime ^image, has ristretto, X, flag f = ristretto "$@"
mime ^image, has eog, X, flag f = eog -- "$@"
mime ^image, has eom, X, flag f = eom -- "$@"
mime ^image, has gimp, X, flag f = gimp -- "$@"
mime ^image, has pinta, X, flag f = pinta -- "$@"
mime ^image, has mypaint, X, flag f = mypaint -- "$@"
mime ^image, has kolourpaint, X, flag f = kolourpaint -- "$@"
#-------------------------------------------
# Archives
#-------------------------------------------
# This requires atool
ext jar = java -jar "$@"
ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has als = als -- "$@" | "$PAGER"
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has als = als -- "$@" | "$PAGER"
ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has aunpack = aunpack -- "$@"
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has aunpack = aunpack -- "$@"
# Fallback:
ext tar|gz, has tar = tar vvtf "$@" | "$PAGER"
ext tar|gz, has tar = tar vvxf "$@"
#+END_SRC
#-------------------------------------------
# Misc
#-------------------------------------------
label wallpaper, number 11, mime ^image, has feh, X = feh --bg-scale "$1"
label wallpaper, number 12, mime ^image, has feh, X = feh --bg-tile "$1"
label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1"
label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1"
** Websites
#+BEGIN_SRC conf
ext x?html?, has qutebrowser, X, flag f = qutebrowser -- "$@"
ext x?html?, has firefox, X, flag f = firefox -- "$@"
ext x?html?, has elinks, terminal = elinks "$@"
ext x?html?, has w3m, terminal = w3m "$@"
#+END_SRC
** Word, Excel and Presentation files
#+BEGIN_SRC conf
ext docx?, has onlyoffice, X, flag f = onlyoffice "$@"
ext docx?, has wps, X, flag f = wps "$@"
ext docx?, has libreoffice, X, flag f = libreoffice "$@"
#+END_SRC
#+begin_src conf
ext pptx?, has onlyoffice, X, flag f = onlyoffice "$@"
ext pptx?, has wps, X, flag f = wps "$@"
ext pptx?, has libreoffice, X, flag f = libreoffice "$@"
#+end_src
#+begin_src conf
ext csv|xlsx?, has sc-im = sc-im -- "$@"
ext csv|xlsx?, has onlyoffice, X, flag f = onlyoffice "$@"
ext csv|xlsx?, has wps, X, flag f = wps "$@"
ext csv|xlsx?, has libreoffice, X, flag f = libreoffice "$@"
#+end_src
** Images
#+BEGIN_SRC conf
mime ^image/svg, has inkview, X, flag f = inkview -- "$@"
mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@"
mime ^image/svg, has display, X, flag f = display -- "$@"
#+END_SRC
#+BEGIN_SRC conf
mime ^image/gif, has mpv, X, flag f = mpv --loop -- "$@"
mime ^image/gif, has qutebrowser, X, flag f = qutebrowser -- "$@"
#+END_SRC
#+BEGIN_SRC conf
mime ^image, has sxiv, X, flag f = sxiv -- "$@"
mime ^image, has feh, X, flag f = feh --scale-down --auto-zoom -- "$@"
#+END_SRC
** Audio
#+BEGIN_SRC conf
mime ^audio|ogg$, terminal, has mpv = mpv --no-audio-display -- "$@"
mime ^audio|ogg$, X, flag f, has vlc = vlc -- "$@"
#+END_SRC
** Video
#+BEGIN_SRC conf
mime ^video, has mpv, X, flag f = mpv -- "$@"
mime ^video, has vlc, X, flag f = vlc -- "$@"
#+END_SRC
** Misc
#+BEGIN_SRC conf
ext 1 = man "$1"
ext s[wmf]c, has zsnes, X = zsnes "$1"
ext s[wmf]c, has snes9x-gtk,X = snes9x-gtk "$1"
ext nes, has fceux, X = fceux "$1"
ext exe = wine "$1"
name ^[mM]akefile$ = make
#+END_SRC
#+BEGIN_SRC conf
# Define the editor for non-text files + pager as last action
!mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ask
label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = $EDITOR -- "$@"
label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
ext blend, has blender, X, flag f = blender -- "$@"
has dragon-drag-and-drop, X, flag f = dragon-drag-and-drop -a -x "$@"
#+END_SRC
@ -795,3 +775,4 @@ class fzf_select(Command):
else:
self.fm.select_file(fzf_file)
#+end_src

34
router.org Normal file
View File

@ -0,0 +1,34 @@
#+TITLE: Open-WRT Router (Netgear R7000)
#+SETUPFILE: ./setup/org-setup-file.org
* Installation
** Freebox - Bridge mode
https://blog.kulakowski.fr/post/openwrt-derriere-une-freebox-ipv6-dmz-et-bridge
** Enable SSL
How can I enable SSL for the web admin gui?
In an SSH-command line, run opkg update, then install the package opkg install luci-ssl, then restart the router. Then you can access https://192.168.1.1 or https://openwrt with your favorite web browser
** Install useful packages
#+begin_src bash
opkg update && opkg install luci-ssl-openssl luci-theme-material ipset curl diffutils speedtest-netperf kmod-ipt-nat6
#+end_src
* Update
#+begin_src bash
opkg list-upgradable | cut -f 1 -d ' ' | xargs -r opkg upgrade
#+end_src
* Configuration
https://openwrt.org/docs/guide-user/base-system/uci#common_principles
Configuration files are in =/etc/config=.
| *File* | *Description* |
|------------------------+------------------------------------------------|
| =/etc/config/dhcp= | Dnsmasq and odhcpd settings: DNS, DHCP, DHCPv6 |
| =/etc/config/dropbear= | SSH server options |
| =/etc/config/firewall= | NAT, packet filter, port forwarding, etc. |
| =/etc/config/network= | Switch, interface and route configuration: |
| =/etc/config/system= | Misc. system settings, NTP, RNG, Watchcat |
| =/etc/config/wireless= | Wireless settings and wifi network definition |

View File

@ -134,7 +134,7 @@ super + Return
# File Manager
super + o
$TERMINAL -e "tmux new-session -A -s ranger ranger"
$TERMINAL -e tmux new-session -A -s ranger ranger
# Browser
super + i
@ -142,7 +142,7 @@ super + i
# Mails with neomutt
super + m
$TERMINAL -e "tmux new-session -A -s neomutt neomutt"
$TERMINAL -e tmux new-session -A -s neomutt neomutt
# Emacs Client
super + e
@ -153,7 +153,7 @@ super + e
#+begin_src conf
# Network Manager
super + shift + w
$TERMINAL -e 'sudo nmtui'
$TERMINAL --title nmtui -e sudo nmtui
# Bluetooth Manager
super + shift + b
@ -166,9 +166,7 @@ super + shift + c
# Sound Manager
super + shift + s
pavucontrol
#+end_src
#+begin_src conf
# Bookmarks
super + shift + f
bukurun
@ -179,15 +177,10 @@ super + shift + p
#+end_src
* =Super + Space= - Command Mode
#+begin_src conf
# Command line Calendar Client (khal)
super + space ; c
$TERMINAL -e "khal interactive"
# GUI Calendar (Google Calendar)
super + space ; shift + c
$BROWSER https://calendar.google.com/
$TERMINAL --title khal -e ikhal
# pcmanfm: GUI file manager
super + space ; o
@ -195,27 +188,19 @@ super + space ; o
# Download with Aria2c
super + space ; d
$TERMINAL -e "tmux new-session -A -s aria2p aria2p --port 6800 --host http://dl.tdehaeze.xyz --secret $(pass dl.tdehaeze.xyz/tdehaeze | sed -n 1p)"
$TERMINAL -e tmux new-session -A -s aria2p aria2p --port 6800 --host http://dl.tdehaeze.xyz --secret $(pass dl.tdehaeze.xyz/tdehaeze | sed -n 1p)
# Run another instance of Neomutt in read-only mode
super + space ; m
$TERMINAL -e "neomutt -R"
# Weechat
super + space ; w
$TERMINAL -e "tmux new-session -A -s weechat weechat"
$TERMINAL -e neomutt -R
# News with newsboat
super + space ; n
$TERMINAL -e "tmux new-session -A -s newsboat newsboat"
$TERMINAL -e tmux new-session -A -s newsboat newsboat
# Music with ncmpcpp
super + space ; p
$TERMINAL -e "tmux new-session -A -s ncmpcpp ncmpcpp"
# Print Screen
super + space ; shift + p
$HOME/.local/bin/mopidy-restart
$TERMINAL -e tmux new-session -A -s ncmpcpp ncmpcpp
# Default Browser
super + space ; i
@ -223,7 +208,7 @@ super + space ; i
# Start Torrent Managaer
super + space ; t
$TERMINAL -e "tremc"
$TERMINAL -e tremc
# Emacs
super + space ; e

View File

@ -294,7 +294,7 @@ Wants=network-online.target
After=network-online.target
[Service]
ExecStart=/usr/bin/vdirsyncer --verbosity "ERROR" sync
ExecStart=/home/thomas/.local/bin/vdirsyncer --verbosity "ERROR" sync
Type=oneshot
#+end_src
@ -377,3 +377,39 @@ Restart=on-failure
[Install]
WantedBy=default.target
#+end_src
* =trash-empty= - Empty the trash for files older than 30 days
** Service
:PROPERTIES:
:header-args: :tangle ~/.config/systemd/user/trash-empty.service
:header-args+: :comments both :mkdirp yes
:END:
#+begin_src conf
[Unit]
Description=Empty the trash for files older than 30 days
Documentation=https://github.com/andreafrancia/trash-cli
[Service]
ExecStart=/home/thomas/.local/bin/trash-empty 30
Type=oneshot
#+end_src
** Timer
:PROPERTIES:
:header-args: :tangle ~/.config/systemd/user/trash-empty.timer
:header-args+: :comments both :mkdirp yes
:END:
#+begin_src conf
[Unit]
Description=Empty trash
[Timer]
OnCalendar=*-*-* 16:00:00
Persistent=true
Unit=trash-empty
[Install]
WantedBy=timers.target
#+end_src

View File

@ -1,118 +0,0 @@
#+TITLE: Termite Configuration
#+SETUPFILE: ./setup/org-setup-file.org
#+PROPERTY: header-args+ :comments both
#+PROPERTY: header-args+ :mkdirp yes
#+PROPERTY: header-args+ :tangle ~/.config/termite/config
* Options
#+BEGIN_SRC conf
[options]
#allow_bold = true
#audible_bell = false
#bold_is_bright = true
clickable_url = true
#dynamic_title = true
font = Hack Nerd Font Mono 13px
#fullscreen = true
#icon_name = terminal
mouse_autohide = true
#scroll_on_output = false
#scroll_on_keystroke = true
# Length of the scrollback buffer, 0 disabled the scrollback buffer
# and setting it to a negative value means "infinite scrollback"
scrollback_lines = -1
search_wrap = true
#urgent_on_bell = true
#hyperlinks = false
# $BROWSER is used by default if set, with xdg-open as a fallback
#browser = xdg-open
# Hide links that are no longer valid in url select overlay mode
#filter_unmatched_urls = true
# Emit escape sequences for extra modified keys
#modify_other_keys = false
# set size hints for the window
#size_hints = false
# "off", "left" or "right"
#scrollbar = off
highlight = #2f2f2f
#+END_SRC
* Hints
#+BEGIN_SRC conf
[hints]
#padding = 2
#border = #3f3f3f
#border_width = 0.5
#roundness = 2.0
#+END_SRC
* Colors
#+BEGIN_SRC conf
[colors]
# Base16 Gruvbox dark, soft
# Author: Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)
# fg2
foreground = #d5c4a1
# fg1
foreground_bold = #ebdbb2
cursor = #ebdbb2
# bg0_s
cursor_foreground = #32302f
background = #32302f
# 16 color space
# bg0_s
color0 = #32302f
# bg3
color8 = #665c54
# fb2
color7 = #d5c4a1
# fg0
color15 = #fbf1c7
# Red
color1 = #fb4934
color9 = #fb4934
# Green
color2 = #b8bb26
color10 = #b8bb26
# Yellow
color3 = #fabd2f
color11 = #fabd2f
# Blue
color4 = #83a598
color12 = #83a598
# Purple
color5 = #d3869b
color13 = #d3869b
# Teal
color6 = #8ec07c
color14 = #8ec07c
# Extra colors
# orange
color16 = #fe8019
# orange
color17 = #d65d0e
# bg1
color18 = #3c3836
# bg2
color19 = #504945
# fg3
color20 = #bdae93
# fg
color21 = #ebdbb2
#+END_SRC

View File

@ -28,6 +28,8 @@ alang=en,fr
# Do not close mpv at the end of video
keep-open=yes
script-opts=ytdl_hook-ytdl_path=/usr/bin/yt-dlp
#+end_src
* =input.conf= - MPV Key Bindings

67
vim.org
View File

@ -532,7 +532,7 @@ tnoremap <C-w>l <C-\><C-n><C-w>l
Taken from: https://vi.stackexchange.com/questions/68/autocorrect-spelling-mistakes
#+begin_src vimrc
" Go back to last misspelled word and pick first suggestion.
inoremap <C-L> <C-G>u<Esc>[s1z=`]a<C-G>u
inoremap <C-L> <c-g>u<Esc>[s1z=`]a<c-g>u
" Select last misspelled word (typing will edit).
nnoremap <C-K> <Esc>[sve<C-G>
@ -552,6 +552,35 @@ let g:which_key_map_local = {}
#+begin_src vimrc
autocmd FileType mail set spell spelllang=en_us,fr
autocmd FileType mail set textwidth=0
function! Mailcomplete(findstart, base)
if a:findstart == 1
let line = getline('.')
let idx = col('.')
while idx > 0
let idx -= 1
let c = line[idx]
if c == ':' || c == '>'
return idx + 2
else
continue
endif
endwhile
return idx
else
return split(system('~/.local/scripts/find-config.sh ' . a:base), '\n')
endif
endfunction
setl omnifunc=Mailcomplete
#+end_src
#+begin_src bash :shebang "#!/usr/bin/env bash" :tangle-mode (identity #o555) :tangle ~/.local/scripts/find-config.sh
search="$@"
contacts=`mu cfind "$search"`
emails=`echo "$contacts" | awk -F' ' '{print "<" $NF ">"}'`
names=`echo "$contacts" | awk -F' ' '{$NF=""; print $0}'`
paste -d "" <(printf %s "$names") <(printf %s "$emails")
#+end_src
** MarkDown
@ -680,7 +709,7 @@ call which_key#register('<Space>', "g:which_key_map")
#+end_src
* Plugins Config
** junegunn/fzf
** =junegunn/fzf=
#+begin_src vimrc
" This is the default extra key bindings
let g:fzf_action = {
@ -715,7 +744,7 @@ endfunction
autocmd! User FzfStatusLine call <SID>fzf_statusline()
#+end_src
** autozimu/LanguageClient-neovim
** =autozimu/LanguageClient-neovim=
#+begin_src vimrc
let g:LanguageClient_serverCommands = {
\ 'matlab': ['java', ' -Djava.library.path=$MATLABROOT/bin/glnxa64 -cp $MATLABROOT/extern/engines/java/jar/engine.jar:$MATLABROOT/java/jar/jmi.jar:/home/thomas/github/matlab-langserver/build/libs/lsp-matlab-0.1.jar org.tokor.lspmatlab.Application'],
@ -728,7 +757,7 @@ nnoremap <silent> gd :call LanguageClient#textDocument_definition()<CR>
nnoremap <silent> <F2> :call LanguageClient#textDocument_rename()<CR>
#+end_src
** JamshedVesuna/vim-markdown-preview
** =JamshedVesuna/vim-markdown-preview=
#+begin_src vimrc
let vim_markdown_preview_github=1
let vim_markdown_preview_browser='Google Chrome'
@ -736,14 +765,14 @@ let vim_markdown_preview_temp_file=1
" let vim_markdown_preview_pandoc=1
#+end_src
** mhinz/vim-signify
** =mhinz/vim-signify=
#+begin_src vimrc
let g:signify_vcs_list = ['git']
let g:signify_disable_by_default = 1
#+end_src
** Deoplete
** =Deoplete=
#+begin_src vimrc
let g:deoplete#enable_at_startup = 1
@ -754,7 +783,7 @@ let g:deoplete#enable_at_startup = 1
" call deoplete#custom#set('ultisnips', 'matchers', ['matcher_fuzzy'])
#+end_src
** SirVer/ultisnips
** =SirVer/ultisnips=
#+begin_src vimrc
let g:UltiSnipsSnippetsDir = '~/.vim/UltiSnip'
@ -764,13 +793,13 @@ let g:UltiSnipsExpandTrigger="<C-j>"
" let g:UltiSnipsJumpBackwardTrigger="<s-tab>"
#+end_src
** honza/vim-snippets
** =honza/vim-snippets=
#+begin_src vimrc
let g:snipMate = {}
let g:snipMate.scope_aliases = {}
#+end_src
** itchyny/lightline.vim
** =itchyny/lightline.vim=
#+begin_src vimrc
function! LightlineObsession()
return '%{ObsessionStatus("")}'
@ -797,25 +826,25 @@ let g:lightline = {
\ }
#+end_src
** Autopairs
** =Autopairs=
#+begin_src vimrc
" Incompatibilité entre auto-pairs et clang-complete
let g:AutoPairsMapCR = 0
imap <silent><CR> <CR><Plug>AutoPairsReturn
#+end_src
** Yggdroot/indentLine
** =Yggdroot/indentLine=
#+begin_src vimrc
" :IndentLinesToggle toggles lines on and off.
let g:indentLine_color_term = 239
#+end_src
** ryanoasis/vim-devicons
** =ryanoasis/vim-devicons=
#+begin_src vimrc
let g:webdevicons_enable_ctrlp = 1
#+end_src
** junegunn/goyo.vim
** =junegunn/goyo.vim=
#+begin_src vimrc
let g:goyo_width=100
let g:goyo_margin_top = 2
@ -850,7 +879,7 @@ autocmd! User GoyoEnter call <SID>goyo_enter()
autocmd! User GoyoLeave call <SID>goyo_leave()
#+end_src
** tpope/vim-surround
** =tpope/vim-surround=
#+begin_src vimrc
vmap Si S(i_<esc>f)
au FileType mako vmap Si S"i${ _(<esc>2f"a) }<esc>
@ -858,7 +887,7 @@ au FileType mako vmap Si S"i${ _(<esc>2f"a) }<esc>
let g:surround_{char2nr('b')} = "__\r__"
#+end_src
** Vim-Markdown
** =Vim-Markdown=
#+begin_src vimrc
let g:vim_markdown_folding_disabled = 1
let g:vim_markdown_conceal = 0
@ -868,7 +897,7 @@ let g:vim_markdown_toml_frontmatter = 1
let g:tex_conceal = ""
#+end_src
** Neomake
** =Neomake=
#+begin_src vimrc
" Latex
autocmd! BufWritePost *.tex Neomake
@ -897,14 +926,14 @@ let g:neomake_matlab_mlint_maker = {
let g:neomake_matlab_enabled_makers = ['mlint']
#+end_src
** lervag/vimtex
** =lervag/vimtex=
#+begin_src vimrc
" let g:tex_conceal=""
" autocmd FileType tex let b:vimtex_main = 'main.tex'
" let g:vimtex_mappings_enabled=0
#+end_src
** jpalardy/vim-slime
** =jpalardy/vim-slime=
#+begin_src vimrc
if exists('$TMUX')
let g:slime_target = "tmux"
@ -913,7 +942,7 @@ if exists('$TMUX')
endif
#+end_src
** mhinz/vim-grepper
** =mhinz/vim-grepper=
#+begin_src vimrc
" nnoremap <leader>G :Grepper -tool ag<cr>
" nmap gs <plug>(GrepperOperator)

View File

@ -23,7 +23,7 @@ Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManage
Then, install all required software using one command:
#+begin_src bash
choco install -y firefox 7zip.install vlc git.install malwarebytes sumatrapdf.install steam anydesk discord f.lux cmder cura ccleaner neovim
choco install -y firefox 7zip.install vlc git.install malwarebytes sumatrapdf.install steam anydesk discord f.lux cmder cura ccleaner neovim imageglass
#+end_src
* Debloat windows10
@ -77,7 +77,7 @@ svc %1 %2 %U -o create_dir_umask=000 -o create_file_umask=111 -o umask=000
Then, to mount the network drive using =sshfs=:
#+begin_src bash
net use X: \\sshfs.kr\thomas@192.168.1.150\srv\storage /persistent:yes
net use X: \\sshfs.kr\thomas@192.168.1.21\srv\storage /persistent:yes
#+end_src
To un-mount it:

View File

@ -98,7 +98,7 @@ tmpfile=/tmp/pdf_page.pdf
# Ideally would get the page from Zathura...
pagenum=$(rofi -dmenu -p "Page Number")
pdftk $1 cat $pagenum output $tmpfile.pdf && \
pdf2svg $tmpfile.pdf $tmpfile.svg && \
inkscape $tmpfile.svg
pdftk "$1" cat $pagenum output "$tmpfile.pdf" && \
pdf2svg "$tmpfile.pdf" "$tmpfile.svg" && \
inkscape "$tmpfile.svg"
#+end_src