Change indentation of all blocks.

Use (setq org-src-preserve-indentation t) for Emacs.
This commit is contained in:
Thomas Dehaeze 2021-01-08 01:26:27 +01:00
parent c5bcaf4562
commit bb14d8239c
44 changed files with 16060 additions and 15852 deletions

View File

@ -8,33 +8,33 @@
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
[Default Applications] [Default Applications]
text/plain=nvim.desktop text/plain=nvim.desktop
x-scheme-handler/magnet=torrent.desktop; x-scheme-handler/magnet=torrent.desktop;
text/x-shellscript=nvim.desktop; text/x-shellscript=nvim.desktop;
image/png=img.desktop; image/png=img.desktop;
image/jpeg=img.desktop; image/jpeg=img.desktop;
image/gif=img.desktop; image/gif=img.desktop;
application/rss+xml=rss.desktop application/rss+xml=rss.desktop
x-scheme-handler/mailto=neomutt.desktop x-scheme-handler/mailto=neomutt.desktop
message/rfc822=neomutt.desktop message/rfc822=neomutt.desktop
application/x-bittorrent=deluge.desktop application/x-bittorrent=deluge.desktop
application/pdf=zathura.desktop application/pdf=zathura.desktop
x-scheme-handler/http=qutebrowser.desktop x-scheme-handler/http=qutebrowser.desktop
x-scheme-handler/https=qutebrowser.desktop x-scheme-handler/https=qutebrowser.desktop
x-scheme-handler/ftp=qutebrowser.desktop x-scheme-handler/ftp=qutebrowser.desktop
x-scheme-handler/chrome=qutebrowser.desktop x-scheme-handler/chrome=qutebrowser.desktop
text/html=qutebrowser.desktop text/html=qutebrowser.desktop
application/x-extension-htm=qutebrowser.desktop application/x-extension-htm=qutebrowser.desktop
application/x-extension-html=qutebrowser.desktop application/x-extension-html=qutebrowser.desktop
application/x-extension-shtml=qutebrowser.desktop application/x-extension-shtml=qutebrowser.desktop
application/xhtml+xml=qutebrowser.desktop application/xhtml+xml=qutebrowser.desktop
application/x-extension-xhtml=qutebrowser.desktop application/x-extension-xhtml=qutebrowser.desktop
application/x-extension-xht=qutebrowser.desktop application/x-extension-xht=qutebrowser.desktop
[Added Associations] [Added Associations]
text/plain=mousepad.desktop; text/plain=mousepad.desktop;
application/x-bittorrent=deluge.desktop; application/x-bittorrent=deluge.desktop;
#+END_SRC #+END_SRC
* Neomutt * Neomutt
@ -43,15 +43,15 @@
:header-args+: :comments both :mkdirp yes :header-args+: :comments both :mkdirp yes
:END: :END:
#+begin_src conf #+begin_src conf
[Desktop Entry] [Desktop Entry]
Name=Neomutt Name=Neomutt
GenericName=Email client GenericName=Email client
Exec=$TERMINAL -e neomutt %u Exec=$TERMINAL -e neomutt %u
Type=Application Type=Application
Icon=/usr/share/icons/Papirus/64x64/apps/mutt.svg Icon=/usr/share/icons/Papirus/64x64/apps/mutt.svg
Categories=Network;Email; Categories=Network;Email;
MimeType=message/rfc822;x-scheme-handler/mailto;application/x-xpinstall; MimeType=message/rfc822;x-scheme-handler/mailto;application/x-xpinstall;
StartupNotify=true StartupNotify=true
#+end_src #+end_src
* Weechat * Weechat
@ -60,18 +60,18 @@
:header-args+: :comments both :mkdirp yes :header-args+: :comments both :mkdirp yes
:END: :END:
#+begin_src conf #+begin_src conf
[Desktop Entry] [Desktop Entry]
Encoding=UTF-8 Encoding=UTF-8
MultipleArgs=false MultipleArgs=false
Terminal=false Terminal=false
Exec=$TERMINAL --class=WeeChat -e 'weechat' Exec=$TERMINAL --class=WeeChat -e 'weechat'
StartupWMClass=WeeChat StartupWMClass=WeeChat
Icon=/usr/share/icons/Papirus/64x64/apps/weechat.svg Icon=/usr/share/icons/Papirus/64x64/apps/weechat.svg
Type=Application Type=Application
Categories=Network;IRCClient; Categories=Network;IRCClient;
StartupNotify=true StartupNotify=true
Name=WeeChat Name=WeeChat
GenericName=IRC Client GenericName=IRC Client
#+end_src #+end_src
* Matlab * Matlab
@ -80,17 +80,17 @@
:header-args+: :comments both :mkdirp yes :header-args+: :comments both :mkdirp yes
:END: :END:
#+begin_src conf #+begin_src conf
[Desktop Entry] [Desktop Entry]
Version=R2020a Version=R2020a
Type=Application Type=Application
Terminal=false Terminal=false
MimeType=text/x-matlab MimeType=text/x-matlab
Exec=/usr/local/MATLAB/R2020a/bin/matlab -desktop -nosplash Exec=/usr/local/MATLAB/R2020a/bin/matlab -desktop -nosplash
Name=MATLAB Name=MATLAB
Icon=matlab Icon=matlab
Categories=Development;Math;Science Categories=Development;Math;Science
Comment=Scientific computing environment Comment=Scientific computing environment
StartupNotify=true StartupNotify=true
#+end_src #+end_src
* Neovim * Neovim
@ -99,18 +99,18 @@
:header-args+: :comments both :mkdirp yes :header-args+: :comments both :mkdirp yes
:END: :END:
#+begin_src conf #+begin_src conf
[Desktop Entry] [Desktop Entry]
Name=Neovim Name=Neovim
GenericName=Text Editor GenericName=Text Editor
Comment=Edit text files Comment=Edit text files
Exec=nvim %F Exec=nvim %F
Terminal=true Terminal=true
Type=Application Type=Application
Keywords=Text;editor; Keywords=Text;editor;
Icon=/usr/share/icons/Papirus/48x48/apps/nvim.svg Icon=/usr/share/icons/Papirus/48x48/apps/nvim.svg
Categories=Utility;TextEditor; Categories=Utility;TextEditor;
StartupNotify=false StartupNotify=false
MimeType=text/english;text/plain;text/x-makefile; MimeType=text/english;text/plain;text/x-makefile;
#+end_src #+end_src
* Images * Images
@ -119,10 +119,10 @@
:header-args+: :comments both :mkdirp yes :header-args+: :comments both :mkdirp yes
:END: :END:
#+begin_src conf #+begin_src conf
[Desktop Entry] [Desktop Entry]
Type=Application Type=Application
Name=Image viewer Name=Image viewer
Exec=/usr/bin/sxiv -a %u Exec=/usr/bin/sxiv -a %u
#+end_src #+end_src
* Org-Protocol * Org-Protocol
@ -131,13 +131,13 @@
:header-args+: :comments both :mkdirp yes :header-args+: :comments both :mkdirp yes
:END: :END:
#+begin_src conf #+begin_src conf
[Desktop Entry] [Desktop Entry]
Name=org-protocol Name=org-protocol
Exec=emacsclient %u Exec=emacsclient %u
Icon=emacs-icon Icon=emacs-icon
Type=Application Type=Application
Terminal=false Terminal=false
MimeType=x-scheme-handler/org-protocol; MimeType=x-scheme-handler/org-protocol;
#+end_src #+end_src
* Ranger * Ranger
@ -146,15 +146,15 @@
:header-args+: :comments both :mkdirp yes :header-args+: :comments both :mkdirp yes
:END: :END:
#+begin_src conf #+begin_src conf
[Desktop Entry] [Desktop Entry]
Type=Application Type=Application
Name=ranger Name=ranger
Comment=Launches the ranger file manager Comment=Launches the ranger file manager
Icon=utilities-terminal Icon=utilities-terminal
Terminal=true Terminal=true
Exec=ranger Exec=ranger
Categories=ConsoleOnly;System;FileTools;FileManager Categories=ConsoleOnly;System;FileTools;FileManager
MimeType=inode/directory;inode/mount-point;x-scheme-handler/ssh;x-scheme-handler/smb;x-scheme-handler/nfs;x-scheme-handler/ftp; MimeType=inode/directory;inode/mount-point;x-scheme-handler/ssh;x-scheme-handler/smb;x-scheme-handler/nfs;x-scheme-handler/ftp;
#+end_src #+end_src
* Emacs Client * Emacs Client
:PROPERTIES: :PROPERTIES:

357
bash.org
View File

@ -1,5 +1,6 @@
#+TITLE: Bash Configuration #+TITLE: Bash Configuration
#+SETUPFILE: ./setup/org-setup-file.org #+SETUPFILE: ./setup/org-setup-file.org
#+PROPERTY: header-args :tangle-mode (identity #o444)
* =~/.bashrc= * =~/.bashrc=
:PROPERTIES: :PROPERTIES:
@ -10,140 +11,140 @@
** If not running interactively, don't do anything ** If not running interactively, don't do anything
#+BEGIN_SRC bash #+BEGIN_SRC bash
[[ $- != *i* ]] && return [[ $- != *i* ]] && return
#+END_SRC #+END_SRC
** Bash Completion ** Bash Completion
#+BEGIN_SRC bash #+BEGIN_SRC bash
[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion [ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion
#+END_SRC #+END_SRC
** FZF ** FZF
#+begin_src bash #+begin_src bash
source /usr/share/fzf/key-bindings.bash source /usr/share/fzf/key-bindings.bash
#+end_src #+end_src
** Ignore case for auto-completion ** Ignore case for auto-completion
#+BEGIN_SRC bash #+BEGIN_SRC bash
bind "set completion-ignore-case on" bind "set completion-ignore-case on"
bind "set show-all-if-ambiguous on" bind "set show-all-if-ambiguous on"
#+END_SRC #+END_SRC
** Use Color ** Use Color
#+BEGIN_SRC bash #+BEGIN_SRC bash
use_color=true use_color=true
#+END_SRC #+END_SRC
** Some config ** Some config
#+BEGIN_SRC bash #+BEGIN_SRC bash
# Unset some variables # Unset some variables
unset use_color safe_term match_lhs sh unset use_color safe_term match_lhs sh
# Allow local processes with root privileges to connect to the locally running X server # Allow local processes with root privileges to connect to the locally running X server
xhost +local:root > /dev/null 2>&1 xhost +local:root > /dev/null 2>&1
# Autocomplete sudo commands # Autocomplete sudo commands
complete -cf sudo complete -cf sudo
# Line wrap on window resize # Line wrap on window resize
shopt -s checkwinsize shopt -s checkwinsize
# Enable history expansion with space # Enable history expansion with space
# E.g. typing !!<space> will replace the !! with your last command # E.g. typing !!<space> will replace the !! with your last command
bind Space:magic-space bind Space:magic-space
# Expand Aliases # Expand Aliases
shopt -s expand_aliases shopt -s expand_aliases
# Auto "cd" when entering just a path # Auto "cd" when entering just a path
shopt -s autocd shopt -s autocd
# Enable history appending instead of overwriting # Enable history appending instead of overwriting
shopt -s histappend shopt -s histappend
# Save multi-line commands as one command # Save multi-line commands as one command
shopt -s cmdhist shopt -s cmdhist
#+END_SRC #+END_SRC
** Prompt - =PS1= ** Prompt - =PS1=
#+BEGIN_SRC bash #+BEGIN_SRC bash
export PS1="\[$(tput bold)\]\[$(tput setaf 1)\][\[$(tput setaf 3)\]\u\[$(tput setaf 2)\]@\[$(tput setaf 4)\]\h \[$(tput setaf 5)\]\W\[$(tput setaf 1)\]]\[$(tput setaf 7)\]\\$ \[$(tput sgr0)\]" export PS1="\[$(tput bold)\]\[$(tput setaf 1)\][\[$(tput setaf 3)\]\u\[$(tput setaf 2)\]@\[$(tput setaf 4)\]\h \[$(tput setaf 5)\]\W\[$(tput setaf 1)\]]\[$(tput setaf 7)\]\\$ \[$(tput sgr0)\]"
#+END_SRC #+END_SRC
** Rebind up and down arrow keys to search through bash history ** Rebind up and down arrow keys to search through bash history
#+BEGIN_SRC bash #+BEGIN_SRC bash
bind '"\e[A": history-search-backward' bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward' bind '"\e[B": history-search-forward'
#+END_SRC #+END_SRC
** Aliases ** Aliases
*** Better defaults for some commands *** Better defaults for some commands
#+BEGIN_SRC bash #+BEGIN_SRC bash
alias ls='ls -hN --color=auto --group-directories-first' alias ls='ls -hN --color=auto --group-directories-first'
alias grep='grep --colour=auto' alias grep='grep --colour=auto'
alias cp="cp -i" # confirm before overwriting something alias cp="cp -i" # confirm before overwriting something
alias df='df -h' # human-readable sizes alias df='df -h' # human-readable sizes
alias free='free -m' # show sizes in MB alias free='free -m' # show sizes in MB
alias mutt="neomutt" alias mutt="neomutt"
alias tmux='tmux -f $XDG_CONFIG_HOME/tmux/tmux.conf' alias tmux='tmux -f $XDG_CONFIG_HOME/tmux/tmux.conf'
#+END_SRC #+END_SRC
*** One letter aliases *** One letter aliases
#+BEGIN_SRC bash #+BEGIN_SRC bash
alias r="ranger" alias r="ranger"
alias t="tmux" alias t="tmux"
alias v="nvim" alias v="nvim"
alias sv='sudo -E nvim' alias sv='sudo -E nvim'
alias g="git" alias g="git"
alias m="neomutt" alias m="neomutt"
alias o="xdg-open" alias o="xdg-open"
#+END_SRC #+END_SRC
*** Neovim *** Neovim
#+begin_src bash #+begin_src bash
command -v nvim >/dev/null && alias vim="nvim" vimdiff="nvim -d" # Use neovim for vim if present. command -v nvim >/dev/null && alias vim="nvim" vimdiff="nvim -d" # Use neovim for vim if present.
#+end_src #+end_src
*** Vim-like *** Vim-like
#+BEGIN_SRC bash #+BEGIN_SRC bash
alias :q=exit alias :q=exit
alias :e=nvim alias :e=nvim
#+END_SRC #+END_SRC
*** Print each PATH entry on a separate line *** Print each PATH entry on a separate line
#+BEGIN_SRC bash #+BEGIN_SRC bash
alias path='echo -e ${PATH//:/\\n}' alias path='echo -e ${PATH//:/\\n}'
#+END_SRC #+END_SRC
** Functions ** Functions
*** =colors= - Display colors *** =colors= - Display colors
#+BEGIN_SRC bash #+BEGIN_SRC bash
colors() { colors() {
local fgc bgc vals seq0 local fgc bgc vals seq0
printf "Color escapes are %s\n" '\e[${value};...;${value}m' printf "Color escapes are %s\n" '\e[${value};...;${value}m'
printf "Values 30..37 are \e[33mforeground colors\e[m\n" printf "Values 30..37 are \e[33mforeground colors\e[m\n"
printf "Values 40..47 are \e[43mbackground colors\e[m\n" printf "Values 40..47 are \e[43mbackground colors\e[m\n"
printf "Value 1 gives a \e[1mbold-faced look\e[m\n\n" printf "Value 1 gives a \e[1mbold-faced look\e[m\n\n"
# foreground colors # foreground colors
for fgc in {30..37}; do for fgc in {30..37}; do
# background colors # background colors
for bgc in {40..47}; do for bgc in {40..47}; do
fgc=${fgc#37} # white fgc=${fgc#37} # white
bgc=${bgc#40} # black bgc=${bgc#40} # black
vals="${fgc:+$fgc;}${bgc}" vals="${fgc:+$fgc;}${bgc}"
vals=${vals%%;} vals=${vals%%;}
seq0="${vals:+\e[${vals}m}" seq0="${vals:+\e[${vals}m}"
printf " %-9s" "${seq0:-(default)}" printf " %-9s" "${seq0:-(default)}"
printf " ${seq0}TEXT\e[m" printf " ${seq0}TEXT\e[m"
printf " \e[${vals:+${vals+$vals;}}1mBOLD\e[m" printf " \e[${vals:+${vals+$vals;}}1mBOLD\e[m"
done done
echo; echo echo; echo
done done
} }
#+END_SRC #+END_SRC
*** =tre= - Tree display *** =tre= - Tree display
@ -153,57 +154,57 @@ the =.git= directory, listing directories first. The output gets piped into
small enough for one screen. small enough for one screen.
#+BEGIN_SRC bash #+BEGIN_SRC bash
function tre() { function tre() {
tree -aC -I '.git|node_modules|bower_components' --dirsfirst "$@" | less -FRNX; tree -aC -I '.git|node_modules|bower_components' --dirsfirst "$@" | less -FRNX;
} }
#+END_SRC #+END_SRC
*** =mkd= - Create a new directory and enter it *** =mkd= - Create a new directory and enter it
#+BEGIN_SRC bash #+BEGIN_SRC bash
function mkd() { function mkd() {
mkdir -p "$@" && cd "$_"; mkdir -p "$@" && cd "$_";
} }
#+END_SRC #+END_SRC
*** =fs= - Filesize of directory *** =fs= - Filesize of directory
#+BEGIN_SRC bash #+BEGIN_SRC bash
function fs() { function fs() {
if du -b /dev/null > /dev/null 2>&1; then if du -b /dev/null > /dev/null 2>&1; then
local arg=-sbh; local arg=-sbh;
else else
local arg=-sh; local arg=-sh;
fi fi
if [[ -n "$@" ]]; then if [[ -n "$@" ]]; then
du $arg -- "$@"; du $arg -- "$@";
else else
du $arg .[^.]* ./*; du $arg .[^.]* ./*;
fi; fi;
} }
#+END_SRC #+END_SRC
*** =nullify= - Redirect both standard output and standard error, as well as sending to background *** =nullify= - Redirect both standard output and standard error, as well as sending to background
#+BEGIN_SRC bash #+BEGIN_SRC bash
function nullify() { function nullify() {
"$@" >/dev/null 2>&1 "$@" >/dev/null 2>&1
} }
#+END_SRC #+END_SRC
*** =sms= - Send SMS *** =sms= - Send SMS
https://doronbehar.com/articles/using-kdeconnect-to-comfortably-send-sms-messages-from-the-shell/#kdeconnects-builtin-sms-interface https://doronbehar.com/articles/using-kdeconnect-to-comfortably-send-sms-messages-from-the-shell/#kdeconnects-builtin-sms-interface
#+begin_src bash :tangle no #+begin_src bash :tangle no
sms(){ sms(){
local args="$@" local args="$@"
# local phone_number name phone_type # local phone_number name phone_type
# khard phone --parsable | sort -u | fzf | IFS=$'\t' read -r phone_number name phone_type # khard phone --parsable | sort -u | fzf | IFS=$'\t' read -r phone_number name phone_type
local phone_number=$(khard phone --parsable | sort -u | fzf | cut -f1 -d$'\t') local phone_number=$(khard phone --parsable | sort -u | fzf | cut -f1 -d$'\t')
if [[ -z "${phone_number}" ]]; then if [[ -z "${phone_number}" ]]; then
echo No recipient was chosen >&2 echo No recipient was chosen >&2
return return
else else
kdeconnect-cli --send-sms "${args}" --destination "${phone_number}" --device 4de3b5de2264a17c kdeconnect-cli --send-sms "${args}" --destination "${phone_number}" --device 4de3b5de2264a17c
fi fi
} }
#+end_src #+end_src
@ -211,32 +212,32 @@ https://doronbehar.com/articles/using-kdeconnect-to-comfortably-send-sms-message
Undocumented feature which sets the size to "unlimited". http://stackoverflow.com/questions/9457233/unlimited-bash-history Undocumented feature which sets the size to "unlimited". http://stackoverflow.com/questions/9457233/unlimited-bash-history
#+BEGIN_SRC bash #+BEGIN_SRC bash
# Huge history. Doesn't appear to slow things down, so why not? # Huge history. Doesn't appear to slow things down, so why not?
HISTSIZE=500000 HISTSIZE=500000
HISTFILESIZE=100000 HISTFILESIZE=100000
# Avoid duplicate entries # Avoid duplicate entries
HISTCONTROL="erasedups:ignoreboth" HISTCONTROL="erasedups:ignoreboth"
# Don't record some commands # Don't record some commands
export HISTIGNORE="&:[ ]*:exit:ls:bg:fg:history:clear" export HISTIGNORE="&:[ ]*:exit:ls:bg:fg:history:clear"
# Use standard ISO 8601 timestamp # Use standard ISO 8601 timestamp
# %F equivalent to %Y-%m-%d # %F equivalent to %Y-%m-%d
# %T equivalent to %H:%M:%S (24-hours format) # %T equivalent to %H:%M:%S (24-hours format)
HISTTIMEFORMAT='%F %T ' HISTTIMEFORMAT='%F %T '
#+END_SRC #+END_SRC
Change the file location because certain bash sessions truncate =.bash_history= file upon close. http://superuser.com/questions/575479/bash-history-truncated-to-500-lines-on-each-login Change the file location because certain bash sessions truncate =.bash_history= file upon close. http://superuser.com/questions/575479/bash-history-truncated-to-500-lines-on-each-login
#+BEGIN_SRC bash #+BEGIN_SRC bash
export HISTFILE=~/.bash_eternal_history export HISTFILE=~/.bash_eternal_history
#+END_SRC #+END_SRC
Force prompt to write history after every command. http://superuser.com/questions/20900/bash-history-loss Force prompt to write history after every command. http://superuser.com/questions/20900/bash-history-loss
#+BEGIN_SRC bash #+BEGIN_SRC bash
PROMPT_COMMAND="history -a; $PROMPT_COMMAND" PROMPT_COMMAND="history -a; $PROMPT_COMMAND"
#+END_SRC #+END_SRC
* =~/.bash_profile= * =~/.bash_profile=
@ -247,8 +248,8 @@ Force prompt to write history after every command. http://superuser.com/question
:END: :END:
#+BEGIN_SRC bash #+BEGIN_SRC bash
[[ -f ~/.profile ]] && . ~/.profile [[ -f ~/.profile ]] && . ~/.profile
[[ -f ~/.bashrc ]] && . ~/.bashrc [[ -f ~/.bashrc ]] && . ~/.bashrc
#+END_SRC #+END_SRC
* =~/.profile= * =~/.profile=
@ -260,85 +261,85 @@ Force prompt to write history after every command. http://superuser.com/question
** QT And GTK Themes ** QT And GTK Themes
#+begin_src bash #+begin_src bash
export QT_QPA_PLATFORMTHEME="qt5ct" export QT_QPA_PLATFORMTHEME="qt5ct"
export GTK2_RC_FILES="$HOME/.gtkrc-2.0" export GTK2_RC_FILES="$HOME/.gtkrc-2.0"
#+END_SRC #+END_SRC
** Gui program to ask for sudo password ** Gui program to ask for sudo password
#+begin_src bash #+begin_src bash
export SUDO_ASKPASS=~/.local/bin/askpass-rofi export SUDO_ASKPASS=~/.local/bin/askpass-rofi
#+END_SRC #+END_SRC
** Gnome Keyring Daemon ** Gnome Keyring Daemon
Enable the keyring for applications run through the terminal Enable the keyring for applications run through the terminal
#+begin_src bash #+begin_src bash
if [ -n "$DESKTOP_SESSION" ];then if [ -n "$DESKTOP_SESSION" ];then
eval $(gnome-keyring-daemon --start) eval $(gnome-keyring-daemon --start)
export SSH_AUTH_SOCK export SSH_AUTH_SOCK
fi fi
#+end_src #+end_src
** Export some default applications ** Export some default applications
#+begin_src bash #+begin_src bash
export EDITOR="nvim" export EDITOR="nvim"
export TERMINAL="termite" export TERMINAL="termite"
export BROWSER="qutebrowser" export BROWSER="qutebrowser"
export READER="zathura" export READER="zathura"
export FILE="ranger" export FILE="ranger"
#+END_SRC #+END_SRC
** Exports ** Exports
*** Term *** Term
This is important for termite to work when sshing in remote machines. This is important for termite to work when sshing in remote machines.
#+begin_src bash #+begin_src bash
export TERM=xterm-color export TERM=xterm-color
#+end_src #+end_src
*** XDG Default *** XDG Default
#+begin_src bash #+begin_src bash
export XDG_CONFIG_HOME="$HOME/.config" export XDG_CONFIG_HOME="$HOME/.config"
#+end_src #+end_src
*** Use Ripgrep for FZF *** Use Ripgrep for FZF
#+begin_src bash #+begin_src bash
export FZF_DEFAULT_COMMAND='rg --files --no-ignore --hidden --follow --glob "!.git/*"' export FZF_DEFAULT_COMMAND='rg --files --no-ignore --hidden --follow --glob "!.git/*"'
export FZF_DEFAULT_OPTS='--layout=reverse --height=20' export FZF_DEFAULT_OPTS='--layout=reverse --height=20'
#+end_src #+end_src
*** Goland *** Goland
#+begin_src bash #+begin_src bash
export GOPATH=$HOME/go export GOPATH=$HOME/go
#+end_src #+end_src
*** Latex Path *** Latex Path
#+begin_src bash #+begin_src bash
export TEXMFHOME=$HOME/.local/share/texmf export TEXMFHOME=$HOME/.local/share/texmf
#+end_src #+end_src
*** Bitwarden Session *** Bitwarden Session
#+begin_src bash #+begin_src bash
export BW_SESSION="HH0yycfocRSuGtq/iW1e6v13PQ1sShMXbMhdb/En94S6OcIXFnJlLEyU+dySsmf2YShY4CImoB5FrxgdPsY9Qw==" export BW_SESSION="HH0yycfocRSuGtq/iW1e6v13PQ1sShMXbMhdb/En94S6OcIXFnJlLEyU+dySsmf2YShY4CImoB5FrxgdPsY9Qw=="
#+end_src #+end_src
*** Python Path *** Python Path
#+begin_src bash #+begin_src bash
export PYTHONPATH="${PYTHONPATH}:/usr/lib/python3.9/site-packages/configobj" export PYTHONPATH="${PYTHONPATH}:/usr/lib/python3.9/site-packages/configobj"
#+end_src #+end_src
** Path ** Path
#+begin_src bash #+begin_src bash
PATH=$HOME/appimages:$PATH PATH=$HOME/appimages:$PATH
PATH=$HOME/.gem/ruby/2.5.0/bin:$PATH PATH=$HOME/.gem/ruby/2.5.0/bin:$PATH
PATH=$GOPATH:$GOPATH/bin:$PATH PATH=$GOPATH:$GOPATH/bin:$PATH
PATH=~/.config/emacs/bin:$PATH PATH=~/.config/emacs/bin:$PATH
export PATH export PATH
#+END_SRC #+END_SRC
** Automatically run =startx= ** Automatically run =startx=
#+begin_src bash #+begin_src bash
if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
exec startx exec startx
fi fi
#+end_src #+end_src
* =~/.inputrc= * =~/.inputrc=
@ -350,58 +351,58 @@ This is important for termite to work when sshing in remote machines.
Completion: Completion:
#+BEGIN_SRC conf #+BEGIN_SRC conf
# Single tab for autocompletion # Single tab for autocompletion
set show-all-if-ambiguous on set show-all-if-ambiguous on
# Ignore case for completion # Ignore case for completion
set completion-ignore-case on set completion-ignore-case on
#+END_SRC #+END_SRC
vi mode: vi mode:
#+BEGIN_SRC conf #+BEGIN_SRC conf
# VI mode (works in bash and zsh) # VI mode (works in bash and zsh)
set editing-mode vi set editing-mode vi
# Show which mode (normal or insert) # Show which mode (normal or insert)
set show-mode-in-prompt on set show-mode-in-prompt on
# Show the mode by changing the cursor # Show the mode by changing the cursor
set vi-ins-mode-string \1\e[6 q\2 set vi-ins-mode-string \1\e[6 q\2
set vi-cmd-mode-string \1\e[2 q\2 set vi-cmd-mode-string \1\e[2 q\2
#+END_SRC #+END_SRC
Key-bindings for vi-mode: Key-bindings for vi-mode:
#+BEGIN_SRC conf #+BEGIN_SRC conf
set keymap vi-command set keymap vi-command
# these are for vi-command mode # these are for vi-command mode
Control-l: clear-screen Control-l: clear-screen
Control-a: beginning-of-line Control-a: beginning-of-line
Control-e: end-of-line Control-e: end-of-line
Control-w: "\C-aisudo \C-e" Control-w: "\C-aisudo \C-e"
set keymap vi-insert set keymap vi-insert
# these are for vi-insert mode # these are for vi-insert mode
Control-l: clear-screen Control-l: clear-screen
Control-a: beginning-of-line Control-a: beginning-of-line
Control-e: end-of-line Control-e: end-of-line
Control-w: "\C-asudo \C-e" Control-w: "\C-asudo \C-e"
#+END_SRC #+END_SRC
Colorized completion Colorized completion
#+begin_src conf #+begin_src conf
# Color files by types # Color files by types
set colored-stats On set colored-stats On
# Append char to indicate type # Append char to indicate type
set visible-stats On set visible-stats On
# Mark symlinked directories # Mark symlinked directories
set mark-symlinked-directories On set mark-symlinked-directories On
# Color the common prefix # Color the common prefix
set colored-completion-prefix On set colored-completion-prefix On
# Color the common prefix in menu-complete # Color the common prefix in menu-complete
set menu-complete-display-prefix On set menu-complete-display-prefix On
#+end_src #+end_src
Don't echo =^C= after =Ctrl+C= is pressed. Don't echo =^C= after =Ctrl+C= is pressed.
#+begin_src conf #+begin_src conf
set echo-control-characters off set echo-control-characters off
#+end_src #+end_src

View File

@ -3,6 +3,7 @@
#+PROPERTY: header-args:bash :comments both :mkdirp yes #+PROPERTY: header-args:bash :comments both :mkdirp yes
#+PROPERTY: header-args:bash+ :shebang "#!/usr/bin/env bash" #+PROPERTY: header-args:bash+ :shebang "#!/usr/bin/env bash"
#+PROPERTY: header-args:bash+ :tangle-mode (identity #o555)
* =remote-desktop= - Remote Desktop Connect * =remote-desktop= - Remote Desktop Connect
:PROPERTIES: :PROPERTIES:
@ -10,28 +11,28 @@
:END: :END:
#+begin_src bash :tangle ~/.local/bin/remote-desktop #+begin_src bash :tangle ~/.local/bin/remote-desktop
computer=$(echo -e 'RNICE\nPCMEL1\nPCNASS1\nPCMEG01' | dmenu -p 'Computer:' -l 20); computer=$(echo -e 'RNICE\nPCMEL1\nPCNASS1\nPCMEG01' | dmenu -p 'Computer:' -l 20);
dunstify --replace=89891 'Rdesktop' "Connection to ${computer}..." dunstify --replace=89891 'Rdesktop' "Connection to ${computer}..."
case $computer in case $computer in
PCMEL1) 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; 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) 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; 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;
;; ;;
PCNASS1) 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 ssl.esrf.fr/dehaeze | sed -n 1p) /v:PCNASS1.esrf.fr;
;; ;;
RNICE) 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 ssl.esrf.fr/dehaeze | sed -n 1p) /v:rnice.esrf.fr;
;; ;;
,*) ,*)
echo "Not existing" && \ echo "Not existing" && \
dunstify --replace=89891 --urgency=critical 'Rdesktop' "No config for $computer"; dunstify --replace=89891 --urgency=critical 'Rdesktop' "No config for $computer";
;; ;;
esac esac
#+end_src #+end_src
* =print-rnice= - Print on Rnice * =print-rnice= - Print on Rnice
@ -40,18 +41,18 @@
:END: :END:
#+begin_src bash :tangle ~/.local/bin/print-rnice #+begin_src bash :tangle ~/.local/bin/print-rnice
nbpage=$(echo -e '1\n2\n4' | dmenu -p 'Number of pages per sheet' -l 20); 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); 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); media=$(echo -e 'A4\nA3' | dmenu -p 'Size:' -l 20);
# First copy the file to Rnice # 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 ssl.esrf.fr/dehaeze | sed -n 1p)" scp $1 dehaeze@rnice:~/Downloads/; then
# Then print on Rnice # 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 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";
# Finally, delete the file # Finally, delete the file
else else
echo "Command Failed" echo "Command Failed"
fi fi
#+end_src #+end_src
* =tmp14= - Mount/Umount tmp_14_days folder * =tmp14= - Mount/Umount tmp_14_days folder
@ -60,19 +61,19 @@
:END: :END:
#+begin_src bash :tangle ~/.local/bin/tmp_14_days #+begin_src bash :tangle ~/.local/bin/tmp_14_days
if [ $1 == "mount" ]; then if [ $1 == "mount" ]; then
if sshfs -o allow_other,default_permissions -p 5022 dehaeze@firewall.esrf.fr:/tmp_14_days/ ~/mnt/ESRF; 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' dunstify --replace=58249 'ESRF TMP ' 'Successfully mounted'
else else
dunstify --replace=58249 --urgency=critical 'ESRF TMP ' 'Error while mounted' dunstify --replace=58249 --urgency=critical 'ESRF TMP ' 'Error while mounted'
fi fi
elif [ $1 == "umount" ]; then elif [ $1 == "umount" ]; then
if umount /home/thomas/mnt/ESRF/; then if umount /home/thomas/mnt/ESRF/; then
dunstify --replace=58249 'ESRF TMP ' 'Successfully unmounted' dunstify --replace=58249 'ESRF TMP ' 'Successfully unmounted'
else else
dunstify --replace=58249 --urgency=critical 'ESRF TMP ' 'Error while unmounted' dunstify --replace=58249 --urgency=critical 'ESRF TMP ' 'Error while unmounted'
fi fi
fi fi
#+end_src #+end_src
@ -83,23 +84,23 @@
As an alternative, =sshfs= can be used: As an alternative, =sshfs= can be used:
#+begin_src bash :tangle no #+begin_src bash :tangle no
sshfs -o allow_other,default_permissions nas:/Data ~/mnt/NAS sshfs -o allow_other,default_permissions nas:/Data ~/mnt/NAS
#+end_src #+end_src
#+begin_src bash :tangle ~/.local/bin/nas #+begin_src bash :tangle ~/.local/bin/nas
if [ $1 == "mount" ]; then if [ $1 == "mount" ]; then
if mount /home/thomas/mnt/NAS/; then if mount /home/thomas/mnt/NAS/; then
dunstify --replace=58249 'NAS ' 'Successfully mounted' dunstify --replace=58249 'NAS ' 'Successfully mounted'
else else
dunstify --replace=58249 --urgency=critical 'NAS ' 'Error while mounted' dunstify --replace=58249 --urgency=critical 'NAS ' 'Error while mounted'
fi fi
elif [ $1 == "umount" ]; then elif [ $1 == "umount" ]; then
if umount /home/thomas/mnt/NAS/; then if umount /home/thomas/mnt/NAS/; then
dunstify --replace=58249 'NAS ' 'Successfully unmounted' dunstify --replace=58249 'NAS ' 'Successfully unmounted'
else else
dunstify --replace=58249 --urgency=critical 'NAS ' 'Error while unmounted' dunstify --replace=58249 --urgency=critical 'NAS ' 'Error while unmounted'
fi fi
fi fi
#+end_src #+end_src
* =torrent-add= - Download Torrent * =torrent-add= - Download Torrent
@ -108,9 +109,9 @@ As an alternative, =sshfs= can be used:
:END: :END:
#+begin_src bash :tangle ~/.local/bin/torrent-add #+begin_src bash :tangle ~/.local/bin/torrent-add
transmission-remote 82.64.103.2:9091 --auth tdehaeze:$(pass nas/transmission | sed -n 1p) -a $1 && \ transmission-remote 82.64.103.2:9091 --auth tdehaeze:$(pass nas/transmission | sed -n 1p) -a $1 && \
dunstify 'Torrent' 'Successfully added' || \ dunstify 'Torrent' 'Successfully added' || \
dunstify 'Torrent' 'Error' dunstify 'Torrent' 'Error'
#+end_src #+end_src
* =dl-add= - Direct Download with Aria2 * =dl-add= - Direct Download with Aria2
@ -119,7 +120,7 @@ As an alternative, =sshfs= can be used:
:END: :END:
#+begin_src bash :tangle ~/.local/bin/dl-add #+begin_src bash :tangle ~/.local/bin/dl-add
aria2p --port 6800 --host http://dl.tdehaeze.xyz --secret $(pass dl.tdehaeze.xyz/tdehaeze | sed -n 1p) add $1 aria2p --port 6800 --host http://dl.tdehaeze.xyz --secret $(pass dl.tdehaeze.xyz/tdehaeze | sed -n 1p) add $1
#+end_src #+end_src
* =note-extract-fig= - Extract Figure from note file * =note-extract-fig= - Extract Figure from note file
@ -130,13 +131,13 @@ As an alternative, =sshfs= can be used:
Script used to convert a figure drawn on my Boox note2 to a png file that can then be imported into a document. Script used to convert a figure drawn on my Boox note2 to a png file that can then be imported into a document.
#+begin_src bash :tangle ~/.local/bin/note-extract-fig #+begin_src bash :tangle ~/.local/bin/note-extract-fig
# First check that the first argument is a pdf file # First check that the first argument is a pdf file
if [[ -f $1 && $1 == *.pdf ]]; then if [[ -f $1 && $1 == *.pdf ]]; then
pngfile=$(echo $1 | cut -f 1 -d '.' | sed 's/$/.png/') pngfile=$(echo $1 | cut -f 1 -d '.' | sed 's/$/.png/')
# Convert to png and crop png # Convert to png and crop png
pdf2png $1 && convert -trim "$pngfile" "$pngfile" pdf2png $1 && convert -trim "$pngfile" "$pngfile"
fi fi
#+end_src #+end_src
* =share= - Share file with self-hosted =transfer.sh= * =share= - Share file with self-hosted =transfer.sh=
@ -145,13 +146,13 @@ Script used to convert a figure drawn on my Boox note2 to a png file that can th
:END: :END:
#+begin_src bash :tangle ~/.local/bin/share #+begin_src bash :tangle ~/.local/bin/share
if [ $TMUX ]; then 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 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 else
curl --progress-bar -F"file=@$1" https://file.tdehaeze.xyz/ | xsel -ib && \ curl --progress-bar -F"file=@$1" https://file.tdehaeze.xyz/ | xsel -ib && \
dunstify 'Upload' 'Successful' || \ dunstify 'Upload' 'Successful' || \
dunstify --urgency=critical 'Upload' 'Failed' dunstify --urgency=critical 'Upload' 'Failed'
fi fi
#+end_src #+end_src
* =screen-select= - Xrandr pre-defined scripts * =screen-select= - Xrandr pre-defined scripts
@ -160,27 +161,27 @@ Script used to convert a figure drawn on my Boox note2 to a png file that can th
:END: :END:
#+begin_src bash :tangle ~/.local/bin/screen-select #+begin_src bash :tangle ~/.local/bin/screen-select
option=$(echo -e "Work\nXPS\nHome" | rofi -i -dmenu) option=$(echo -e "Work\nXPS\nHome" | rofi -i -dmenu)
case "$option" in case "$option" in
"Work") "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 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") "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 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") "Home")
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 DP2-1 --primary --mode 2560x1440 --pos 0x0 --rotate normal --output DP1 --off --output VIRTUAL1 --off
;; ;;
,*) ,*)
echo "== ! missing or invalid argument ! ==" echo "== ! missing or invalid argument ! =="
exit 2 exit 2
esac esac
setbg && \ # Fix background if screen size/arangement has changed. setbg && \ # Fix background if screen size/arangement has changed.
polybar-msg cmd restart # restart polybar polybar-msg cmd restart # restart polybar
exit 0 exit 0
#+end_src #+end_src
* =color-picker= - Pick color and copy to clipboard * =color-picker= - Pick color and copy to clipboard
@ -189,5 +190,5 @@ Script used to convert a figure drawn on my Boox note2 to a png file that can th
:END: :END:
#+begin_src bash :tangle ~/.local/bin/color-picker #+begin_src bash :tangle ~/.local/bin/color-picker
xcolor | tr -d '\n' | xsel -b xcolor | tr -d '\n' | xsel -b
#+end_src #+end_src

File diff suppressed because it is too large Load Diff

View File

@ -8,46 +8,46 @@
* List Desktops * List Desktops
#+begin_src bash #+begin_src bash
bspc monitor -d code web mail misc figs bspc monitor -d code web mail misc figs
#+end_src #+end_src
* Basic Config * Basic Config
#+begin_src bash #+begin_src bash
bspc config border_width 1 bspc config border_width 1
bspc config window_gap 8 bspc config window_gap 8
bspc config top_padding 27 # top_padding I set equal to polybar's height bspc config top_padding 27 # top_padding I set equal to polybar's height
bspc config split_ratio 0.52 bspc config split_ratio 0.52
bspc config borderless_monocle true bspc config borderless_monocle true
bspc config gapless_monocle true bspc config gapless_monocle true
bspc config focus_follows_pointer true bspc config focus_follows_pointer true
#+end_src #+end_src
* Colors * Colors
#+begin_src bash #+begin_src bash
bspc config normal_border_color \#32302f bspc config normal_border_color \#32302f
bspc config focused_border_color \#bdae93 bspc config focused_border_color \#bdae93
#+end_src #+end_src
* Rules * Rules
Use =xprop= to obtain information about the window. Use =xprop= to obtain information about the window.
#+begin_src bash #+begin_src bash
# If refreshing bspwm, remove all previous rules to prevent doubling up. # If refreshing bspwm, remove all previous rules to prevent doubling up.
bspc rule -r "*" bspc rule -r "*"
bspc rule --add qutebrowser desktop='web' follow=on state=tiled bspc rule --add qutebrowser desktop='web' follow=on state=tiled
bspc rule --add Emacs desktop='code' follow=on state=tiled bspc rule --add Emacs desktop='code' follow=on state=tiled
bspc rule --add Zathura state=tiled bspc rule --add Zathura state=tiled
bspc rule --add Pavucontrol state=floating bspc rule --add Pavucontrol state=floating
bspc rule --add Blueman-manager state=floating bspc rule --add Blueman-manager state=floating
#+end_src #+end_src
* Run Polybar and SXHKD * Run Polybar and SXHKD
#+begin_src bash #+begin_src bash
polybar top >>/tmp/polybar.log 2>&1 & polybar top >>/tmp/polybar.log 2>&1 &
sxhkd -m 1 -c ~/.config/sxhkd/sxhkdrc.bspwm & sxhkd -m 1 -c ~/.config/sxhkd/sxhkdrc.bspwm &
#+end_src #+end_src

View File

@ -8,43 +8,43 @@
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
[general] [general]
status_path = "~/.config/vdirsyncer/status/" status_path = "~/.config/vdirsyncer/status/"
[pair google_calendar] [pair google_calendar]
a = "google_calendar_remote" a = "google_calendar_remote"
b = "google_calendar_local" b = "google_calendar_local"
collections = ["dehaeze.thomas@gmail.com", "8kjmhe2ar0abnm054ill1fb0gc@group.calendar.google.com"] collections = ["dehaeze.thomas@gmail.com", "8kjmhe2ar0abnm054ill1fb0gc@group.calendar.google.com"]
conflict_resolution = "a wins" conflict_resolution = "a wins"
[storage google_calendar_remote] [storage google_calendar_remote]
type = "google_calendar" type = "google_calendar"
token_file = "~/.config/dotfiles/private/token_file" token_file = "~/.config/dotfiles/private/token_file"
client_id = "188415318767-802h28ig8gromo0f72blrbg6cgcop6m8.apps.googleusercontent.com" client_id = "188415318767-802h28ig8gromo0f72blrbg6cgcop6m8.apps.googleusercontent.com"
client_secret = "<<get-password(passname="calendar/google_client_secret")>>" client_secret = "<<get-password(passname="calendar/google_client_secret")>>"
[storage google_calendar_local] [storage google_calendar_local]
type = "filesystem" type = "filesystem"
path = "~/.calendars/google/" path = "~/.calendars/google/"
fileext = ".ics" fileext = ".ics"
[pair google_contacts] [pair google_contacts]
a = "google_contacts_remote" a = "google_contacts_remote"
b = "google_contacts_local" b = "google_contacts_local"
collections = ["from a", "from b"] collections = ["from a", "from b"]
conflict_resolution = "a wins" conflict_resolution = "a wins"
[storage google_contacts_local] [storage google_contacts_local]
type = "filesystem" type = "filesystem"
path = "~/.contacts/" path = "~/.contacts/"
fileext = ".vcf" fileext = ".vcf"
[storage google_contacts_remote] [storage google_contacts_remote]
type = "google_contacts" type = "google_contacts"
token_file = "~/.config/dotfiles/private/token_file_carddav" token_file = "~/.config/dotfiles/private/token_file_carddav"
client_id = "188415318767-802h28ig8gromo0f72blrbg6cgcop6m8.apps.googleusercontent.com" client_id = "188415318767-802h28ig8gromo0f72blrbg6cgcop6m8.apps.googleusercontent.com"
client_secret = "<<get-password(passname="contacts/google_client_secret")>>" client_secret = "<<get-password(passname="contacts/google_client_secret")>>"
#+END_SRC #+END_SRC
* =khal= - CLI calendar application * =khal= - CLI calendar application
@ -54,33 +54,33 @@
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
[calendars] [calendars]
[[home]] [[home]]
path = ~/.calendars/google/dehaeze.thomas@gmail.com/ path = ~/.calendars/google/dehaeze.thomas@gmail.com/
color = "#B8BB26" color = "#B8BB26"
[[work]] [[work]]
path = ~/.calendars/google/8kjmhe2ar0abnm054ill1fb0gc@group.calendar.google.com/ path = ~/.calendars/google/8kjmhe2ar0abnm054ill1fb0gc@group.calendar.google.com/
color = "#FB4934" color = "#FB4934"
[highlight_days] [highlight_days]
multiple = "#FABD2F" multiple = "#FABD2F"
[default] [default]
highlight_event_days = True highlight_event_days = True
[locale] [locale]
local_timezone= Europe/Berlin local_timezone= Europe/Berlin
default_timezone= Europe/Berlin default_timezone= Europe/Berlin
timeformat= %H:%M timeformat= %H:%M
dateformat= %d.%m. dateformat= %d.%m.
longdateformat= %d.%m.%Y longdateformat= %d.%m.%Y
datetimeformat= %d.%m. %H:%M datetimeformat= %d.%m. %H:%M
longdatetimeformat= %d.%m.%Y %H:%M longdatetimeformat= %d.%m.%Y %H:%M
[keybindings] [keybindings]
delete = d delete = d
today = . today = .
new = c new = c
#+END_SRC #+END_SRC

View File

@ -6,51 +6,51 @@
* Shadow * Shadow
#+BEGIN_SRC conf #+BEGIN_SRC conf
shadow = true; shadow = true;
shadow-radius = 12; shadow-radius = 12;
shadow-offset-x = -12; shadow-offset-x = -12;
shadow-offset-y = -12; shadow-offset-y = -12;
shadow-exclude = [ shadow-exclude = [
"name = 'Notification'", "name = 'Notification'",
"window_type = 'dock'", "window_type = 'dock'",
"window_type = 'dnd'", "window_type = 'dnd'",
"class_g = 'VirtualBox'", "class_g = 'VirtualBox'",
"class_g ?= 'Notify-osd'", "class_g ?= 'Notify-osd'",
"name = 'cpt_frame_window'", # For zoom problem when sharing screen "name = 'cpt_frame_window'", # For zoom problem when sharing screen
"class_g = 'stalonetray'" "class_g = 'stalonetray'"
]; ];
#+END_SRC #+END_SRC
* Opacity * Opacity
#+BEGIN_SRC conf #+BEGIN_SRC conf
inactive-opacity = 1.0; inactive-opacity = 1.0;
frame-opacity = 1.0; frame-opacity = 1.0;
inactive-opacity-override = false; inactive-opacity-override = false;
#+END_SRC #+END_SRC
* Fading * Fading
#+BEGIN_SRC conf #+BEGIN_SRC conf
fading = false; fading = false;
fade-in-step = 0.03; fade-in-step = 0.03;
fade-out-step = 0.03; fade-out-step = 0.03;
#+END_SRC #+END_SRC
* Other * Other
#+BEGIN_SRC conf #+BEGIN_SRC conf
backend = "xrender"; backend = "xrender";
mark-wmwin-focused = true; mark-wmwin-focused = true;
mark-ovredir-focused = true; mark-ovredir-focused = true;
detect-rounded-corners = true; detect-rounded-corners = true;
detect-client-opacity = true; detect-client-opacity = true;
refresh-rate = 0; refresh-rate = 0;
#+END_SRC #+END_SRC
* Window Type Setting * Window Type Setting
#+begin_src conf #+begin_src conf
wintypes: wintypes:
{ {
tooltip = { fade = true; shadow = true; focus = true; full-shadow = false; }; tooltip = { fade = true; shadow = true; focus = true; full-shadow = false; };
dock = { shadow = false; } dock = { shadow = false; }
dnd = { shadow = false; } dnd = { shadow = false; }
}; };
#+end_src #+end_src

View File

@ -8,37 +8,37 @@
:END: :END:
#+begin_src conf #+begin_src conf
AddKeysToAgent yes AddKeysToAgent yes
Host grenoble Host grenoble
hostname 82.64.103.2 hostname 82.64.103.2
Port 10022 Port 10022
user tdehaeze user tdehaeze
IdentityFile ~/.ssh/id_rsa IdentityFile ~/.ssh/id_rsa
Host wingaudio Host wingaudio
hostname 207.154.251.241 hostname 207.154.251.241
Port 22 Port 22
user tdehaeze user tdehaeze
IdentityFile ~/.ssh/id_rsa IdentityFile ~/.ssh/id_rsa
Host octoprint Host octoprint
hostname 192.168.1.56 hostname 192.168.1.56
Port 22 Port 22
user pi user pi
IdentityFile ~/.ssh/id_rsa IdentityFile ~/.ssh/id_rsa
Host hassio Host hassio
hostname 192.168.1.101 hostname 192.168.1.101
Port 10022 Port 10022
user root user root
IdentityFile ~/.ssh/id_rsa IdentityFile ~/.ssh/id_rsa
Host nas Host nas
hostname 192.168.1.50 hostname 192.168.1.50
Port 10022 Port 10022
user tdehaeze user tdehaeze
IdentityFile ~/.ssh/id_rsa IdentityFile ~/.ssh/id_rsa
#+end_src #+end_src
* Font * Font
@ -48,28 +48,28 @@
:END: :END:
#+begin_src conf #+begin_src conf
<?xml version='1.0'?> <?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig> <fontconfig>
<alias>
<family>serif</family>
<prefer><family>Linux Libertine</family></prefer>
</alias>
<alias> <alias>
<family>serif</family> <family>sans-serif</family>
<prefer><family>Linux Libertine</family></prefer> <prefer><family>Linux Biolinum</family></prefer>
</alias> </alias>
<alias> <alias>
<family>sans-serif</family> <family>sans</family>
<prefer><family>Linux Biolinum</family></prefer> <prefer><family>Linux Biolinum</family></prefer>
</alias> </alias>
<alias> <alias>
<family>sans</family> <family>monospace</family>
<prefer><family>Linux Biolinum</family></prefer> <prefer><family>Hack Nerd Font Mono</family></prefer>
</alias> </alias>
<alias>
<family>monospace</family>
<prefer><family>Hack Nerd Font Mono</family></prefer>
</alias>
</fontconfig> </fontconfig>
#+end_src #+end_src
* GnuPG * GnuPG
@ -79,8 +79,8 @@
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
default-cache-ttl 60480000 default-cache-ttl 60480000
max-cache-ttl 60480000 max-cache-ttl 60480000
#+END_SRC #+END_SRC
* Redshift * Redshift
@ -90,22 +90,22 @@
:END: :END:
#+begin_src conf #+begin_src conf
[redshift] [redshift]
temp-day=5700 temp-day=5700
temp-night=3500 temp-night=3500
transition=1 transition=1
;brightness-day=0.7 ;brightness-day=0.7
;brightness-night=0.4 ;brightness-night=0.4
location-provider=manual location-provider=manual
adjustment-method=randr adjustment-method=randr
[manual] [manual]
lat=45.1 lat=45.1
lon=5.7 lon=5.7
#+end_src #+end_src
* dmenu * dmenu
@ -115,26 +115,26 @@
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
# define the font for dmenu to be used # define the font for dmenu to be used
DMENU_FN="Hack Nerd Font 12" DMENU_FN="Hack Nerd Font 12"
# background colour for unselected menu-items # background colour for unselected menu-items
DMENU_NB="#222D31" DMENU_NB="#222D31"
# textcolour for unselected menu-items # textcolour for unselected menu-items
DMENU_NF="#F9FAF9" DMENU_NF="#F9FAF9"
# background colour for selected menu-items # background colour for selected menu-items
DMENU_SB="#16A085" DMENU_SB="#16A085"
# textcolour for selected menu-items # textcolour for selected menu-items
DMENU_SF="#F9FAF9" DMENU_SF="#F9FAF9"
# command for the terminal application to be used: # command for the terminal application to be used:
TERMINAL_CMD="terminal -e" TERMINAL_CMD="terminal -e"
# export our variables # export our variables
DMENU_OPTIONS="-fn $DMENU_FN -nb $DMENU_NB -nf $DMENU_NF -sf $DMENU_SF -sb $DMENU_SB" DMENU_OPTIONS="-fn $DMENU_FN -nb $DMENU_NB -nf $DMENU_NF -sf $DMENU_SF -sb $DMENU_SB"
#+END_SRC #+END_SRC
* Locale * Locale
@ -144,20 +144,20 @@
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
LANG=en_US.UTF-8 LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8" LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=fr_FR.UTF-8 LC_NUMERIC=fr_FR.UTF-8
LC_TIME=fr_FR.UTF-8 LC_TIME=fr_FR.UTF-8
LC_COLLATE="en_US.UTF-8" LC_COLLATE="en_US.UTF-8"
LC_MONETARY=fr_FR.UTF-8 LC_MONETARY=fr_FR.UTF-8
LC_MESSAGES="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8"
LC_PAPER=fr_FR.UTF-8 LC_PAPER=fr_FR.UTF-8
LC_NAME=fr_FR.UTF-8 LC_NAME=fr_FR.UTF-8
LC_ADDRESS=fr_FR.UTF-8 LC_ADDRESS=fr_FR.UTF-8
LC_TELEPHONE=fr_FR.UTF-8 LC_TELEPHONE=fr_FR.UTF-8
LC_MEASUREMENT=fr_FR.UTF-8 LC_MEASUREMENT=fr_FR.UTF-8
LC_IDENTIFICATION=fr_FR.UTF-8 LC_IDENTIFICATION=fr_FR.UTF-8
LC_ALL= LC_ALL=
#+END_SRC #+END_SRC
* Netrc * Netrc
@ -198,27 +198,27 @@ password <<get-password(passname="deemix.tdehaeze.xyz/tdehaeze")>>
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
_rofi () { _rofi () {
rofi -dmenu -i -no-levenshtein-sort -width 1000 "$@" rofi -dmenu -i -no-levenshtein-sort -width 1000 "$@"
} }
#+END_SRC #+END_SRC
Display settings Display settings
#+BEGIN_SRC conf #+BEGIN_SRC conf
display_type=1 display_type=1
max_str_width=80 max_str_width=80
#+END_SRC #+END_SRC
Keybindings Keybindings
#+BEGIN_SRC conf #+BEGIN_SRC conf
switch_view="Alt+Tab" switch_view="Alt+Tab"
new_bookmark="Alt+n" new_bookmark="Alt+n"
actions="Alt+a" actions="Alt+a"
edit="Alt+e" edit="Alt+e"
delete="Alt+d" delete="Alt+d"
#+END_SRC #+END_SRC
Colors Colors
#+BEGIN_SRC conf #+BEGIN_SRC conf
help_color="#2d7ed8" help_color="#2d7ed8"
#+END_SRC #+END_SRC

View File

@ -8,49 +8,49 @@
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
[addressbooks] [addressbooks]
[[google]] [[google]]
path = ~/.contacts/default/ path = ~/.contacts/default/
[general] [general]
debug = no debug = no
default_action = list default_action = list
editor = vim editor = vim
merge_editor = vimdiff merge_editor = vimdiff
[contact table] [contact table]
# display names by first or last name: first_name / last_name # display names by first or last name: first_name / last_name
display = first_name display = first_name
# group by address book: yes / no # group by address book: yes / no
group_by_addressbook = no group_by_addressbook = no
# reverse table ordering: yes / no # reverse table ordering: yes / no
reverse = no reverse = no
# append nicknames to name column: yes / no # append nicknames to name column: yes / no
show_nicknames = no show_nicknames = no
# show uid table column: yes / no # show uid table column: yes / no
show_uids = yes show_uids = yes
# sort by first or last name: first_name / last_name # sort by first or last name: first_name / last_name
sort = last_name sort = last_name
# localize dates: yes / no # localize dates: yes / no
localize_dates = yes localize_dates = yes
# set a comma separated list of preferred phone number types in descending priority # set a comma separated list of preferred phone number types in descending priority
# or nothing for non-filtered alphabetical order # or nothing for non-filtered alphabetical order
preferred_phone_number_type = pref, cell, home preferred_phone_number_type = pref, cell, home
# set a comma separated list of preferred email address types in descending priority # set a comma separated list of preferred email address types in descending priority
# or nothing for non-filtered alphabetical order # or nothing for non-filtered alphabetical order
preferred_email_address_type = pref, work, home preferred_email_address_type = pref, work, home
[vcard] [vcard]
# extend contacts with your own private objects # extend contacts with your own private objects
# these objects are stored with a leading "X-" before the object name in the vcard files # these objects are stored with a leading "X-" before the object name in the vcard files
# every object label may only contain letters, digits and the - character # every object label may only contain letters, digits and the - character
# example: # example:
# private_objects = Jabber, Skype, Twitter # private_objects = Jabber, Skype, Twitter
private_objects = Jabber, Skype, Twitter private_objects = Jabber, Skype, Twitter
# preferred vcard version: 3.0 / 4.0 # preferred vcard version: 3.0 / 4.0
preferred_version = 3.0 preferred_version = 3.0
# Look into source vcf files to speed up search queries: yes / no # Look into source vcf files to speed up search queries: yes / no
search_in_source_files = no search_in_source_files = no
# skip unparsable vcard files: yes / no # skip unparsable vcard files: yes / no
skip_unparsable = no skip_unparsable = no
#+END_SRC #+END_SRC

10264
data.org

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"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2021-01-03 dim. 22:25 --> <!-- 2021-01-04 lun. 21:32 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Configuration Files</title> <title>Configuration Files</title>
<meta name="generator" content="Org mode" /> <meta name="generator" content="Org mode" />
@ -28,6 +28,7 @@
<li><a href="#org3a8118a">Redshift</a></li> <li><a href="#org3a8118a">Redshift</a></li>
<li><a href="#org91a7258">dmenu</a></li> <li><a href="#org91a7258">dmenu</a></li>
<li><a href="#orge5eb33f">Locale</a></li> <li><a href="#orge5eb33f">Locale</a></li>
<li><a href="#org33bbfc0">Netrc</a></li>
<li><a href="#orgd31ca2a"><code>bukurun</code> Rofi Frontend for Buku (Bookmark Manager)</a></li> <li><a href="#orgd31ca2a"><code>bukurun</code> Rofi Frontend for Buku (Bookmark Manager)</a></li>
</ul> </ul>
</div> </div>
@ -192,6 +193,38 @@
</div> </div>
</div> </div>
<div id="outline-container-org33bbfc0" class="outline-2">
<h2 id="org33bbfc0">Netrc</h2>
<div class="outline-text-2" id="text-org33bbfc0">
<div class="org-src-container">
<pre class="src src-conf">machine traefik.tdehaeze.xyz
login tdehaeze
<span class="org-variable-name">password &lt;&lt;get-password(passname</span>=<span class="org-string">"traefik.tdehaeze.xyz/tdehaeze"</span>)&gt;&gt;
machine portainer.tdehaeze.xyz
login tdehaeze
<span class="org-variable-name">password &lt;&lt;get-password(passname</span>=<span class="org-string">"portainer.tdehaeze.xyz/tdehaeze"</span>)&gt;&gt;
machine cloud.tdehaeze.xyz
login tdehaeze
<span class="org-variable-name">password &lt;&lt;get-password(passname</span>=<span class="org-string">"cloud.tdehaeze.xyz/tdehaeze"</span>)&gt;&gt;
machine syncthing.tdehaeze.xyz
login tdehaeze
<span class="org-variable-name">password &lt;&lt;get-password(passname</span>=<span class="org-string">"syncthing.tdehaeze.xyz/tdehaeze"</span>)&gt;&gt;
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;
machine deemix.tdehaeze.xyz
login tdehaeze
<span class="org-variable-name">password &lt;&lt;get-password(passname</span>=<span class="org-string">"deemix.tdehaeze.xyz/tdehaeze"</span>)&gt;&gt;
</pre>
</div>
</div>
</div>
<div id="outline-container-orgd31ca2a" class="outline-2"> <div id="outline-container-orgd31ca2a" class="outline-2">
<h2 id="orgd31ca2a"><code>bukurun</code> Rofi Frontend for Buku (Bookmark Manager)</h2> <h2 id="orgd31ca2a"><code>bukurun</code> Rofi Frontend for Buku (Bookmark Manager)</h2>
<div class="outline-text-2" id="text-orgd31ca2a"> <div class="outline-text-2" id="text-orgd31ca2a">
@ -235,7 +268,7 @@ Colors
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p> <p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-01-03 dim. 22:25</p> <p class="date">Created: 2021-01-04 lun. 21:32</p>
</div> </div>
</body> </body>
</html> </html>

View File

@ -3,13 +3,32 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2021-01-03 dim. 22:19 --> <!-- 2021-01-04 lun. 21:32 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Doom Emacs Configuration</title> <title>Doom Emacs Configuration</title>
<meta name="generator" content="Org mode" /> <meta name="generator" content="Org mode" />
<meta name="author" content="Dehaeze Thomas" /> <meta name="author" content="Dehaeze Thomas" />
<link rel="stylesheet" type="text/css" href="./dist/style.css"/> <link rel="stylesheet" type="text/css" href="./dist/style.css"/>
<script type="text/javascript" src="./dist/script.js"></script> <script type="text/javascript" src="./dist/script.js"></script>
<script>
MathJax = {
chtml: {
scale: 1
},
svg: {
scale: 1,
fontCache: "global"
},
tex: {
tags: "ams",
multlineWidth: "85%",
tagSide: "right",
tagIndent: ".8em"
}
};
</script>
<script id="MathJax-script" async
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"></script>
</head> </head>
<body> <body>
<div id="org-div-home-and-up"> <div id="org-div-home-and-up">
@ -22,6 +41,8 @@
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#org1e17e7b">Installation</a></li>
<li><a href="#org7191145">Introduction and Resources</a></li>
<li><a href="#org8889015">Useful Bindings</a> <li><a href="#org8889015">Useful Bindings</a>
<ul> <ul>
<li><a href="#org7df6a45">General Bindings</a></li> <li><a href="#org7df6a45">General Bindings</a></li>
@ -53,7 +74,7 @@
<ul> <ul>
<li><a href="#org9a192de">Org General Config</a></li> <li><a href="#org9a192de">Org General Config</a></li>
<li><a href="#org9c78e0f">Org Inline Images</a></li> <li><a href="#org9c78e0f">Org Inline Images</a></li>
<li><a href="#org08aba47">Org Links</a></li> <li><a href="#org06943ee">Org Links</a></li>
<li><a href="#org06d5c9f">Org Tagging</a></li> <li><a href="#org06d5c9f">Org Tagging</a></li>
<li><a href="#org82e8603">Org Refile</a></li> <li><a href="#org82e8603">Org Refile</a></li>
<li><a href="#org4e35a03">Org TODO</a></li> <li><a href="#org4e35a03">Org TODO</a></li>
@ -97,7 +118,7 @@
<li><a href="#org90e8b2b">Render Tables</a></li> <li><a href="#org90e8b2b">Render Tables</a></li>
<li><a href="#orgab67420">Org Special Block Extras</a></li> <li><a href="#orgab67420">Org Special Block Extras</a></li>
<li><a href="#org7adfc1c">Org Inline Task</a></li> <li><a href="#org7adfc1c">Org Inline Task</a></li>
<li><a href="#orga4f41d0">Org Links</a> <li><a href="#orgb941771">Org Links</a>
<ul> <ul>
<li><a href="#orgd172897">Youtube Links</a></li> <li><a href="#orgd172897">Youtube Links</a></li>
</ul> </ul>
@ -151,7 +172,7 @@
</li> </li>
<li><a href="#org5722bd7">LaTeX</a> <li><a href="#org5722bd7">LaTeX</a>
<ul> <ul>
<li><a href="#orgebf93bf">Basic Config</a></li> <li><a href="#orgaca85bc">Basic Config</a></li>
<li><a href="#orge71a16b">Bibtex</a></li> <li><a href="#orge71a16b">Bibtex</a></li>
</ul> </ul>
</li> </li>
@ -169,7 +190,7 @@
<li><a href="#orgafab721">Resources</a></li> <li><a href="#orgafab721">Resources</a></li>
<li><a href="#org2b8b75f">Cheatsheet</a></li> <li><a href="#org2b8b75f">Cheatsheet</a></li>
<li><a href="#orgebf9129">Helping function</a></li> <li><a href="#orgebf9129">Helping function</a></li>
<li><a href="#orgec0e33d">Basic Config</a></li> <li><a href="#org95c7ff3">Basic Config</a></li>
<li><a href="#org7c3d72b">Additional config</a></li> <li><a href="#org7c3d72b">Additional config</a></li>
<li><a href="#org716f5e2">Provide Information</a></li> <li><a href="#org716f5e2">Provide Information</a></li>
<li><a href="#org48a7840">Receiving emails using mbsync</a></li> <li><a href="#org48a7840">Receiving emails using mbsync</a></li>
@ -183,7 +204,22 @@
</ul> </ul>
</div> </div>
</div> </div>
<p>
\(a\)
</p>
<div id="outline-container-org1e17e7b" class="outline-2">
<h2 id="org1e17e7b">Installation</h2>
<div class="outline-text-2" id="text-org1e17e7b">
<div class="org-src-container">
<pre class="src src-bash"> yay -Ss aspell aspell-fr aspell-en
</pre>
</div>
</div>
</div>
<div id="outline-container-org7191145" class="outline-2">
<h2 id="org7191145">Introduction and Resources</h2>
<div class="outline-text-2" id="text-org7191145">
<p> <p>
<a href="https://medium.com/urbint-engineering/emacs-doom-for-newbies-1f8038604e3b">https://medium.com/urbint-engineering/emacs-doom-for-newbies-1f8038604e3b</a> <a href="https://medium.com/urbint-engineering/emacs-doom-for-newbies-1f8038604e3b">https://medium.com/urbint-engineering/emacs-doom-for-newbies-1f8038604e3b</a>
<a href="https://noelwelsh.com/posts/2019-01-10-doom-emacs.html">https://noelwelsh.com/posts/2019-01-10-doom-emacs.html</a> <a href="https://noelwelsh.com/posts/2019-01-10-doom-emacs.html">https://noelwelsh.com/posts/2019-01-10-doom-emacs.html</a>
@ -203,6 +239,8 @@ Documentation:
When changing <code>init.el</code> or <code>package.el</code>, tangle the files and then run <code>doom sync</code>. When changing <code>init.el</code> or <code>package.el</code>, tangle the files and then run <code>doom sync</code>.
After that, restart Emacs with <code>spc q r</code>. After that, restart Emacs with <code>spc q r</code>.
</p> </p>
</div>
</div>
<div id="outline-container-org8889015" class="outline-2"> <div id="outline-container-org8889015" class="outline-2">
<h2 id="org8889015">Useful Bindings</h2> <h2 id="org8889015">Useful Bindings</h2>
@ -676,7 +714,7 @@ Turn off auto-fill mode that add line breaks.
<span class="org-comment-delimiter">;; </span><span class="org-comment">turn off auto-fill for org-mode</span> <span class="org-comment-delimiter">;; </span><span class="org-comment">turn off auto-fill for org-mode</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">add-hook</span> <span class="org-highlight-quoted-quote">'</span><span class="org-variable-name">org-mode-hook</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">turn-off-auto-fill</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">add-hook</span> <span class="org-highlight-quoted-quote">'</span><span class="org-variable-name">org-mode-hook</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">turn-off-auto-fill</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">after!</span> auctex <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">after!</span> auctex
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">add-hook</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">latex-mode-hook</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">turn-off-auto-fill</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">add-hook</span> <span class="org-highlight-quoted-quote">'</span><span class="org-variable-name">latex-mode-hook</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">turn-off-auto-fill</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
</pre> </pre>
</div> </div>
</div> </div>
@ -924,9 +962,9 @@ Display the real size of images and not the one set with <code>attr_latex: :widt
</div> </div>
</div> </div>
<div id="outline-container-org08aba47" class="outline-3"> <div id="outline-container-org06943ee" class="outline-3">
<h3 id="org08aba47">Org Links</h3> <h3 id="org06943ee">Org Links</h3>
<div class="outline-text-3" id="text-org08aba47"> <div class="outline-text-3" id="text-org06943ee">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">after!</span> org <pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">after!</span> org
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-link-abbrev-alist</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-link-abbrev-alist</span>
@ -1101,6 +1139,11 @@ General configuration
<span class="org-comment-delimiter">;; </span><span class="org-comment">Open agenda in current window</span> <span class="org-comment-delimiter">;; </span><span class="org-comment">Open agenda in current window</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-agenda-window-setup</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">current-window</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-agenda-window-setup</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">current-window</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">Set default first day of agenda</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-agenda-start-day</span> nil<span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-agenda-start-on-weekday</span> <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-agenda-span</span> <span class="org-highlight-numbers-number">7</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-agenda-prefix-format</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-agenda-prefix-format</span>
<span class="org-highlight-quoted-quote">'</span><span class="org-rainbow-delimiters-depth-3">(</span><span class="org-rainbow-delimiters-depth-1">(</span>agenda . <span class="org-string">" %?-12t% s"</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-highlight-quoted-quote">'</span><span class="org-rainbow-delimiters-depth-3">(</span><span class="org-rainbow-delimiters-depth-1">(</span>agenda . <span class="org-string">" %?-12t% s"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span>todo . <span class="org-string">""</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-comment-delimiter">;; </span><span class="org-comment">Don't show the filename for reading agenda</span> <span class="org-rainbow-delimiters-depth-1">(</span>todo . <span class="org-string">""</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-comment-delimiter">;; </span><span class="org-comment">Don't show the filename for reading agenda</span>
@ -1442,24 +1485,28 @@ Do not export headline with the <code>:ignore:</code> tag:
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">after!</span> org <pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">after!</span> org
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-html-mathjax-template</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-html-mathjax-template</span>
<span class="org-string">"&lt;script&gt;MathJax = {</span> <span class="org-string">"&lt;script&gt;</span>
<span class="org-string"> tex: {</span> <span class="org-string"> MathJax = {</span>
<span class="org-string"> tags: 'ams',</span> <span class="org-string"> svg: {</span>
<span class="org-string"> macros: {bm: [\"\\\\boldsymbol{#1}\",1],}</span> <span class="org-string"> scale: %SCALE,</span>
<span class="org-string"> }</span> <span class="org-string"> fontCache: \"global\"</span>
<span class="org-string"> };</span> <span class="org-string"> },</span>
<span class="org-string"> &lt;/script&gt;</span> <span class="org-string"> tex: {</span>
<span class="org-string"> &lt;script type=\"text/javascript\" src=\"%PATH\"&gt;&lt;/script&gt;"</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-string"> tags: \"%AUTONUMBER\",</span>
<span class="org-string"> multlineWidth: \"%MULTLINEWIDTH\",</span>
<span class="org-string"> tagSide: \"%TAGSIDE\",</span>
<span class="org-string"> macros: {bm: [\"\\\\boldsymbol{#1}\",1],},</span>
<span class="org-string"> tagIndent: \"%TAGINDENT\"</span>
<span class="org-string"> }</span>
<span class="org-string"> };</span>
<span class="org-string"> &lt;/script&gt;</span>
<span class="org-string"> &lt;script id=\"MathJax-script\" async</span>
<span class="org-string"> src=\"%PATH\"&gt;&lt;/script&gt;"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-html-mathjax-options</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-html-mathjax-options</span>
<span class="org-highlight-quoted-quote">'</span><span class="org-rainbow-delimiters-depth-3">(</span><span class="org-rainbow-delimiters-depth-1">(</span>path <span class="org-string">"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-highlight-quoted-quote">'</span><span class="org-rainbow-delimiters-depth-3">(</span><span class="org-rainbow-delimiters-depth-1">(</span>path <span class="org-string">"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"</span> <span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span>scale <span class="org-string">"100"</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span>scale <span class="org-string">"1"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">align</span> <span class="org-string">"center"</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span>autonumber <span class="org-string">"ams"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span>font <span class="org-string">"TeX"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span>linebreaks <span class="org-string">"false"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span>autonumber <span class="org-string">"AMS"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span>indent <span class="org-string">"0em"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span>multlinewidth <span class="org-string">"85%"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span>tagindent <span class="org-string">".8em"</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span>tagindent <span class="org-string">".8em"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span>tagside <span class="org-string">"right"</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-1">(</span>tagside <span class="org-string">"right"</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">)</span>
@ -1504,12 +1551,12 @@ This is not working
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">define-minor-mode</span> <span class="org-function-name">unpackaged/org-export-html-with-useful-ids-mode</span> <pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">define-minor-mode</span> <span class="org-variable-name">unpackaged/org-export-html-with-useful-ids-mode</span>
<span class="org-doc">"Attempt to export Org as HTML with useful link IDs.</span> <span class="org-doc">"Attempt to export Org as HTML with useful link IDs.</span>
<span class="org-doc"> Instead of random IDs like \"#orga1b2c3\", use heading titles,</span> <span class="org-doc"> Instead of random IDs like \"#orga1b2c3\", use heading titles,</span>
<span class="org-doc"> made unique when necessary."</span> <span class="org-doc"> made unique when necessary."</span>
<span class="org-builtin">:global</span> t <span class="org-builtin">:global</span> t
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">if</span> unpackaged/org-export-html-with-useful-ids-mode <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">if</span> <span class="org-variable-name">unpackaged/org-export-html-with-useful-ids-mode</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">advice-add</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">org-export-get-reference</span> <span class="org-builtin">:override</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">unpackaged/org-export-get-reference</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">advice-add</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">org-export-get-reference</span> <span class="org-builtin">:override</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">unpackaged/org-export-get-reference</span><span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">advice-remove</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">org-export-get-reference</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">unpackaged/org-export-get-reference</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">advice-remove</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">org-export-get-reference</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">unpackaged/org-export-get-reference</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
@ -1541,7 +1588,10 @@ This is not working
cells<span class="org-rainbow-delimiters-depth-2">)</span> cells<span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">when</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">org-element-property</span> <span class="org-builtin">:raw-value</span> datum<span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">when</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">org-element-property</span> <span class="org-builtin">:raw-value</span> datum<span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">Heading with a title</span> <span class="org-comment-delimiter">;; </span><span class="org-comment">Heading with a title</span>
<span class="org-rainbow-delimiters-depth-3">(</span>unpackaged/org-export-new-title-reference datum cache<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">unpackaged/org-export-new-named-reference</span> datum cache<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">when</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">member</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">car</span> datum<span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-highlight-quoted-quote">'</span><span class="org-rainbow-delimiters-depth-1">(</span>src-block table example fixed-width property-drawer<span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">Nameable elements</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">unpackaged/org-export-new-named-reference</span> datum cache<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-comment-delimiter">;; </span><span class="org-bold"><span class="org-success">NOTE:</span></span><span class="org-comment"> This probably breaks some Org Export</span> <span class="org-comment-delimiter">;; </span><span class="org-bold"><span class="org-success">NOTE:</span></span><span class="org-comment"> This probably breaks some Org Export</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">feature, but if it does what I need, fine.</span> <span class="org-comment-delimiter">;; </span><span class="org-comment">feature, but if it does what I need, fine.</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">org-export-format-reference</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">org-export-format-reference</span>
@ -1558,7 +1608,7 @@ This is not working
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">plist-put</span> info <span class="org-builtin">:internal-references</span> cache<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">plist-put</span> info <span class="org-builtin">:internal-references</span> cache<span class="org-rainbow-delimiters-depth-2">)</span>
reference-string<span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> reference-string<span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">unpackaged/org-export-new-title-reference</span> <span class="org-rainbow-delimiters-depth-2">(</span>datum cache<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">unpackaged/org-export-new-named-reference</span> <span class="org-rainbow-delimiters-depth-2">(</span>datum cache<span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-doc">"Return new reference for DATUM that is unique in CACHE."</span> <span class="org-doc">"Return new reference for DATUM that is unique in CACHE."</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">cl-macrolet</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-rainbow-delimiters-depth-1">(</span>inc-suffixf <span class="org-rainbow-delimiters-depth-2">(</span>place<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">cl-macrolet</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-rainbow-delimiters-depth-1">(</span>inc-suffixf <span class="org-rainbow-delimiters-depth-2">(</span>place<span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-highlight-quoted-quote">`</span><span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">progn</span> <span class="org-highlight-quoted-quote">`</span><span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">progn</span>
@ -1574,9 +1624,25 @@ This is not working
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">string-to-number</span> suffix<span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">string-to-number</span> suffix<span class="org-rainbow-delimiters-depth-1">)</span>
<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-rainbow-delimiters-depth-1">)</span> <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-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setf</span> ,place <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">format</span> <span class="org-string">"%s--%s"</span> s1 <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">cl-incf</span> suffix<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setf</span> ,place <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">format</span> <span class="org-string">"%s--%s"</span> s1 <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">cl-incf</span> suffix<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">let*</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">(</span>title <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">org-element-property</span> <span class="org-builtin">:raw-value</span> datum<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">let*</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">(</span>headline-p <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">eq</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">car</span> datum<span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">headline</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span>ref <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">url-hexify-string</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">substring-no-properties</span> title<span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span>title <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">if</span> headline-p
<span class="org-rainbow-delimiters-depth-2">(</span>parent <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">org-element-property</span> <span class="org-builtin">:parent</span> datum<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">org-element-property</span> <span class="org-builtin">:raw-value</span> datum<span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">or</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">org-element-property</span> <span class="org-builtin">:name</span> datum<span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">concat</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">org-element-property</span> <span class="org-builtin">:raw-value</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">org-element-property</span> <span class="org-builtin">:parent</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">org-element-property</span> <span class="org-builtin">:parent</span> datum<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">get ascii-only form of title without needing percent-encoding</span>
<span class="org-rainbow-delimiters-depth-2">(</span>ref <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">concat</span> <span class="org-rainbow-delimiters-depth-1">(</span>org-reference-contraction <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">substring-no-properties</span> title<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">unless</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">or</span> headline-p <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">org-element-property</span> <span class="org-builtin">:name</span> datum<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">concat</span> <span class="org-string">","</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">pcase</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">car</span> datum<span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">src-block</span> <span class="org-string">"code"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">example</span> <span class="org-string">"example"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">fixed-width</span> <span class="org-string">"mono"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">property-drawer</span> <span class="org-string">"properties"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span>_ <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">symbol-name</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">car</span> datum<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-string">"--1"</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span>parent <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">when</span> headline-p <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">org-element-property</span> <span class="org-builtin">:parent</span> datum<span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">while</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">--any</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">equal</span> ref <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">car</span> it<span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">while</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">--any</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">equal</span> ref <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">car</span> it<span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span>
cache<span class="org-rainbow-delimiters-depth-2">)</span> cache<span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">Title not unique: make it so.</span> <span class="org-comment-delimiter">;; </span><span class="org-comment">Title not unique: make it so.</span>
@ -1584,11 +1650,14 @@ This is not working
<span class="org-comment-delimiter">;; </span><span class="org-comment">Append ancestor title.</span> <span class="org-comment-delimiter">;; </span><span class="org-comment">Append ancestor title.</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">setf</span> title <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">concat</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">org-element-property</span> <span class="org-builtin">:raw-value</span> parent<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">setf</span> title <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">concat</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">org-element-property</span> <span class="org-builtin">:raw-value</span> parent<span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-string">"--"</span> title<span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-string">"--"</span> title<span class="org-rainbow-delimiters-depth-1">)</span>
ref <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">url-hexify-string</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">substring-no-properties</span> title<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-comment-delimiter">;; </span><span class="org-comment">get ascii-only form of title without needing percent-encoding</span>
parent <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">org-element-property</span> <span class="org-builtin">:parent</span> parent<span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span> ref <span class="org-rainbow-delimiters-depth-1">(</span>org-reference-contraction <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">substring-no-properties</span> title<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
parent <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">when</span> headline-p <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">org-element-property</span> <span class="org-builtin">:parent</span> parent<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">No more ancestors: add and increment a number.</span> <span class="org-comment-delimiter">;; </span><span class="org-comment">No more ancestors: add and increment a number.</span>
<span class="org-rainbow-delimiters-depth-3">(</span>inc-suffixf ref<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-3">(</span>inc-suffixf ref<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
ref<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> ref<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">add-hook</span> <span class="org-highlight-quoted-quote">'</span><span class="org-variable-name">org-load-hook</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-variable-name">unpackaged/org-export-html-with-useful-ids-mode</span><span class="org-rainbow-delimiters-depth-1">)</span>
</pre> </pre>
</div> </div>
</div> </div>
@ -1699,11 +1768,11 @@ Adapt this from <a href="https://github.com/alhassy/emacs.d">https://github.com/
<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">Use imagemagick/dvisvgm to generate png from pdf</span> <span class="org-comment-delimiter">;; </span><span class="org-comment">Use imagemagick/dvisvgm to generate png from pdf</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-preview-latex-default-process</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">dvisvgm</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-preview-latex-default-process</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">dvipng</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">Don't change the font size for subscripts and superscripts in latex fragments.</span> <span class="org-comment-delimiter">;; </span><span class="org-comment">Don't change the font size for subscripts and superscripts in latex fragments.</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">This cause the orgmode tables not to be well aligned.</span> <span class="org-comment-delimiter">;; </span><span class="org-comment">This cause the orgmode tables not to be well aligned.</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> font-latex-fontify-script nil<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">font-latex-fontify-script</span> nil<span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">Colors of latex fragments</span> <span class="org-comment-delimiter">;; </span><span class="org-comment">Colors of latex fragments</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-format-latex-options</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">plist-put</span> <span class="org-variable-name">org-format-latex-options</span> <span class="org-builtin">:foreground</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">default</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-format-latex-options</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">plist-put</span> <span class="org-variable-name">org-format-latex-options</span> <span class="org-builtin">:foreground</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">default</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
@ -2354,9 +2423,9 @@ Special Environments
</div> </div>
</div> </div>
<div id="outline-container-orga4f41d0" class="outline-3"> <div id="outline-container-orgb941771" class="outline-3">
<h3 id="orga4f41d0">Org Links</h3> <h3 id="orgb941771">Org Links</h3>
<div class="outline-text-3" id="text-orga4f41d0"> <div class="outline-text-3" id="text-orgb941771">
</div> </div>
<div id="outline-container-orgd172897" class="outline-4"> <div id="outline-container-orgd172897" class="outline-4">
<h4 id="orgd172897">Youtube Links</h4> <h4 id="orgd172897">Youtube Links</h4>
@ -2937,7 +3006,7 @@ Add all named source blocks to <code>org-babel-library-of-babel</code> (<a href=
<div class="outline-text-3" id="text-orge0d9b66"> <div class="outline-text-3" id="text-orge0d9b66">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">after!</span> org <pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">after!</span> org
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> org-babel-matlab-shell-command <span class="org-string">"/home/thomas/.local/bin/matlab -softwareopengl -nodesktop -nosplash"</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-babel-matlab-shell-command</span> <span class="org-string">"/home/thomas/.local/bin/matlab -softwareopengl -nodesktop -nosplash"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">)</span>
</pre> </pre>
</div> </div>
@ -2947,7 +3016,7 @@ Default options for Matlab code
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">after!</span> org <pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">after!</span> org
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> org-babel-default-header-args:matlab <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-babel-default-header-args:matlab</span>
<span class="org-highlight-quoted-quote">'</span><span class="org-rainbow-delimiters-depth-3">(</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-builtin">:results</span> . <span class="org-string">"none"</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-highlight-quoted-quote">'</span><span class="org-rainbow-delimiters-depth-3">(</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-builtin">:results</span> . <span class="org-string">"none"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-builtin">:session</span> . <span class="org-string">"*MATLAB*"</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-builtin">:session</span> . <span class="org-string">"*MATLAB*"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-builtin">:comments</span> . <span class="org-string">"org"</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-builtin">:comments</span> . <span class="org-string">"org"</span><span class="org-rainbow-delimiters-depth-1">)</span>
@ -2985,27 +3054,27 @@ Better format the output results for Matlab (<a href="https://www.reddit.com/r/e
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">",*\\s-*\n+"</span> . <span class="org-string">", "</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-comment-delimiter">;</span><span class="org-comment">Concatenate lines</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">",*\\s-*\n+"</span> . <span class="org-string">", "</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-comment-delimiter">;</span><span class="org-comment">Concatenate lines</span>
body<span class="org-rainbow-delimiters-depth-2">)</span> body<span class="org-rainbow-delimiters-depth-2">)</span>
body<span class="org-rainbow-delimiters-depth-1">)</span> body<span class="org-rainbow-delimiters-depth-1">)</span>
org-babel-octave-eoe-indicator<span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-string">"\n"</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-variable-name">org-babel-octave-eoe-indicator</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-string">"\n"</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-quoted-quote">`</span><span class="org-highlight-quoted-symbol">value</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-quoted-quote">`</span><span class="org-highlight-quoted-symbol">value</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">and</span> matlabp org-babel-matlab-with-emacs-link<span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">and</span> matlabp <span class="org-variable-name">org-babel-matlab-with-emacs-link</span><span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">concat</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">concat</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">format</span> org-babel-matlab-emacs-link-wrapper-method <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">format</span> <span class="org-variable-name">org-babel-matlab-emacs-link-wrapper-method</span>
body body
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">org-babel-process-file-name</span> tmp-file <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">noquote</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">org-babel-process-file-name</span> tmp-file <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">noquote</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">org-babel-process-file-name</span> tmp-file <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">noquote</span><span class="org-rainbow-delimiters-depth-2">)</span> wait-file<span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-string">"\n"</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">org-babel-process-file-name</span> tmp-file <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">noquote</span><span class="org-rainbow-delimiters-depth-2">)</span> wait-file<span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-string">"\n"</span><span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">mapconcat</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">mapconcat</span>
<span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">org-babel-chomp</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">org-babel-chomp</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">list</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">format</span> org-babel-octave-wrapper-method <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">list</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">format</span> <span class="org-variable-name">org-babel-octave-wrapper-method</span>
body body
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">org-babel-process-file-name</span> tmp-file <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">noquote</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">org-babel-process-file-name</span> tmp-file <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">noquote</span><span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">org-babel-process-file-name</span> tmp-file <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">noquote</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">org-babel-process-file-name</span> tmp-file <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">noquote</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
org-babel-octave-eoe-indicator<span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-string">"\n"</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-variable-name">org-babel-octave-eoe-indicator</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-string">"\n"</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span>raw <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">and</span> matlabp org-babel-matlab-with-emacs-link<span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-2">(</span>raw <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">and</span> matlabp <span class="org-variable-name">org-babel-matlab-with-emacs-link</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">save-window-excursion</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">save-window-excursion</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">with-temp-buffer</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">with-temp-buffer</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">insert</span> full-body<span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">insert</span> full-body<span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">write-region</span> <span class="org-string">""</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">ignored</span> wait-file nil nil nil <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">excl</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">write-region</span> <span class="org-string">""</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">ignored</span> wait-file nil nil nil <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">excl</span><span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-rainbow-delimiters-depth-3">(</span>matlab-shell-run-region <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">point-min</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">point-max</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">matlab-shell-run-region</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">point-min</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">point-max</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">message</span> <span class="org-string">"Waiting for Matlab Emacs Link"</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">message</span> <span class="org-string">"Waiting for Matlab Emacs Link"</span><span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">while</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">file-exists-p</span> wait-file<span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">sit-for</span> <span class="org-highlight-numbers-number">0.01</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">while</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">file-exists-p</span> wait-file<span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">sit-for</span> <span class="org-highlight-numbers-number">0.01</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</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-comment-delimiter">;; </span><span class="org-comment">matlab-shell-run-region doesn't seem to</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-comment-delimiter">;; </span><span class="org-comment">matlab-shell-run-region doesn't seem to</span>
@ -3015,19 +3084,19 @@ Better format the output results for Matlab (<a href="https://www.reddit.com/r/e
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">org-babel-comint-with-output</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">org-babel-comint-with-output</span>
<span class="org-rainbow-delimiters-depth-2">(</span>session <span class="org-rainbow-delimiters-depth-2">(</span>session
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">if</span> matlabp <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">if</span> matlabp
org-babel-octave-eoe-indicator <span class="org-variable-name">org-babel-octave-eoe-indicator</span>
org-babel-octave-eoe-output<span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-variable-name">org-babel-octave-eoe-output</span><span class="org-rainbow-delimiters-depth-3">)</span>
t full-body<span class="org-rainbow-delimiters-depth-2">)</span> t full-body<span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">insert</span> full-body<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">comint-send-input</span> nil t<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-warning">results</span><span class="org-warning"><span class="org-rainbow-delimiters-depth-1">)</span></span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">insert</span> full-body<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">comint-send-input</span> nil t<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-warning">results</span><span class="org-warning"><span class="org-rainbow-delimiters-depth-1">)</span></span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">pcase</span> result-type <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">pcase</span> result-type
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-quoted-quote">`</span><span class="org-highlight-quoted-symbol">value</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-quoted-quote">`</span><span class="org-highlight-quoted-symbol">value</span>
<span class="org-rainbow-delimiters-depth-3">(</span>org-babel-octave-import-elisp-from-file tmp-file<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">org-babel-octave-import-elisp-from-file</span> tmp-file<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-quoted-quote">`</span><span class="org-highlight-quoted-symbol">output</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-quoted-quote">`</span><span class="org-highlight-quoted-symbol">output</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">setq</span> results <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">setq</span> results
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">if</span> matlabp <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">if</span> matlabp
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">cdr</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">reverse</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">delete</span> <span class="org-string">""</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">mapcar</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">org-strip-quotes</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">cdr</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">reverse</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">delete</span> <span class="org-string">""</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">mapcar</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">org-strip-quotes</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">mapcar</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">org-trim</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">remove-car-upto-newline</span> raw<span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">mapcar</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">org-trim</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">remove-car-upto-newline</span> raw<span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">cdr</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">member</span> org-babel-octave-eoe-output <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">cdr</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">member</span> <span class="org-variable-name">org-babel-octave-eoe-output</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">reverse</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">mapcar</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">org-strip-quotes</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">reverse</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">mapcar</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">org-strip-quotes</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">mapcar</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">org-trim</span> raw<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">mapcar</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">org-trim</span> raw<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">mapconcat</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">identity</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">reverse</span> results<span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-string">"\n"</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">mapconcat</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">identity</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">reverse</span> results<span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-string">"\n"</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
@ -3164,7 +3233,7 @@ when inside a source block. Otherwise, keep the normal behavior for <code>ctrl-r
<span class="org-doc">"Returns t when the point is inside a source code block"</span> <span class="org-doc">"Returns t when the point is inside a source code block"</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">string=</span> <span class="org-string">"src"</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">org-in-block-p</span> <span class="org-highlight-quoted-quote">'</span><span class="org-rainbow-delimiters-depth-2">(</span><span class="org-string">"src"</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">string=</span> <span class="org-string">"src"</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">org-in-block-p</span> <span class="org-highlight-quoted-quote">'</span><span class="org-rainbow-delimiters-depth-2">(</span><span class="org-string">"src"</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-3">(</span>tdh-in-src-block-p<span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">tdh-in-src-block-p</span><span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">progn</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">progn</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">org-babel-execute-src-block</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">org-babel-execute-src-block</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">org-babel-next-src-block</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">org-babel-next-src-block</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span>
@ -3290,7 +3359,7 @@ if no region is selected, it runs all the code blocks and goes to the next block
<span class="org-doc">"Returns t when the point is inside a source code block"</span> <span class="org-doc">"Returns t when the point is inside a source code block"</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">string=</span> <span class="org-string">"src"</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">org-in-block-p</span> <span class="org-highlight-quoted-quote">'</span><span class="org-rainbow-delimiters-depth-2">(</span><span class="org-string">"src"</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">string=</span> <span class="org-string">"src"</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">org-in-block-p</span> <span class="org-highlight-quoted-quote">'</span><span class="org-rainbow-delimiters-depth-2">(</span><span class="org-string">"src"</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-3">(</span>tdh-in-src-block-p<span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">tdh-in-src-block-p</span><span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">let</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">(</span>lang <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">nth</span> <span class="org-highlight-numbers-number">0</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">org-babel-get-src-block-info</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">let</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">(</span>lang <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">nth</span> <span class="org-highlight-numbers-number">0</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">org-babel-get-src-block-info</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">string=</span> lang <span class="org-string">"matlab"</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">string=</span> lang <span class="org-string">"matlab"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">region-active-p</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">region-active-p</span><span class="org-rainbow-delimiters-depth-3">)</span>
@ -3324,7 +3393,7 @@ if no region is selected, it runs all the code blocks and goes to the next block
<span class="org-doc">"Returns t when the point is inside a source code block"</span> <span class="org-doc">"Returns t when the point is inside a source code block"</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">string=</span> <span class="org-string">"src"</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">org-in-block-p</span> <span class="org-highlight-quoted-quote">'</span><span class="org-rainbow-delimiters-depth-2">(</span><span class="org-string">"src"</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">string=</span> <span class="org-string">"src"</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">org-in-block-p</span> <span class="org-highlight-quoted-quote">'</span><span class="org-rainbow-delimiters-depth-2">(</span><span class="org-string">"src"</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-3">(</span>tdh-in-src-block-p<span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">tdh-in-src-block-p</span><span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">progn</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">progn</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">org-edit-special</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">org-edit-special</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">evil-indent</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">point-min</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">point-max</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">evil-indent</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">point-min</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">point-max</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
@ -3501,21 +3570,21 @@ Nice Functions:
<span class="org-builtin">:defer</span> t <span class="org-builtin">:defer</span> t
<span class="org-builtin">:after</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-builtin">:any</span> org pdf-view<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-builtin">:after</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-builtin">:any</span> org pdf-view<span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-builtin">:config</span> <span class="org-builtin">:config</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-noter-always-create-frame</span> nil<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> org-noter-always-create-frame nil<span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-noter-kill-frame-at-session-end</span> nil<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> org-noter-kill-frame-at-session-end nil<span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">Fraction of the frame that the document window will occupy when split</span> <span class="org-comment-delimiter">;; </span><span class="org-comment">Fraction of the frame that the document window will occupy when split</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-noter-doc-split-fraction</span> <span class="org-highlight-quoted-quote">'</span><span class="org-rainbow-delimiters-depth-3">(</span><span class="org-highlight-numbers-number">0.6</span> . <span class="org-highlight-numbers-number">0.6</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> org-noter-doc-split-fraction <span class="org-highlight-quoted-quote">'</span><span class="org-rainbow-delimiters-depth-3">(</span><span class="org-highlight-numbers-number">0.6</span> . <span class="org-highlight-numbers-number">0.6</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">Save the last visited location automatically; when starting a new session, go to that location</span> <span class="org-comment-delimiter">;; </span><span class="org-comment">Save the last visited location automatically; when starting a new session, go to that location</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-noter-auto-save-last-location</span> nil<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> org-noter-auto-save-last-location nil<span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">Add an empty line between each note's heading and content</span> <span class="org-comment-delimiter">;; </span><span class="org-comment">Add an empty line between each note's heading and content</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-noter-separate-notes-from-heading</span> t<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> org-noter-separate-notes-from-heading t<span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">List of paths to check (non recursively) when searching for a notes file</span> <span class="org-comment-delimiter">;; </span><span class="org-comment">List of paths to check (non recursively) when searching for a notes file</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-noter-notes-search-path</span> <span class="org-string">"~/Cloud/brain"</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> org-noter-notes-search-path <span class="org-string">"~/Cloud/brain"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">defun</span> <span class="org-function-name">org-noter-init-pdf-view</span> <span class="org-rainbow-delimiters-depth-3">()</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">defun</span> <span class="org-function-name">org-noter-init-pdf-view</span> <span class="org-rainbow-delimiters-depth-3">()</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">pdf-view-fit-page-to-window</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">pdf-view-fit-page-to-window</span><span class="org-rainbow-delimiters-depth-3">)</span>
@ -3888,9 +3957,9 @@ Provides nice functions such as:
</ul> </ul>
</div> </div>
<div id="outline-container-orgebf93bf" class="outline-3"> <div id="outline-container-orgaca85bc" class="outline-3">
<h3 id="orgebf93bf">Basic Config</h3> <h3 id="orgaca85bc">Basic Config</h3>
<div class="outline-text-3" id="text-orgebf93bf"> <div class="outline-text-3" id="text-orgaca85bc">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">after!</span> auctex <pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">after!</span> auctex
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">+latex-viewers</span> <span class="org-highlight-quoted-quote">'</span><span class="org-rainbow-delimiters-depth-3">(</span>zathura pdf-tools<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">+latex-viewers</span> <span class="org-highlight-quoted-quote">'</span><span class="org-rainbow-delimiters-depth-3">(</span>zathura pdf-tools<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
@ -3924,10 +3993,10 @@ Provides nice functions such as:
<h3 id="orga959435">Setup Matlab Mode</h3> <h3 id="orga959435">Setup Matlab Mode</h3>
<div class="outline-text-3" id="text-orga959435"> <div class="outline-text-3" id="text-orga959435">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> matlab-shell-command <span class="org-string">"/home/thomas/.local/bin/matlab"</span><span class="org-rainbow-delimiters-depth-1">)</span> <pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">matlab-shell-command</span> <span class="org-string">"/home/thomas/.local/bin/matlab"</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> matlab-shell-command-switches <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">list</span> <span class="org-string">"-softwareopengl -nodesktop -nosplash"</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">matlab-shell-command-switches</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">list</span> <span class="org-string">"-softwareopengl -nodesktop -nosplash"</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> matlab-indent-function t<span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> matlab-indent-function t<span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> mlint-programs <span class="org-highlight-quoted-quote">'</span><span class="org-rainbow-delimiters-depth-2">(</span><span class="org-string">"mlint"</span> <span class="org-string">"/home/thomas/.local/bin/mlint"</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">mlint-programs</span> <span class="org-highlight-quoted-quote">'</span><span class="org-rainbow-delimiters-depth-2">(</span><span class="org-string">"mlint"</span> <span class="org-string">"/home/thomas/.local/bin/mlint"</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
</pre> </pre>
</div> </div>
</div> </div>
@ -3959,7 +4028,7 @@ Provides nice functions such as:
<h3 id="orgc8534a9">Completion in the Matlab Shell</h3> <h3 id="orgc8534a9">Completion in the Matlab Shell</h3>
<div class="outline-text-3" id="text-orgc8534a9"> <div class="outline-text-3" id="text-orgc8534a9">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">map!</span> <span class="org-builtin">:map</span> matlab-shell-mode-map <pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">map!</span> <span class="org-builtin">:map</span> <span class="org-variable-name">matlab-shell-mode-map</span>
<span class="org-builtin">:i</span> <span class="org-string">"&lt;tab&gt;"</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">matlab-shell-tab</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-builtin">:i</span> <span class="org-string">"&lt;tab&gt;"</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">matlab-shell-tab</span><span class="org-rainbow-delimiters-depth-1">)</span>
</pre> </pre>
</div> </div>
@ -3977,7 +4046,7 @@ Provides nice functions such as:
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">string=</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">file-name-extension</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-variable-name">buffer-file-name</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-string">"m"</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">if</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">string=</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">file-name-extension</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-variable-name">buffer-file-name</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-string">"m"</span><span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">progn</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">progn</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">save-buffer</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">save-buffer</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span>matlab-shell-run-command <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">concat</span> <span class="org-string">"MBeautify.formatFileNoEditor(\""</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-variable-name">buffer-file-name</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-string">"\", \""</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-variable-name">buffer-file-name</span><span class="org-rainbow-delimiters-depth-3">)</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-rainbow-delimiters-depth-1">(</span><span class="org-function-name">matlab-shell-run-command</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">concat</span> <span class="org-string">"MBeautify.formatFileNoEditor(\""</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-variable-name">buffer-file-name</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-string">"\", \""</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-variable-name">buffer-file-name</span><span class="org-rainbow-delimiters-depth-3">)</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-rainbow-delimiters-depth-1">(</span><span class="org-function-name">revert-buffer</span> <span class="org-builtin">:ignore-auto</span> <span class="org-builtin">:noconfirm</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-function-name">revert-buffer</span> <span class="org-builtin">:ignore-auto</span> <span class="org-builtin">:noconfirm</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">message</span> <span class="org-string">"Current buffer is not a matlab file"</span><span class="org-rainbow-delimiters-depth-3">)</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">message</span> <span class="org-string">"Current buffer is not a matlab file"</span><span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">)</span>
@ -3993,31 +4062,31 @@ Provides nice functions such as:
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">tdh-matlab-add-breakpoint</span> <span class="org-rainbow-delimiters-depth-2">()</span> <pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">tdh-matlab-add-breakpoint</span> <span class="org-rainbow-delimiters-depth-2">()</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">interactive</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">interactive</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span>matlab-shell-run-command <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">concat</span> <span class="org-string">"dbstop in "</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">buffer-name</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-string">" at "</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">number-to-string</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">line-number-at-pos</span> nil<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">matlab-shell-run-command</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">concat</span> <span class="org-string">"dbstop in "</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">buffer-name</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-string">" at "</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">number-to-string</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">line-number-at-pos</span> nil<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">tdh-matlab-remove-breakpoint</span> <span class="org-rainbow-delimiters-depth-2">()</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">tdh-matlab-remove-breakpoint</span> <span class="org-rainbow-delimiters-depth-2">()</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">interactive</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">interactive</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span>matlab-shell-run-command <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">concat</span> <span class="org-string">"dbclear in "</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">buffer-name</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-string">" at "</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">number-to-string</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">line-number-at-pos</span> nil<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">matlab-shell-run-command</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">concat</span> <span class="org-string">"dbclear in "</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">buffer-name</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-string">" at "</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">number-to-string</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">line-number-at-pos</span> nil<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">tdh-matlab-list-breakpoints</span> <span class="org-rainbow-delimiters-depth-2">()</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">tdh-matlab-list-breakpoints</span> <span class="org-rainbow-delimiters-depth-2">()</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">interactive</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">interactive</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span>matlab-shell-run-command <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">concat</span> <span class="org-string">"dbstatus "</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">buffer-name</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">matlab-shell-run-command</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">concat</span> <span class="org-string">"dbstatus "</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">buffer-name</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">tdh-matlab-clear-breakpoints</span> <span class="org-rainbow-delimiters-depth-2">()</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">tdh-matlab-clear-breakpoints</span> <span class="org-rainbow-delimiters-depth-2">()</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">interactive</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">interactive</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span>matlab-shell-run-command <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">concat</span> <span class="org-string">"dbclear in "</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">buffer-name</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">matlab-shell-run-command</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">concat</span> <span class="org-string">"dbclear in "</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">buffer-name</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">tdh-matlab-no-debug-on-error</span> <span class="org-rainbow-delimiters-depth-2">()</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">tdh-matlab-no-debug-on-error</span> <span class="org-rainbow-delimiters-depth-2">()</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">interactive</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">interactive</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span>matlab-shell-run-command <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">concat</span> <span class="org-string">"dbclear if error"</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">matlab-shell-run-command</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">concat</span> <span class="org-string">"dbclear if error"</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">tdh-matlab-debug-on-error</span> <span class="org-rainbow-delimiters-depth-2">()</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">tdh-matlab-debug-on-error</span> <span class="org-rainbow-delimiters-depth-2">()</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">interactive</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">interactive</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span>matlab-shell-run-command <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">concat</span> <span class="org-string">"dbstop if error"</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">matlab-shell-run-command</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">concat</span> <span class="org-string">"dbstop if error"</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">tdh-matlab-go-to-file-directory</span> <span class="org-rainbow-delimiters-depth-2">()</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">tdh-matlab-go-to-file-directory</span> <span class="org-rainbow-delimiters-depth-2">()</span>
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">interactive</span><span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">interactive</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-rainbow-delimiters-depth-2">(</span>matlab-shell-run-command <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">concat</span> <span class="org-string">"cd "</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">file-name-directory</span> <span class="org-variable-name">buffer-file-name</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">matlab-shell-run-command</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">concat</span> <span class="org-string">"cd "</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">file-name-directory</span> <span class="org-variable-name">buffer-file-name</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
</pre> </pre>
</div> </div>
@ -4161,9 +4230,9 @@ Choose account label to feed msmtp -a option based on From header in Message buf
</div> </div>
</div> </div>
<div id="outline-container-orgec0e33d" class="outline-3"> <div id="outline-container-org95c7ff3" class="outline-3">
<h3 id="orgec0e33d">Basic Config</h3> <h3 id="org95c7ff3">Basic Config</h3>
<div class="outline-text-3" id="text-orgec0e33d"> <div class="outline-text-3" id="text-org95c7ff3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package!</span> mu4e <pre class="src src-emacs-lisp"> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">use-package!</span> mu4e
<span class="org-builtin">:config</span> <span class="org-builtin">:config</span>
@ -4400,7 +4469,7 @@ Choose account label to feed msmtp -a option based on From header in Message buf
<span class="org-builtin">:checkers</span> <span class="org-builtin">:checkers</span>
syntax <span class="org-comment-delimiter">; </span><span class="org-comment">tasing you for every semicolon you forget</span> syntax <span class="org-comment-delimiter">; </span><span class="org-comment">tasing you for every semicolon you forget</span>
spell <span class="org-comment-delimiter">; </span><span class="org-comment">tasing you for misspelling mispelling</span> <span class="org-rainbow-delimiters-depth-2">(</span>spell +aspell<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-comment-delimiter">; </span><span class="org-comment">tasing you for misspelling mispelling</span>
<span class="org-builtin">:lang</span> <span class="org-builtin">:lang</span>
data <span class="org-comment-delimiter">; </span><span class="org-comment">config/data formats</span> data <span class="org-comment-delimiter">; </span><span class="org-comment">config/data formats</span>
@ -4416,6 +4485,7 @@ Choose account label to feed msmtp -a option based on From header in Message buf
+dragndrop <span class="org-comment-delimiter">; </span><span class="org-comment">drag &amp; drop files/images into org buffers</span> +dragndrop <span class="org-comment-delimiter">; </span><span class="org-comment">drag &amp; drop files/images into org buffers</span>
+hugo <span class="org-comment-delimiter">; </span><span class="org-comment">use Emacs for hugo blogging</span> +hugo <span class="org-comment-delimiter">; </span><span class="org-comment">use Emacs for hugo blogging</span>
+roam <span class="org-comment-delimiter">;</span> +roam <span class="org-comment-delimiter">;</span>
+gnuplot
+present<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-comment-delimiter">; </span><span class="org-comment">using org-mode for presentations</span> +present<span class="org-rainbow-delimiters-depth-2">)</span> <span class="org-comment-delimiter">; </span><span class="org-comment">using org-mode for presentations</span>
python <span class="org-comment-delimiter">; </span><span class="org-comment">beautiful is better than ugly</span> python <span class="org-comment-delimiter">; </span><span class="org-comment">beautiful is better than ugly</span>
<span class="org-rainbow-delimiters-depth-2">(</span>sh <span class="org-comment-delimiter">; </span><span class="org-comment">she sells {ba,z,fi}sh shells on the C xor</span> <span class="org-rainbow-delimiters-depth-2">(</span>sh <span class="org-comment-delimiter">; </span><span class="org-comment">she sells {ba,z,fi}sh shells on the C xor</span>
@ -4549,7 +4619,7 @@ Choose account label to feed msmtp -a option based on From header in Message buf
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p> <p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-01-03 dim. 22:19</p> <p class="date">Created: 2021-01-04 lun. 21:32</p>
</div> </div>
</body> </body>
</html> </html>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2021-01-03 dim. 22:56 --> <!-- 2021-01-04 lun. 21:32 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Dotfiles - Manjaro Linux</title> <title>Dotfiles - Manjaro Linux</title>
<meta name="generator" content="Org mode" /> <meta name="generator" content="Org mode" />

File diff suppressed because it is too large Load Diff

4472
doom.org

File diff suppressed because it is too large Load Diff

View File

@ -5,29 +5,29 @@
#+name: get-password #+name: get-password
#+begin_src bash :var passname=""" #+begin_src bash :var passname="""
pass $passname | sed -n 1p pass $passname | sed -n 1p
#+end_src #+end_src
* =pdf2svg= - Export to pdf/png/svg at the same time * =pdf2svg= - Export to pdf/png/svg at the same time
#+name: pdf2svg #+name: pdf2svg
#+begin_src sh :var file="" :var ext="svg" :results output #+begin_src sh :var file="" :var ext="svg" :results output
_mydir="$(pwd)"; _mydir="$(pwd)";
file=$(echo "$file" | cut -f 2- -d ':'); file=$(echo "$file" | cut -f 2- -d ':');
_figdir=$(dirname "$file"); _figdir=$(dirname "$file");
cd $_figdir; cd $_figdir;
filename=$(echo "${file##*/}" | cut -f 1 -d '.'); filename=$(echo "${file##*/}" | cut -f 1 -d '.');
pdftocairo -png -transp -singlefile "$filename.pdf"; pdftocairo -png -transp -singlefile "$filename.pdf";
pdftocairo -svg "$filename.pdf"; pdftocairo -svg "$filename.pdf";
cd "$_mydir"; cd "$_mydir";
echo "[[file:$_figdir/$filename.$ext]]" echo "[[file:$_figdir/$filename.$ext]]"
#+end_src #+end_src
* =addhdr= - Add hline to tables * =addhdr= - Add hline to tables
#+name: addhdr #+name: addhdr
#+begin_src emacs-lisp :var tbl="" #+begin_src emacs-lisp :var tbl=""
(cons (car tbl) (cons 'hline (cdr tbl))) (cons (car tbl) (cons 'hline (cdr tbl)))
#+end_src #+end_src
* Matlab Related * Matlab Related
@ -35,22 +35,22 @@
#+name: matlab-dir #+name: matlab-dir
#+begin_src matlab :tangle no :results none :exports none :var current_dir="" #+begin_src matlab :tangle no :results none :exports none :var current_dir=""
%% Go to current Directory %% Go to current Directory
cd(current_dir); cd(current_dir);
%% Initialize ans with org-babel %% Initialize ans with org-babel
ans = 0; ans = 0;
#+end_src #+end_src
** =matlab-init= Initialize matlab ** =matlab-init= Initialize matlab
#+name: matlab-init #+name: matlab-init
#+begin_src matlab :results none :exports none #+begin_src matlab :results none :exports none
%% Clear Workspace and Close figures %% Clear Workspace and Close figures
clear; close all; clc; clear; close all; clc;
%% Intialize Laplace variable %% Intialize Laplace variable
s = zpk('s'); s = zpk('s');
#+end_src #+end_src
** =plt-matlab= Plot figures ** =plt-matlab= Plot figures
@ -60,13 +60,13 @@ Some variable can be set by block that expands this org source code block:
#+name: plt-matlab #+name: plt-matlab
#+begin_src matlab :results value raw replace :exports code :var filepath="" :var figsize="normal-normal" #+begin_src matlab :results value raw replace :exports code :var filepath="" :var figsize="normal-normal"
if ~exist('filepath') || length(filepath) < 2 if ~exist('filepath') || length(filepath) < 2
symbols = ['a':'z' 'A':'Z' '0':'9']; symbols = ['a':'z' 'A':'Z' '0':'9'];
random_string = symbols(randi(numel(symbols),[1 5])); random_string = symbols(randi(numel(symbols),[1 5]));
filepath = ['/tmp/matlab-fig-', random_string]; filepath = ['/tmp/matlab-fig-', random_string];
end end
size_strings = strsplit(figsize, '-'); size_strings = strsplit(figsize, '-');
ans = exportFig(filepath, 'width', size_strings{1}, 'height', size_strings{2}); ans = exportFig(filepath, 'width', size_strings{1}, 'height', size_strings{2});
#+end_src #+end_src

View File

@ -289,15 +289,15 @@ $0
** Wrap Figure ** Wrap Figure
#+begin_src conf :tangle ~/.config/doom/snippets/org-mode/wrapfig #+begin_src conf :tangle ~/.config/doom/snippets/org-mode/wrapfig
#contributor : Thomas Dehaeze <dehaeze.thomas@gmail.com> #contributor : Thomas Dehaeze <dehaeze.thomas@gmail.com>
#name :Wrap Figure #name :Wrap Figure
# -- # --
,#+attr_latex: :options {${1:rl}}{${2:0.45\textwidth}} ,#+attr_latex: :options {${1:rl}}{${2:0.45\textwidth}}
,#+begin_wrapfigure ,#+begin_wrapfigure
,#+attr_latex: :${3:width \linewidth} ,#+attr_latex: :${3:width \linewidth}
[[file:figs/${4:figure_name.pdf}]] [[file:figs/${4:figure_name.pdf}]]
,#+end_wrapfigure ,#+end_wrapfigure
$0 $0
#+end_src #+end_src
** Multicolumn ** Multicolumn

18
git.org
View File

@ -188,9 +188,9 @@
** Github ** Github
#+BEGIN_SRC conf #+BEGIN_SRC conf
[github] [github]
user = tdehaeze user = tdehaeze
oauth-token = 8cc5b41120f7e9a869c24fa3678667d3d8422e6f oauth-token = 8cc5b41120f7e9a869c24fa3678667d3d8422e6f
#+END_SRC #+END_SRC
* =~/.gitignore_global= - Global Git Ignore * =~/.gitignore_global= - Global Git Ignore
@ -212,12 +212,12 @@ Session.vim
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
[github.com*] [github.com*]
target=github.com/tdehaeze target=github.com/tdehaeze
[git.tdehaeze.xyz*] [git.tdehaeze.xyz*]
target=git.tdehaeze.xyz/tdehaeze target=git.tdehaeze.xyz/tdehaeze
[gitlab.esrf.fr*] [gitlab.esrf.fr*]
target=gitlab.esrf.fr/dehaeze target=gitlab.esrf.fr/dehaeze
#+END_SRC #+END_SRC

62
gtk.org
View File

@ -8,21 +8,21 @@
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
gtk-theme-name="Arc-Dark" gtk-theme-name="Arc-Dark"
gtk-icon-theme-name="Arc" gtk-icon-theme-name="Arc"
gtk-font-name="Hack Nerd Font Mono 10" gtk-font-name="Hack Nerd Font Mono 10"
gtk-cursor-theme-name="xcursor-breeze" gtk-cursor-theme-name="xcursor-breeze"
gtk-cursor-theme-size=0 gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1 gtk-button-images=1
gtk-menu-images=1 gtk-menu-images=1
gtk-enable-event-sounds=1 gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1 gtk-enable-input-feedback-sounds=1
gtk-xft-antialias=1 gtk-xft-antialias=1
gtk-xft-hinting=1 gtk-xft-hinting=1
gtk-xft-hintstyle="hintfull" gtk-xft-hintstyle="hintfull"
gtk-xft-rgba="rgb" gtk-xft-rgba="rgb"
#+END_SRC #+END_SRC
* GTK-3.0 * GTK-3.0
@ -32,20 +32,20 @@
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
[Settings] [Settings]
gtk-theme-name=Arc-Dark gtk-theme-name=Arc-Dark
gtk-icon-theme-name=Arc gtk-icon-theme-name=Arc
gtk-font-name=Hack Nerd Font Mono 10 gtk-font-name=Hack Nerd Font Mono 10
gtk-cursor-theme-name=xcursor-breeze gtk-cursor-theme-name=xcursor-breeze
gtk-cursor-theme-size=0 gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1 gtk-button-images=1
gtk-menu-images=1 gtk-menu-images=1
gtk-enable-event-sounds=1 gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1 gtk-enable-input-feedback-sounds=1
gtk-xft-antialias=1 gtk-xft-antialias=1
gtk-xft-hinting=1 gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull gtk-xft-hintstyle=hintfull
gtk-xft-rgba=rgb gtk-xft-rgba=rgb
#+END_SRC #+END_SRC

1
i3.org
View File

@ -131,6 +131,7 @@ 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="Floating"] floating enable, resize set 800 600, move position 1100 460
for_window [class="mpv"] floating enable for_window [class="mpv"] floating enable
for_window [class="Sxiv"] floating enable, resize set 800 600, move position center for_window [class="Sxiv"] floating enable, resize set 800 600, move position center
for_window [title="khal"] floating enable
for_window [title="nmtui"] floating enable, resize set 800 600 for_window [title="nmtui"] floating enable, resize set 800 600
#+end_src #+end_src

View File

@ -8,15 +8,15 @@
Press =C-x= to activate to key handler. Press =C-x= to activate to key handler.
#+begin_src conf #+begin_src conf
while read file while read file
do do
case "$1" in case "$1" in
"C-d") "C-d")
mv "$file" ~/.trash ;; mv "$file" ~/.trash ;;
"C-r") "C-r")
convert -rotate 90 "$file" "$file" ;; convert -rotate 90 "$file" "$file" ;;
"C-c") "C-c")
echo -n "$file" | xsel -ib ;; echo -n "$file" | xsel -ib ;;
esac esac
done done
#+end_src #+end_src

View File

@ -35,6 +35,6 @@ There are Specific configuration files for:
- *Desktop Applications*: [[file:applications.org][.desktop files]] - *Desktop Applications*: [[file:applications.org][.desktop files]]
- *Computation*: [[file:matlab.org][Matlab]] - *Computation*: [[file:matlab.org][Matlab]]
- *GUI Toolkit*: [[file:gtk.org][GTK]] - *GUI Toolkit*: [[file:gtk.org][GTK]]
- [[file:config.org][Other Configurations]] and some data - [[file:config.org][Other Configurations]] and some [[file:data.org][data]]
I also have a nice Home-Server which configuration files can be found [[file:nas.org][here]]. I also have a nice Home-Server which configuration files can be found [[file:nas.org][here]].

View File

@ -429,6 +429,7 @@ Addons:
- [[https://addons.mozilla.org/fr/firefox/addon/ublock-origin/][uBlock Origin]] - [[https://addons.mozilla.org/fr/firefox/addon/ublock-origin/][uBlock Origin]]
- [[https://addons.mozilla.org/en-US/firefox/addon/adblock-plus/][Adblock Plus]] - [[https://addons.mozilla.org/en-US/firefox/addon/adblock-plus/][Adblock Plus]]
- [[https://addons.mozilla.org/fr/firefox/addon/bukubrow/][Bukurow]] - [[https://addons.mozilla.org/fr/firefox/addon/bukubrow/][Bukurow]]
- [[https://addons.mozilla.org/fr/firefox/addon/i-dont-care-about-cookies/][I don't care about cookies]]
* =xrandr= - Monitor Manager * =xrandr= - Monitor Manager
#+begin_src bash #+begin_src bash
@ -1560,10 +1561,10 @@ To see next timers
| =msmtp= | SMTP client that can be used as an SMTP plugin for Mutt | | =msmtp= | SMTP client that can be used as an SMTP plugin for Mutt |
| =isync= | Synchronize a maildir with an IMAP server | | =isync= | Synchronize a maildir with an IMAP server |
| =vdirsyncer= | Synchronize calendars and contacts | | =vdirsyncer= | Synchronize calendars and contacts |
| =abook= | Address book with mutt support |
| =urlview= | URL extractor/launcher | | =urlview= | URL extractor/launcher |
| =w3m= | Pager/text based browser | | =w3m= | Pager/text based browser |
| =abook= | Address book with mutt support | | =lynx= | Text mode web browser |
| =elinks= | Text mode web browser |
| =lbdb= | Little brother's database for the mutt mail reader | | =lbdb= | Little brother's database for the mutt mail reader |
| =mu= | Tool for searching e-mail messages stored in the maildir-format | | =mu= | Tool for searching e-mail messages stored in the maildir-format |
| =ripmime= | Extract attachments out of MIME encoded email packages | | =ripmime= | Extract attachments out of MIME encoded email packages |
@ -1615,3 +1616,4 @@ To see next timers
| =hugo= | Configurable static site generator | | =hugo= | Configurable static site generator |
| =markdown= | Text-to-HTML conversion tool | | =markdown= | Text-to-HTML conversion tool |
| =pandoc= | Swiss-army knife of markup format conversion | | =pandoc= | Swiss-army knife of markup format conversion |
| =uni= | Query the Unicode database from the commandline |

1911
mail.org

File diff suppressed because it is too large Load Diff

View File

@ -12,143 +12,143 @@
** Setup LaTeX as a default interpreter ** Setup LaTeX as a default interpreter
#+begin_src matlab #+begin_src matlab
set(groot, 'DefaultTextInterpreter', 'LaTeX'); set(groot, 'DefaultTextInterpreter', 'LaTeX');
set(groot, 'DefaultAxesTickLabelInterpreter', 'LaTeX'); set(groot, 'DefaultAxesTickLabelInterpreter', 'LaTeX');
set(groot, 'DefaultAxesFontName', 'LaTeX'); set(groot, 'DefaultAxesFontName', 'LaTeX');
set(groot, 'DefaultLegendInterpreter', 'LaTeX'); set(groot, 'DefaultLegendInterpreter', 'LaTeX');
#+end_src #+end_src
** Default Line Width ** Default Line Width
#+begin_src matlab #+begin_src matlab
set(groot, 'DefaultLineLineWidth', 1.5); set(groot, 'DefaultLineLineWidth', 1.5);
set(groot, 'DefaultAxesLineWidth', 0.5); set(groot, 'DefaultAxesLineWidth', 0.5);
#+end_src #+end_src
** Default grids on all axis ** Default grids on all axis
#+begin_src matlab #+begin_src matlab
set(groot, 'DefaultAxesXGrid','on'); set(groot, 'DefaultAxesXGrid','on');
set(groot, 'DefaultAxesYGrid','on'); set(groot, 'DefaultAxesYGrid','on');
set(groot, 'DefaultAxesZGrid','on'); set(groot, 'DefaultAxesZGrid','on');
#+end_src #+end_src
** Default Font Size ** Default Font Size
#+begin_src matlab #+begin_src matlab
set(groot, 'DefaultTextFontUnits', 'points'); set(groot, 'DefaultTextFontUnits', 'points');
set(groot, 'DefaultTextFontSize', 10); set(groot, 'DefaultTextFontSize', 10);
set(groot, 'DefaultAxesFontUnits', 'points'); set(groot, 'DefaultAxesFontUnits', 'points');
set(groot, 'DefaultAxesFontSize', 10); set(groot, 'DefaultAxesFontSize', 10);
set(groot, 'DefaultUicontrolFontSize', 10); set(groot, 'DefaultUicontrolFontSize', 10);
#+end_src #+end_src
** Default Fonts ** Default Fonts
#+begin_src matlab #+begin_src matlab
set(groot, 'DefaultAxesFontName', 'Helvetica'); set(groot, 'DefaultAxesFontName', 'Helvetica');
set(groot, 'DefaultTextFontName', 'Helvetica'); set(groot, 'DefaultTextFontName', 'Helvetica');
#+end_src #+end_src
** Make figures into a Box ** Make figures into a Box
#+begin_src matlab #+begin_src matlab
set(groot, 'DefaultAxesBox', 'on'); set(groot, 'DefaultAxesBox', 'on');
#+end_src #+end_src
** Default Colors ** Default Colors
#+begin_src matlab #+begin_src matlab
set(groot, 'DefaultAxesColor', 'w'); set(groot, 'DefaultAxesColor', 'w');
set(groot, 'DefaultAxesXColor', 'k'); set(groot, 'DefaultAxesXColor', 'k');
set(groot, 'DefaultAxesYColor', 'k'); set(groot, 'DefaultAxesYColor', 'k');
set(groot, 'DefaultFigureColor', 'w'); set(groot, 'DefaultFigureColor', 'w');
#+end_src #+end_src
** Default Plot Colors ** Default Plot Colors
#+begin_src matlab #+begin_src matlab
c1 = [ 0 0.4470 0.7410]; % Blue c1 = [ 0 0.4470 0.7410]; % Blue
c2 = [0.8500 0.3250 0.0980]; % Orange c2 = [0.8500 0.3250 0.0980]; % Orange
c3 = [0.9290 0.6940 0.1250]; % Yellow c3 = [0.9290 0.6940 0.1250]; % Yellow
c4 = [0.4940 0.1840 0.5560]; % Purple c4 = [0.4940 0.1840 0.5560]; % Purple
c5 = [0.4660 0.6740 0.1880]; % Green c5 = [0.4660 0.6740 0.1880]; % Green
c6 = [0.3010 0.7450 0.9330]; % Light Blue c6 = [0.3010 0.7450 0.9330]; % Light Blue
c7 = [0.6350 0.0780 0.1840]; % Red c7 = [0.6350 0.0780 0.1840]; % Red
set(groot, 'defaultAxesColorOrder', [c1; c2; c3; c4; c5; c6; c7]) set(groot, 'defaultAxesColorOrder', [c1; c2; c3; c4; c5; c6; c7])
#+end_src #+end_src
** Figure paper and window style ** Figure paper and window style
#+begin_src matlab #+begin_src matlab
set(groot, 'DefaultFigurePaperType', 'A4'); set(groot, 'DefaultFigurePaperType', 'A4');
set(groot, 'DefaultFigureWindowStyle', 'normal'); set(groot, 'DefaultFigureWindowStyle', 'normal');
#+end_src #+end_src
** Set the display format ** Set the display format
#+begin_src matlab #+begin_src matlab
format compact; format compact;
format long g; format long g;
#+end_src #+end_src
** Home Path ** Home Path
#+begin_src matlab #+begin_src matlab
toolboxes_path = '~/Cloud/thesis/matlab/toolboxes/'; toolboxes_path = '~/Cloud/thesis/matlab/toolboxes/';
#+end_src #+end_src
** Add to path ** Add to path
Provides =vecfig3= for FRF fitting ([[https://www.sintef.no/projectweb/vectorfitting/downloads/][link]]). Provides =vecfig3= for FRF fitting ([[https://www.sintef.no/projectweb/vectorfitting/downloads/][link]]).
#+begin_src matlab #+begin_src matlab
addpath([toolboxes_path 'matrix_fitting_toolbox_1']) addpath([toolboxes_path 'matrix_fitting_toolbox_1'])
#+end_src #+end_src
Apply and save color schemes in MATLAB with ease ([[https://github.com/scottclowe/matlab-schemer][link]]). Apply and save color schemes in MATLAB with ease ([[https://github.com/scottclowe/matlab-schemer][link]]).
#+begin_src matlab #+begin_src matlab
addpath([toolboxes_path 'matlab-schemer']) addpath([toolboxes_path 'matlab-schemer'])
#+end_src #+end_src
Converts MATLAB figures to TikZ ([[https://github.com/matlab2tikz/matlab2tikz][link]]). Converts MATLAB figures to TikZ ([[https://github.com/matlab2tikz/matlab2tikz][link]]).
#+begin_src matlab #+begin_src matlab
addpath([toolboxes_path 'matlab2tikz/src']) addpath([toolboxes_path 'matlab2tikz/src'])
#+end_src #+end_src
MATLAB toolbox for exporting publication quality figures ([[https://github.com/altmany/export_fig][link]]). MATLAB toolbox for exporting publication quality figures ([[https://github.com/altmany/export_fig][link]]).
#+begin_src matlab #+begin_src matlab
addpath([toolboxes_path 'export_fig']) addpath([toolboxes_path 'export_fig'])
#+end_src #+end_src
MATLAB source code formatter, beautifier ([[https://github.com/davidvarga/MBeautifier][link]]). MATLAB source code formatter, beautifier ([[https://github.com/davidvarga/MBeautifier][link]]).
#+begin_src matlab #+begin_src matlab
addpath([toolboxes_path 'MBeautifier']) addpath([toolboxes_path 'MBeautifier'])
#+end_src #+end_src
Toolbox for Convex Programming ([[http://cvxr.com/cvx/][link]]). Toolbox for Convex Programming ([[http://cvxr.com/cvx/][link]]).
#+begin_src matlab #+begin_src matlab
addpath([toolboxes_path 'CVX']) addpath([toolboxes_path 'CVX'])
#+end_src #+end_src
Useful functions to use with =orgmode= ([[https://github.com/tdehaeze/Org-Mode-Matlab][link]]). Useful functions to use with =orgmode= ([[https://github.com/tdehaeze/Org-Mode-Matlab][link]]).
#+begin_src matlab #+begin_src matlab
addpath([toolboxes_path 'Org-Mode-Toolbox/src']) addpath([toolboxes_path 'Org-Mode-Toolbox/src'])
#+end_src #+end_src
Some useful function ([[https://github.com/tdehaeze/matlab_useful_functions][link]]). Some useful function ([[https://github.com/tdehaeze/matlab_useful_functions][link]]).
#+begin_src matlab #+begin_src matlab
addpath([toolboxes_path 'matlab_useful_functions/src']) addpath([toolboxes_path 'matlab_useful_functions/src'])
#+end_src #+end_src
H-Infinity Toolbox ([[https://github.com/tdehaeze/hinf-toolbox][link]]). H-Infinity Toolbox ([[https://github.com/tdehaeze/hinf-toolbox][link]]).
#+begin_src matlab #+begin_src matlab
% addpath([toolboxes_path 'Hinf-Toolbox/src']) % addpath([toolboxes_path 'Hinf-Toolbox/src'])
#+end_src #+end_src
Toolbox to work with Finite Element Models ([[https://github.com/tdehaeze/fem_matlab_toolbox][link]]). Toolbox to work with Finite Element Models ([[https://github.com/tdehaeze/fem_matlab_toolbox][link]]).
#+begin_src matlab #+begin_src matlab
addpath([toolboxes_path 'fem_toolbox/src']) addpath([toolboxes_path 'fem_toolbox/src'])
#+end_src #+end_src
Toolbox to work with fractional order models ([[https://github.com/extall/fomcon-matlab][link]]). Toolbox to work with fractional order models ([[https://github.com/extall/fomcon-matlab][link]]).
#+begin_src matlab #+begin_src matlab
addpath(genpath([toolboxes_path 'fomcon-matlab'])) addpath(genpath([toolboxes_path 'fomcon-matlab']))
#+end_src #+end_src
** Clear ** Clear
#+begin_src matlab #+begin_src matlab
clear; clear;
#+end_src #+end_src
* Setup * Setup
@ -160,5 +160,5 @@ This script should be run once after Matlab is installed.
Import a nice color scheme. Import a nice color scheme.
#+begin_src matlab #+begin_src matlab
schemer_import('~/Cloud/thesis/matlab/toolboxes/Add-Ons/matlab-schemer/schemes/monokai.prf'); schemer_import('~/Cloud/thesis/matlab/toolboxes/Add-Ons/matlab-schemer/schemes/monokai.prf');
#+end_src #+end_src

238
music.org
View File

@ -9,14 +9,14 @@
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
[window] [window]
width=500 width=500
height=400 height=400
sinkInputType=1 sinkInputType=1
sourceOutputType=1 sourceOutputType=1
sinkType=0 sinkType=0
sourceType=1 sourceType=1
showVolumeMeters=1 showVolumeMeters=1
#+END_SRC #+END_SRC
* =mopidy= - Music Server * =mopidy= - Music Server
@ -27,47 +27,47 @@
:END: :END:
#+begin_src conf #+begin_src conf
[spotify] [spotify]
username = dehaeze.thomas@gmail.com username = dehaeze.thomas@gmail.com
password = <<get-password(passname="spotify.com/dehaeze.thomas@gmail.com")>> password = <<get-password(passname="spotify.com/dehaeze.thomas@gmail.com")>>
client_id = 9dd02534-f038-46d8-946e-bfe72498204e client_id = 9dd02534-f038-46d8-946e-bfe72498204e
client_secret = <<get-password(passname="spotify/client_secret")>> client_secret = <<get-password(passname="spotify/client_secret")>>
bitrate = 320 bitrate = 320
[mpd] [mpd]
enabled = true enabled = true
hostname = 127.0.0.1 hostname = 127.0.0.1
port = 6600 port = 6600
password = password =
max_connections = 20 max_connections = 20
connection_timeout = 60 connection_timeout = 60
zeroconf = Mopidy MPD server on $hostname zeroconf = Mopidy MPD server on $hostname
command_blacklist = listall,listallinfo command_blacklist = listall,listallinfo
default_playlist_scheme = m3u default_playlist_scheme = m3u
[jellyfin] [jellyfin]
hostname = https://jellyfin.tdehaeze.xyz/ hostname = https://jellyfin.tdehaeze.xyz/
username = tdehaeze username = tdehaeze
password = <<get-password(passname="music.tdehaeze.xyz/tdehaeze")>> password = <<get-password(passname="music.tdehaeze.xyz/tdehaeze")>>
libraries = Music libraries = Music
albumartistsort = True albumartistsort = True
album_format = {ProductionYear} - {Name} album_format = {ProductionYear} - {Name}
[file] [file]
enabled = true enabled = true
media_dirs = /home/thomas/Music media_dirs = /home/thomas/Music
excluded_file_extensions = excluded_file_extensions =
.db .db
.directory .directory
.html .html
.jpeg .jpeg
.jpg .jpg
.log .log
.nfo .nfo
.pdf .pdf
.png .png
.txt .txt
.zip .zip
#+end_src #+end_src
* =ncmpcpp= - Ncurses based MPD client * =ncmpcpp= - Ncurses based MPD client
@ -86,38 +86,38 @@ Cheatsheet: https://pkgbuild.com/~jelle/ncmpcpp/
Configuration directory. Configuration directory.
#+begin_src conf #+begin_src conf
ncmpcpp_directory = ~/.config/ncmpcpp ncmpcpp_directory = ~/.config/ncmpcpp
#+end_src #+end_src
MPD Configuration. MPD Configuration.
#+begin_src conf #+begin_src conf
mpd_host = localhost mpd_host = localhost
mpd_port = 6600 mpd_port = 6600
mpd_music_dir = ~/Music mpd_music_dir = ~/Music
#+end_src #+end_src
Notification of song change. Notification of song change.
#+begin_src conf #+begin_src conf
execute_on_song_change = dunstify --replace=19845 "Now Playing ♫" "$(mpc current)" execute_on_song_change = dunstify --replace=19845 "Now Playing ♫" "$(mpc current)"
#+end_src #+end_src
Better user interface Better user interface
#+begin_src conf #+begin_src conf
user_interface = "alternative" user_interface = "alternative"
playlist_editor_display_mode = "columns" playlist_editor_display_mode = "columns"
search_engine_display_mode = "columns" search_engine_display_mode = "columns"
browser_display_mode = "columns" browser_display_mode = "columns"
playlist_display_mode = "columns" playlist_display_mode = "columns"
#+end_src #+end_src
Sorting by tracking number and then title Sorting by tracking number and then title
#+begin_src conf #+begin_src conf
browser_sort_mode = "format" browser_sort_mode = "format"
browser_sort_format = '{%n - %t}|{%t}' browser_sort_format = '{%n - %t}|{%t}'
#+end_src #+end_src
#+begin_src conf #+begin_src conf
ask_before_clearing_playlists = "no" ask_before_clearing_playlists = "no"
#+end_src #+end_src
** Bindings ** Bindings
@ -126,43 +126,43 @@ Sorting by tracking number and then title
:header-args:conf+: :comments none :mkdirp yes :header-args:conf+: :comments none :mkdirp yes
:END: :END:
#+begin_src conf #+begin_src conf
def_key "q" def_key "q"
run_external_command "sh -c 'if [ $TMUX ] ; then tmux detach; fi'" run_external_command "sh -c 'if [ $TMUX ] ; then tmux detach; fi'"
def_key "Q" def_key "Q"
quit quit
def_key "g" def_key "g"
move_home move_home
def_key "G" def_key "G"
move_end move_end
def_key "j" def_key "j"
scroll_down scroll_down
def_key "k" def_key "k"
scroll_up scroll_up
def_key "ctrl-u" def_key "ctrl-u"
page_up page_up
def_key "ctrl-d" def_key "ctrl-d"
page_down page_down
def_key "l" def_key "l"
enter_directory enter_directory
def_key "h" def_key "h"
jump_to_parent_directory jump_to_parent_directory
def_key "." def_key "."
show_lyrics show_lyrics
def_key "n" def_key "n"
next_found_item next_found_item
def_key "N" def_key "N"
previous_found_item previous_found_item
def_key "J" def_key "J"
move_sort_order_down move_sort_order_down
def_key "K" def_key "K"
move_sort_order_up move_sort_order_up
def_key "d" def_key "d"
delete_playlist_items delete_playlist_items
def_key "+" def_key "+"
volume_up volume_up
def_key "-" def_key "-"
volume_down volume_down
#+end_src #+end_src
@ -175,14 +175,14 @@ Sorting by tracking number and then title
http://beets.io/ http://beets.io/
#+begin_src conf #+begin_src conf
directory: ~/Music directory: ~/Music
library: ~/Music/musiclibrary.db library: ~/Music/musiclibrary.db
art_filename: cover art_filename: cover
import: import:
move: yes move: yes
plugins: fromfilename discogs plugins: fromfilename discogs
#+end_src #+end_src
* =curseradio= - Radio with curseradio * =curseradio= - Radio with curseradio
@ -193,24 +193,24 @@ http://beets.io/
:END: :END:
#+begin_src conf #+begin_src conf
[opml] [opml]
root = http://opml.radiotime.com/ root = http://opml.radiotime.com/
[playback] [playback]
command = /usr/bin/mpv command = /usr/bin/mpv
[interface] [interface]
keymap = vi keymap = vi
[keymap.vi] [keymap.vi]
up = k up = k
down = j down = j
start = 0 start = 0
end = $ end = $
pageup = u pageup = u
pagedown = d pagedown = d
enter = l enter = l
stop = p stop = p
exit = q exit = q
favourite = f favourite = f
#+end_src #+end_src

1349
nas.org

File diff suppressed because it is too large Load Diff

View File

@ -12,105 +12,105 @@ https://newsboat.org/releases/2.12/docs/newsboat.html
** Reload configuration ** Reload configuration
#+BEGIN_SRC conf #+BEGIN_SRC conf
# All feeds will be automatically reloaded after a certain time has passed # All feeds will be automatically reloaded after a certain time has passed
auto-reload yes auto-reload yes
# The number of minutes between automatic reloads. # The number of minutes between automatic reloads.
reload-time 120 reload-time 120
# The number of parallel reload threads that shall be started when all feeds are reloaded. # The number of parallel reload threads that shall be started when all feeds are reloaded.
reload-threads 3 reload-threads 3
# If set to yes, then the first automatic reload will be suppressed if auto-reload is set to yes. # If set to yes, then the first automatic reload will be suppressed if auto-reload is set to yes.
suppress-first-reload yes suppress-first-reload yes
#+END_SRC #+END_SRC
** Basic configuration ** Basic configuration
#+BEGIN_SRC conf #+BEGIN_SRC conf
confirm-exit no confirm-exit no
external-url-viewer "urlscan -dc -r 'linkhandler {}'" external-url-viewer "urlscan -dc -r 'linkhandler {}'"
goto-first-unread no goto-first-unread no
goto-next-feed no goto-next-feed no
save-path "~/Documents/newsboat/saved" save-path "~/Documents/newsboat/saved"
download-path "~/Documents/newsboat/downloaded" download-path "~/Documents/newsboat/downloaded"
# If set to no, then the keymap hints on the bottom of screen will not be displayed. # If set to no, then the keymap hints on the bottom of screen will not be displayed.
show-keymap-hint no show-keymap-hint no
player "mpv" player "mpv"
#+END_SRC #+END_SRC
** Queries ** Queries
#+begin_src conf #+begin_src conf
prepopulate-query-feeds yes prepopulate-query-feeds yes
#+end_src #+end_src
** Filters ** Filters
#+begin_src conf :tangle no #+begin_src conf :tangle no
define-filter "Unread Articles" "unread = \"yes\"" define-filter "Unread Articles" "unread = \"yes\""
#+end_src #+end_src
** Notifications ** Notifications
#+BEGIN_SRC conf #+BEGIN_SRC conf
notify-format "%n unread articles" notify-format "%n unread articles"
notify-program ~/.config/newsboat/scripts/newsboat-notify.sh notify-program ~/.config/newsboat/scripts/newsboat-notify.sh
notify-always no notify-always no
#+END_SRC #+END_SRC
*** Notification Script *** Notification Script
:PROPERTIES: :PROPERTIES:
:header-args: :tangle ~/.config/newsboat/scripts/newsboat-notify.sh :header-args: :tangle ~/.config/newsboat/scripts/newsboat-notify.sh
:header-args+: :comments both :mkdirp yes :header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash" :header-args+: :shebang "#!/usr/bin/env bash"
:END: :END:
#+begin_src bash #+begin_src bash
dunstify --replace=38492 "Newsboat " "$1" dunstify --replace=38492 "Newsboat " "$1"
#+end_src #+end_src
** Bindings ** Bindings
#+BEGIN_SRC conf #+BEGIN_SRC conf
bind-key j down bind-key j down
bind-key k up bind-key k up
bind-key j next articlelist bind-key j next articlelist
bind-key k prev articlelist bind-key k prev articlelist
bind-key J next-feed articlelist bind-key J next-feed articlelist
bind-key K prev-feed articlelist bind-key K prev-feed articlelist
bind-key G end bind-key G end
bind-key g home bind-key g home
bind-key ^D pagedown bind-key ^D pagedown
bind-key ^U pageup bind-key ^U pageup
bind-key q toggle-show-read-feeds bind-key q toggle-show-read-feeds
bind-key Q quit bind-key Q quit
bind-key l open bind-key l open
bind-key h quit bind-key h quit
bind-key a toggle-article-read bind-key a toggle-article-read
bind-key n next-unread bind-key n next-unread
bind-key N prev-unread bind-key N prev-unread
bind-key D pb-download bind-key D pb-download
bind-key U show-urls bind-key U show-urls
bind-key t set-tag bind-key t set-tag
bind-key T clear-tag bind-key T clear-tag
bind-key r reload # Reload the currently selected feed bind-key r reload # Reload the currently selected feed
bind-key R reload-all # Reload all feeds bind-key R reload-all # Reload all feeds
#+END_SRC #+END_SRC
** Bookmarking ** Bookmarking
#+begin_src conf #+begin_src conf
bookmark-autopilot no bookmark-autopilot no
bookmark-cmd "~/.config/newsboat/scripts/buku-add.sh" bookmark-cmd "~/.config/newsboat/scripts/buku-add.sh"
bookmark-interactive no bookmark-interactive no
#+end_src #+end_src
*** Buku Scripts *** Buku Scripts
@ -121,59 +121,59 @@ https://newsboat.org/releases/2.12/docs/newsboat.html
:END: :END:
#+begin_src bash #+begin_src bash
buku --add "$1" --title "$2" --comment "$3" && \ buku --add "$1" --title "$2" --comment "$3" && \
dunstify "Buku" "Bookmark Added" && \ dunstify "Buku" "Bookmark Added" && \
exit 0 exit 0
#+end_src #+end_src
** Macros - Starts with , key ** Macros - Starts with , key
#+BEGIN_SRC conf #+BEGIN_SRC conf
# Default Browser # Default Browser
browser linkhandler browser linkhandler
# Open in Browser # Open in Browser
macro , open-in-browser macro , open-in-browser
# Download Video with Youtube-DL # Download Video with Youtube-DL
macro v set browser "cd ~/Documents/to-watch && ~/.local/bin/yt-video %u" ; open-in-browser ; set browser linkhandler macro v set browser "cd ~/Documents/to-watch && ~/.local/bin/yt-video %u" ; open-in-browser ; set browser linkhandler
# Download Audio with Youtube-DL # Download Audio with Youtube-DL
macro a set browser "cd ~/Documents/to-watch && ~/.local/bin/yt-audio %u" ; open-in-browser ; set browser linkhandler macro a set browser "cd ~/Documents/to-watch && ~/.local/bin/yt-audio %u" ; open-in-browser ; set browser linkhandler
# Open Video with MPV # Open Video with MPV
macro m set browser "setsid nohup mpv %u &> /dev/null &" ; open-in-browser ; set browser linkhandler macro m set browser "setsid nohup mpv %u &> /dev/null &" ; open-in-browser ; set browser linkhandler
# Open With W3M # Open With W3M
macro w set browser "w3m %u" ; open-in-browser ; set browser linkhandler macro w set browser "w3m %u" ; open-in-browser ; set browser linkhandler
# Copy Address to clipboard # Copy Address to clipboard
macro c set browser "xsel -b <<<" ; open-in-browser ; set browser linkhandler macro c set browser "xsel -b <<<" ; open-in-browser ; set browser linkhandler
# Quit # Quit
macro q set browser "tmux detach" ; open-in-browser ; set browser linkhandler macro q set browser "tmux detach" ; open-in-browser ; set browser linkhandler
#+END_SRC #+END_SRC
** hide articles matching ** hide articles matching
#+BEGIN_SRC conf :tangle no #+BEGIN_SRC conf :tangle no
ignore-article "*" "title =~ \"Sponsor\"" ignore-article "*" "title =~ \"Sponsor\""
ignore-article "*" "title =~ \"Advertisement\"" ignore-article "*" "title =~ \"Advertisement\""
ignore-mode "display" ignore-mode "display"
#+END_SRC #+END_SRC
** Feedlist and Article Format ** Feedlist and Article Format
#+BEGIN_SRC conf #+BEGIN_SRC conf
feedlist-format "%4i %n %11u %t" feedlist-format "%4i %n %11u %t"
feedlist-title-format "N %V - Your feeds (%u unread, %t total)%?T? - tag `%T'&?" feedlist-title-format "N %V - Your feeds (%u unread, %t total)%?T? - tag `%T'&?"
articlelist-format "%3i %f %D %?T?|%-17T| ?%t" articlelist-format "%3i %f %D %?T?|%-17T| ?%t"
articlelist-title-format "%N %V - Articles in feed '%T' (%u unread, %t total) - %U" articlelist-title-format "%N %V - Articles in feed '%T' (%u unread, %t total) - %U"
itemview-title-format "Article '%T'" itemview-title-format "Article '%T'"
#+END_SRC #+END_SRC
** Color Scheme ** Color Scheme
#+BEGIN_SRC conf #+BEGIN_SRC conf
include "~/.config/newsboat/colors" include "~/.config/newsboat/colors"
#+END_SRC #+END_SRC
* Colors * Colors
@ -183,18 +183,18 @@ https://newsboat.org/releases/2.12/docs/newsboat.html
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
color background default default color background default default
color listnormal default default color listnormal default default
color listnormal_unread default default color listnormal_unread default default
color listfocus black yellow color listfocus black yellow
color listfocus_unread black yellow color listfocus_unread black yellow
color info default black color info default black
color article default default color article default default
# highlights # highlights
highlight article "^(Title):.*$" blue default highlight article "^(Title):.*$" blue default
highlight article "https?://[^ ]+" red default highlight article "https?://[^ ]+" red default
highlight article "\\[image\\ [0-9]+\\]" green default highlight article "\\[image\\ [0-9]+\\]" green default
#+END_SRC #+END_SRC
* URLS * URLS
@ -205,301 +205,294 @@ https://newsboat.org/releases/2.12/docs/newsboat.html
** Queries ** Queries
#+begin_src conf :tangle no #+begin_src conf :tangle no
"query:Unread:unread = \"yes\"" "query:Unread:unread = \"yes\""
"query:Unwatch - Youtube:unread = \"yes\" and tags # \"youtube\"" "query:Unwatch - Youtube:unread = \"yes\" and tags # \"youtube\""
"query:Unread - Linux:unread = \"yes\" and tags # \"linux\"" "query:Unread - Linux:unread = \"yes\" and tags # \"linux\""
"query:Unread - Emacs:unread = \"yes\" and tags # \"emacs\"" "query:Unread - Emacs:unread = \"yes\" and tags # \"emacs\""
"query:Unread - Sciences:unread = \"yes\" and tags # \"science\"" "query:Unread - Sciences:unread = \"yes\" and tags # \"science\""
#+end_src #+end_src
** Newsfeeds ** Newsfeeds
*** Matlab and Control *** Matlab and Control
#+begin_src conf #+begin_src conf
https://undocumentedmatlab.com/feed/ "~RSS undocumentedmatlab" matlab https://undocumentedmatlab.com/feed/ "~RSS undocumentedmatlab" matlab
http://blogs.mathworks.com/seth/feed/ "~RSS Guy on Simulink" matlab control http://blogs.mathworks.com/seth/feed/ "~RSS Guy on Simulink" matlab control
http://blogs.mathworks.com/loren/?feed=rss2 "~RSS Loren on the Art of MATLAB" matlab http://blogs.mathworks.com/loren/?feed=rss2 "~RSS Loren on the Art of MATLAB" matlab
http://blogs.mathworks.com/pick/feed/ "~RSS File Exchange Pick of the Week" matlab http://blogs.mathworks.com/pick/feed/ "~RSS File Exchange Pick of the Week" matlab
https://enriquedelsol.com/feed/ "~RSS Enrique del Sol" control https://enriquedelsol.com/feed/ "~RSS Enrique del Sol" control
http://brettbeauregard.com/blog/feed/ "~RSS Project Blog" control http://brettbeauregard.com/blog/feed/ "~RSS Project Blog" control
https://mburkeonmbd.com/feed/ "~RSS Model-Based Design" control matlab https://mburkeonmbd.com/feed/ "~RSS Model-Based Design" control matlab
https://medium.com/feed/@mithi "~RSS Medium - Mithi" control https://medium.com/feed/@mithi "~RSS Medium - Mithi" control
#+end_src #+end_src
*** Audio and Electronics *** Audio and Electronics
#+begin_src conf #+begin_src conf
http://jipihorn.wordpress.com/feed/ "~RSS Jipihorn's Blog" electronics audio http://jipihorn.wordpress.com/feed/ "~RSS Jipihorn's Blog" electronics audio
https://quantasylum.com/blogs/news.atom "~RSS QuantAsylum" audio https://quantasylum.com/blogs/news.atom "~RSS QuantAsylum" audio
https://www.scrample.xyz/index.xml "~RSS Scrample" electronics https://www.scrample.xyz/index.xml "~RSS Scrample" electronics
#+end_src #+end_src
*** Science *** Science
#+begin_src conf #+begin_src conf
http://sciencetonnante.wordpress.com/feed/ "~RSS Science étonnante" science http://sciencetonnante.wordpress.com/feed/ "~RSS Science étonnante" science
https://brushingupscience.com/feed/ "~RSS Brushing Up Science" science https://brushingupscience.com/feed/ "~RSS Brushing Up Science" science
#+end_src #+end_src
*** Linux, Emacs and Computer Science *** Linux, Emacs and Computer Science
#+begin_src conf #+begin_src conf
https://yiufung.net/index.xml "~RSS yiufung" emacs https://yiufung.net/index.xml "~RSS yiufung" emacs
https://bzg.fr/index.xml "~RSS bzg" emacs https://bzg.fr/index.xml "~RSS bzg" emacs
https://thomashartmann.dev/rss.xml "~RSS thomashartmann.dev" emacs linux https://thomashartmann.dev/rss.xml "~RSS thomashartmann.dev" emacs linux
http://cachestocaches.com/feed/ "~RSS CachesToCaches" emacs http://cachestocaches.com/feed/ "~RSS CachesToCaches" emacs
http://frederic.bezies.free.fr/blog/?feed=rss2 "~RSS Le Weblog de Frederic Bezies" linux http://frederic.bezies.free.fr/blog/?feed=rss2 "~RSS Le Weblog de Frederic Bezies" linux
https://la-bibliotex.fr/feed/ "~RSS La biblioTeX" latex https://la-bibliotex.fr/feed/ "~RSS La biblioTeX" latex
https://so.nwalsh.com/feed/ "~RSS so..." emacs https://so.nwalsh.com/feed/ "~RSS so..." emacs
http://karl-voit.at/feeds/lazyblorg-all.atom_1.0.links-and-content.xml "~RSS Public Voit" emacs http://karl-voit.at/feeds/lazyblorg-all.atom_1.0.links-and-content.xml "~RSS Public Voit" emacs
https://people.umass.edu/weikaichen/index.xml "~RSS Weikai Chen" emacs https://people.umass.edu/weikaichen/index.xml "~RSS Weikai Chen" emacs
https://babbagefiles.xyz/index.xml "~RSS The Neo-Babbage Files" linux emacs https://babbagefiles.xyz/index.xml "~RSS The Neo-Babbage Files" linux emacs
https://write.as/dani/feed/ "~RSS Dani" emacs https://write.as/dani/feed/ "~RSS Dani" emacs
https://lepisma.xyz/atom.xml "~RSS Lepisma" emacs https://lepisma.xyz/atom.xml "~RSS Lepisma" emacs
http://kitchingroup.cheme.cmu.edu/blog/feed "~RSS The Kitchin Research Group" emacs http://kitchingroup.cheme.cmu.edu/blog/feed "~RSS The Kitchin Research Group" emacs
http://lukesmith.xyz/rss.xml "~RSS The Latest from Luke" linux http://lukesmith.xyz/rss.xml "~RSS The Latest from Luke" linux
http://manuel-uberti.github.io/feed.xml "~RSS Manuel Uberti" emacs http://manuel-uberti.github.io/feed.xml "~RSS Manuel Uberti" emacs
https://lord.re/index.xml "~RSS /home/lord" linux https://lord.re/index.xml "~RSS /home/lord" linux
https://beepb00p.xyz/rss.xml "~RSS beepb00p" linux emacs https://beepb00p.xyz/rss.xml "~RSS beepb00p" linux emacs
http://pragmaticemacs.com/feed/ "~RSS Pragmatic Emacs" emacs http://pragmaticemacs.com/feed/ "~RSS Pragmatic Emacs" emacs
https://jonathanabennett.github.io/rss.xml "~RSS Jonathan Bennett's Blog" emacs https://jonathanabennett.github.io/rss.xml "~RSS Jonathan Bennett's Blog" emacs
https://joshrollinswrites.com/index.xml "~RSS The Art of Not Asking Why" emacs linux https://joshrollinswrites.com/index.xml "~RSS The Art of Not Asking Why" emacs linux
http://endlessparentheses.com/atom.xml "~RSS Endless Parentheses" emacs http://endlessparentheses.com/atom.xml "~RSS Endless Parentheses" emacs
https://www.gonsie.com/blorg/feed.xml "~RSS Elsa Gonsiorowski" emacs https://www.gonsie.com/blorg/feed.xml "~RSS Elsa Gonsiorowski" emacs
http://tiagoweber.github.io/blog.xml "~RSS Tiago Oliveira Weber" matlab emacs science http://tiagoweber.github.io/blog.xml "~RSS Tiago Oliveira Weber" matlab emacs science
https://shreyas.ragavan.co/index.xml "~RSS Shreyas Ragavan" emacs https://shreyas.ragavan.co/index.xml "~RSS Shreyas Ragavan" emacs
https://pinecast.com/feed/emacscast "~RSS EmacsCast" emacs https://pinecast.com/feed/emacscast "~RSS EmacsCast" emacs
http://amitp.blogspot.com/feeds/posts/default "~RSS Amit's Thoughts" emacs http://amitp.blogspot.com/feeds/posts/default "~RSS Amit's Thoughts" emacs
http://sachachua.com/wp/category/emacs/feed/ "~RSS Sacha Chua" emacs http://sachachua.com/wp/category/emacs/feed/ "~RSS Sacha Chua" emacs
https://cestlaz.github.io/rss.xml "~RSS C'est la Z" emacs https://cestlaz.github.io/rss.xml "~RSS C'est la Z" emacs
https://www-public.imtbs-tsp.eu/~berger_o/weblog/tag/org-mode/feed/ "~RSS WebLog Pro Olivier Berger" emacs https://www-public.imtbs-tsp.eu/~berger_o/weblog/tag/org-mode/feed/ "~RSS WebLog Pro Olivier Berger" emacs
https://scripter.co/index.xml "~RSS A Scripter's Notes" linux emacs https://scripter.co/index.xml "~RSS A Scripter's Notes" linux emacs
https://assortedarray.com/index.xml "~RSS Assorted Array" emacs https://assortedarray.com/index.xml "~RSS Assorted Array" emacs
https://www.with-emacs.com/rss.xml "~RSS with-emacs" emacs https://www.with-emacs.com/rss.xml "~RSS with-emacs" emacs
https://linktohack.com/index.xml "~RSS QL's blog" emacs https://linktohack.com/index.xml "~RSS QL's blog" emacs
https://itsfoss.com/feed "~RSS It's FOSS" linux https://itsfoss.com/feed "~RSS It's FOSS" linux
https://llazarek.com/feeds/all.rss.xml "~RSS llazarek" emacs https://llazarek.com/feeds/all.rss.xml "~RSS llazarek" emacs
https://200ok.ch/rss.xml "~RSS 200ok" emacs https://200ok.ch/rss.xml "~RSS 200ok" emacs
http://irreal.org/blog/?feed=rss2 "~RSS Irreal" emacs http://irreal.org/blog/?feed=rss2 "~RSS Irreal" emacs
https://emacs.cafe/feed.xml "~RSS Emacs café" emacs https://emacs.cafe/feed.xml "~RSS Emacs café" emacs
http://vxlabs.com/feed/ "~RSS vxlabs" emacs linux http://vxlabs.com/feed/ "~RSS vxlabs" emacs linux
https://www.rousette.org.uk/index.xml "~RSS But she's a Girl..." emacs https://www.rousette.org.uk/index.xml "~RSS But she's a Girl..." emacs
https://www.anand-iyer.com/feed.xml "~RSS Anand Iyer" emacs https://www.anand-iyer.com/feed.xml "~RSS Anand Iyer" emacs
https://addy-dclxvi.github.io/index.xml "~RSS Addy's Blog" linux https://addy-dclxvi.github.io/index.xml "~RSS Addy's Blog" linux
https://ekaschalk.github.io/index.xml "~RSS Modern Emacs" emacs https://ekaschalk.github.io/index.xml "~RSS Modern Emacs" emacs
http://howardism.org/index.xml "~RSS Howardism" emacs http://howardism.org/index.xml "~RSS Howardism" emacs
http://xkcd.com/rss.xml "~RSS XKCD" random http://xkcd.com/rss.xml "~RSS XKCD" random
https://blog.jethro.dev/index.xml "~RSS Jethro Kuan" emacs https://blog.jethro.dev/index.xml "~RSS Jethro Kuan" emacs
https://lord.re/posts/index.xml "~RSS Lord~" linux https://lord.re/posts/index.xml "~RSS Lord~" linux
https://rgoswami.me/posts/index.xml "~RSS Rohit Goswami~" linux emacs https://rgoswami.me/posts/index.xml "~RSS Rohit Goswami~" linux emacs
https://translucentink.gitlab.io/rss.xml "~RSS Translucent Ink" emacs https://translucentink.gitlab.io/rss.xml "~RSS Translucent Ink" emacs
https://jherrlin.github.io/index.xml "~RSS Jherrlin" emacs linux https://jherrlin.github.io/index.xml "~RSS Jherrlin" emacs linux
https://camsaul.com/feed.xml "~RSS Camsaul" emacs https://camsaul.com/feed.xml "~RSS Camsaul" emacs
https://ag91.github.io/rss.xml "~RSS Were Parallels Cross" emacs https://ag91.github.io/rss.xml "~RSS Were Parallels Cross" emacs
# https://jonathanh.co.uk/ # https://jonathanh.co.uk/
#+end_src #+end_src
** Youtube ** Youtube
*** Matlab and Control *** Matlab and Control
#+begin_src conf #+begin_src conf
https://www.youtube.com/feeds/videos.xml?channel_id=UCm5mt-A4w61lknZ9lCsZtBw "~YT Steve Brunton" youtube control science https://www.youtube.com/feeds/videos.xml?channel_id=UCm5mt-A4w61lknZ9lCsZtBw "~YT Steve Brunton" youtube control science
https://www.youtube.com/feeds/videos.xml?channel_id=UCoUOaSVYkTV6W4uLvxvgiFA "~YT Nathan Kutz" youtube science control https://www.youtube.com/feeds/videos.xml?channel_id=UCoUOaSVYkTV6W4uLvxvgiFA "~YT Nathan Kutz" youtube science control
https://www.youtube.com/feeds/videos.xml?channel_id=UCSlhlkPaq3RL1CP0Tv1xWBQ "~YT MIT Institute for Data, Systems, and Society" youtube science control https://www.youtube.com/feeds/videos.xml?channel_id=UCSlhlkPaq3RL1CP0Tv1xWBQ "~YT MIT Institute for Data, Systems, and Society" youtube science control
https://www.youtube.com/feeds/videos.xml?channel_id=UCmkP178NasnhR3TWQyyP4Gw "~YT How To Mechatronics" youtube science control https://www.youtube.com/feeds/videos.xml?channel_id=UCmkP178NasnhR3TWQyyP4Gw "~YT How To Mechatronics" youtube science control
https://www.youtube.com/feeds/videos.xml?channel_id=UCGNxF654kRelnM0nKxM6QDQ "~YT Tom Oomen" youtube science control https://www.youtube.com/feeds/videos.xml?channel_id=UCGNxF654kRelnM0nKxM6QDQ "~YT Tom Oomen" youtube science control
https://www.youtube.com/feeds/videos.xml?channel_id=UCRCdl2SXma02BG384RuZPqg "~YT katkimshow" youtube science control https://www.youtube.com/feeds/videos.xml?channel_id=UCRCdl2SXma02BG384RuZPqg "~YT katkimshow" youtube science control
https://www.youtube.com/feeds/videos.xml?channel_id=UCq0imsn84ShAe9PBOFnoIrg "~YT Brian Douglas" youtube control https://www.youtube.com/feeds/videos.xml?channel_id=UCq0imsn84ShAe9PBOFnoIrg "~YT Brian Douglas" youtube control
https://www.youtube.com/feeds/videos.xml?channel_id=UC7vVhkEfw4nOGp8TyDk7RcQ "~YT BostonDynamics" youtube control engineering https://www.youtube.com/feeds/videos.xml?channel_id=UC7vVhkEfw4nOGp8TyDk7RcQ "~YT BostonDynamics" youtube control engineering
https://www.youtube.com/feeds/videos.xml?channel_id=UCPUuVY7w8brL0r__P8UBgyQ "~YT Christopher Lum" youtube matlab control https://www.youtube.com/feeds/videos.xml?channel_id=UCPUuVY7w8brL0r__P8UBgyQ "~YT Christopher Lum" youtube matlab control
https://www.youtube.com/feeds/videos.xml?channel_id=UCNm2TzhsV5wGlFIAcpCx9hQ "~YT Jousef Murad" youtube engineering matlab https://www.youtube.com/feeds/videos.xml?channel_id=UCNm2TzhsV5wGlFIAcpCx9hQ "~YT Jousef Murad" youtube engineering matlab
https://www.youtube.com/feeds/videos.xml?channel_id=UCMBXZxd-j6VqrynykO1dURw "~YT John Rossiter" youtube control https://www.youtube.com/feeds/videos.xml?channel_id=UCMBXZxd-j6VqrynykO1dURw "~YT John Rossiter" youtube control
#+end_src #+end_src
*** Audio and Electronics *** Audio and Electronics
#+begin_src conf #+begin_src conf
https://www.youtube.com/feeds/videos.xml?channel_id=UCI-FgEdZQxBASsm3HNcWKxQ "~YT Red Robbo's Workshop" youtube linux audio https://www.youtube.com/feeds/videos.xml?channel_id=UCI-FgEdZQxBASsm3HNcWKxQ "~YT Red Robbo's Workshop" youtube linux audio
https://www.youtube.com/feeds/videos.xml?channel_id=UCtpB66XKjAtFZfZyzmC-_Cg "~YT HexiBase" youtube audio https://www.youtube.com/feeds/videos.xml?channel_id=UCtpB66XKjAtFZfZyzmC-_Cg "~YT HexiBase" youtube audio
https://www.youtube.com/feeds/videos.xml?channel_id=UCGIr92yrDW4cRLD-QaZmS6w "~YT Ethan Winer" youtube audio https://www.youtube.com/feeds/videos.xml?channel_id=UCGIr92yrDW4cRLD-QaZmS6w "~YT Ethan Winer" youtube audio
https://www.youtube.com/feeds/videos.xml?channel_id=UCslWMxX93gcaiXwxMv4asHA "~YT Jean Maurer Swiss Audio Manufacture SA" youtube audio https://www.youtube.com/feeds/videos.xml?channel_id=UCslWMxX93gcaiXwxMv4asHA "~YT Jean Maurer Swiss Audio Manufacture SA" youtube audio
https://www.youtube.com/feeds/videos.xml?channel_id=UC6mzA8J7n0ylf0RnDpj-vrg "~YT PS Audio" youtube audio https://www.youtube.com/feeds/videos.xml?channel_id=UC6mzA8J7n0ylf0RnDpj-vrg "~YT PS Audio" youtube audio
https://www.youtube.com/feeds/videos.xml?channel_id=UCy0tKL1T7wFoYcxCe0xjN6Q "~YT Technology Connections" youtube audio engineering https://www.youtube.com/feeds/videos.xml?channel_id=UCy0tKL1T7wFoYcxCe0xjN6Q "~YT Technology Connections" youtube audio engineering
https://www.youtube.com/feeds/videos.xml?channel_id=UCSqyMHDUsc1gs6wz4sUy91w "~YT jipihorn" youtube electronics audio https://www.youtube.com/feeds/videos.xml?channel_id=UCSqyMHDUsc1gs6wz4sUy91w "~YT jipihorn" youtube electronics audio
https://www.youtube.com/feeds/videos.xml?channel_id=UCOuow_HIYmeaIqi42zVs3qg "~YT Kirby Meets Audio" youtube audio https://www.youtube.com/feeds/videos.xml?channel_id=UCOuow_HIYmeaIqi42zVs3qg "~YT Kirby Meets Audio" youtube audio
https://www.youtube.com/feeds/videos.xml?channel_id=UCWOhWAOydPUqillkpt5UlaA "~YT Dakoustics" youtube audio https://www.youtube.com/feeds/videos.xml?channel_id=UCWOhWAOydPUqillkpt5UlaA "~YT Dakoustics" youtube audio
https://www.youtube.com/feeds/videos.xml?channel_id=UCm2rchKqdoSKdB448TTVEnQ "~YT Impulse Audio" youtube audio https://www.youtube.com/feeds/videos.xml?channel_id=UCm2rchKqdoSKdB448TTVEnQ "~YT Impulse Audio" youtube audio
https://www.youtube.com/feeds/videos.xml?channel_id=UC5QPFDZ3Y4ylkkGJc6Y1OOA "~YT Philippe Demerliac" youtube electronics https://www.youtube.com/feeds/videos.xml?channel_id=UC5QPFDZ3Y4ylkkGJc6Y1OOA "~YT Philippe Demerliac" youtube electronics
https://www.youtube.com/feeds/videos.xml?channel_id=UCVqx3vXNghSqUcVg2nmegYA "~YT U꞊RI" youtube electronics diy https://www.youtube.com/feeds/videos.xml?channel_id=UCVqx3vXNghSqUcVg2nmegYA "~YT U꞊RI" youtube electronics diy
https://www.youtube.com/feeds/videos.xml?channel_id=UCUJQSGHlYC9Xyz-uNfSpSsA "~YT ElectronikHeart" youtube electronics https://www.youtube.com/feeds/videos.xml?channel_id=UCUJQSGHlYC9Xyz-uNfSpSsA "~YT ElectronikHeart" youtube electronics
https://www.youtube.com/feeds/videos.xml?channel_id=UC74xmXx1NfeIIa44J1IU84w "~YT Audio Fest" youtube audio https://www.youtube.com/feeds/videos.xml?channel_id=UC74xmXx1NfeIIa44J1IU84w "~YT Audio Fest" youtube audio
https://www.youtube.com/feeds/videos.xml?channel_id=UCP_yR0wxxyLa46rRgsmje3Q "~YT DIY Speaker Building" youtube audio https://www.youtube.com/feeds/videos.xml?channel_id=UCP_yR0wxxyLa46rRgsmje3Q "~YT DIY Speaker Building" youtube audio
https://www.youtube.com/feeds/videos.xml?channel_id=UCVryWqJ4cSlbTSETBHpBUWw "~YT Phil S" youtube electronics control https://www.youtube.com/feeds/videos.xml?channel_id=UCVryWqJ4cSlbTSETBHpBUWw "~YT Phil S" youtube electronics control
#+end_src #+end_src
*** Linux, Emacs and Computer Science *** Linux, Emacs and Computer Science
#+begin_src conf #+begin_src conf
https://www.youtube.com/feeds/videos.xml?channel_id=UCNqFXwI5gNcyxt2c1zTQAKw "~YT Yisrael Dov L" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UCNqFXwI5gNcyxt2c1zTQAKw "~YT Yisrael Dov L" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA "~YT Luke Smith" youtube linux https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA "~YT Luke Smith" youtube linux
https://www.youtube.com/feeds/videos.xml?channel_id=UCkf4VIqu3Acnfzuk3kRIFwA "~YT gotbletu" youtube linux https://www.youtube.com/feeds/videos.xml?channel_id=UCkf4VIqu3Acnfzuk3kRIFwA "~YT gotbletu" youtube linux
https://www.youtube.com/feeds/videos.xml?channel_id=UCVHICXXtKG7rZgtC5xonNdQ "~YT Howard Abrams" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UCVHICXXtKG7rZgtC5xonNdQ "~YT Howard Abrams" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UCEfFUaIkjbI06PhALdcXNVA "~YT EmacsCast" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UCEfFUaIkjbI06PhALdcXNVA "~YT EmacsCast" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UCzgkOWKcwy0uhYilE6bd1Lg "~YT Zaiste Programming" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UCzgkOWKcwy0uhYilE6bd1Lg "~YT Zaiste Programming" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UC5dAH2txWtKSsgmRglRB88A "~YT kyptin" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UC5dAH2txWtKSsgmRglRB88A "~YT kyptin" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UCld68syR8Wi-GY_n4CaoJGA "~YT Brodie Robertson" youtube linux https://www.youtube.com/feeds/videos.xml?channel_id=UCld68syR8Wi-GY_n4CaoJGA "~YT Brodie Robertson" youtube linux
https://www.youtube.com/feeds/videos.xml?channel_id=UCXPHFM88IlFn68OmLwtPmZA "~YT Greg Hurrell" youtube linux https://www.youtube.com/feeds/videos.xml?channel_id=UCXPHFM88IlFn68OmLwtPmZA "~YT Greg Hurrell" youtube linux
https://www.youtube.com/feeds/videos.xml?channel_id=UCxjDcP3Su59bg5VDnlwyt5A "~YT Bailey Ling" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UCxjDcP3Su59bg5VDnlwyt5A "~YT Bailey Ling" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UCi8XrDg1bK_MJ0goOnbpTMQ "~YT budlabs" youtube linux https://www.youtube.com/feeds/videos.xml?channel_id=UCi8XrDg1bK_MJ0goOnbpTMQ "~YT budlabs" youtube linux
https://www.youtube.com/feeds/videos.xml?channel_id=UCfbGTpcJyEOMwKP-eYz3_fg "~YT Rainer König" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UCfbGTpcJyEOMwKP-eYz3_fg "~YT Rainer König" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UCsnGwSIHyoYN0kiINAGUKxg "~YT Wolfgang's Channel" youtube linux https://www.youtube.com/feeds/videos.xml?channel_id=UCsnGwSIHyoYN0kiINAGUKxg "~YT Wolfgang's Channel" youtube linux
https://www.youtube.com/feeds/videos.xml?channel_id=UCQp2VLAOlvq142YN3JO3y8w "~YT John Kitchin" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UCQp2VLAOlvq142YN3JO3y8w "~YT John Kitchin" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UCFk8kgNu_bqsRZewxMGqkzQ "~YT Emacs SF" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UCFk8kgNu_bqsRZewxMGqkzQ "~YT Emacs SF" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UCIFJHWyIlN0XFrW2vMKG6QA "~YT Alain M. Lafon" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UCIFJHWyIlN0XFrW2vMKG6QA "~YT Alain M. Lafon" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UCvA_wgsX6eFAOXI8Rbg_WiQ "~YT tutoriaLinux" youtube linux https://www.youtube.com/feeds/videos.xml?channel_id=UCvA_wgsX6eFAOXI8Rbg_WiQ "~YT tutoriaLinux" youtube linux
https://www.youtube.com/feeds/videos.xml?channel_id=UCUF4bHszxd8T4ulrvLejumA "~YT Alexander Fu" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UCUF4bHszxd8T4ulrvLejumA "~YT Alexander Fu" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UCbW6-rTEn6nPj56K_9dLozQ "~YT Gilles Castel" youtube linux https://www.youtube.com/feeds/videos.xml?channel_id=UCbW6-rTEn6nPj56K_9dLozQ "~YT Gilles Castel" youtube linux
https://www.youtube.com/feeds/videos.xml?channel_id=UCUR1pFG_3XoZn3JNKjulqZg "~YT thoughtbot" youtube linux emacs https://www.youtube.com/feeds/videos.xml?channel_id=UCUR1pFG_3XoZn3JNKjulqZg "~YT thoughtbot" youtube linux emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UCVls1GmFKf6WlTraIb_IaJg "~YT DistroTube" youtube linux https://www.youtube.com/feeds/videos.xml?channel_id=UCVls1GmFKf6WlTraIb_IaJg "~YT DistroTube" youtube linux
https://www.youtube.com/feeds/videos.xml?channel_id=UCDEtZ7AKmwS0_GNJog01D2g "~YT Uncle Dave" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UCDEtZ7AKmwS0_GNJog01D2g "~YT Uncle Dave" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UCYnrHo7CDgKobmoJ3Borrnw "~YT Niklas Carlsson" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UCYnrHo7CDgKobmoJ3Borrnw "~YT Niklas Carlsson" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UCljOhRB2a3sQgLCdK9CHQvQ "~YT Leafshade Software" youtube linux https://www.youtube.com/feeds/videos.xml?channel_id=UCljOhRB2a3sQgLCdK9CHQvQ "~YT Leafshade Software" youtube linux
https://www.youtube.com/feeds/videos.xml?channel_id=UCwRXb5dUK4cvsHbx-rGzSgw "~YT Derek Banas" youtube linux https://www.youtube.com/feeds/videos.xml?channel_id=UCwRXb5dUK4cvsHbx-rGzSgw "~YT Derek Banas" youtube linux
https://www.youtube.com/feeds/videos.xml?channel_id=UCP2bshADPrVMoNrdJvZEQzw "~YT KeepItTechie" youtube linux https://www.youtube.com/feeds/videos.xml?channel_id=UCP2bshADPrVMoNrdJvZEQzw "~YT KeepItTechie" youtube linux
https://www.youtube.com/feeds/videos.xml?channel_id=UCVRJ6D343dX-x730MRP8tNw "~YT cocadmin" youtube linux https://www.youtube.com/feeds/videos.xml?channel_id=UCVRJ6D343dX-x730MRP8tNw "~YT cocadmin" youtube linux
https://www.youtube.com/feeds/videos.xml?channel_id=UCxkMDXQ5qzYOgXPRnOBrp1w "~YT Mike Zamansky" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UCxkMDXQ5qzYOgXPRnOBrp1w "~YT Mike Zamansky" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UCgREucssIfY9e0Iy3yhse8w "~YT Conner McDaniel" youtube linux https://www.youtube.com/feeds/videos.xml?channel_id=UCgREucssIfY9e0Iy3yhse8w "~YT Conner McDaniel" youtube linux
https://www.youtube.com/feeds/videos.xml?channel_id=UCkRmQ_G_NbdbCQMpALg6UPg "~YT emacsrocks" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UCkRmQ_G_NbdbCQMpALg6UPg "~YT emacsrocks" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UC0uTPqBCFIpZxlz_Lv1tk_g "~YT Protesilaos Stavrou" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UC0uTPqBCFIpZxlz_Lv1tk_g "~YT Protesilaos Stavrou" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UCsJXkw_Ssp-1myJFm4_SMJA "~YT Seorenn" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UCsJXkw_Ssp-1myJFm4_SMJA "~YT Seorenn" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UCvrQyT2xhsxq2a4Xopf2JTA "~YT Zaeph" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UCvrQyT2xhsxq2a4Xopf2JTA "~YT Zaeph" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UCYnl1cugi7Lv1h8j6JNqNEg "~YT Dima Gerasimov" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UCYnl1cugi7Lv1h8j6JNqNEg "~YT Dima Gerasimov" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UCDKPGD9T00eS_l--D_DRTUQ "~YT Linuxtricks" youtube linux https://www.youtube.com/feeds/videos.xml?channel_id=UCDKPGD9T00eS_l--D_DRTUQ "~YT Linuxtricks" youtube linux
https://www.youtube.com/feeds/videos.xml?channel_id=UCcCeYbIBGQPB1G12psAPMKw "~YT Spudlyo" youtube emacs https://www.youtube.com/feeds/videos.xml?channel_id=UCcCeYbIBGQPB1G12psAPMKw "~YT Spudlyo" youtube emacs
https://www.youtube.com/feeds/videos.xml?channel_id=UCS97tchJDq17Qms3cux8wcA "~YT Chrisatmachine" youtube linux https://www.youtube.com/feeds/videos.xml?channel_id=UCS97tchJDq17Qms3cux8wcA "~YT Chrisatmachine" youtube linux
https://www.youtube.com/feeds/videos.xml?channel_id=UCwFpzG5MK5Shg_ncAhrgr9g "~YT Awesome Open Source" youtube linux https://www.youtube.com/feeds/videos.xml?channel_id=UCwFpzG5MK5Shg_ncAhrgr9g "~YT Awesome Open Source" youtube linux
https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA "~YT Mental Outlaw" youtube linux https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA "~YT Mental Outlaw" youtube linux
#+end_src #+end_src
*** 3D-Printing and DIY *** 3D-Printing and DIY
#+begin_src conf #+begin_src conf
https://www.youtube.com/feeds/videos.xml?channel_id=UCGEBcDJ7QIY1LuEddDM9x9Q "~YT Oldies" youtube 3d-printing https://www.youtube.com/feeds/videos.xml?channel_id=UCGEBcDJ7QIY1LuEddDM9x9Q "~YT Oldies" youtube 3d-printing
https://www.youtube.com/feeds/videos.xml?channel_id=UCqdRx3JV3xRchi4_xwFJUTA "~YT 8FabLab" youtube diy https://www.youtube.com/feeds/videos.xml?channel_id=UCqdRx3JV3xRchi4_xwFJUTA "~YT 8FabLab" youtube diy
https://www.youtube.com/feeds/videos.xml?channel_id=UCCsdIja21VT7AKkbVI5y8bQ "~YT Alain Vaillancourt" youtube diy https://www.youtube.com/feeds/videos.xml?channel_id=UCCsdIja21VT7AKkbVI5y8bQ "~YT Alain Vaillancourt" youtube diy
https://www.youtube.com/feeds/videos.xml?channel_id=UCyi6pFP-lmaDD3Eb4dqsvdg "~YT ioduremetallique" youtube diy https://www.youtube.com/feeds/videos.xml?channel_id=UCyi6pFP-lmaDD3Eb4dqsvdg "~YT ioduremetallique" youtube diy
https://www.youtube.com/feeds/videos.xml?channel_id=UCYI8olK-jH9Ubc2FaA2LgPw "~YT Egalistel" youtube 3d-printing https://www.youtube.com/feeds/videos.xml?channel_id=UCYI8olK-jH9Ubc2FaA2LgPw "~YT Egalistel" youtube 3d-printing
https://www.youtube.com/feeds/videos.xml?channel_id=UCSULDz1yaHLVQWHpm4g_GHA "~YT monsieur bidouille" youtube diy https://www.youtube.com/feeds/videos.xml?channel_id=UCSULDz1yaHLVQWHpm4g_GHA "~YT monsieur bidouille" youtube diy
https://www.youtube.com/feeds/videos.xml?channel_id=UC2UT8pPDlUvRbQXTVOf5Ocw "~YT Henri Hihacks" youtube diy https://www.youtube.com/feeds/videos.xml?channel_id=UC2UT8pPDlUvRbQXTVOf5Ocw "~YT Henri Hihacks" youtube diy
https://www.youtube.com/feeds/videos.xml?channel_id=UCLecVrux63S6aYiErxdiy4w "~YT BRUH Automation" youtube diy https://www.youtube.com/feeds/videos.xml?channel_id=UCLecVrux63S6aYiErxdiy4w "~YT BRUH Automation" youtube diy
https://www.youtube.com/feeds/videos.xml?channel_id=UCQfMyugsjrVUWU0v_ZxQs2Q "~YT Machine Tech Video Blog" youtube diy engineering https://www.youtube.com/feeds/videos.xml?channel_id=UCQfMyugsjrVUWU0v_ZxQs2Q "~YT Machine Tech Video Blog" youtube diy engineering
https://www.youtube.com/feeds/videos.xml?channel_id=UCjED9uS41ioeFuPfbR-OBlw "~YT Les Freres Poulain" youtube diy https://www.youtube.com/feeds/videos.xml?channel_id=UCjED9uS41ioeFuPfbR-OBlw "~YT Les Freres Poulain" youtube diy
https://www.youtube.com/feeds/videos.xml?channel_id=UCVSHXNNBitaPd5lYz48--yg "~YT Tech Ingredients" youtube diy https://www.youtube.com/feeds/videos.xml?channel_id=UCVSHXNNBitaPd5lYz48--yg "~YT Tech Ingredients" youtube diy
https://www.youtube.com/feeds/videos.xml?channel_id=UCPFChjpOgkUqckj3378jt5w "~YT Heliox" youtube 3d-printing https://www.youtube.com/feeds/videos.xml?channel_id=UCPFChjpOgkUqckj3378jt5w "~YT Heliox" youtube 3d-printing
https://www.youtube.com/feeds/videos.xml?channel_id=UC9_nxvBohH1G2yR77XTdA2g "~YT Tommy Desrochers" youtube 3d-printing diy https://www.youtube.com/feeds/videos.xml?channel_id=UC9_nxvBohH1G2yR77XTdA2g "~YT Tommy Desrochers" youtube 3d-printing diy
https://www.youtube.com/feeds/videos.xml?channel_id=UC6mIxFTvXkWQVEHPsEdflzQ "~YT GreatScott" youtube diy https://www.youtube.com/feeds/videos.xml?channel_id=UC6mIxFTvXkWQVEHPsEdflzQ "~YT GreatScott" youtube diy
#+end_src
*** Engineering
#+begin_src conf
#+end_src #+end_src
*** Interesting - General *** Interesting - General
#+begin_src conf #+begin_src conf
https://www.youtube.com/feeds/videos.xml?channel_id=UC5eOLQO5VUEFJukNg9cl5jg "~YT Histoire Brève" youtube interesting https://www.youtube.com/feeds/videos.xml?channel_id=UC5eOLQO5VUEFJukNg9cl5jg "~YT Histoire Brève" youtube interesting
https://www.youtube.com/feeds/videos.xml?channel_id=UCMFcMhePnH4onVHt2-ItPZw "~YT Hygiène Mentale" youtube interesting https://www.youtube.com/feeds/videos.xml?channel_id=UCMFcMhePnH4onVHt2-ItPZw "~YT Hygiène Mentale" youtube interesting
https://www.youtube.com/feeds/videos.xml?channel_id=UC9BnGZLT4iPaJtDOXYwQuHQ "~YT Primum Non Nocere" youtube interesting https://www.youtube.com/feeds/videos.xml?channel_id=UC9BnGZLT4iPaJtDOXYwQuHQ "~YT Primum Non Nocere" youtube interesting
https://www.youtube.com/feeds/videos.xml?channel_id=UCP46_MXP_WG_auH88FnfS1A "~YT Nota Bene" youtube interesting https://www.youtube.com/feeds/videos.xml?channel_id=UCP46_MXP_WG_auH88FnfS1A "~YT Nota Bene" youtube interesting
https://www.youtube.com/feeds/videos.xml?channel_id=UCUR03ZSZlEvCO6EWwv4jU2w "~YT Absol Vidéos" youtube interesting https://www.youtube.com/feeds/videos.xml?channel_id=UCUR03ZSZlEvCO6EWwv4jU2w "~YT Absol Vidéos" youtube interesting
https://www.youtube.com/feeds/videos.xml?channel_id=UCWty1tzwZW_ZNSp5GVGteaA "~YT La statistique expliquée à mon chat" youtube interesting https://www.youtube.com/feeds/videos.xml?channel_id=UCWty1tzwZW_ZNSp5GVGteaA "~YT La statistique expliquée à mon chat" youtube interesting
https://www.youtube.com/feeds/videos.xml?channel_id=UCLbgxBMMEo6mAYe87esxGmg "~YT horror humanum est" youtube interesting https://www.youtube.com/feeds/videos.xml?channel_id=UCLbgxBMMEo6mAYe87esxGmg "~YT horror humanum est" youtube interesting
https://www.youtube.com/feeds/videos.xml?channel_id=UCOuIgj0CYCXCvjWywjDbauw "~YT Chat Sceptique" youtube interesting https://www.youtube.com/feeds/videos.xml?channel_id=UCOuIgj0CYCXCvjWywjDbauw "~YT Chat Sceptique" youtube interesting
#+end_src #+end_src
*** Science *** Science
#+begin_src conf #+begin_src conf
https://www.youtube.com/feeds/videos.xml?channel_id=UCwgqYNmYaij2_8hq_tOFyZw "~YT Aurelien Barrau" youtube science https://www.youtube.com/feeds/videos.xml?channel_id=UCwgqYNmYaij2_8hq_tOFyZw "~YT Aurelien Barrau" youtube science
https://www.youtube.com/feeds/videos.xml?channel_id=UCeR8BYZS7IHYjk_9Mh5JgkA "~YT Scilabus" youtube science https://www.youtube.com/feeds/videos.xml?channel_id=UCeR8BYZS7IHYjk_9Mh5JgkA "~YT Scilabus" youtube science
https://www.youtube.com/feeds/videos.xml?channel_id=UC1Ue7TuX3iH4y8-Qrjj-hyg "~YT J'm'énerve pas, j'explique" youtube science https://www.youtube.com/feeds/videos.xml?channel_id=UC1Ue7TuX3iH4y8-Qrjj-hyg "~YT J'm'énerve pas, j'explique" youtube science
https://www.youtube.com/feeds/videos.xml?channel_id=UCjsHDXUU3BjBCG7OaCbNDyQ "~YT Le Sense Of Wonder" youtube science https://www.youtube.com/feeds/videos.xml?channel_id=UCjsHDXUU3BjBCG7OaCbNDyQ "~YT Le Sense Of Wonder" youtube science
https://www.youtube.com/feeds/videos.xml?channel_id=UC4PasDd25MXqlXBogBw9CAg "~YT Mickaël Launay" youtube science https://www.youtube.com/feeds/videos.xml?channel_id=UC4PasDd25MXqlXBogBw9CAg "~YT Mickaël Launay" youtube science
https://www.youtube.com/feeds/videos.xml?channel_id=UCsz9DiwPtgDvxJ-njWnieZw "~YT Passe-Science" youtube science https://www.youtube.com/feeds/videos.xml?channel_id=UCsz9DiwPtgDvxJ-njWnieZw "~YT Passe-Science" youtube science
https://www.youtube.com/feeds/videos.xml?channel_id=UC_GlthPB9gzdxfkTTEIVxMA "~YT Incroyables Expériences" youtube science engineering https://www.youtube.com/feeds/videos.xml?channel_id=UC_GlthPB9gzdxfkTTEIVxMA "~YT Incroyables Expériences" youtube science engineering
https://www.youtube.com/feeds/videos.xml?channel_id=UCxqAWLTk1CmBvZFPzeZMd9A "~YT Domain of Science" youtube science https://www.youtube.com/feeds/videos.xml?channel_id=UCxqAWLTk1CmBvZFPzeZMd9A "~YT Domain of Science" youtube science
https://www.youtube.com/feeds/videos.xml?channel_id=UCaNlbnghtwlsGF-KzAFThqA "~YT ScienceEtonnante" youtube science https://www.youtube.com/feeds/videos.xml?channel_id=UCaNlbnghtwlsGF-KzAFThqA "~YT ScienceEtonnante" youtube science
https://www.youtube.com/feeds/videos.xml?channel_id=UCeQEKFH31vvD-InkTGSvCrA "~YT brusspup" youtube science https://www.youtube.com/feeds/videos.xml?channel_id=UCeQEKFH31vvD-InkTGSvCrA "~YT brusspup" youtube science
https://www.youtube.com/feeds/videos.xml?channel_id=UCHnyfMqiRRG1u-2MsSQLbXA "~YT Veritasium" youtube science https://www.youtube.com/feeds/videos.xml?channel_id=UCHnyfMqiRRG1u-2MsSQLbXA "~YT Veritasium" youtube science
https://www.youtube.com/feeds/videos.xml?channel_id=UCH6ppHEvV3_WIXEwmhv9HEg "~YT Deus Ex Silicium" youtube engineering science https://www.youtube.com/feeds/videos.xml?channel_id=UCH6ppHEvV3_WIXEwmhv9HEg "~YT Deus Ex Silicium" youtube engineering science
https://www.youtube.com/feeds/videos.xml?channel_id=UC2LZO6swZ9SLUEOks3WnsfA "~YT 2veritasium" youtube science https://www.youtube.com/feeds/videos.xml?channel_id=UC2LZO6swZ9SLUEOks3WnsfA "~YT 2veritasium" youtube science
https://www.youtube.com/feeds/videos.xml?channel_id=UCvGag7MyHR8H9oRm9iL9Ifw "~YT Experimentboy" youtube science https://www.youtube.com/feeds/videos.xml?channel_id=UCvGag7MyHR8H9oRm9iL9Ifw "~YT Experimentboy" youtube science
https://www.youtube.com/feeds/videos.xml?channel_id=UC6107grRI4m0o2-emgoDnAA "~YT SmarterEveryDay" youtube science https://www.youtube.com/feeds/videos.xml?channel_id=UC6107grRI4m0o2-emgoDnAA "~YT SmarterEveryDay" youtube science
https://www.youtube.com/feeds/videos.xml?channel_id=UCtqICqGbPSbTN09K1_7VZ3Q "~YT DirtyBiology" youtube science https://www.youtube.com/feeds/videos.xml?channel_id=UCtqICqGbPSbTN09K1_7VZ3Q "~YT DirtyBiology" youtube science
https://www.youtube.com/feeds/videos.xml?channel_id=UC_ZChHhr5nDrUymz7qsRqRw "~YT Confér'ENS" youtube science https://www.youtube.com/feeds/videos.xml?channel_id=UC_ZChHhr5nDrUymz7qsRqRw "~YT Confér'ENS" youtube science
https://www.youtube.com/feeds/videos.xml?channel_id=UCNmLe68qKzdjuEpT_YTDFuA "~YT Etonnarium" youtube science https://www.youtube.com/feeds/videos.xml?channel_id=UCNmLe68qKzdjuEpT_YTDFuA "~YT Etonnarium" youtube science
https://www.youtube.com/feeds/videos.xml?channel_id=UCCSN5zJTKjl6UKvPcLzLuiw "~YT Macroscopie" youtube science https://www.youtube.com/feeds/videos.xml?channel_id=UCCSN5zJTKjl6UKvPcLzLuiw "~YT Macroscopie" youtube science
https://www.youtube.com/feeds/videos.xml?channel_id=UC7DdEm33SyaTDtWYGO2CwdA "~YT Physics Girl" youtube science https://www.youtube.com/feeds/videos.xml?channel_id=UC7DdEm33SyaTDtWYGO2CwdA "~YT Physics Girl" youtube science
#+end_src #+end_src
*** Keyboard *** Keyboard
#+begin_src conf #+begin_src conf
https://www.youtube.com/feeds/videos.xml?channel_id=UC5ClFK9Ko4ACRgXjRZc_GfA "~YT Rhinofeed" youtube keyboards https://www.youtube.com/feeds/videos.xml?channel_id=UC5ClFK9Ko4ACRgXjRZc_GfA "~YT Rhinofeed" youtube keyboards
https://www.youtube.com/feeds/videos.xml?channel_id=UC2yitP8oH86YBRVU4anycoA "~YT Quentin Lebastard" youtube keyboards https://www.youtube.com/feeds/videos.xml?channel_id=UC2yitP8oH86YBRVU4anycoA "~YT Quentin Lebastard" youtube keyboards
#+end_src #+end_src
*** Music *** Music
#+begin_src conf #+begin_src conf
https://www.youtube.com/feeds/videos.xml?channel_id=UC3gZqwD45zGCsduBn-Q2lew "~YT Gabrielle Grau" youtube music https://www.youtube.com/feeds/videos.xml?channel_id=UC3gZqwD45zGCsduBn-Q2lew "~YT Gabrielle Grau" youtube music
https://www.youtube.com/feeds/videos.xml?channel_id=UCZHPwKyeypWwU8SNJSzQhCw "~YT Révisons nos Classiques" youtube music https://www.youtube.com/feeds/videos.xml?channel_id=UCZHPwKyeypWwU8SNJSzQhCw "~YT Révisons nos Classiques" youtube music
https://www.youtube.com/feeds/videos.xml?channel_id=UCPpNtkHeCnwN7Tl5oLq4AAg "~YT Une chanson, l'addition" youtube music https://www.youtube.com/feeds/videos.xml?channel_id=UCPpNtkHeCnwN7Tl5oLq4AAg "~YT Une chanson, l'addition" youtube music
https://www.youtube.com/feeds/videos.xml?channel_id=UC_17P1ruDpCVujf7C_SxhOA "~YT Metalliquoi" youtube music https://www.youtube.com/feeds/videos.xml?channel_id=UC_17P1ruDpCVujf7C_SxhOA "~YT Metalliquoi" youtube music
https://www.youtube.com/feeds/videos.xml?channel_id=UCzabZYC0MYRR2MFkq62d6yQ "~YT Florent Garcia" youtube music https://www.youtube.com/feeds/videos.xml?channel_id=UCzabZYC0MYRR2MFkq62d6yQ "~YT Florent Garcia" youtube music
#+end_src #+end_src
*** Space *** Space
#+begin_src conf #+begin_src conf
https://www.youtube.com/feeds/videos.xml?channel_id=UCdL3UpiseRlvxXuORJjmqZw "~YT Stardust" youtube space https://www.youtube.com/feeds/videos.xml?channel_id=UCdL3UpiseRlvxXuORJjmqZw "~YT Stardust" youtube space
https://www.youtube.com/feeds/videos.xml?channel_id=UC5X4e8ScZI2AFd_vkjSoyoQ "~YT AstronoGeek" youtube space https://www.youtube.com/feeds/videos.xml?channel_id=UC5X4e8ScZI2AFd_vkjSoyoQ "~YT AstronoGeek" youtube space
#+end_src #+end_src
*** Engineering *** Engineering
#+begin_src conf #+begin_src conf
https://www.youtube.com/feeds/videos.xml?channel_id=UCotwjyJnb-4KW7bmsOoLfkg "~YT Art of the Problem" youtube engineering https://www.youtube.com/feeds/videos.xml?channel_id=UCotwjyJnb-4KW7bmsOoLfkg "~YT Art of the Problem" youtube engineering
https://www.youtube.com/feeds/videos.xml?channel_id=UCR1IuLEqb6UEA_zQ81kwXfg "~YT Real Engineering" youtube engineering https://www.youtube.com/feeds/videos.xml?channel_id=UCR1IuLEqb6UEA_zQ81kwXfg "~YT Real Engineering" youtube engineering
https://www.youtube.com/feeds/videos.xml?channel_id=UCfsznjef2zGJnrCRQBXqo6Q "~YT Machine Thinking" youtube engineering https://www.youtube.com/feeds/videos.xml?channel_id=UCfsznjef2zGJnrCRQBXqo6Q "~YT Machine Thinking" youtube engineering
https://www.youtube.com/feeds/videos.xml?channel_id=UC2bkHVIDjXS7sgrgjFtzOXQ "~YT engineerguy" youtube engineering https://www.youtube.com/feeds/videos.xml?channel_id=UC2bkHVIDjXS7sgrgjFtzOXQ "~YT engineerguy" youtube engineering
https://www.youtube.com/feeds/videos.xml?channel_id=UCivA7_KLKWo43tFcCkFvydw "~YT Applied Science" youtube science engineering https://www.youtube.com/feeds/videos.xml?channel_id=UCivA7_KLKWo43tFcCkFvydw "~YT Applied Science" youtube science engineering
https://www.youtube.com/feeds/videos.xml?channel_id=UCk0fGHsCEzGig-rSzkfCjMw "~YT The Engineering Mindset" youtube engineering https://www.youtube.com/feeds/videos.xml?channel_id=UCk0fGHsCEzGig-rSzkfCjMw "~YT The Engineering Mindset" youtube engineering
https://www.youtube.com/feeds/videos.xml?channel_id=UC5_Y-BKzq1uW_2rexWkUzlA "~YT New Mind" youtube engineering https://www.youtube.com/feeds/videos.xml?channel_id=UC5_Y-BKzq1uW_2rexWkUzlA "~YT New Mind" youtube engineering
#+end_src #+end_src
*** Random - Fun - Others *** Random - Fun - Others
#+begin_src conf #+begin_src conf
https://www.youtube.com/feeds/videos.xml?channel_id=UCJM10Rp7G0h9j5S92QszJ5Q "~YT Tales From The Click" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCJM10Rp7G0h9j5S92QszJ5Q "~YT Tales From The Click" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCCMxHHciWRBBouzk-PGzmtQ "~YT Bazar du Grenier" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCCMxHHciWRBBouzk-PGzmtQ "~YT Bazar du Grenier" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCTt2AnK--mnRmICnf-CCcrw "~YT Le Rire Jaune" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCTt2AnK--mnRmICnf-CCcrw "~YT Le Rire Jaune" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCJRljQ8OcyfzHBYpS_bDbow "~YT La Mezzanine" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCJRljQ8OcyfzHBYpS_bDbow "~YT La Mezzanine" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCVTAmJvZOxuj9Kto8Ty9L8Q "~YT Rapha Gaming" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCVTAmJvZOxuj9Kto8Ty9L8Q "~YT Rapha Gaming" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCTafEJoRl5myC8A50plIrng "~YT FabienOlicard" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCTafEJoRl5myC8A50plIrng "~YT FabienOlicard" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCZeyUZmGAyRLDfM2ir3q-OQ "~YT Captain Popcorn" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCZeyUZmGAyRLDfM2ir3q-OQ "~YT Captain Popcorn" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCwzxu1j19ICnfW5zrBvUw-w "~YT Une bière et Jivay" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCwzxu1j19ICnfW5zrBvUw-w "~YT Une bière et Jivay" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCPF7JOWMDWZmnP_cQfyAezg "~YT Scinéma" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCPF7JOWMDWZmnP_cQfyAezg "~YT Scinéma" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCUK0HBIBWgM2c4vsPhkYY4w "~YT The Slow Mo Guys" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCUK0HBIBWgM2c4vsPhkYY4w "~YT The Slow Mo Guys" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCxeA1l2E5AYrtpkqUbBEg3A "~YT Pierre Lecourt" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCxeA1l2E5AYrtpkqUbBEg3A "~YT Pierre Lecourt" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCYD22MFqaNqXp-ogTMosW_A "~YT Le Show Jaune" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCYD22MFqaNqXp-ogTMosW_A "~YT Le Show Jaune" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UC4HANn7TBY-xcION-eL3rLA "~YT Daniil le Russe" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UC4HANn7TBY-xcION-eL3rLA "~YT Daniil le Russe" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCf0mOxfawezlHIVuHd3L2VA "~YT Didi Chandouidoui" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCf0mOxfawezlHIVuHd3L2VA "~YT Didi Chandouidoui" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCw3tZ7g_FljNjzGprCuptpA "~YT Taupe10" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCw3tZ7g_FljNjzGprCuptpA "~YT Taupe10" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCfXXAQ-mp1uUcvSpvMcAAtw "~YT LinksTheSun" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCfXXAQ-mp1uUcvSpvMcAAtw "~YT LinksTheSun" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCWeg2Pkate69NFdBeuRFTAw "~YT Squeezie" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCWeg2Pkate69NFdBeuRFTAw "~YT Squeezie" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCtI6_1vGanPlH5lgVIDjJGQ "~YT MrAntoineDaniel" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCtI6_1vGanPlH5lgVIDjJGQ "~YT MrAntoineDaniel" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCm3C3OSgcyzaTBXrNRupB3Q "~YT Le Woop" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCm3C3OSgcyzaTBXrNRupB3Q "~YT Le Woop" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCuBzVunAVbcwzMfQaJVacuw "~YT LE ROI DES RATS" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCuBzVunAVbcwzMfQaJVacuw "~YT LE ROI DES RATS" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCyWqModMQlbIo8274Wh_ZsQ "~YT Cyprien" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCyWqModMQlbIo8274Wh_ZsQ "~YT Cyprien" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCAFQjCZo5okIPkHUQlBZM-g "~YT Bonjour Tristesse" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCAFQjCZo5okIPkHUQlBZM-g "~YT Bonjour Tristesse" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCoZoRz4-y6r87ptDp4Jk74g "~YT Palmashow" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCoZoRz4-y6r87ptDp4Jk74g "~YT Palmashow" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCww2zZWg4Cf5xcRKG-ThmXQ "~YT NORMAN FAIT DES VIDÉOS" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCww2zZWg4Cf5xcRKG-ThmXQ "~YT NORMAN FAIT DES VIDÉOS" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCkEa1AfdeB93-he4VziKGFg "~YT JIGMÉ" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCkEa1AfdeB93-he4VziKGFg "~YT JIGMÉ" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCND0gjuG9ltEWDvh82VJITg "~YT Jeannot Nymouce" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCND0gjuG9ltEWDvh82VJITg "~YT Jeannot Nymouce" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCP5tjEmvPItGyLhmjdwP7Ww "~YT RealLifeLore" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCP5tjEmvPItGyLhmjdwP7Ww "~YT RealLifeLore" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCwbV8cTR4yBgFdfa_BXV2OA "~YT Le Fossoyeur de Films" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCwbV8cTR4yBgFdfa_BXV2OA "~YT Le Fossoyeur de Films" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCGgvKW19IWVvUUblrr8EgHA "~YT Experimentboy 2" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCGgvKW19IWVvUUblrr8EgHA "~YT Experimentboy 2" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCJZ94qp4dtCw0Q5UQqAkg7w "~YT larsandersen23" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCJZ94qp4dtCw0Q5UQqAkg7w "~YT larsandersen23" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UCDPK_MTu3uTUFJXRVcTJcEw "~YT Mcfly et Carlito" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UCDPK_MTu3uTUFJXRVcTJcEw "~YT Mcfly et Carlito" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UC2_OG1L8DLTzQ7UrZVOk7OA "~YT Axolot" youtube random https://www.youtube.com/feeds/videos.xml?channel_id=UC2_OG1L8DLTzQ7UrZVOk7OA "~YT Axolot" youtube random
#+end_src #+end_src

View File

@ -5,232 +5,232 @@
* Global * Global
#+begin_src conf #+begin_src conf
[global] [global]
#+end_src #+end_src
** Display ** Display
#+begin_src conf #+begin_src conf
# Which monitor should the notifications be displayed on. # Which monitor should the notifications be displayed on.
monitor = 0 monitor = 0
# Display notification on focused monitor. Possible modes are: # Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer # mouse: follow mouse pointer
# keyboard: follow window with keyboard focus # keyboard: follow window with keyboard focus
# none: don't follow anything # none: don't follow anything
# #
# "keyboard" needs a windowmanager that exports the # "keyboard" needs a windowmanager that exports the
# _NET_ACTIVE_WINDOW property. # _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern windowmanagers. # This should be the case for almost all modern windowmanagers.
# #
# If this option is set to mouse or keyboard, the monitor option # If this option is set to mouse or keyboard, the monitor option
# will be ignored. # will be ignored.
follow = keyboard follow = keyboard
# The geometry of the window: # The geometry of the window:
# [{width}]x{height}[+/-{x}+/-{y}] # [{width}]x{height}[+/-{x}+/-{y}]
# The geometry of the message window. # The geometry of the message window.
# The height is measured in number of notifications everything else # The height is measured in number of notifications everything else
# in pixels. If the width is omitted but the height is given # in pixels. If the width is omitted but the height is given
# ("-geometry x2"), the message window expands over the whole screen # ("-geometry x2"), the message window expands over the whole screen
# (dmenu-like). If width is 0, the window expands to the longest # (dmenu-like). If width is 0, the window expands to the longest
# message displayed. A positive x is measured from the left, a # message displayed. A positive x is measured from the left, a
# negative from the right side of the screen. Y is measured from # negative from the right side of the screen. Y is measured from
# the top and down respectevly. # the top and down respectevly.
# The width can be negative. In this case the actual width is the # The width can be negative. In this case the actual width is the
# screen width minus the width defined in within the geometry option. # screen width minus the width defined in within the geometry option.
geometry = "250x50-10+37" geometry = "250x50-10+37"
# Show how many messages are currently hidden (because of geometry). # Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes indicate_hidden = yes
# Shrink window if it's smaller than the width. Will be ignored if # Shrink window if it's smaller than the width. Will be ignored if
# width is 0. # width is 0.
shrink = no shrink = no
# The transparency of the window. Range: [0; 100]. # The transparency of the window. Range: [0; 100].
# This option will only work if a compositing windowmanager is # This option will only work if a compositing windowmanager is
# present (e.g. xcompmgr, compiz, etc.). # present (e.g. xcompmgr, compiz, etc.).
transparency = 0 transparency = 0
# The height of the entire notification. If the height is smaller # The height of the entire notification. If the height is smaller
# than the font height and padding combined, it will be raised # than the font height and padding combined, it will be raised
# to the font height and padding. # to the font height and padding.
notification_height = 0 notification_height = 0
# Draw a line of "separator_height" pixel height between two # Draw a line of "separator_height" pixel height between two
# notifications. # notifications.
# Set to 0 to disable. # Set to 0 to disable.
separator_height = 4 separator_height = 4
# Padding between text and separator. # Padding between text and separator.
padding = 16 padding = 16
# Horizontal padding. # Horizontal padding.
horizontal_padding = 16 horizontal_padding = 16
# Defines width in pixels of frame around the notification window. # Defines width in pixels of frame around the notification window.
# Set to 0 to disable. # Set to 0 to disable.
frame_width = 2 frame_width = 2
# Defines color of the frame around the notification window. # Defines color of the frame around the notification window.
frame_color = "#32302f" frame_color = "#32302f"
# Define a color for the separator. # Define a color for the separator.
# possible values are: # possible values are:
# * auto: dunst tries to find a color fitting to the background; # * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground; # * foreground: use the same color as the foreground;
# * frame: use the same color as the frame; # * frame: use the same color as the frame;
# * anything else will be interpreted as a X color. # * anything else will be interpreted as a X color.
separator_color = frame separator_color = frame
# Don't remove messages, if the user is idle (no mouse or keyboard input) # Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds. # for longer than idle_threshold seconds.
# Set to 0 to disable. # Set to 0 to disable.
# default 120 # default 120
idle_threshold = 120 idle_threshold = 120
# Sort messages by urgency. # Sort messages by urgency.
sort = yes sort = yes
#+end_src #+end_src
** Text ** Text
#+begin_src conf #+begin_src conf
font = Hack Nerd Font 10 font = Hack Nerd Font 10
# The height of a single line. If the height is smaller than the # The height of a single line. If the height is smaller than the
# font height, it will get raised to the font height. # font height, it will get raised to the font height.
# This adds empty space above and under the text. # This adds empty space above and under the text.
line_height = 4 line_height = 4
# Possible values are: # Possible values are:
# full: Allow a small subset of html markup in notifications: # full: Allow a small subset of html markup in notifications:
# <b>bold</b> # <b>bold</b>
# <i>italic</i> # <i>italic</i>
# <s>strikethrough</s> # <s>strikethrough</s>
# <u>underline</u> # <u>underline</u>
# #
# For a complete reference see # For a complete reference see
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>. # <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
# #
# strip: This setting is provided for compatibility with some broken # strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the # clients that send markup even though it's not enabled on the
# server. Dunst will try to strip the markup but the parsing is # server. Dunst will try to strip the markup but the parsing is
# simplistic so using this option outside of matching rules for # simplistic so using this option outside of matching rules for
# specific applications *IS GREATLY DISCOURAGED*. # specific applications *IS GREATLY DISCOURAGED*.
# #
# no: Disable markup parsing, incoming notifications will be treated as # no: Disable markup parsing, incoming notifications will be treated as
# plain text. Dunst will not advertise that it has the body-markup # plain text. Dunst will not advertise that it has the body-markup
# capability if this is set as a global setting. # capability if this is set as a global setting.
# #
# It's important to note that markup inside the format option will be parsed # It's important to note that markup inside the format option will be parsed
# regardless of what this is set to. # regardless of what this is set to.
markup = full markup = full
# The format of the message. Possible variables are: # The format of the message. Possible variables are:
# %a appname # %a appname
# %s summary # %s summary
# %b body # %b body
# %i iconname (including its path) # %i iconname (including its path)
# %I iconname (without its path) # %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing # %p progress value if set ([ 0%] to [100%]) or nothing
# %n progress value if set without any extra characters # %n progress value if set without any extra characters
# Markup is allowed # Markup is allowed
format = "<b>%s</b>\n%b" format = "<b>%s</b>\n%b"
# Alignment of message text. # Alignment of message text.
# Possible values are "left", "center" and "right". # Possible values are "left", "center" and "right".
alignment = left alignment = left
# Show age of message if message is older than show_age_threshold # Show age of message if message is older than show_age_threshold
# seconds. # seconds.
# Set to -1 to disable. # Set to -1 to disable.
show_age_threshold = 300 show_age_threshold = 300
# Split notifications into multiple lines if they don't fit into # Split notifications into multiple lines if they don't fit into
# geometry. # geometry.
word_wrap = yes word_wrap = yes
# Ignore newlines '\n' in notifications. # Ignore newlines '\n' in notifications.
ignore_newline = no ignore_newline = no
# Merge multiple notifications with the same content # Merge multiple notifications with the same content
stack_duplicates = false stack_duplicates = false
# Hide the count of merged notifications with the same content # Hide the count of merged notifications with the same content
hide_duplicate_count = false hide_duplicate_count = false
# Display indicators for URLs (U) and actions (A). # Display indicators for URLs (U) and actions (A).
show_indicators = yes show_indicators = yes
#+end_src #+end_src
** Icons ** Icons
#+begin_src conf #+begin_src conf
# Align icons left/right/off # Align icons left/right/off
icon_position = off icon_position = off
# Limit icons size. # Limit icons size.
max_icon_size=32 max_icon_size=32
# Paths to default icons. # Paths to default icons.
icon_path = /usr/share/icons/Arc/16x16/status/:/usr/share/icons/Arc/16x16/devices/ icon_path = /usr/share/icons/Arc/16x16/status/:/usr/share/icons/Arc/16x16/devices/
#+end_src #+end_src
** History ** History
#+begin_src conf #+begin_src conf
# Should a notification popped up from history be sticky or timeout # Should a notification popped up from history be sticky or timeout
# as if it would normally do. # as if it would normally do.
sticky_history = yes sticky_history = yes
# Maximum amount of notifications kept in history # Maximum amount of notifications kept in history
history_length = 20 history_length = 20
#+end_src #+end_src
** Misc/Advanced ** Misc/Advanced
#+BEGIN_SRC conf #+BEGIN_SRC conf
# dmenu path. # dmenu path.
dmenu = /usr/bin/dmenu -p dunst: dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu. # Browser for opening urls in context menu.
browser = $BROWSER browser = $BROWSER
# Always run rule-defined scripts, even if the notification is suppressed # Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true always_run_script = true
# Define the title of the windows spawned by dunst # Define the title of the windows spawned by dunst
title = Dunst title = Dunst
# Define the class of the windows spawned by dunst # Define the class of the windows spawned by dunst
class = Dunst class = Dunst
# Print a notification on startup. # Print a notification on startup.
# This is mainly for error detection, since dbus (re-)starts dunst # This is mainly for error detection, since dbus (re-)starts dunst
# automatically after a crash. # automatically after a crash.
startup_notification = false startup_notification = false
#+end_src #+end_src
* Shortcuts * Shortcuts
#+BEGIN_SRC conf #+BEGIN_SRC conf
[shortcuts] [shortcuts]
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2", # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
# "mod3" and "mod4" (windows-key). # "mod3" and "mod4" (windows-key).
close = mod1+space close = mod1+space
history = mod1+Escape history = mod1+Escape
#+end_src #+end_src
* Urgency * Urgency
#+BEGIN_SRC conf #+BEGIN_SRC conf
[urgency_low] [urgency_low]
background = "#32302f" background = "#32302f"
foreground = "#ebdbb2" foreground = "#ebdbb2"
timeout = 4 timeout = 4
[urgency_normal] [urgency_normal]
background = "#32302f" background = "#32302f"
foreground = "#ebdbb2" foreground = "#ebdbb2"
timeout = 6 timeout = 6
[urgency_critical] [urgency_critical]
background = "#32302f" background = "#32302f"
foreground = "#cc241d" foreground = "#cc241d"
timeout = 0 timeout = 0
#+END_SRC #+END_SRC

View File

@ -7,36 +7,36 @@
* Config * Config
#+BEGIN_SRC conf #+BEGIN_SRC conf
[config] [config]
bm_open_method=0 bm_open_method=0
#+END_SRC #+END_SRC
* Volume * Volume
#+BEGIN_SRC conf #+BEGIN_SRC conf
[volume] [volume]
mount_on_startup=0 mount_on_startup=0
mount_removable=0 mount_removable=0
autorun=0 autorun=0
#+END_SRC #+END_SRC
* UI * UI
#+BEGIN_SRC conf #+BEGIN_SRC conf
[ui] [ui]
always_show_tabs=0 always_show_tabs=0
max_tab_chars=32 max_tab_chars=32
win_width=1263 win_width=1263
win_height=690 win_height=690
splitter_pos=150 splitter_pos=150
media_in_new_tab=0 media_in_new_tab=0
desktop_folder_new_win=0 desktop_folder_new_win=0
change_tab_on_drop=1 change_tab_on_drop=1
close_on_unmount=1 close_on_unmount=1
focus_previous=0 focus_previous=0
side_pane_mode=places side_pane_mode=places
view_mode=icon view_mode=icon
show_hidden=0 show_hidden=0
sort=mtime;descending; sort=mtime;descending;
toolbar=newtab;navigation;home; toolbar=newtab;navigation;home;
show_statusbar=1 show_statusbar=1
pathbar_mode_buttons=0 pathbar_mode_buttons=0
#+END_SRC #+END_SRC

File diff suppressed because it is too large Load Diff

View File

@ -6,318 +6,318 @@
* Import * Import
#+begin_src python #+begin_src python
from qutebrowser.config.configfiles import ConfigAPI from qutebrowser.config.configfiles import ConfigAPI
from qutebrowser.config.config import ConfigContainer from qutebrowser.config.config import ConfigContainer
import sys, os import sys, os
#+end_src #+end_src
* General config * General config
#+begin_src python #+begin_src python
c.aliases = {'w': 'session-save', 'q': 'quit', 'wq': 'quit --save'} c.aliases = {'w': 'session-save', 'q': 'quit', 'wq': 'quit --save'}
c.auto_save.session = False c.auto_save.session = False
c.backend = 'webengine' c.backend = 'webengine'
c.confirm_quit = ['downloads'] c.confirm_quit = ['downloads']
#+END_SRC #+END_SRC
* Content * Content
#+begin_src python #+begin_src python
c.content.autoplay = False c.content.autoplay = False
c.content.notifications = False c.content.notifications = False
c.content.geolocation = 'ask' c.content.geolocation = 'ask'
c.content.javascript.alert = True c.content.javascript.alert = True
c.content.javascript.can_access_clipboard = True c.content.javascript.can_access_clipboard = True
c.content.pdfjs = False c.content.pdfjs = False
c.content.proxy = 'system' c.content.proxy = 'system'
#+END_SRC #+END_SRC
* Editor * Editor
#+begin_src python #+begin_src python
c.editor.command = ['/usr/bin/termite', '--class="Floating"', '-e', 'nvim {}'] c.editor.command = ['/usr/bin/termite', '--class="Floating"', '-e', 'nvim {}']
#+end_src #+end_src
* Downloads * Downloads
#+begin_src python #+begin_src python
c.downloads.location.directory = '$HOME/Downloads/' c.downloads.location.directory = '$HOME/Downloads/'
c.downloads.location.prompt = True c.downloads.location.prompt = True
c.downloads.location.remember = True c.downloads.location.remember = True
c.downloads.location.suggestion = 'path' c.downloads.location.suggestion = 'path'
c.downloads.position = 'bottom' c.downloads.position = 'bottom'
c.downloads.remove_finished = 10000 c.downloads.remove_finished = 10000
#+END_SRC #+END_SRC
* Colors * Colors
#+begin_src python #+begin_src python
# c.colors.webpage.darkmode.enabled = True # c.colors.webpage.darkmode.enabled = True
#+end_src #+end_src
* Fonts * Fonts
#+begin_src python #+begin_src python
c.fonts.default_family = ["Hack Nerd Font Mono", "DejaVu Sans Mono", "Monaco"] c.fonts.default_family = ["Hack Nerd Font Mono", "DejaVu Sans Mono", "Monaco"]
c.fonts.prompts = '10pt monospace' c.fonts.prompts = '10pt monospace'
c.fonts.statusbar = '10pt monospace' c.fonts.statusbar = '10pt monospace'
#+END_SRC #+END_SRC
* Input * Input
#+begin_src python #+begin_src python
c.input.insert_mode.auto_enter = True c.input.insert_mode.auto_enter = True
# Very annoying when automatically leave insert mode # Very annoying when automatically leave insert mode
c.input.insert_mode.auto_leave = False c.input.insert_mode.auto_leave = False
c.input.insert_mode.auto_load = False c.input.insert_mode.auto_load = False
c.input.insert_mode.plugins = True c.input.insert_mode.plugins = True
#+END_SRC #+END_SRC
* New Instance Options * New Instance Options
#+begin_src python #+begin_src python
c.new_instance_open_target = 'tab' c.new_instance_open_target = 'tab'
c.new_instance_open_target_window = 'last-focused' c.new_instance_open_target_window = 'last-focused'
#+END_SRC #+END_SRC
* Spell Check * Spell Check
#+begin_src python #+begin_src python
c.spellcheck.languages = ['en-US', 'fr-FR'] c.spellcheck.languages = ['en-US', 'fr-FR']
#+END_SRC #+END_SRC
* Status Bar * Status Bar
#+begin_src python #+begin_src python
# Hide the statusbar unless a message is shown. # Hide the statusbar unless a message is shown.
c.statusbar.position = 'bottom' c.statusbar.position = 'bottom'
# List of widgets displayed in the statusbar. # List of widgets displayed in the statusbar.
# Valid values: # Valid values:
# - url: Current page URL. # - url: Current page URL.
# - scroll: Percentage of the current page position like `10%`. # - scroll: Percentage of the current page position like `10%`.
# - scroll_raw: Raw percentage of the current page position like `10`. # - scroll_raw: Raw percentage of the current page position like `10`.
# - history: Display an arrow when possible to go back/forward in history. # - history: Display an arrow when possible to go back/forward in history.
# - tabs: Current active tab, e.g. `2`. # - tabs: Current active tab, e.g. `2`.
# - keypress: Display pressed keys when composing a vi command. # - keypress: Display pressed keys when composing a vi command.
# - progress: Progress bar for the current page loading. # - progress: Progress bar for the current page loading.
c.statusbar.widgets = ['keypress', 'url', 'scroll', 'history', 'progress'] c.statusbar.widgets = ['keypress', 'url', 'scroll', 'history', 'progress']
#+END_SRC #+END_SRC
* Tabs * Tabs
#+begin_src python #+begin_src python
# Open new tabs (middleclick/ctrl+click) in the background. # Open new tabs (middleclick/ctrl+click) in the background.
c.tabs.background = True c.tabs.background = True
# Mouse button with which to close tabs. # Mouse button with which to close tabs.
c.tabs.close_mouse_button = 'right' c.tabs.close_mouse_button = 'right'
# How to behave when the last tab is closed. # How to behave when the last tab is closed.
c.tabs.last_close = 'close' c.tabs.last_close = 'close'
# Switch between tabs using the mouse wheel. # Switch between tabs using the mouse wheel.
c.tabs.mousewheel_switching = False c.tabs.mousewheel_switching = False
# Position of new tabs opened from another tab. # Position of new tabs opened from another tab.
# Valid values: # Valid values:
# - prev: Before the current tab. # - prev: Before the current tab.
# - next: After the current tab. # - next: After the current tab.
# - first: At the beginning. # - first: At the beginning.
# - last: At the end. # - last: At the end.
c.tabs.new_position.related = 'next' c.tabs.new_position.related = 'next'
# Position of new tabs which aren't opened from another tab. # Position of new tabs which aren't opened from another tab.
# Valid values: # Valid values:
# - prev: Before the current tab. # - prev: Before the current tab.
# - next: After the current tab. # - next: After the current tab.
# - first: At the beginning. # - first: At the beginning.
# - last: At the end. # - last: At the end.
c.tabs.new_position.unrelated = 'last' c.tabs.new_position.unrelated = 'last'
# Position of the tab bar. # Position of the tab bar.
c.tabs.position = 'left' c.tabs.position = 'left'
# Which tab to select when the focused tab is removed. # Which tab to select when the focused tab is removed.
c.tabs.select_on_remove = 'next' c.tabs.select_on_remove = 'next'
# Width (in pixels or as percentage of the window) of the tab bar if it's vertical. # Width (in pixels or as percentage of the window) of the tab bar if it's vertical.
c.tabs.width = 30 c.tabs.width = 30
# Wrap when changing tabs. # Wrap when changing tabs.
c.tabs.wrap = False c.tabs.wrap = False
#+END_SRC #+END_SRC
* Urls and Search Engines * Urls and Search Engines
#+begin_src python #+begin_src python
c.url.searchengines = { c.url.searchengines = {
'DEFAULT': 'https://www.duckduckgo.org/?q={}', 'DEFAULT': 'https://www.duckduckgo.org/?q={}',
'aw': 'https://wiki.archlinux.org/?search={}', 'aw': 'https://wiki.archlinux.org/?search={}',
'wi': 'https://en.wikipedia.org/wiki/Special:Search?search={}', 'wi': 'https://en.wikipedia.org/wiki/Special:Search?search={}',
'go': 'https://www.google.com/search?q={}', 'go': 'https://www.google.com/search?q={}',
'gc': 'https://scholar.google.fr/scholar?hl=fr&as_sdt=0%2C5&q={}&btnG=', 'gc': 'https://scholar.google.fr/scholar?hl=fr&as_sdt=0%2C5&q={}&btnG=',
'gm': 'https://www.google.com/maps/search/{}/', 'gm': 'https://www.google.com/maps/search/{}/',
'yt': 'https://www.youtube.com/results?search_query={}', 'yt': 'https://www.youtube.com/results?search_query={}',
'gh': 'https://github.com/search?q={}', 'gh': 'https://github.com/search?q={}',
're': 'https://www.reddit.com/search?q={}', 're': 'https://www.reddit.com/search?q={}',
'lb': 'http://gen.lib.rus.ec/search.php?req={}', 'lb': 'http://gen.lib.rus.ec/search.php?req={}',
'la': 'http://gen.lib.rus.ec/scimag/index.php?s={}', 'la': 'http://gen.lib.rus.ec/scimag/index.php?s={}',
'sm': 'https://www.openstreetmap.org/search?query={}', 'sm': 'https://www.openstreetmap.org/search?query={}',
'am': 'https://www.amazon.fr/s?k={}', 'am': 'https://www.amazon.fr/s?k={}',
'md': 'https://fr.mathworks.com/help/search.html?qdoc={}&submitsearch=', 'md': 'https://fr.mathworks.com/help/search.html?qdoc={}&submitsearch=',
'js': 'https://developer.mozilla.org/en-US/search?q={}', 'js': 'https://developer.mozilla.org/en-US/search?q={}',
'tf': 'https://translate.google.com/#view=home&op=translate&sl=en&tl=fr&text={}', '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={}', 'te': 'https://translate.google.com/#view=home&op=translate&sl=fr&tl=en&text={}',
} }
#+end_src #+end_src
#+begin_src python #+begin_src python
c.url.start_pages = ['https://homer.tdehaeze.xyz/'] c.url.start_pages = ['https://homer.tdehaeze.xyz/']
c.url.default_page = 'https://homer.tdehaeze.xyz/' c.url.default_page = 'https://homer.tdehaeze.xyz/'
#+END_SRC #+END_SRC
* Normal Bindings * Normal Bindings
Zooming Zooming
#+begin_src python #+begin_src python
config.bind('+', 'zoom-in') config.bind('+', 'zoom-in')
config.bind('-', 'zoom-out') config.bind('-', 'zoom-out')
config.bind('=', 'zoom') config.bind('=', 'zoom')
#+end_src #+end_src
Inputs blocks Inputs blocks
#+begin_src python #+begin_src python
config.bind(';t', 'hint inputs') config.bind(';t', 'hint inputs')
config.bind('gi', 'hint inputs --first') config.bind('gi', 'hint inputs --first')
#+end_src #+end_src
Opening New Window Opening New Window
#+begin_src python #+begin_src python
config.bind('<Ctrl-N>', 'open -w') config.bind('<Ctrl-N>', 'open -w')
#+end_src #+end_src
History History
#+begin_src python #+begin_src python
config.bind('H', 'back') config.bind('H', 'back')
config.bind('L', 'forward') config.bind('L', 'forward')
#+end_src #+end_src
Move tabs around Move tabs around
#+begin_src python #+begin_src python
config.bind('d', 'tab-close') config.bind('d', 'tab-close')
config.bind('<', 'tab-move -') config.bind('<', 'tab-move -')
config.bind('>', 'tab-move +') config.bind('>', 'tab-move +')
config.bind('gO', 'tab-give') # Open current tab in a new window config.bind('gO', 'tab-give') # Open current tab in a new window
config.bind('J', 'tab-next') config.bind('J', 'tab-next')
config.bind('K', 'tab-prev') config.bind('K', 'tab-prev')
#+end_src #+end_src
Bookmarks and Quickmark Bookmarks and Quickmark
#+begin_src python #+begin_src python
config.bind('M', 'bookmark-add') config.bind('M', 'bookmark-add')
config.bind('m', 'quickmark-save') config.bind('m', 'quickmark-save')
#+end_src #+end_src
Open New Pages/Tabs Open New Pages/Tabs
#+begin_src python #+begin_src python
config.bind('o', 'set-cmd-text -s :open') config.bind('o', 'set-cmd-text -s :open')
config.bind('O', 'set-cmd-text -s :open -t') config.bind('O', 'set-cmd-text -s :open -t')
#+end_src #+end_src
Open new page/tab with clipboard content Open new page/tab with clipboard content
#+begin_src python #+begin_src python
config.bind('pp', 'open -- {clipboard}') config.bind('pp', 'open -- {clipboard}')
config.bind('pP', 'open -t -- {clipboard}') config.bind('pP', 'open -t -- {clipboard}')
#+end_src #+end_src
Link Hinting Link Hinting
#+begin_src python #+begin_src python
config.bind('f', 'hint') config.bind('f', 'hint')
config.bind('F', 'hint all tab') config.bind('F', 'hint all tab')
#+end_src #+end_src
Yanking url Yanking url
#+begin_src python #+begin_src python
config.bind('yy', 'yank') config.bind('yy', 'yank')
#+END_SRC #+END_SRC
Go to specific websites Go to specific websites
#+begin_src python #+begin_src python
config.bind('gy', 'open -t https://www.youtube.com/feed/subscriptions') config.bind('gy', 'open -t https://www.youtube.com/feed/subscriptions')
config.bind('gf', 'open -t https://rss.tdehaeze.xyz/') config.bind('gf', 'open -t https://rss.tdehaeze.xyz/')
config.bind('gr', 'open -t https://www.reddit.com/') config.bind('gr', 'open -t https://www.reddit.com/')
config.bind('gh', 'open -t https://homer.tdehaeze.xyz/') config.bind('gh', 'open -t https://homer.tdehaeze.xyz/')
config.bind('gb', 'open -t qute://bookmarks') config.bind('gb', 'open -t qute://bookmarks')
config.bind('gH', 'open -t qute://history') config.bind('gH', 'open -t qute://history')
config.bind('gs', 'open -t qute://settings') config.bind('gs', 'open -t qute://settings')
#+end_src #+end_src
* Custom Bindings * Custom Bindings
Create a Password for the current website Create a Password for the current website
#+begin_src python #+begin_src python
config.bind(',P', 'spawn --userscript ~/.config/qutebrowser/userscripts/add-passowrd.sh') config.bind(',P', 'spawn --userscript ~/.config/qutebrowser/userscripts/add-passowrd.sh')
#+end_src #+end_src
Use Pass to fill password and username (configuration is done in =~/.config/qutebrowser/password_fill_rc=) Use Pass to fill password and username (configuration is done in =~/.config/qutebrowser/password_fill_rc=)
#+begin_src python #+begin_src python
config.bind(',p', 'spawn --userscript password_fill') config.bind(',p', 'spawn --userscript password_fill')
#+END_SRC #+END_SRC
Open Youtube video using =mpv= Open Youtube video using =mpv=
#+begin_src python #+begin_src python
config.bind(',m', 'spawn --detach mpv --force-window yes {url}') config.bind(',m', 'spawn --detach mpv --force-window yes {url}')
config.bind(',M', 'hint links spawn --detach mpv --force-window yes {hint-url}') config.bind(',M', 'hint links spawn --detach mpv --force-window yes {hint-url}')
#+END_SRC #+END_SRC
Download Youtube video / entire playlist Download Youtube video / entire playlist
#+begin_src python #+begin_src python
config.bind(',v', 'spawn --userscript ~/.config/qutebrowser/userscripts/yt-download.sh {url}') 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}') config.bind(',V', 'hint links spawn --userscript ~/.config/qutebrowser/userscripts/yt-download.sh {hint-url}')
#+END_SRC #+END_SRC
Add page to Bookmarks using =buku= Add page to Bookmarks using =buku=
#+begin_src python #+begin_src python
config.bind(',b', 'spawn --userscript ~/.config/qutebrowser/userscripts/buku-add.sh') config.bind(',b', 'spawn --userscript ~/.config/qutebrowser/userscripts/buku-add.sh')
config.bind(',B', 'spawn --userscript ~/.config/qutebrowser/userscripts/buku-rofi.sh') config.bind(',B', 'spawn --userscript ~/.config/qutebrowser/userscripts/buku-rofi.sh')
#+end_src #+end_src
Download with =aria2c= Download with =aria2c=
#+begin_src python #+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.sh {hint-url}')
config.bind(',D', 'hint links spawn --userscript ~/.config/qutebrowser/userscripts/aria2c-add-homelab.sh {hint-url}') config.bind(',D', 'hint links spawn --userscript ~/.config/qutebrowser/userscripts/aria2c-add-homelab.sh {hint-url}')
#+end_src #+end_src
Open bookmark using =buku= Open bookmark using =buku=
#+begin_src python #+begin_src python
config.bind(',o', 'spawn ~/.local/bin/bukurun') config.bind(',o', 'spawn ~/.local/bin/bukurun')
#+end_src #+end_src
Org Capture Org Capture
#+begin_src python #+begin_src python
config.bind(',r', 'spawn --userscript ~/.config/qutebrowser/userscripts/org-capture.sh') config.bind(',r', 'spawn --userscript ~/.config/qutebrowser/userscripts/org-capture.sh')
config.bind(',R', 'hint links userscript ~/.config/qutebrowser/userscripts/org-capture.sh') config.bind(',R', 'hint links userscript ~/.config/qutebrowser/userscripts/org-capture.sh')
#+end_src #+end_src
Screenshot of webpage to png Screenshot of webpage to png
#+begin_src python #+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-pdf.sh')
config.bind(',S', 'spawn --userscript ~/.config/qutebrowser/userscripts/html-to-png.sh') config.bind(',S', 'spawn --userscript ~/.config/qutebrowser/userscripts/html-to-png.sh')
#+end_src #+end_src
Download AES video Download AES video
#+begin_src python #+begin_src python
config.bind(',E', 'spawn --userscript ~/.config/qutebrowser/userscripts/aes-download.sh') config.bind(',E', 'spawn --userscript ~/.config/qutebrowser/userscripts/aes-download.sh')
#+end_src #+end_src
Download a torrent Download a torrent
#+begin_src python #+begin_src python
config.bind(',t', 'hint links spawn torrent-add {hint-url}') config.bind(',t', 'hint links spawn torrent-add {hint-url}')
#+end_src #+end_src
Annotate with Hypothesis Annotate with Hypothesis
#+begin_src python #+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)})();") 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)})();")
#+end_src #+end_src
See Amazon price history using CamelCamelCamel See Amazon price history using CamelCamelCamel
#+begin_src python #+begin_src python
config.bind(',A', ":open -t https://fr.camelcamelcamel.com/search?sq={url}") config.bind(',A', ":open -t https://fr.camelcamelcamel.com/search?sq={url}")
#+end_src #+end_src
Org Roam Entry for the current page Org Roam Entry for the current page
#+begin_src python #+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))") config.bind(',R', "open javascript:void(location.href='org-protocol://roam-ref?template=r&ref='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title))")
#+end_src #+end_src
* Userscripts * Userscripts
@ -330,78 +330,78 @@ Org Roam Entry for the current page
** Create a new password ** Create a new password
#+begin_src bash :tangle ~/.config/qutebrowser/userscripts/add-passowrd.sh #+begin_src bash :tangle ~/.config/qutebrowser/userscripts/add-passowrd.sh
url=$(echo "$QUTE_URL" | awk -F[/:] '{print $4}' | rofi -p "URL" -dmenu -lines 1) url=$(echo "$QUTE_URL" | awk -F[/:] '{print $4}' | rofi -p "URL" -dmenu -lines 1)
username=$(echo -e "dehaeze.thomas@gmail.com\nthomas.dehaeze@esrf.fr\ntdehaeze" | rofi -p "Username" -dmenu -lines 5) username=$(echo -e "dehaeze.thomas@gmail.com\nthomas.dehaeze@esrf.fr\ntdehaeze" | rofi -p "Username" -dmenu -lines 5)
password=$(rofi -p "Password" -dmenu -password -lines 1) password=$(rofi -p "Password" -dmenu -password -lines 1)
if [ -z "$url" ] || [ -z "$username" ] || [ -z "$password" ]; then if [ -z "$url" ] || [ -z "$username" ] || [ -z "$password" ]; then
dunstify --urgency=critical "Pass" "Failed to Add Password" dunstify --urgency=critical "Pass" "Failed to Add Password"
else else
echo -e "$password\nlogin: $username\nurl: $QUTE_URL" > /tmp/add-password.txt echo -e "$password\nlogin: $username\nurl: $QUTE_URL" > /tmp/add-password.txt
pass insert --multiline "$url/$username" < /tmp/add-password.txt; pass insert --multiline "$url/$username" < /tmp/add-password.txt;
rm /tmp/add-password.txt rm /tmp/add-password.txt
dunstify "Pass " "Password Added" dunstify "Pass " "Password Added"
fi fi
#+end_src #+end_src
** Download Youtube Video ** Download Youtube Video
#+begin_src bash :tangle ~/.config/qutebrowser/userscripts/yt-download.sh #+begin_src bash :tangle ~/.config/qutebrowser/userscripts/yt-download.sh
cd ~/Documents/to-watch/ || exit; cd ~/Documents/to-watch/ || exit;
if [[ "$1" == *"list"* ]]; then if [[ "$1" == *"list"* ]]; then
choice=$(echo -e "Video\nPlaylist" | rofi -dmenu -only-match -i) choice=$(echo -e "Video\nPlaylist" | rofi -dmenu -only-match -i)
fi fi
if [ -n "$choice" ] && [ "$choice" = "Playlist" ]; then if [ -n "$choice" ] && [ "$choice" = "Playlist" ]; then
dunstify --replace=19243 "Youtube " "Downloading Playlist..."; dunstify --replace=19243 "Youtube " "Downloading Playlist...";
youtube-dl -i -f 'bestvideo[height<=720]+bestaudio/best[height<=720]' "$1" -o "%(playlist_title)s/%(playlist_index)s-%(title)s.%(ext)s" && \ youtube-dl -i -f 'bestvideo[height<=720]+bestaudio/best[height<=720]' "$1" -o "%(playlist_title)s/%(playlist_index)s-%(title)s.%(ext)s" && \
dunstify --replace=19243 "Youtube " "Downloaded" || \ dunstify --replace=19243 "Youtube " "Downloaded" || \
dunstify --replace=19243 --urgency=critical "Youtube " "Failed to download" dunstify --replace=19243 --urgency=critical "Youtube " "Failed to download"
else else
dunstify --replace=19243 "Youtube " "Downloading Video..."; dunstify --replace=19243 "Youtube " "Downloading Video...";
youtube-dl --no-playlist -f 'bestvideo[height<=720]+bestaudio/best[height<=720]' "$1" && \ youtube-dl --no-playlist -f 'bestvideo[height<=720]+bestaudio/best[height<=720]' "$1" && \
dunstify --replace=19243 "Youtube " "Downloaded" || \ dunstify --replace=19243 "Youtube " "Downloaded" || \
dunstify --replace=19243 --urgency=critical "Youtube " "Failed to download" dunstify --replace=19243 --urgency=critical "Youtube " "Failed to download"
fi fi
#+end_src #+end_src
** Password_fill_rc ** Password_fill_rc
#+begin_src bash :tangle ~/.config/qutebrowser/password_fill_rc #+begin_src bash :tangle ~/.config/qutebrowser/password_fill_rc
# Show all password fields in the menu # Show all password fields in the menu
query_entries() { query_entries() {
# safe queried url for choose_entry # safe queried url for choose_entry
# the subdomains are removed # the subdomains are removed
export queried_url=$(expr match ".$1" '.*\.\(.*\..*\)') export queried_url=$(expr match ".$1" '.*\.\(.*\..*\)')
mapfile -t files < <(find -L "$PREFIX" -iname '*.gpg' -printf '%P\n' |sed 's,\.gpg$,,') mapfile -t files < <(find -L "$PREFIX" -iname '*.gpg' -printf '%P\n' |sed 's,\.gpg$,,')
} }
# Even if there is only one entry, always show a menu # Even if there is only one entry, always show a menu
# for user confirmation. # for user confirmation.
choose_entry() { choose_entry() {
MENU_COMMAND=( MENU_COMMAND=(
rofi -dmenu rofi -dmenu
-p "qutebrowser> " -p "qutebrowser> "
-filter "$queried_url" -filter "$queried_url"
-mesg $'Pick a password entry for <b>'"${QUTE_URL//&/&amp;}"'</b>' -mesg $'Pick a password entry for <b>'"${QUTE_URL//&/&amp;}"'</b>'
) )
file=$( printf "%s\n" "${files[@]}" | "${MENU_COMMAND[@]}" ) file=$( printf "%s\n" "${files[@]}" | "${MENU_COMMAND[@]}" )
} }
#+end_src #+end_src
** Org-Capture ** Org-Capture
#+begin_src bash :tangle ~/.config/qutebrowser/userscripts/org-capture.sh #+begin_src bash :tangle ~/.config/qutebrowser/userscripts/org-capture.sh
readonly CAPTURE_SCRIPT=~/.config/qutebrowser/userscripts/org-protocol-capture-html.sh readonly CAPTURE_SCRIPT=~/.config/qutebrowser/userscripts/org-protocol-capture-html.sh
if [[ "$QUTE_MODE" = "hints" ]]; then if [[ "$QUTE_MODE" = "hints" ]]; then
# if we start with hints, we juste want to capture the URL # if we start with hints, we juste want to capture the URL
$CAPTURE_SCRIPT --template "pu" --url "${QUTE_URL}" $CAPTURE_SCRIPT --template "pu" --url "${QUTE_URL}"
elif [[ -n "$QUTE_SELECTED_TEXT" ]]; then elif [[ -n "$QUTE_SELECTED_TEXT" ]]; then
# if text is selected, we want to capture the text # if text is selected, we want to capture the text
$CAPTURE_SCRIPT --template "pt" --heading "${QUTE_TITLE}" --url "${QUTE_URL}" "${QUTE_SELECTED_TEXT}" $CAPTURE_SCRIPT --template "pt" --heading "${QUTE_TITLE}" --url "${QUTE_URL}" "${QUTE_SELECTED_TEXT}"
else else
# if no text is selected, we want to capture the url # if no text is selected, we want to capture the url
$CAPTURE_SCRIPT --template "pu" --heading "${QUTE_TITLE}" --url "${QUTE_URL}" $CAPTURE_SCRIPT --template "pu" --heading "${QUTE_TITLE}" --url "${QUTE_URL}"
fi fi
#+end_src #+end_src
** Org-Protocol-Capture-HTML ** Org-Protocol-Capture-HTML
@ -411,190 +411,190 @@ Org Roam Entry for the current page
Defaults Defaults
#+begin_src bash #+begin_src bash
heading="link" heading="link"
template="pu" template="pu"
url="https://google.com/" url="https://google.com/"
#+end_src #+end_src
Functions Functions
#+begin_src bash #+begin_src bash
function debug { function debug {
if [[ -n $debug ]] if [[ -n $debug ]]
then then
function debug { function debug {
echo "DEBUG: $@" >&2 echo "DEBUG: $@" >&2
} }
debug "$@" debug "$@"
else else
function debug { function debug {
true true
} }
fi fi
} }
function die { function die {
echo "$@" >&2 echo "$@" >&2
exit 1 exit 1
} }
function urlencode { function urlencode {
python -c " python -c "
from __future__ import print_function from __future__ import print_function
try: try:
from urllib import quote # Python 2 from urllib import quote # Python 2
except ImportError: except ImportError:
from urllib.parse import quote # Python 3 from urllib.parse import quote # Python 3
import sys import sys
print(quote(sys.stdin.read()[:-1], safe=''))" print(quote(sys.stdin.read()[:-1], safe=''))"
} }
#+end_src #+end_src
Documentation Documentation
#+begin_src bash #+begin_src bash
function usage { function usage {
cat <<EOF cat <<EOF
$0 [OPTIONS] [HTML] $0 [OPTIONS] [HTML]
html | $0 [OPTIONS] html | $0 [OPTIONS]
Send HTML to Emacs through org-protocol, passing it through Pandoc to Send HTML to Emacs through org-protocol, passing it through Pandoc to
convert HTML to Org-mode. HTML may be passed as an argument or convert HTML to Org-mode. HTML may be passed as an argument or
through STDIN. If only URL is given, it will be downloaded and its through STDIN. If only URL is given, it will be downloaded and its
contents used. contents used.
Options: Options:
-h, --heading HEADING Heading -h, --heading HEADING Heading
-t, --template TEMPLATE org-capture template key (default: pu) -t, --template TEMPLATE org-capture template key (default: pu)
-u, --url URL URL -u, --url URL URL
--debug Print debug info --debug Print debug info
--help I need somebody! --help I need somebody!
EOF EOF
} }
#+end_src #+end_src
Arguments Arguments
#+begin_src bash #+begin_src bash
args=$(getopt -n "$0" -o dh:rt:u: -l debug,help,heading:,template:,url: -- "$@") \ args=$(getopt -n "$0" -o dh:rt:u: -l debug,help,heading:,template:,url: -- "$@") \
|| die "Unable to parse args. Is getopt installed?" || die "Unable to parse args. Is getopt installed?"
eval set -- "$args" eval set -- "$args"
while true while true
do do
case "$1" in case "$1" in
-d|--debug) -d|--debug)
debug=true debug=true
debug "Debugging on" debug "Debugging on"
;; ;;
--help) --help)
usage usage
exit exit
;; ;;
-h|--heading) -h|--heading)
shift shift
heading="$1" heading="$1"
;; ;;
-t|--template) -t|--template)
shift shift
template="$1" template="$1"
;; ;;
-u|--url) -u|--url)
shift shift
url="$1" url="$1"
;; ;;
--) --)
# Remaining args # Remaining args
shift shift
rest=("$@") rest=("$@")
break break
;; ;;
esac esac
shift shift
done done
debug "ARGS: $args" debug "ARGS: $args"
debug "Remaining args: ${rest[@]}" debug "Remaining args: ${rest[@]}"
#+end_src #+end_src
Get HTML Get HTML
#+begin_src bash #+begin_src bash
if [[ -n $@ ]] if [[ -n $@ ]]
then then
debug "Text from args" debug "Text from args"
body="$@" body="$@"
fi fi
#+end_src #+end_src
URL-encode URL-encode
#+begin_src bash #+begin_src bash
heading=$(urlencode <<<"$heading") || die "Unable to urlencode heading." heading=$(urlencode <<<"$heading") || die "Unable to urlencode heading."
url=$(urlencode <<<"$url") || die "Unable to urlencode URL." url=$(urlencode <<<"$url") || die "Unable to urlencode URL."
body=$(urlencode <<<"$body") || die "Unable to urlencode text." body=$(urlencode <<<"$body") || die "Unable to urlencode text."
#+end_src #+end_src
Send to Emacs Send to Emacs
#+begin_src bash #+begin_src bash
emacsclient "org-protocol://capture?template=$template&url=$url&title=$heading&body=$body" emacsclient "org-protocol://capture?template=$template&url=$url&title=$heading&body=$body"
#+end_src #+end_src
** Add Url to Buku using Rofi ** Add Url to Buku using Rofi
#+begin_src bash :tangle ~/.config/qutebrowser/userscripts/buku-rofi.sh #+begin_src bash :tangle ~/.config/qutebrowser/userscripts/buku-rofi.sh
title=$(echo "$QUTE_TITLE" | rofi -p "Title" -dmenu -lines 1) title=$(echo "$QUTE_TITLE" | rofi -p "Title" -dmenu -lines 1)
tags=$(buku -t --nc --np | sed -e 's/\s*[[:digit:]]*\.\s*\(.*\)\s*([[:digit:]]*)\s*/\1/' -e '/^\s*$/d' | sort | uniq | rofi -multi-select -p "Tags" -dmenu | tr "\n" "," | sed 's/\s*,\s*$//') tags=$(buku -t --nc --np | sed -e 's/\s*[[:digit:]]*\.\s*\(.*\)\s*([[:digit:]]*)\s*/\1/' -e '/^\s*$/d' | sort | uniq | rofi -multi-select -p "Tags" -dmenu | tr "\n" "," | sed 's/\s*,\s*$//')
buku --add "$QUTE_URL" --tag "$tags" --title "$title" && \ buku --add "$QUTE_URL" --tag "$tags" --title "$title" && \
dunstify "Buku" "Bookmark Added" || \ dunstify "Buku" "Bookmark Added" || \
dunstify --urgency=critical "Buku" " Bookmark Added" dunstify --urgency=critical "Buku" " Bookmark Added"
#+end_src #+end_src
** Add Url to Buku without asking for information ** Add Url to Buku without asking for information
#+begin_src bash :tangle ~/.config/qutebrowser/userscripts/buku-add.sh #+begin_src bash :tangle ~/.config/qutebrowser/userscripts/buku-add.sh
buku --add $QUTE_URL --title "$QUTE_TITLE" && \ buku --add $QUTE_URL --title "$QUTE_TITLE" && \
dunstify "Buku" "📑 Bookmark Added" dunstify "Buku" "📑 Bookmark Added"
#+end_src #+end_src
** Download with aria2c ** Download with aria2c
#+begin_src bash :tangle ~/.config/qutebrowser/userscripts/aria2c-add.sh #+begin_src bash :tangle ~/.config/qutebrowser/userscripts/aria2c-add.sh
aria2p add "$1" && \ aria2p add "$1" && \
dunstify "Aria2" "Download Started" || \ dunstify "Aria2" "Download Started" || \
dunstify "Aria2" "Error" dunstify "Aria2" "Error"
#+end_src #+end_src
** Download with aria2c on the Homelab ** Download with aria2c on the Homelab
#+begin_src bash :tangle ~/.config/qutebrowser/userscripts/aria2c-add-homelab.sh #+begin_src bash :tangle ~/.config/qutebrowser/userscripts/aria2c-add-homelab.sh
dl-add $(echo "$1" | sed 's/\&af=.*$//g') && \ dl-add $(echo "$1" | sed 's/\&af=.*$//g') && \
dunstify "Aria2" "Download Started" || \ dunstify "Aria2" "Download Started" || \
dunstify "Aria2" "Error" dunstify "Aria2" "Error"
#+end_src #+end_src
** Screenshot ** Screenshot
#+begin_src bash :tangle ~/.config/qutebrowser/userscripts/html-to-png.sh #+begin_src bash :tangle ~/.config/qutebrowser/userscripts/html-to-png.sh
filename=$(rofi -p "filename" -dmenu -lines 1) filename=$(rofi -p "filename" -dmenu -lines 1)
if [ -n "filename" ]; then if [ -n "filename" ]; then
cd ~/Pictures/ && \ cd ~/Pictures/ && \
firefox-developer-edition -P default -headless --screenshot "$filename.png" "$QUTE_URL" && \ firefox-developer-edition -P default -headless --screenshot "$filename.png" "$QUTE_URL" && \
dunstify "Screenshot" "Taken successfully" dunstify "Screenshot" "Taken successfully"
fi fi
#+end_src #+end_src
** Save to PDF ** Save to PDF
#+begin_src bash :tangle ~/.config/qutebrowser/userscripts/html-to-pdf.sh #+begin_src bash :tangle ~/.config/qutebrowser/userscripts/html-to-pdf.sh
filename=$(rofi -p "filename" -dmenu -lines 1) filename=$(rofi -p "filename" -dmenu -lines 1)
if [ -n "$filename" ]; then if [ -n "$filename" ]; then
cd ~/Pictures/ && \ cd ~/Pictures/ && \
percollate pdf --css "@page { size: A4 portrait }" --output "$filename.pdf" "$QUTE_URL" && \ percollate pdf --css "@page { size: A4 portrait }" --output "$filename.pdf" "$QUTE_URL" && \
dunstify "Percollate" "Successfully saved to pdf" dunstify "Percollate" "Successfully saved to pdf"
fi fi
#+end_src #+end_src
** Download AES video ** Download AES video
#+begin_src bash :tangle ~/.config/qutebrowser/userscripts/aes-download.sh #+begin_src bash :tangle ~/.config/qutebrowser/userscripts/aes-download.sh
m3u8_path=`curl -L -s "$QUTE_URL" | pcregrep -o1 "file = \"\/(.*aes.*mp4)\""` m3u8_path=`curl -L -s "$QUTE_URL" | pcregrep -o1 "file = \"\/(.*aes.*mp4)\""`
if [ -z "$m3u8_path" ]; then if [ -z "$m3u8_path" ]; then
dunstify --urgency=critical "Qutebrowser" "No m3u8 playlist found" dunstify --urgency=critical "Qutebrowser" "No m3u8 playlist found"
else else
dunstify "Qutebrowser" "Downloads..." && \ dunstify "Qutebrowser" "Downloads..." && \
cd ~/Downloads/ && \ cd ~/Downloads/ && \
ffmpeg -user_agent "Mozilla/5.0 (X11; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0" -referer "$QUTE_URL" -i "https://cdn2.digitellinc.com/play/_definst_/mp4:$m3u8_path/playlist.m3u8" -c copy "$QUTE_TITLE.mp4" && \ ffmpeg -user_agent "Mozilla/5.0 (X11; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0" -referer "$QUTE_URL" -i "https://cdn2.digitellinc.com/play/_definst_/mp4:$m3u8_path/playlist.m3u8" -c copy "$QUTE_TITLE.mp4" && \
dunstify "Qutebrowser" "$QUTE_TITLE Downloaded" dunstify "Qutebrowser" "$QUTE_TITLE Downloaded"
fi fi
#+end_src #+end_src

View File

@ -182,64 +182,64 @@ alias travel scout -aefiklst
** Some Custom Keybindings ** Some Custom Keybindings
Extract Extract
#+BEGIN_SRC conf #+BEGIN_SRC conf
map ,x shell ~/.config/ranger/scripts/extract.sh %f map ,x shell ~/.config/ranger/scripts/extract.sh %f
#+END_SRC #+END_SRC
Compress Compress
#+BEGIN_SRC conf #+BEGIN_SRC conf
map ,z shell ~/.config/ranger/scripts/compress.sh %f map ,z shell ~/.config/ranger/scripts/compress.sh %f
#+END_SRC #+END_SRC
Get Bibtex from PDF Get Bibtex from PDF
#+BEGIN_SRC conf #+BEGIN_SRC conf
map ,b shell pdf2bib %f map ,b shell pdf2bib %f
#+END_SRC #+END_SRC
Delete first page of pdf Delete first page of pdf
#+BEGIN_SRC conf #+BEGIN_SRC conf
map ,d shell pdf-delete-first-page %f map ,d shell pdf-delete-first-page %f
#+END_SRC #+END_SRC
Convert images/pdf/... Convert images/pdf/...
#+BEGIN_SRC conf #+BEGIN_SRC conf
map ,cp shell pdf2png %f map ,cp shell pdf2png %f
map ,cc shell convert-file %f map ,cc shell convert-file %f
#+END_SRC #+END_SRC
Magit Status Magit Status
#+BEGIN_SRC conf #+BEGIN_SRC conf
map ,gs shell emacsclient -create-frame --alternate-editor="" -n --eval '(magit-status)' map ,gs shell emacsclient -create-frame --alternate-editor="" -n --eval '(magit-status)'
#+END_SRC #+END_SRC
Open SXIV on current directory Open SXIV on current directory
#+BEGIN_SRC conf #+BEGIN_SRC conf
map ,s shell nohup sxiv -t %d & map ,s shell nohup sxiv -t %d &
#+END_SRC #+END_SRC
Upload with 0x0 / self hosted Tansfer.sh Upload with 0x0 / self hosted Tansfer.sh
#+BEGIN_SRC conf #+BEGIN_SRC conf
map ,t shell upload %f map ,t shell upload %f
map ,T shell share %f map ,T shell share %f
#+END_SRC #+END_SRC
Open current folder with PCManFM Open current folder with PCManFM
#+begin_src conf #+begin_src conf
map ,o shell nohup pcmanfm %d & map ,o shell nohup pcmanfm %d &
#+end_src #+end_src
Open with Emacs Open with Emacs
#+begin_src conf #+begin_src conf
map ,e shell emacsclient -create-frame --alternate-editor="" -n %f map ,e shell emacsclient -create-frame --alternate-editor="" -n %f
#+end_src #+end_src
Print on Rnice Print on Rnice
#+BEGIN_SRC conf #+BEGIN_SRC conf
map ,p shell print-rnice %f & map ,p shell print-rnice %f &
#+END_SRC #+END_SRC
Backup to NAS Backup to NAS
#+BEGIN_SRC conf #+BEGIN_SRC conf
map ,B shell ~/.config/ranger/scripts/backup-to-nas.sh %s & map ,B shell ~/.config/ranger/scripts/backup-to-nas.sh %s &
#+END_SRC #+END_SRC
** Scripts ** Scripts
@ -250,11 +250,11 @@ Backup to NAS
:header-args+: :shebang "#!/usr/bin/env bash" :header-args+: :shebang "#!/usr/bin/env bash"
:END: :END:
#+begin_src bash #+begin_src bash
if [ $TMUX ]; then 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 else
atool -x $1 atool -x $1
fi fi
#+end_src #+end_src
*** Compress Script *** Compress Script
@ -264,11 +264,11 @@ Backup to NAS
:header-args+: :shebang "#!/usr/bin/env bash" :header-args+: :shebang "#!/usr/bin/env bash"
:END: :END:
#+begin_src bash #+begin_src bash
if [ $TMUX ]; then 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 else
apack ${1%.*}.zip $1 apack ${1%.*}.zip $1
fi fi
#+end_src #+end_src
@ -282,11 +282,11 @@ Backup to NAS
- Arguments are the files to be backup to the NAS - Arguments are the files to be backup to the NAS
#+begin_src bash #+begin_src bash
if [ $TMUX ]; then 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 -p10022' "$@" nas:/volume1/Data/Downloads/Backup/ && tmux select-pane -U
else else
rsync -a --info=progress2 --inplace --rsh='ssh -p10022' "$@" nas:/volume1/Data/Downloads/Backup/ rsync -a --info=progress2 --inplace --rsh='ssh -p10022' "$@" nas:/volume1/Data/Downloads/Backup/
fi fi
#+end_src #+end_src
*** Paste with Rsync *** Paste with Rsync
@ -300,212 +300,212 @@ Backup to NAS
- All other arguments are files that are to be copied - All other arguments are files that are to be copied
#+begin_src bash #+begin_src bash
if [ $TMUX ]; then if [ $TMUX ]; then
tmux split -v -l 1 rsync -a --info=progress2 "${@:2}" "$1" && tmux select-pane -U tmux split -v -l 1 rsync -a --info=progress2 "${@:2}" "$1" && tmux select-pane -U
else else
rsync -a --info=progress2 "${@:2}" "$1" rsync -a --info=progress2 "${@:2}" "$1"
fi fi
#+end_src #+end_src
** Define keys for the browser ** Define keys for the browser
*** Basic *** Basic
#+BEGIN_SRC conf #+BEGIN_SRC conf
map Q quit! map Q quit!
map q eval fm.execute_console("shell tmux detach") if 'TMUX' in os.environ.keys() else fm.execute_console("quit") map q eval fm.execute_console("shell tmux detach") if 'TMUX' in os.environ.keys() else fm.execute_console("quit")
#+END_SRC #+END_SRC
#+BEGIN_SRC conf #+BEGIN_SRC conf
map <C-c> abort map <C-c> abort
map <esc> change_mode normal map <esc> change_mode normal
map ~ set viewmode! map ~ set viewmode!
#+END_SRC #+END_SRC
#+BEGIN_SRC conf #+BEGIN_SRC conf
map ? help map ? help
#+END_SRC #+END_SRC
#+BEGIN_SRC conf #+BEGIN_SRC conf
map : console map : console
map ; console map ; console
#+END_SRC #+END_SRC
#+BEGIN_SRC conf #+BEGIN_SRC conf
map ! console shell%space map ! console shell%space
#+END_SRC #+END_SRC
#+BEGIN_SRC conf #+BEGIN_SRC conf
map @ console -p6 shell %%s map @ console -p6 shell %%s
#+END_SRC #+END_SRC
*** Open Shell in current directory *** Open Shell in current directory
#+BEGIN_SRC conf #+BEGIN_SRC conf
map s shell $SHELL map s shell $SHELL
map S shell nohup $TERMINAL & map S shell nohup $TERMINAL &
#+END_SRC #+END_SRC
*** Open With *** Open With
#+BEGIN_SRC conf #+BEGIN_SRC conf
map O chain draw_possible_programs; console open_with%space map O chain draw_possible_programs; console open_with%space
#+END_SRC #+END_SRC
*** Filter *** Filter
#+BEGIN_SRC conf #+BEGIN_SRC conf
map f console filter%space map f console filter%space
# Reset filter # Reset filter
map F filter map F filter
#+END_SRC #+END_SRC
*** Tagging / Marking *** Tagging / Marking
#+BEGIN_SRC conf #+BEGIN_SRC conf
map <Space> mark_files toggle=True map <Space> mark_files toggle=True
map v mark_files all=True toggle=True map v mark_files all=True toggle=True
#+END_SRC #+END_SRC
*** VIM-like *** VIM-like
#+BEGIN_SRC conf #+BEGIN_SRC conf
copymap <UP> k copymap <UP> k
copymap <DOWN> j copymap <DOWN> j
copymap <LEFT> h copymap <LEFT> h
copymap <RIGHT> l copymap <RIGHT> l
copymap <HOME> gg copymap <HOME> gg
copymap <END> G copymap <END> G
#+END_SRC #+END_SRC
*** Jumping around *** Jumping around
#+BEGIN_SRC conf #+BEGIN_SRC conf
map H history_go -1 map H history_go -1
map L history_go 1 map L history_go 1
#+END_SRC #+END_SRC
#+BEGIN_SRC conf #+BEGIN_SRC conf
map ] move_parent 1 map ] move_parent 1
map [ move_parent -1 map [ move_parent -1
#+END_SRC #+END_SRC
#+BEGIN_SRC conf #+BEGIN_SRC conf
map } traverse map } traverse
#+END_SRC #+END_SRC
#+BEGIN_SRC conf #+BEGIN_SRC conf
map cd console cd%space map cd console cd%space
#+END_SRC #+END_SRC
*** Go to special folders *** Go to special folders
#+BEGIN_SRC conf #+BEGIN_SRC conf
map gh cd ~/ map gh cd ~/
map gb cd ~/Cloud/brain map gb cd ~/Cloud/brain
map gm cd ~/Cloud/thesis map gm cd ~/Cloud/thesis
map gp cd ~/Pictures map gp cd ~/Pictures
map gP cd ~/Cloud/personal map gP cd ~/Cloud/personal
map gT cd ~/.local/share/Trash/files map gT cd ~/.local/share/Trash/files
map gd cd ~/Downloads map gd cd ~/Downloads
map gc cd ~/Cloud map gc cd ~/Cloud
map gV cd ~/.config/literate-dotfiles map gV cd ~/.config/literate-dotfiles
#+END_SRC #+END_SRC
*** Get size of folders *** Get size of folders
#+BEGIN_SRC conf #+BEGIN_SRC conf
# Get size of all folders # Get size of all folders
map du shell -p du --max-depth=1 -h --apparent-size map du shell -p du --max-depth=1 -h --apparent-size
# Get size of all folders and sort them # Get size of all folders and sort them
map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh
#+END_SRC #+END_SRC
*** Yank path of directory/file *** Yank path of directory/file
#+BEGIN_SRC conf #+BEGIN_SRC conf
# Yank path of current directory/file # Yank path of current directory/file
map yp shell -f echo -n %d/%f | xsel -i; xsel -o | xsel -i -b map yp shell -f echo -n %d/%f | xsel -i; xsel -o | xsel -i -b
# Yank path of directory # Yank path of directory
map yd shell -f echo -n %d | xsel -i; xsel -o | xsel -i -b map yd shell -f echo -n %d | xsel -i; xsel -o | xsel -i -b
# Yank filename # Yank filename
map yn shell -f echo -n %f | xsel -i; xsel -o | xsel -i -b map yn shell -f echo -n %f | xsel -i; xsel -o | xsel -i -b
#+END_SRC #+END_SRC
*** Drag and Drop *** Drag and Drop
#+BEGIN_SRC conf #+BEGIN_SRC conf
map D shell dragon-drag-and-drop -a -x %p map D shell dragon-drag-and-drop -a -x %p
#+END_SRC #+END_SRC
*** Rename files *** Rename files
#+BEGIN_SRC conf #+BEGIN_SRC conf
map a rename_append map a rename_append
map C eval fm.execute_console("bulkrename") if fm.thisdir.marked_items else fm.open_console("rename ") map C eval fm.execute_console("bulkrename") if fm.thisdir.marked_items else fm.open_console("rename ")
map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%")) map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"))
map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7) map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7)
#+END_SRC #+END_SRC
*** Paste files *** Paste files
#+BEGIN_SRC conf #+BEGIN_SRC conf
map pp paste map pp paste
map po paste overwrite=True map po paste overwrite=True
map pP paste append=True map pP paste append=True
map pO paste overwrite=True append=True map pO paste overwrite=True append=True
map pl paste_symlink relative=False map pl paste_symlink relative=False
map pL paste_symlink relative=True map pL paste_symlink relative=True
map phl paste_hardlink map phl paste_hardlink
map pht paste_hardlinked_subtree map pht paste_hardlinked_subtree
#+END_SRC #+END_SRC
Paste with Rsync Paste with Rsync
#+BEGIN_SRC conf #+BEGIN_SRC conf
map pr shell ~/.config/ranger/scripts/paste-rsync.sh %d %c map pr shell ~/.config/ranger/scripts/paste-rsync.sh %d %c
#+END_SRC #+END_SRC
*** Delete and move files *** Delete and move files
#+BEGIN_SRC conf #+BEGIN_SRC conf
map dD shell -s trash-put %s map dD shell -s trash-put %s
map dd cut map dd cut
map du uncut map du uncut
#+END_SRC #+END_SRC
*** Copy files *** Copy files
#+BEGIN_SRC conf #+BEGIN_SRC conf
map yy copy map yy copy
map yu uncut map yu uncut
#+END_SRC #+END_SRC
*** Searching *** Searching
#+BEGIN_SRC conf #+BEGIN_SRC conf
map / console search%space map / console search%space
map n search_next map n search_next
map N search_next forward=False map N search_next forward=False
#+END_SRC #+END_SRC
*** Tabs *** Tabs
#+BEGIN_SRC conf #+BEGIN_SRC conf
map <C-n> tab_new ~ map <C-n> tab_new ~
map <C-w> tab_close map <C-w> tab_close
map <TAB> tab_move 1 map <TAB> tab_move 1
map <S-TAB> tab_move -1 map <S-TAB> tab_move -1
map gn tab_new ~ map gn tab_new ~
map gt tab_move 1 map gt tab_move 1
#+END_SRC #+END_SRC
*** Settings *** Settings
#+BEGIN_SRC conf #+BEGIN_SRC conf
map zh set show_hidden! map zh set show_hidden!
map zi set preview_images! map zi set preview_images!
map zv set use_preview_script! map zv set use_preview_script!
#+END_SRC #+END_SRC
*** Bookmarks *** Bookmarks
#+BEGIN_SRC conf #+BEGIN_SRC conf
map `<any> enter_bookmark %any map `<any> enter_bookmark %any
map '<any> enter_bookmark %any map '<any> enter_bookmark %any
map m<any> set_bookmark %any map m<any> set_bookmark %any
map um<any> unset_bookmark %any map um<any> unset_bookmark %any
map m<bg> draw_bookmarks map m<bg> draw_bookmarks
copymap m<bg> um<bg> `<bg> '<bg> copymap m<bg> um<bg> `<bg> '<bg>
#+END_SRC #+END_SRC
*** FZF *** FZF
#+BEGIN_SRC conf #+BEGIN_SRC conf
map <C-f> fzf_select map <C-f> fzf_select
#+END_SRC #+END_SRC
** Define keys for the console ** Define keys for the console
@ -548,209 +548,209 @@ copycmap <end> <C-e>
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
# This is the configuration file of "rifle", ranger's file executor/opener. # 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 # 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. # are checked and if they are met, the respective command is run.
# #
# Syntax: # Syntax:
# <condition1> , <condition2> , ... = command # <condition1> , <condition2> , ... = command
# #
# The command can contain these environment variables: # The command can contain these environment variables:
# $1-$9 | The n-th selected file # $1-$9 | The n-th selected file
# $@ | All selected files # $@ | All selected files
# #
# If you use the special command "ask", rifle will ask you what program to run. # If you use the special command "ask", rifle will ask you what program to run.
# #
# Prefixing a condition with "!" will negate its result. # Prefixing a condition with "!" will negate its result.
# These conditions are currently supported: # These conditions are currently supported:
# match <regexp> | The regexp matches $1 # match <regexp> | The regexp matches $1
# ext <regexp> | The regexp matches the extension of $1 # ext <regexp> | The regexp matches the extension of $1
# mime <regexp> | The regexp matches the mime type of $1 # mime <regexp> | The regexp matches the mime type of $1
# name <regexp> | The regexp matches the basename of $1 # name <regexp> | The regexp matches the basename of $1
# path <regexp> | The regexp matches the absolute path of $1 # path <regexp> | The regexp matches the absolute path of $1
# has <program> | The program is installed (i.e. located in $PATH) # has <program> | The program is installed (i.e. located in $PATH)
# env <variable> | The environment variable "variable" is non-empty # env <variable> | The environment variable "variable" is non-empty
# file | $1 is a file # file | $1 is a file
# directory | $1 is a directory # directory | $1 is a directory
# number <n> | change the number of this command to n # number <n> | change the number of this command to n
# terminal | stdin, stderr and stdout are connected to a terminal # terminal | stdin, stderr and stdout are connected to a terminal
# X | $DISPLAY is not empty (i.e. Xorg runs) # X | $DISPLAY is not empty (i.e. Xorg runs)
# #
# There are also pseudo-conditions which have a "side effect": # There are also pseudo-conditions which have a "side effect":
# flag <flags> | Change how the program is run. See below. # flag <flags> | Change how the program is run. See below.
# label <label> | Assign a label or name to the command so it can # label <label> | Assign a label or name to the command so it can
# | be started with :open_with <label> in ranger # | be started with :open_with <label> in ranger
# | or `rifle -p <label>` in the standalone executable. # | or `rifle -p <label>` in the standalone executable.
# else | Always true. # else | Always true.
# #
# Flags are single characters which slightly transform the command: # Flags are single characters which slightly transform the command:
# f | Fork the program, make it run in the background. # f | Fork the program, make it run in the background.
# | New command = setsid $command >& /dev/null & # | New command = setsid $command >& /dev/null &
# r | Execute the command with root permissions # r | Execute the command with root permissions
# | New command = sudo $command # | New command = sudo $command
# t | Run the program in a new terminal. If $TERMCMD is not defined, # t | Run the program in a new terminal. If $TERMCMD is not defined,
# | rifle will attempt to extract it from $TERM. # | rifle will attempt to extract it from $TERM.
# | New command = $TERMCMD -e $command # | New command = $TERMCMD -e $command
# Note: The "New command" serves only as an illustration, the exact # Note: The "New command" serves only as an illustration, the exact
# implementation may differ. # implementation may differ.
# Note: When using rifle in ranger, there is an additional flag "c" for # 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. # only running the current file even if you have marked multiple files.
#------------------------------------------- #-------------------------------------------
# Websites # Websites
#------------------------------------------- #-------------------------------------------
# Rarely installed browsers get higher priority; It is assumed that if you # 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 # install a rare browser, you probably use it. Firefox/konqueror/w3m on the
# other hand are often only installed as fallback browsers. # other hand are often only installed as fallback browsers.
ext x?html?, has qutebrowser, X, flag f = qutebrowser -- "$@" ext x?html?, has qutebrowser, X, flag f = qutebrowser -- "$@"
ext x?html?, has firefox, X, flag f = firefox -- "$@" ext x?html?, has firefox, X, flag f = firefox -- "$@"
ext x?html?, has elinks, terminal = elinks "$@" ext x?html?, has elinks, terminal = elinks "$@"
ext x?html?, has links2, terminal = links2 "$@" ext x?html?, has links2, terminal = links2 "$@"
ext x?html?, has links, terminal = links "$@" ext x?html?, has links, terminal = links "$@"
ext x?html?, has lynx, terminal = lynx -- "$@" ext x?html?, has lynx, terminal = lynx -- "$@"
ext x?html?, has w3m, terminal = w3m "$@" ext x?html?, has w3m, terminal = w3m "$@"
#Spreadsheets for scim #Spreadsheets for scim
ext sc|csv|sxc|xlsx?|xlt|xlw|gnm|gnumeric, = sc-im -- "$@" ext sc|csv|sxc|xlsx?|xlt|xlw|gnm|gnumeric, = sc-im -- "$@"
#------------------------------------------- #-------------------------------------------
# Misc # Misc
#------------------------------------------- #-------------------------------------------
ext org = emacsclient -c "$1" ext org = emacsclient -c "$1"
# Define the "editor" for text files as first action # Define the "editor" for text files as first action
mime ^text, label editor = $EDITOR -- "$@" mime ^text, label editor = $EDITOR -- "$@"
mime ^text, label pager = "$PAGER" -- "$@" mime ^text, label pager = "$PAGER" -- "$@"
!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php = $EDITOR -- "$@" !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" -- "$@" !mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
ext 1 = man "$1" ext 1 = man "$1"
ext s[wmf]c, has zsnes, X = zsnes "$1" ext s[wmf]c, has zsnes, X = zsnes "$1"
ext s[wmf]c, has snes9x-gtk,X = snes9x-gtk "$1" ext s[wmf]c, has snes9x-gtk,X = snes9x-gtk "$1"
ext nes, has fceux, X = fceux "$1" ext nes, has fceux, X = fceux "$1"
ext exe = wine "$1" ext exe = wine "$1"
name ^[mM]akefile$ = make name ^[mM]akefile$ = make
#-------------------------------------------- #--------------------------------------------
# Code # Code
#------------------------------------------- #-------------------------------------------
ext py = python -- "$1" ext py = python -- "$1"
ext pl = perl -- "$1" ext pl = perl -- "$1"
ext rb = ruby -- "$1" ext rb = ruby -- "$1"
ext js = node -- "$1" ext js = node -- "$1"
ext sh = sh -- "$1" ext sh = sh -- "$1"
ext php = php -- "$1" ext php = php -- "$1"
#-------------------------------------------- #--------------------------------------------
# Video/Audio with a GUI # Video/Audio with a GUI
#------------------------------------------- #-------------------------------------------
mime ^video, has mpv, X, flag f = mpv -- "$@" 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 --fs -- "$@"
mime ^video, has mpv, X, flag f = mpv --loop -- "$@" mime ^video, has mpv, X, flag f = mpv --loop -- "$@"
#-------------------------------------------- #--------------------------------------------
# Audio without X # Audio without X
#------------------------------------------- #-------------------------------------------
mime ^audio|ogg$, terminal, has mpv = mpv --no-audio-display -- "$@" mime ^audio|ogg$, terminal, has mpv = mpv --no-audio-display -- "$@"
mime ^audio|ogg$ = tag "$@" mime ^audio|ogg$ = tag "$@"
mime ^audio|ogg$, terminal, has mpv = mpv -- "$@" mime ^audio|ogg$, terminal, has mpv = mpv -- "$@"
#-------------------------------------------- #--------------------------------------------
# Video without X: # Video without X:
#------------------------------------------- #-------------------------------------------
mime ^video, terminal, !X, has mpv = mpv -- "$@" mime ^video, terminal, !X, has mpv = mpv -- "$@"
mime ^video, terminal, !X, has mplayer2 = mplayer2 -- "$@" mime ^video, terminal, !X, has mplayer2 = mplayer2 -- "$@"
mime ^video, terminal, !X, has mplayer = mplayer -- "$@" mime ^video, terminal, !X, has mplayer = mplayer -- "$@"
#------------------------------------------- #-------------------------------------------
# Documents # Documents
#------------------------------------------- #-------------------------------------------
ext pdf, has zathura, X, flag f = zathura -- "$@" ext pdf, has zathura, X, flag f = zathura -- "$@"
ext pdf, has llpp, X, flag f = llpp "$@" ext pdf, has llpp, X, flag f = llpp "$@"
ext pdf, has mupdf, X, flag f = mupdf "$@" ext pdf, has mupdf, X, flag f = mupdf "$@"
ext pdf, has mupdf, X, flag f = mupdf -I "$@" ext pdf, has mupdf, X, flag f = mupdf -I "$@"
ext pdf, has mupdf-x11,X, flag f = mupdf-x11 "$@" ext pdf, has mupdf-x11,X, flag f = mupdf-x11 "$@"
ext pdf, has apvlv, X, flag f = apvlv -- "$@" ext pdf, has apvlv, X, flag f = apvlv -- "$@"
ext pdf, has xpdf, X, flag f = xpdf -- "$@" ext pdf, has xpdf, X, flag f = xpdf -- "$@"
ext pdf, has evince, X, flag f = evince -- "$@" ext pdf, has evince, X, flag f = evince -- "$@"
ext pdf, has atril, X, flag f = atril -- "$@" ext pdf, has atril, X, flag f = atril -- "$@"
ext pdf, has okular, X, flag f = okular -- "$@" ext pdf, has okular, X, flag f = okular -- "$@"
ext pdf, has epdfview, X, flag f = epdfview -- "$@" ext pdf, has epdfview, X, flag f = epdfview -- "$@"
ext pdf, has qpdfview, X, flag f = qpdfview "$@" ext pdf, has qpdfview, X, flag f = qpdfview "$@"
ext epub, has zathura, X, flag f = zathura -- "$@" ext epub, has zathura, X, flag f = zathura -- "$@"
ext epub, has mupdf, X, flag f = mupdf "$@" ext epub, has mupdf, X, flag f = mupdf "$@"
ext docx?, has wps, X, flag f = wps "$@" ext docx?, has wps, X, flag f = wps "$@"
ext docx?, has catdoc, terminal = catdoc -- "$@" | "$PAGER" ext docx?, has catdoc, terminal = catdoc -- "$@" | "$PAGER"
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has wpp, X, flag f = wpp "$@" 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 gnumeric, X, flag f = gnumeric -- "$@"
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has kspread, X, flag f = kspread -- "$@" 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 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 soffice, X, flag f = soffice "$@"
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f = ooffice "$@" 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 zathura,X, flag f = zathura -- "$@"
ext djvu, has evince, X, flag f = evince -- "$@" ext djvu, has evince, X, flag f = evince -- "$@"
ext djvu, has atril, X, flag f = atril -- "$@" ext djvu, has atril, X, flag f = atril -- "$@"
#------------------------------------------- #-------------------------------------------
# Image Viewing: # Image Viewing:
#------------------------------------------- #-------------------------------------------
mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@" mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@"
mime ^image/svg, has display, X, flag f = display -- "$@" mime ^image/svg, has display, X, flag f = display -- "$@"
mime ^image/gif, has mpv, X, flag f = mpv --loop -- "$@" mime ^image/gif, has mpv, X, flag f = mpv --loop -- "$@"
mime ^image/gif, has viewnior, X, flag f = viewnior -- "$@" mime ^image/gif, has viewnior, X, flag f = viewnior -- "$@"
mime ^image/gif, has qutebrowser, X, flag f = qutebrowser -- "$@" mime ^image/gif, has qutebrowser, X, flag f = qutebrowser -- "$@"
ext xcf, X, flag f = gimp -- "$@" ext xcf, X, flag f = gimp -- "$@"
mime ^image, has sxiv, X, flag f = sxiv -- "$@" 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 --image-bg black -- "$@"
mime ^image, has feh, X, flag f = feh --scale-down --auto-zoom -- "$@" mime ^image, has feh, X, flag f = feh --scale-down --auto-zoom -- "$@"
mime ^image, has mirage, X, flag f = mirage -- "$@" mime ^image, has mirage, X, flag f = mirage -- "$@"
mime ^image, has ristretto, X, flag f = ristretto "$@" mime ^image, has ristretto, X, flag f = ristretto "$@"
mime ^image, has eog, X, flag f = eog -- "$@" mime ^image, has eog, X, flag f = eog -- "$@"
mime ^image, has eom, X, flag f = eom -- "$@" mime ^image, has eom, X, flag f = eom -- "$@"
mime ^image, has gimp, X, flag f = gimp -- "$@" mime ^image, has gimp, X, flag f = gimp -- "$@"
mime ^image, has pinta, X, flag f = pinta -- "$@" mime ^image, has pinta, X, flag f = pinta -- "$@"
mime ^image, has mypaint, X, flag f = mypaint -- "$@" mime ^image, has mypaint, X, flag f = mypaint -- "$@"
mime ^image, has kolourpaint, X, flag f = kolourpaint -- "$@" mime ^image, has kolourpaint, X, flag f = kolourpaint -- "$@"
#------------------------------------------- #-------------------------------------------
# Archives # Archives
#------------------------------------------- #-------------------------------------------
# This requires atool # This requires atool
ext jar = java -jar "$@" ext jar = java -jar "$@"
ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has als = als -- "$@" | "$PAGER" 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 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 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 -- "$@" ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has aunpack = aunpack -- "$@"
# Fallback: # Fallback:
ext tar|gz, has tar = tar vvtf "$@" | "$PAGER" ext tar|gz, has tar = tar vvtf "$@" | "$PAGER"
ext tar|gz, has tar = tar vvxf "$@" ext tar|gz, has tar = tar vvxf "$@"
#------------------------------------------- #-------------------------------------------
# Misc # Misc
#------------------------------------------- #-------------------------------------------
label wallpaper, number 11, mime ^image, has feh, X = feh --bg-scale "$1" 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 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 13, mime ^image, has feh, X = feh --bg-center "$1"
label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1" label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1"
# Define the editor for non-text files + pager as last action # 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 !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 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" -- "$@" label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
ext blend, has blender, X, flag f = blender -- "$@" ext blend, has blender, X, flag f = blender -- "$@"
has dragon-drag-and-drop, X, flag f = dragon-drag-and-drop -a -x "$@" has dragon-drag-and-drop, X, flag f = dragon-drag-and-drop -a -x "$@"
#+END_SRC #+END_SRC
* Ranger Commands * Ranger Commands
@ -760,40 +760,40 @@ copycmap <end> <C-e>
:END: :END:
** Import ** Import
#+begin_src python #+begin_src python
from ranger.api.commands import * from ranger.api.commands import *
import os import os
#+end_src #+end_src
** fzf_select ** fzf_select
#+begin_src python #+begin_src python
class fzf_select(Command): class fzf_select(Command):
""" """
:fzf_select :fzf_select
Find a file using fzf. Find a file using fzf.
With a prefix argument select only directories. With a prefix argument select only directories.
See: https://github.com/junegunn/fzf See: https://github.com/junegunn/fzf
""" """
def execute(self): def execute(self):
import subprocess import subprocess
import os.path import os.path
if self.quantifier: if self.quantifier:
# match only directories # match only directories
command="find -L . \( -path '*/\.*' -o -fstype 'dev' -o -fstype 'proc' \) -prune \ command="find -L . \( -path '*/\.*' -o -fstype 'dev' -o -fstype 'proc' \) -prune \
-o -type d -print 2> /dev/null | sed 1d | cut -b3- | fzf +m" -o -type d -print 2> /dev/null | sed 1d | cut -b3- | fzf +m"
else: else:
# match files and directories # match files and directories
command="find -L . \( -path '*/\.*' -o -fstype 'dev' -o -fstype 'proc' \) -prune \ command="find -L . \( -path '*/\.*' -o -fstype 'dev' -o -fstype 'proc' \) -prune \
-o -print 2> /dev/null | sed 1d | cut -b3- | fzf +m" -o -print 2> /dev/null | sed 1d | cut -b3- | fzf +m"
fzf = self.fm.execute_command(command, universal_newlines=True, stdout=subprocess.PIPE) fzf = self.fm.execute_command(command, universal_newlines=True, stdout=subprocess.PIPE)
stdout, stderr = fzf.communicate() stdout, stderr = fzf.communicate()
if fzf.returncode == 0: if fzf.returncode == 0:
fzf_file = os.path.abspath(stdout.rstrip('\n')) fzf_file = os.path.abspath(stdout.rstrip('\n'))
if os.path.isdir(fzf_file): if os.path.isdir(fzf_file):
self.fm.cd(fzf_file) self.fm.cd(fzf_file)
else: else:
self.fm.select_file(fzf_file) self.fm.select_file(fzf_file)
#+end_src #+end_src

418
rofi.org
View File

@ -8,52 +8,52 @@
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
configuration { configuration {
modi: "window,run,ssh"; modi: "window,run,ssh";
width: 50; width: 50;
lines: 15; lines: 15;
columns: 1; columns: 1;
font: "Hack Nerd Font 12"; font: "Hack Nerd Font 12";
fixed-num-lines: true; fixed-num-lines: true;
show-icons: false; show-icons: false;
terminal: "rofi-sensible-terminal"; terminal: "rofi-sensible-terminal";
sort: false; sort: false;
case-sensitive: false; case-sensitive: false;
cycle: true; cycle: true;
sidebar-mode: false; sidebar-mode: false;
auto-select: false; auto-select: false;
combi-modi: "window,run"; combi-modi: "window,run";
matching: "normal"; matching: "normal";
line-margin: 2; line-margin: 2;
line-padding: 1; line-padding: 1;
separator-style: "dash"; separator-style: "dash";
hide-scrollbar: true; hide-scrollbar: true;
fullscreen: false; fullscreen: false;
dpi: -1; dpi: -1;
show-match: true; show-match: true;
theme: "gruvbox-dark-soft"; theme: "gruvbox-dark-soft";
kb-move-front: "Control+a"; kb-move-front: "Control+a";
kb-move-end: "Control+e"; kb-move-end: "Control+e";
kb-move-word-back: "Alt+b,Control+Left"; kb-move-word-back: "Alt+b,Control+Left";
kb-move-word-forward: "Alt+f,Control+Right"; kb-move-word-forward: "Alt+f,Control+Right";
kb-move-char-back: "Left,Control+b"; kb-move-char-back: "Left,Control+b";
kb-move-char-forward: "Right,Control+f"; kb-move-char-forward: "Right,Control+f";
kb-remove-char-forward: "Delete,Control+d"; kb-remove-char-forward: "Delete,Control+d";
kb-remove-char-back: "BackSpace,Shift+BackSpace"; kb-remove-char-back: "BackSpace,Shift+BackSpace";
kb-remove-to-eol: "Control+k"; kb-remove-to-eol: "Control+k";
kb-remove-to-sol: "Control+u"; kb-remove-to-sol: "Control+u";
kb-accept-entry: "Control+j,Return,KP_Enter"; kb-accept-entry: "Control+j,Return,KP_Enter";
kb-accept-custom: "Control+Return"; kb-accept-custom: "Control+Return";
kb-accept-alt: "Shift+Return"; kb-accept-alt: "Shift+Return";
kb-delete-entry: "Shift+Delete"; kb-delete-entry: "Shift+Delete";
kb-row-up: "Up,Control+p"; kb-row-up: "Up,Control+p";
kb-row-down: "Down,Control+n"; kb-row-down: "Down,Control+n";
kb-row-tab: "Tab"; kb-row-tab: "Tab";
kb-row-first: "Home,KP_Home"; kb-row-first: "Home,KP_Home";
kb-row-last: "End,KP_End"; kb-row-last: "End,KP_End";
kb-row-select: "Control+space"; kb-row-select: "Control+space";
kb-cancel: "Escape,Control+g"; kb-cancel: "Escape,Control+g";
} }
#+END_SRC #+END_SRC
* Theme * Theme
@ -63,183 +63,183 @@
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
configuration { configuration {
me-select-entry: "MouseSecondary"; me-select-entry: "MouseSecondary";
me-accept-entry: "MousePrimary"; me-accept-entry: "MousePrimary";
scroll-method: 1; scroll-method: 1;
show-icons: true; show-icons: true;
sidebar-mode: true; sidebar-mode: true;
kb-custom-1: ""; kb-custom-1: "";
kb-custom-2: ""; kb-custom-2: "";
kb-custom-3: ""; kb-custom-3: "";
kb-custom-4: ""; kb-custom-4: "";
kb-custom-5: ""; kb-custom-5: "";
kb-custom-6: ""; kb-custom-6: "";
kb-custom-7: ""; kb-custom-7: "";
kb-custom-8: ""; kb-custom-8: "";
kb-custom-9: ""; kb-custom-9: "";
kb-custom-10: ""; kb-custom-10: "";
kb-select-1: "Alt+1"; kb-select-1: "Alt+1";
kb-select-2: "Alt+2"; kb-select-2: "Alt+2";
kb-select-3: "Alt+3"; kb-select-3: "Alt+3";
kb-select-4: "Alt+4"; kb-select-4: "Alt+4";
kb-select-5: "Alt+5"; kb-select-5: "Alt+5";
kb-select-6: "Alt+6"; kb-select-6: "Alt+6";
kb-select-7: "Alt+7"; kb-select-7: "Alt+7";
kb-select-8: "Alt+8"; kb-select-8: "Alt+8";
kb-select-9: "Alt+9"; kb-select-9: "Alt+9";
kb-select-10: "Alt+0"; kb-select-10: "Alt+0";
} }
,* { ,* {
//// COLORS //// //// COLORS ////
//// uncomment to match bspwm edition theme //// uncomment to match bspwm edition theme
background: #292f34FF; background: #292f34FF;
background-color: #292f3400; background-color: #292f3400;
foreground: #F6F9FFFF; foreground: #F6F9FFFF;
selected: #1ABB9BFF; selected: #1ABB9BFF;
selected-foreground: @foreground; selected-foreground: @foreground;
//// uncomment to match Adapta Nokto theme //// uncomment to match Adapta Nokto theme
// background: #222D32E8; // background: #222D32E8;
// background-color: #00000000; // background-color: #00000000;
// foreground: #CFD8DCFF; // foreground: #CFD8DCFF;
// selected: #00BCD4FF; // selected: #00BCD4FF;
// selected-foreground: #FFFFFFFF; // selected-foreground: #FFFFFFFF;
//// common - active and urgent //// common - active and urgent
active-background: #3A464BFF; active-background: #3A464BFF;
urgent-background: #800000FF; urgent-background: #800000FF;
urgent-foreground: @foreground; urgent-foreground: @foreground;
selected-urgent-background: @urgent-foreground; selected-urgent-background: @urgent-foreground;
selected-urgent-foreground: @urgent-background; selected-urgent-foreground: @urgent-background;
//// TEXT //// //// TEXT ////
font: "xos4 Terminus 18px"; font: "xos4 Terminus 18px";
text-color: @foreground; text-color: @foreground;
//// PADDING ETC //// //// PADDING ETC ////
margin: 0px; margin: 0px;
border: 0px; border: 0px;
padding: 0px; padding: 0px;
spacing: 0px; spacing: 0px;
elementpadding: 2px 0px; elementpadding: 2px 0px;
elementmargin: 0px 2px; elementmargin: 0px 2px;
listmargin: 0px 2px 0px 0px; listmargin: 0px 2px 0px 0px;
//// SIZE //// //// SIZE ////
windowwidth: 40ch; windowwidth: 40ch;
buttonwidth: 18ch; buttonwidth: 18ch;
lines: 12; lines: 12;
fixed-height: false; fixed-height: false;
//// POSITION //// //// POSITION ////
location: northwest; location: northwest;
anchor: northwest; anchor: northwest;
x-offset: 0px; x-offset: 0px;
y-offset: 24px; y-offset: 24px;
//// LAYOUT //// //// LAYOUT ////
scrollbar: true; scrollbar: true;
//// uncomment to get submenu-like style //// uncomment to get submenu-like style
menustyle: [ sb-mainbox ]; menustyle: [ sb-mainbox ];
buttonpadding: 2px 1ch; buttonpadding: 2px 1ch;
button-bg: @background; button-bg: @background;
dynamic: true; dynamic: true;
//// uncomment to get tabs-like style //// uncomment to get tabs-like style
// menustyle: [ tb-mainbox ]; // menustyle: [ tb-mainbox ];
// buttonpadding: 14px 1ch; // buttonpadding: 14px 1ch;
// dynamic: false; // dynamic: false;
} }
////////////////////////////////////////// //////////////////////////////////////////
window { window {
width: @windowwidth; width: @windowwidth;
children: @menustyle; children: @menustyle;
} }
//submenu-style //submenu-style
sb-mainbox { sb-mainbox {
orientation: horizontal; orientation: horizontal;
children: [ sidebar, vertibox ]; children: [ sidebar, vertibox ];
} }
//tabs-style //tabs-style
tb-mainbox { tb-mainbox {
orientation: vertical; orientation: vertical;
children: [ inputbar, horibox ]; children: [ inputbar, horibox ];
background-color: @background; background-color: @background;
} }
//desktop-submenu //desktop-submenu
dt-mainbox { dt-mainbox {
orientation: vertical; orientation: vertical;
children: [ boxdummy, sb-mainbox ]; children: [ boxdummy, sb-mainbox ];
} }
horibox { horibox {
orientation: horizontal; orientation: horizontal;
children: [ listview, sidebar ]; children: [ listview, sidebar ];
} }
sidebar { sidebar {
orientation: vertical; orientation: vertical;
} }
button { button {
horizontal-align: 0; horizontal-align: 0;
padding: @buttonpadding; padding: @buttonpadding;
width: @buttonwidth; width: @buttonwidth;
background-color: @button-bg; background-color: @button-bg;
expand: false; expand: false;
} }
vertibox { vertibox {
orientation: vertical; orientation: vertical;
children: [ inputbar, listview ]; children: [ inputbar, listview ];
background-color: @background; background-color: @background;
} }
prompt { prompt {
enabled: false; enabled: false;
} }
listview { listview {
margin: @listmargin; margin: @listmargin;
} }
scrollbar { scrollbar {
handle-width: 0.5ch; handle-width: 0.5ch;
handle-color: @selected; handle-color: @selected;
} }
boxdummy { boxdummy {
enabled: false; enabled: false;
orientation: vertical; orientation: vertical;
expand: false; expand: false;
children: [ textboxdummy ]; children: [ textboxdummy ];
} }
textboxdummy { textboxdummy {
str: " "; str: " ";
} }
element, inputbar, textboxdummy { element, inputbar, textboxdummy {
padding: @elementpadding; padding: @elementpadding;
margin: @elementmargin; margin: @elementmargin;
width: @elementwidth; width: @elementwidth;
} }
element.normal.active, element.normal.active,
element.alternate.active { element.alternate.active {
background-color: @active-background; background-color: @active-background;
text-color: @selected-foreground; text-color: @selected-foreground;
} }
element.selected, element.selected,
button.selected { button.selected {
background-color: @selected; background-color: @selected;
text-color: @selected-foreground; text-color: @selected-foreground;
} }
element.normal.urgent, element.normal.urgent,
element.alternate.urgent { element.alternate.urgent {
background-color: @urgent-background; background-color: @urgent-background;
text-color: @urgent-foreground; text-color: @urgent-foreground;
} }
element.selected.urgent { element.selected.urgent {
background-color: @selected-urgent-background; background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground; text-color: @selected-urgent-foreground;
} }
#+END_SRC #+END_SRC

522
sxhkd.org
View File

@ -6,232 +6,228 @@
* Basic * Basic
#+begin_src conf #+begin_src conf
# Kill Windows # Kill Windows
super + ctrl + x super + ctrl + x
xkill xkill
#+end_src #+end_src
#+begin_src conf #+begin_src conf
# make sxhkd reload its configuration files: # make sxhkd reload its configuration files:
super + Escape super + Escape
pkill -usr1 -x sxhkd; notify-send 'sxhkd' 'Reloaded config' pkill -usr1 -x sxhkd; notify-send 'sxhkd' 'Reloaded config'
# Update Polybar # Update Polybar
super + shift + r super + shift + r
polybar-msg cmd restart polybar-msg cmd restart
#+end_src #+end_src
#+begin_src conf #+begin_src conf
# Exit Screen # Exit Screen
XF86PowerOff XF86PowerOff
i3exit i3exit
# Exit Screen # Exit Screen
super + 0 super + 0
i3exit i3exit
#+end_src #+end_src
Change Keyboard Layout: Change Keyboard Layout:
#+begin_src conf #+begin_src conf
# Change keyboard to US-International layout # Change keyboard to US-International layout
super + ctrl + d super + ctrl + d
setxkbmap -layout us -variant intl -option caps:escape setxkbmap -layout us -variant intl -option caps:escape
# Change keyboard to US layout # Change keyboard to US layout
super + shift + d super + shift + d
setxkbmap -layout us -option caps:escape setxkbmap -layout us -option caps:escape
#+end_src #+end_src
* Multimedia keys * Multimedia keys
** Sound ** Sound
#+begin_src conf #+begin_src conf
# Mute/Unmute # Mute/Unmute
XF86AudioMute XF86AudioMute
amixer -D pulse sset Master toggle amixer -D pulse sset Master toggle
# Increase Volume # Increase Volume
XF86AudioRaiseVolume XF86AudioRaiseVolume
amixer -D pulse sset Master 2%+ amixer -D pulse sset Master 2%+
# Decrease Volume # Decrease Volume
XF86AudioLowerVolume XF86AudioLowerVolume
amixer -D pulse sset Master 2%- amixer -D pulse sset Master 2%-
#+end_src #+end_src
** Backlight ** Backlight
#+begin_src conf #+begin_src conf
# Increase Backlight # Increase Backlight
XF86MonBrightnessUp XF86MonBrightnessUp
xbacklight -inc 10 xbacklight -inc 10
# Descrease Backlight # Descrease Backlight
XF86MonBrightnessDown XF86MonBrightnessDown
xbacklight -dec 10 xbacklight -dec 10
#+end_src #+end_src
** Change Tracks ** Change Tracks
#+begin_src conf #+begin_src conf
# Play/Pause music # Play/Pause music
super + period super + period
mpc toggle mpc toggle
# Previous/Next music # Previous/Next music
super + {greater,less} super + {greater,less}
mpc {next,prev} mpc {next,prev}
#+end_src #+end_src
#+begin_src conf #+begin_src conf
# Play/Pause music # Play/Pause music
XF86AudioPlay XF86AudioPlay
mpc toggle mpc toggle
# Next music # Next music
XF86AudioNext XF86AudioNext
mpc next mpc next
# Previous music # Previous music
XF86AudioPrev XF86AudioPrev
mpc prev mpc prev
#+end_src #+end_src
** Print Screen ** Print Screen
#+begin_src conf #+begin_src conf
# Screenshot script # Screenshot script
Print Print
~/.local/bin/screenshot ~/.local/bin/screenshot
# Switch Windows # Switch Windows
XF86Display XF86Display
rofi -show window rofi -show window
#+end_src #+end_src
** Other ** Other
#+begin_src conf #+begin_src conf
# Run Command # Run Command
XF86Search XF86Search
rofi -show run rofi -show run
#+end_src #+end_src
* =Super + key= - Start Applications * =Super + key= - Start Applications
#+begin_src conf #+begin_src conf
# Switch Windows # Switch Windows
super + w super + w
rofi -show window rofi -show window
# program launcher # program launcher
super + d super + d
rofi -show run rofi -show run
# categorized menu # categorized menu
super + z super + z
rofi -show drun rofi -show drun
#+end_src #+end_src
#+begin_src conf #+begin_src conf
# Start Terminal # Start Terminal
super + Return super + Return
$TERMINAL $TERMINAL
# File Manager # File Manager
super + o super + o
$TERMINAL -e "tmux new-session -A -s ranger ranger" $TERMINAL -e "tmux new-session -A -s ranger ranger"
# Browser # Browser
super + i super + i
qutebrowser qutebrowser
# Mails with neomutt # Mails with neomutt
super + m super + m
$TERMINAL -e "tmux new-session -A -s neomutt neomutt" $TERMINAL -e "tmux new-session -A -s neomutt neomutt"
# Emacs Client # Emacs Client
super + e super + e
emacsclient -create-frame --alternate-editor="" emacsclient -create-frame --alternate-editor=""
#+end_src #+end_src
* =Super + Shift= - Managing Applications * =Super + Shift= - Managing Applications
#+begin_src conf #+begin_src conf
# Network Manager # Network Manager
super + shift + w super + shift + w
$TERMINAL -e 'sudo nmtui' $TERMINAL -e 'sudo nmtui'
# Bluetooth Manager # Bluetooth Manager
super + shift + b super + shift + b
blueman-manager blueman-manager
# Sound Manager # Sound Manager
super + shift + s super + shift + s
pavucontrol pavucontrol
#+end_src #+end_src
#+begin_src conf #+begin_src conf
# Bookmarks # Bookmarks
super + shift + f super + shift + f
bukurun bukurun
# Passwords # Passwords
super + shift + p super + shift + p
rofi-pass rofi-pass
#+end_src #+end_src
* =Super + Space= - Command Mode * =Super + Space= - Command Mode
#+begin_src conf #+begin_src conf
# Command line Calendar Client (khal) # Command line Calendar Client (khal)
super + space ; c super + space ; c
$TERMINAL -e "khal interactive" $TERMINAL -e "khal interactive"
# GUI Calendar (Google Calendar) # GUI Calendar (Google Calendar)
super + space ; shift + c super + space ; shift + c
$BROWSER https://calendar.google.com/ $BROWSER https://calendar.google.com/
# pcmanfm: GUI file manager # pcmanfm: GUI file manager
super + space ; o super + space ; o
pcmanfm; pcmanfm;
# Download with Aria2c # Download with Aria2c
super + space ; d 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)"
# Mails with neomutt # Run another instance of Neomutt in read-only mode
super + space ; m super + space ; m
$TERMINAL -e "tmux new-session -A -s neomutt neomutt" $TERMINAL -e "neomutt -R"
# Run another instance of Neomutt in read-only mode # Weechat
super + space ; shift + m super + space ; w
$TERMINAL -e "neomutt -R" $TERMINAL -e "tmux new-session -A -s weechat weechat"
# Weechat # News with newsboat
super + space ; w super + space ; n
$TERMINAL -e "tmux new-session -A -s weechat weechat" $TERMINAL -e "tmux new-session -A -s newsboat newsboat"
# News with newsboat # Music with ncmpcpp
super + space ; n super + space ; p
$TERMINAL -e "tmux new-session -A -s newsboat newsboat" $TERMINAL -e "tmux new-session -A -s ncmpcpp ncmpcpp"
# Music with ncmpcpp # Print Screen
super + space ; p super + space ; shift + p
$TERMINAL -e "tmux new-session -A -s ncmpcpp ncmpcpp" $HOME/.local/bin/mopidy-restart
# Print Screen # Default Browser
super + space ; shift + p super + space ; i
$HOME/.local/bin/mopidy-restart $BROWSER;
# Default Browser # Start Torrent Managaer
super + space ; i super + space ; t
$BROWSER; $TERMINAL -e "tremc"
# Start Torrent Managaer # Emacs
super + space ; t super + space ; e
$TERMINAL -e "tremc" emacsclient -create-frame --alternate-editor=""
# Emacs # Weather
super + space ; e super + space ; shift + w
emacs; weather;
# Weather
super + space ; shift + w
weather;
#+end_src #+end_src
* BSPWM related * BSPWM related
@ -241,91 +237,91 @@ Change Keyboard Layout:
** BSPWM hotkeys ** BSPWM hotkeys
#+begin_src conf #+begin_src conf
# quit/restart bspwm # quit/restart bspwm
super + alt + {q,r} super + alt + {q,r}
bspc {quit,wm -r} bspc {quit,wm -r}
# close and kill # close and kill
super + {_,shift + }q super + {_,shift + }q
bspc node -{c,k} bspc node -{c,k}
#+end_src #+end_src
** Monocle Layout ** Monocle Layout
#+begin_src conf #+begin_src conf
# alternate between the tiled and monocle layout # alternate between the tiled and monocle layout
super + m super + m
bspc desktop -l next bspc desktop -l next
# focus the next/previous node in the current desktop # focus the next/previous node in the current desktop
super + c super + c
bspc node -f next.local bspc node -f next.local
#+end_src #+end_src
** Set the window State ** Set the window State
#+begin_src conf #+begin_src conf
# Set the window state to tiled # Set the window state to tiled
super + t super + t
bspc node -t tiled bspc node -t tiled
# Toggle Fullscreen State # Toggle Fullscreen State
super + f super + f
if [ -z "$(bspc query -N -n focused.fullscreen)" ]; then \ if [ -z "$(bspc query -N -n focused.fullscreen)" ]; then \
bspc node focused -t fullscreen; \ bspc node focused -t fullscreen; \
else \ else \
bspc node focused -t tiled; \ bspc node focused -t tiled; \
fi fi
# Toggle Floating State # Toggle Floating State
super + s super + s
if [ -z "$(bspc query -N -n focused.floating)" ]; then \ if [ -z "$(bspc query -N -n focused.floating)" ]; then \
bspc node focused -t floating; \ bspc node focused -t floating; \
else \ else \
bspc node focused -t tiled; \ bspc node focused -t tiled; \
fi fi
#+end_src #+end_src
** Sticky Window ** Sticky Window
#+begin_src conf #+begin_src conf
# set the node flags # set the node flags
super + ctrl + y super + ctrl + y
bspc node -g sticky bspc node -g sticky
#+end_src #+end_src
** Focus and Swap ** Focus and Swap
#+begin_src conf #+begin_src conf
# Focus/swap the node in the given direction # Focus/swap the node in the given direction
super + {_,shift + }{h,j,k,l} super + {_,shift + }{h,j,k,l}
bspc node -{f,s} {west,south,north,east} bspc node -{f,s} {west,south,north,east}
# focus the last Node # focus the last Node
super + Tab super + Tab
bspc node -f last bspc node -f last
#+end_src #+end_src
#+begin_src conf #+begin_src conf
# Focus the next/previous desktop in the current monitor # Focus the next/previous desktop in the current monitor
super + {p,n} super + {p,n}
bspc desktop -f {prev,next}.local bspc desktop -f {prev,next}.local
# focus the last Desktop # focus the last Desktop
super + b super + b
bspc desktop -f last bspc desktop -f last
# focus or send to the given desktop # focus or send to the given desktop
super + {_,ctrl + }{1-9} super + {_,ctrl + }{1-9}
bspc {desktop -f,node -d} '^{1-9}' bspc {desktop -f,node -d} '^{1-9}'
# Send and Focus to the given desktop # Send and Focus to the given desktop
super + shift + {1-9} super + shift + {1-9}
bspc node -d '^{1-9}' --follow bspc node -d '^{1-9}' --follow
#+end_src #+end_src
** Preselect ** Preselect
#+begin_src conf #+begin_src conf
# preselect the direction # preselect the direction
super + ctrl + {h,j,k,l} super + ctrl + {h,j,k,l}
bspc node -p {west,south,north,east} bspc node -p {west,south,north,east}
# preselect the ratio # preselect the ratio
# super + ctrl + {1-9} # super + ctrl + {1-9}
@ -333,24 +329,24 @@ super + ctrl + {h,j,k,l}
# cancel the preselection for the focused node # cancel the preselection for the focused node
super + ctrl + space super + ctrl + space
bspc node -p cancel bspc node -p cancel
#+end_src #+end_src
** Resize ** Resize
#+begin_src conf #+begin_src conf
# expand a window by moving one of its side outward # expand a window by moving one of its side outward
super + alt + {h,j,k,l} super + alt + {h,j,k,l}
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0} bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
# contract a window by moving one of its side inward # contract a window by moving one of its side inward
super + alt + shift + {h,j,k,l} super + alt + shift + {h,j,k,l}
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0} bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
#+end_src #+end_src
#+begin_src conf #+begin_src conf
# move a floating window # move a floating window
super + {Left,Down,Up,Right} super + {Left,Down,Up,Right}
bspc node -v {-20 0,0 20,0 -20,20 0} bspc node -v {-20 0,0 20,0 -20,20 0}
#+end_src #+end_src
* I3 related * I3 related
@ -360,94 +356,94 @@ super + ctrl + space
** Kill Window ** Kill Window
#+begin_src conf #+begin_src conf
# close and kill # close and kill
super + q super + q
i3-msg kill i3-msg kill
#+end_src #+end_src
** Set the window State ** Set the window State
#+begin_src conf #+begin_src conf
# Set the window to full-screen # Set the window to full-screen
super + f super + f
i3-msg fullscreen toggle i3-msg fullscreen toggle
# Set the window to floating # Set the window to floating
super + s super + s
i3-msg floating toggle i3-msg floating toggle
# Alternate between the tiled and normal layout # Alternate between the tiled and normal layout
super + t super + t
i3-msg layout toggle tabbed split i3-msg layout toggle tabbed split
# Change focus between tiling / floating windows # Change focus between tiling / floating windows
super + c super + c
i3-msg focus mode_toggle i3-msg focus mode_toggle
# Sticky window # Sticky window
super + y super + y
i3-msg sticky toggle i3-msg sticky toggle
#+end_src #+end_src
** focus/swap ** focus/swap
#+begin_src conf #+begin_src conf
# Focus/swap the node in the given direction # Focus/swap the node in the given direction
super + {_,shift + }{h,Left} super + {_,shift + }{h,Left}
i3-msg {focus,move} left i3-msg {focus,move} left
super + {_,shift + }{j,Down} super + {_,shift + }{j,Down}
i3-msg {focus,move} down i3-msg {focus,move} down
super + {_,shift + }{k,Up} super + {_,shift + }{k,Up}
i3-msg {focus,move} up i3-msg {focus,move} up
super + {_,shift + }{l,Right} super + {_,shift + }{l,Right}
i3-msg {focus,move} right i3-msg {focus,move} right
#+end_src #+end_src
#+begin_src conf #+begin_src conf
# Focus the next/previous desktop in the current monitor # Focus the next/previous desktop in the current monitor
super + {p,n} super + {p,n}
i3-msg workspace {prev,next} i3-msg workspace {prev,next}
# Focus the last Desktop # Focus the last Desktop
super + b super + b
i3-msg workspace back_and_forth i3-msg workspace back_and_forth
# Focus to the given desktop # Focus to the given desktop
super + {1-9} super + {1-9}
i3-msg workspace '{1-9}' i3-msg workspace '{1-9}'
# Send to the given desktop # Send to the given desktop
super + ctrl + {1-9} super + ctrl + {1-9}
i3-msg move container to workspace '{1-9}' i3-msg move container to workspace '{1-9}'
# Focus and Send to the given desktop # Focus and Send to the given desktop
super + shift + {1-9} super + shift + {1-9}
WP={1-9} && i3-msg move container to workspace $WP && i3-msg workspace $WP WP={1-9} && i3-msg move container to workspace $WP && i3-msg workspace $WP
#+end_src #+end_src
** Preselect ** Preselect
Preselect the direction Preselect the direction
#+begin_src conf #+begin_src conf
# Set Horizontal Layout # Set Horizontal Layout
super + ctrl + {h,l,Left,Right} super + ctrl + {h,l,Left,Right}
i3-msg split h i3-msg split h
# Set Vertical Layout # Set Vertical Layout
super + ctrl + {j,k,Up,Down} super + ctrl + {j,k,Up,Down}
i3-msg split v i3-msg split v
#+end_src #+end_src
** Resize ** Resize
Expand/Shrink a window Expand/Shrink a window
#+begin_src conf #+begin_src conf
# Horizontal Shrink # Horizontal Shrink
super + alt + h super + alt + h
i3-msg resize shrink width 10 px or 10 ppt i3-msg resize shrink width 10 px or 10 ppt
# Vertical Grow # Vertical Grow
super + alt + j super + alt + j
i3-msg resize grow height 10 px or 10 ppt i3-msg resize grow height 10 px or 10 ppt
# Vertical Shrink # Vertical Shrink
super + alt + k super + alt + k
i3-msg resize shrink height 10 px or 10 ppt i3-msg resize shrink height 10 px or 10 ppt
# Horizontal Grow # Horizontal Grow
super + alt + l super + alt + l
i3-msg resize grow width 10 px or 10 ppt i3-msg resize grow width 10 px or 10 ppt
#+end_src #+end_src

View File

@ -11,14 +11,14 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
[Unit] [Unit]
Description=Sync Bookmarks every day Description=Sync Bookmarks every day
RefuseManualStart=no RefuseManualStart=no
RefuseManualStop=yes RefuseManualStop=yes
[Service] [Service]
Type=oneshot Type=oneshot
ExecStart=%h/.local/bin/buku_git_push ExecStart=%h/.local/bin/buku_git_push
#+END_SRC #+END_SRC
** Timer ** Timer
@ -28,20 +28,20 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
[Unit] [Unit]
Description=Sync All Mails every x hours Description=Sync All Mails every x hours
RefuseManualStart=no RefuseManualStart=no
RefuseManualStop=no RefuseManualStop=no
Wants=network-online.target Wants=network-online.target
After=network-online.target After=network-online.target
[Timer] [Timer]
OnCalendar=*-*-* 16:00:00 OnCalendar=*-*-* 16:00:00
Persistent=true Persistent=true
Unit=bukugit.service Unit=bukugit.service
[Install] [Install]
WantedBy=default.target WantedBy=default.target
#+END_SRC #+END_SRC
** Script ** Script
@ -52,21 +52,21 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END: :END:
#+begin_src bash #+begin_src bash
cd ~/.local/share/buku/ cd ~/.local/share/buku/
if [[ ! -z $(git status -s bookmarks.db) ]] if [[ ! -z $(git status -s bookmarks.db) ]]
then then
rm bookmarks.org; rm bookmarks.org;
buku -e bookmarks.org && \ buku -e bookmarks.org && \
cat header.org bookmarks.org > index.org && \ cat header.org bookmarks.org > index.org && \
emacs index.org --batch -f org-html-export-to-html --kill && \ emacs index.org --batch -f org-html-export-to-html --kill && \
git add index.html git add index.html
git add bookmarks.db && \ git add bookmarks.db && \
git commit -m "Changed bookmarks - $(date +%F)" && \ git commit -m "Changed bookmarks - $(date +%F)" && \
git push git push
exit exit
fi fi
#+end_src #+end_src
* =braingit= - Automatic commit and push new brain pages * =braingit= - Automatic commit and push new brain pages
@ -77,14 +77,14 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
[Unit] [Unit]
Description=Sync Brain Website everyday Description=Sync Brain Website everyday
RefuseManualStart=no RefuseManualStart=no
RefuseManualStop=yes RefuseManualStop=yes
[Service] [Service]
Type=oneshot Type=oneshot
ExecStart=%h/.local/bin/brain_git_push ExecStart=%h/.local/bin/brain_git_push
#+END_SRC #+END_SRC
** Timer ** Timer
@ -94,20 +94,20 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
[Unit] [Unit]
Description=Sync Brain Website everyday Description=Sync Brain Website everyday
RefuseManualStart=no RefuseManualStart=no
RefuseManualStop=no RefuseManualStop=no
Wants=network-online.target Wants=network-online.target
After=network-online.target After=network-online.target
[Timer] [Timer]
OnCalendar=*-*-* 16:00:00 OnCalendar=*-*-* 16:00:00
Persistent=true Persistent=true
Unit=braingit.service Unit=braingit.service
[Install] [Install]
WantedBy=default.target WantedBy=default.target
#+END_SRC #+END_SRC
** Script ** Script
@ -118,15 +118,15 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END: :END:
#+begin_src bash #+begin_src bash
cd ~/Cloud/brain-website/ cd ~/Cloud/brain-website/
if [[ ! -z $(git status -s content/) ]] if [[ ! -z $(git status -s content/) ]]
then then
git add content static && \ git add content static && \
git commit -m "Update Content - $(date +%F)" && \ git commit -m "Update Content - $(date +%F)" && \
git push git push
exit exit
fi fi
#+end_src #+end_src
* =checkmail= - Check new mails * =checkmail= - Check new mails
** Service ** Service
@ -136,14 +136,14 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
[Unit] [Unit]
Description=Check new mails Description=Check new mails
RefuseManualStart=no RefuseManualStart=no
RefuseManualStop=yes RefuseManualStop=yes
[Service] [Service]
Type=oneshot Type=oneshot
ExecStart=%h/.local/bin/checkmail -q ExecStart=%h/.local/bin/checkmail -q
#+END_SRC #+END_SRC
** Timer ** Timer
@ -153,23 +153,23 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
[Unit] [Unit]
Description=Check Mail every x minutes Description=Check Mail every x minutes
RefuseManualStart=no RefuseManualStart=no
RefuseManualStop=no RefuseManualStop=no
Wants=network-online.target Wants=network-online.target
After=network-online.target After=network-online.target
Requires=checkmail.service Requires=checkmail.service
[Timer] [Timer]
Persistent=false Persistent=false
OnBootSec=2min OnBootSec=2min
OnUnitActiveSec=5min OnUnitActiveSec=5min
AccuracySec=2min AccuracySec=2min
Unit=checkmail.service Unit=checkmail.service
[Install] [Install]
WantedBy=default.target WantedBy=default.target
#+END_SRC #+END_SRC
** Script ** Script
@ -180,59 +180,59 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END: :END:
#+begin_src bash #+begin_src bash
while [ -n "$1" ]; do # while loop starts while [ -n "$1" ]; do # while loop starts
case "$1" in case "$1" in
-a) opt_all='--all' ;; # Check All inboxes -a) opt_all='--all' ;; # Check All inboxes
-v) opt_verbose='--verbose' ;; # Verbose -v) opt_verbose='--verbose' ;; # Verbose
-q) opt_quiet='--quiet' ;; # Quiet -q) opt_quiet='--quiet' ;; # Quiet
,*) echo "Option $1 not recognized" ;; # In case you typed a different option ,*) echo "Option $1 not recognized" ;; # In case you typed a different option
esac esac
shift shift
done done
# ============================================================= # =============================================================
# Count number of mails # Count number of mails
gmail_old="$(ls ~/.mail/gmail/Inbox/new | wc -l)" gmail_old="$(ls ~/.mail/gmail/Inbox/new | wc -l)"
esrf_old="$(ls ~/.mail/esrf/Inbox/new | wc -l)" esrf_old="$(ls ~/.mail/esrf/Inbox/new | wc -l)"
ulg_old="$(ls ~/.mail/ulg/Inbox/new | wc -l)" ulg_old="$(ls ~/.mail/ulg/Inbox/new | wc -l)"
uliege_old="$(ls ~/.mail/uliege/Inbox/new | wc -l)" uliege_old="$(ls ~/.mail/uliege/Inbox/new | wc -l)"
# ============================================================= # =============================================================
# ============================================================= # =============================================================
# Retreive mails # Retreive mails
mbsync $opt_all $opt_verbose gmail-Home esrf-Home ulg-Home uliege-Home 2>/tmp/mbsync.log mbsync $opt_all $opt_verbose gmail-Home esrf-Home ulg-Home uliege-Home 2>/tmp/mbsync.log
# ============================================================= # =============================================================
# ============================================================= # =============================================================
# Count number of mails # Count number of mails
gmail_new="$(ls ~/.mail/gmail/Inbox/new | wc -l)" gmail_new="$(ls ~/.mail/gmail/Inbox/new | wc -l)"
esrf_new="$(ls ~/.mail/esrf/Inbox/new | wc -l)" esrf_new="$(ls ~/.mail/esrf/Inbox/new | wc -l)"
ulg_new="$(ls ~/.mail/ulg/Inbox/new | wc -l)" ulg_new="$(ls ~/.mail/ulg/Inbox/new | wc -l)"
uliege_new="$(ls ~/.mail/uliege/Inbox/new | wc -l)" uliege_new="$(ls ~/.mail/uliege/Inbox/new | wc -l)"
# ============================================================= # =============================================================
# ============================================================= # =============================================================
# Total Number of new mails since last checking # Total Number of new mails since last checking
new="$(($gmail_new+$esrf_new+$ulg_new+$uliege_new))" new="$(($gmail_new+$esrf_new+$ulg_new+$uliege_new))"
old="$(($gmail_old+$esrf_old+$ulg_old+$uliege_old))" old="$(($gmail_old+$esrf_old+$ulg_old+$uliege_old))"
# ============================================================= # =============================================================
# ============================================================= # =============================================================
# Notification # Notification
if [ "$new" -gt 0 ]; then if [ "$new" -gt 0 ]; then
dunstify --replace=98465 'Mails ' "$(($gmail_new+$esrf_new+$ulg_new+$uliege_new)) new mail(s)" dunstify --replace=98465 'Mails ' "$(($gmail_new+$esrf_new+$ulg_new+$uliege_new)) new mail(s)"
fi fi
# ============================================================= # =============================================================
# ============================================================= # =============================================================
# Indexation and Tags # Indexation and Tags
if pgrep -f 'mu server'; then if pgrep -f 'mu server'; then
emacsclient --eval '(mu4e-update-index)' emacsclient --eval '(mu4e-update-index)'
else else
mu index $opt_verbose $opt_quiet mu index $opt_verbose $opt_quiet
fi fi
# ============================================================= # =============================================================
#+end_src #+end_src
* =syncmail= - Synchronize all mails * =syncmail= - Synchronize all mails
@ -243,14 +243,14 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
[Unit] [Unit]
Description=Sync all mails Description=Sync all mails
RefuseManualStart=no RefuseManualStart=no
RefuseManualStop=yes RefuseManualStop=yes
[Service] [Service]
Type=oneshot Type=oneshot
ExecStart=%h/.local/bin/checkmail -a -q ExecStart=%h/.local/bin/checkmail -a -q
#+END_SRC #+END_SRC
** Timer ** Timer
@ -260,23 +260,23 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
[Unit] [Unit]
Description=Sync All Mails every x hours Description=Sync All Mails every x hours
RefuseManualStart=no RefuseManualStart=no
RefuseManualStop=no RefuseManualStop=no
Wants=network-online.target Wants=network-online.target
After=network-online.target After=network-online.target
Requires=syncmail.service Requires=syncmail.service
[Timer] [Timer]
Persistent=false Persistent=false
OnBootSec=30min OnBootSec=30min
OnUnitActiveSec=300min OnUnitActiveSec=300min
AccuracySec=10min AccuracySec=10min
Unit=syncmail.service Unit=syncmail.service
[Install] [Install]
WantedBy=default.target WantedBy=default.target
#+END_SRC #+END_SRC
* =vdirsyncer= - Synchronize calendar and contacts * =vdirsyncer= - Synchronize calendar and contacts
@ -287,15 +287,15 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END: :END:
#+begin_src conf #+begin_src conf
[Unit] [Unit]
Description=Synchronize calendars and contacts Description=Synchronize calendars and contacts
Documentation=https://vdirsyncer.readthedocs.org/ Documentation=https://vdirsyncer.readthedocs.org/
Wants=network-online.target Wants=network-online.target
After=network-online.target After=network-online.target
[Service] [Service]
ExecStart=/usr/bin/vdirsyncer --verbosity "ERROR" sync ExecStart=/usr/bin/vdirsyncer --verbosity "ERROR" sync
Type=oneshot Type=oneshot
#+end_src #+end_src
** Timer ** Timer
@ -305,16 +305,16 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END: :END:
#+begin_src conf #+begin_src conf
[Unit] [Unit]
Description=Synchronize vdirs Description=Synchronize vdirs
[Timer] [Timer]
OnBootSec=5m OnBootSec=5m
OnUnitActiveSec=15m OnUnitActiveSec=15m
AccuracySec=5m AccuracySec=5m
[Install] [Install]
WantedBy=timers.target WantedBy=timers.target
#+end_src #+end_src
* =ssh-agent= - SSH Agent * =ssh-agent= - SSH Agent
@ -325,16 +325,16 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END: :END:
#+begin_src conf #+begin_src conf
[Unit] [Unit]
Description=SSH key agent Description=SSH key agent
[Service] [Service]
Type=simple Type=simple
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK
[Install] [Install]
WantedBy=default.target WantedBy=default.target
#+end_src #+end_src
* =powertop= - Powertop * =powertop= - Powertop
@ -344,14 +344,36 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:header-args+: :comments both :mkdirp yes :header-args+: :comments both :mkdirp yes
:END: :END:
#+begin_src conf #+begin_src conf
[Unit] [Unit]
Description=Powertop tunings Description=Powertop tunings
[Service] [Service]
ExecStart=/usr/bin/powertop --auto-tune ExecStart=/usr/bin/powertop --auto-tune
RemainAfterExit=true RemainAfterExit=true
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
#+end_src #+end_src
* =emacs= - Emacs
** Service
:PROPERTIES:
:header-args: :tangle ~/.config/systemd/user/emacs.service
:header-args+: :comments both :mkdirp yes
:END:
#+begin_src conf
[Unit]
Description=Emacs text editor
Documentation=info:emacs man:emacs(1) https://gnu.org/software/emacs/
[Service]
Type=simple
ExecStart=/usr/bin/emacs --fg-daemon
ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
Environment=SSH_AUTH_SOCK=%t/keyring/ssh
Restart=on-failure
[Install]
WantedBy=default.target
#+end_src

View File

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

358
tmux.org
View File

@ -5,259 +5,259 @@
* Line * Line
#+begin_src conf #+begin_src conf
# Activate the status bar # Activate the status bar
set -g status "on" set -g status "on"
# default statusbar color # default statusbar color
set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1 set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1
# default window title colors # default window title colors
set-window-option -g window-status-style bg=colour214,fg=colour237 # bg=yellow, fg=bg1 set-window-option -g window-status-style bg=colour214,fg=colour237 # bg=yellow, fg=bg1
# default window with an activity alert # default window with an activity alert
set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3 set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3
# active window title colors # active window title colors
set-window-option -g window-status-current-style bg=red,fg=colour237 # fg=bg1 set-window-option -g window-status-current-style bg=red,fg=colour237 # fg=bg1
# pane border # pane border
set-option -g pane-active-border-style fg=colour250 #fg2 set-option -g pane-active-border-style fg=colour250 #fg2
set-option -g pane-border-style fg=colour237 #bg1 set-option -g pane-border-style fg=colour237 #bg1
# message infos # message infos
set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1 set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1
# writing commands inactive # writing commands inactive
set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1 set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1
# pane number display # pane number display
set-option -g display-panes-active-colour colour250 #fg2 set-option -g display-panes-active-colour colour250 #fg2
set-option -g display-panes-colour colour237 #bg1 set-option -g display-panes-colour colour237 #bg1
# clock # clock
set-window-option -g clock-mode-colour colour109 #blue set-window-option -g clock-mode-colour colour109 #blue
# bell # bell
set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg
## Theme settings mixed with colors (unfortunately, but there is no cleaner way) ## Theme settings mixed with colors (unfortunately, but there is no cleaner way)
set-option -g status-justify "left" set-option -g status-justify "left"
set-option -g status-left-style none set-option -g status-left-style none
set-option -g status-left-length "80" set-option -g status-left-length "80"
set-option -g status-right-style none set-option -g status-right-style none
set-option -g status-right-length "80" set-option -g status-right-length "80"
set-window-option -g window-status-separator "" set-window-option -g window-status-separator ""
set-option -g status-left "#[fg=colour248, bg=colour241] #S #[fg=colour241, bg=colour237, nobold, noitalics, nounderscore]" set-option -g status-left "#[fg=colour248, bg=colour241] #S #[fg=colour241, bg=colour237, nobold, noitalics, nounderscore]"
set-option -g status-right "#[fg=colour239, bg=colour237, nobold, nounderscore, noitalics]#[fg=colour246,bg=colour239] %Y-%m-%d  %H:%M #[fg=colour248, bg=colour239, nobold, noitalics, nounderscore]#{?client_prefix,#[fg=colour124],}#[fg=colour237, bg=colour248]#{?client_prefix,#[bg=colour124],} #h " set-option -g status-right "#[fg=colour239, bg=colour237, nobold, nounderscore, noitalics]#[fg=colour246,bg=colour239] %Y-%m-%d  %H:%M #[fg=colour248, bg=colour239, nobold, noitalics, nounderscore]#{?client_prefix,#[fg=colour124],}#[fg=colour237, bg=colour248]#{?client_prefix,#[bg=colour124],} #h "
set-window-option -g window-status-current-format "#[fg=colour237, bg=colour214, nobold, noitalics, nounderscore]#[fg=colour239, bg=colour214] #I #[fg=colour239, bg=colour214, bold] #W #[fg=colour214, bg=colour237, nobold, noitalics, nounderscore]" set-window-option -g window-status-current-format "#[fg=colour237, bg=colour214, nobold, noitalics, nounderscore]#[fg=colour239, bg=colour214] #I #[fg=colour239, bg=colour214, bold] #W #[fg=colour214, bg=colour237, nobold, noitalics, nounderscore]"
set-window-option -g window-status-format "#[fg=colour237,bg=colour239,noitalics]#[fg=colour223,bg=colour239] #I #[fg=colour223, bg=colour239] #W #[fg=colour239, bg=colour237, noitalics]" set-window-option -g window-status-format "#[fg=colour237,bg=colour239,noitalics]#[fg=colour223,bg=colour239] #I #[fg=colour223, bg=colour239] #W #[fg=colour239, bg=colour237, noitalics]"
#+end_src #+end_src
* Bindings * Bindings
#+BEGIN_SRC conf #+BEGIN_SRC conf
# Set prefix to 'C-Space' # Set prefix to 'C-Space'
unbind C-b unbind C-b
set -g prefix C-Space set -g prefix C-Space
# Reload the config using 'C-Space + r' # Reload the config using 'C-Space + r'
bind r source-file ~/.tmux.conf \; display-message "Config reloaded..." bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
# Simulate 'C-l' to clear the terminal # Simulate 'C-l' to clear the terminal
bind C-l send-keys C-l \; clear-history bind C-l send-keys C-l \; clear-history
# Open new panes with the path of the current pane. # Open new panes with the path of the current pane.
unbind c unbind c
bind c new-window -c '#{pane_current_path}' bind c new-window -c '#{pane_current_path}'
# Vim-like key bindings for pane navigation (default uses cursor keys). # Vim-like key bindings for pane navigation (default uses cursor keys).
unbind h unbind h
bind h select-pane -L bind h select-pane -L
unbind j unbind j
bind j select-pane -D bind j select-pane -D
unbind k unbind k
bind k select-pane -U bind k select-pane -U
unbind l # normally used for last-window unbind l # normally used for last-window
bind l select-pane -R bind l select-pane -R
# Move Panes # Move Panes
unbind L unbind L
bind L swap-pane -D bind L swap-pane -D
unbind H unbind H
bind H swap-pane -U bind H swap-pane -U
# Resizing (mouse also works). # Resizing (mouse also works).
unbind Left unbind Left
bind -r Left resize-pane -L 5 bind -r Left resize-pane -L 5
unbind Right unbind Right
bind -r Right resize-pane -R 5 bind -r Right resize-pane -R 5
unbind Down unbind Down
bind -r Down resize-pane -D 5 bind -r Down resize-pane -D 5
unbind Up unbind Up
bind -r Up resize-pane -U 5 bind -r Up resize-pane -U 5
# Fast toggle (normally prefix-l). # Fast toggle (normally prefix-l).
bind ^space last-window bind ^space last-window
# Intuitive window-splitting keys. # Intuitive window-splitting keys.
bind / split-window -h -c '#{pane_current_path}' # normally prefix-% bind / split-window -h -c '#{pane_current_path}' # normally prefix-%
bind - split-window -v -c '#{pane_current_path}' # normally prefix-" bind - split-window -v -c '#{pane_current_path}' # normally prefix-"
# Swap windows # Swap windows
bind-key -r "<" swap-window -t -1 bind-key -r "<" swap-window -t -1
bind-key -r ">" swap-window -t +1 bind-key -r ">" swap-window -t +1
# Smart pane switching with awareness of Vim splits # Smart pane switching with awareness of Vim splits
# See: https://github.com/christoomey/vim-tmux-navigator # See: https://github.com/christoomey/vim-tmux-navigator
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
bind-key -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L" bind-key -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L"
bind-key -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D" bind-key -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D"
bind-key -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U" bind-key -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U"
bind-key -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R" bind-key -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R"
# Set 'C-Space + v' to enter copy-mode # Set 'C-Space + v' to enter copy-mode
unbind [ unbind [
bind-key v copy-mode bind-key v copy-mode
# Set 'C-Space + C-v' to paste # Set 'C-Space + C-v' to paste
unbind ] unbind ]
bind-key C-v paste-buffer bind-key C-v paste-buffer
# Setup 'v' to begin selection as in Vim and 'y' to yank # Setup 'v' to begin selection as in Vim and 'y' to yank
bind-key -T copy-mode-vi 'v' send -X begin-selection bind-key -T copy-mode-vi 'v' send -X begin-selection
bind-key -T copy-mode-vi 'y' send -X copy-pipe-and-cancel "xsel -i -p && xsel -o -p | xsel -i -b" bind-key -T copy-mode-vi 'y' send -X copy-pipe-and-cancel "xsel -i -p && xsel -o -p | xsel -i -b"
bind-key -T copy-mode-vi 'Escape' send -X cancel bind-key -T copy-mode-vi 'Escape' send -X cancel
bind-key -T copy-mode-vi 'C-v' send-keys -X rectangle-toggle bind-key -T copy-mode-vi 'C-v' send-keys -X rectangle-toggle
#+END_SRC #+END_SRC
* Settings * Settings
#+BEGIN_SRC conf #+BEGIN_SRC conf
# Activity monitoring # Activity monitoring
set -g visual-activity off set -g visual-activity off
# Automatically renumber window numbers on closing a pane (tmux >= 1.7). # Automatically renumber window numbers on closing a pane (tmux >= 1.7).
set -g renumber-windows on set -g renumber-windows on
# Mouse can be used to select panes, select windows (by clicking on the status bar), resize panes # Mouse can be used to select panes, select windows (by clicking on the status bar), resize panes
set -g mouse on set -g mouse on
set -g default-terminal "screen-256color" set -g default-terminal "screen-256color"
set -ga terminal-overrides ',xterm-256color:Tc' set -ga terminal-overrides ',xterm-256color:Tc'
set -g history-limit 262144 set -g history-limit 262144
# Start window and pane numbering at 1, (0 is too hard to reach) # Start window and pane numbering at 1, (0 is too hard to reach)
set -g base-index 1 set -g base-index 1
set -g pane-base-index 1 set -g pane-base-index 1
# Don't wait for an escape sequence after seeing C-a # Don't wait for an escape sequence after seeing C-a
set -s escape-time 0 set -s escape-time 0
# Dynamically update iTerm tab and window titles # Dynamically update iTerm tab and window titles
set -g set-titles on set -g set-titles on
# Needed as on tmux 1.9 and up (defaults to off) # Needed as on tmux 1.9 and up (defaults to off)
set -g focus-events on set -g focus-events on
# But don't change tmux's own window titles # But don't change tmux's own window titles
set-option -g allow-rename off set-option -g allow-rename off
# Don't wrap searches; it's super confusing given tmux's reverse-ordering of position info in copy mode # Don't wrap searches; it's super confusing given tmux's reverse-ordering of position info in copy mode
set -w -g wrap-search off set -w -g wrap-search off
# Restore pre-2.1 behavior of scrolling with the scrollwheel in Vim, less, copy mode etc, otherwise entering copy mode if not already in it. # Restore pre-2.1 behavior of scrolling with the scrollwheel in Vim, less, copy mode etc, otherwise entering copy mode if not already in it.
bind-key -T root WheelUpPane \ bind-key -T root WheelUpPane \
if-shell -Ft= '#{?pane_in_mode,1,#{mouse_any_flag}}' \ if-shell -Ft= '#{?pane_in_mode,1,#{mouse_any_flag}}' \
'send -Mt=' \ 'send -Mt=' \
'if-shell -Ft= "#{alternate_on}" "send -t= Up" "copy-mode -et="' 'if-shell -Ft= "#{alternate_on}" "send -t= Up" "copy-mode -et="'
bind-key -T root WheelDownPane \ bind-key -T root WheelDownPane \
if-shell -Ft = '#{?pane_in_mode,1,#{mouse_any_flag}}' \ if-shell -Ft = '#{?pane_in_mode,1,#{mouse_any_flag}}' \
'send -Mt=' \ 'send -Mt=' \
'if-shell -Ft= "#{alternate_on}" "send -t= Down" "send -Mt="' 'if-shell -Ft= "#{alternate_on}" "send -t= Down" "send -Mt="'
# Stay in copy mode on drag end, but otherwise exit for mouse up. # Stay in copy mode on drag end, but otherwise exit for mouse up.
# Requires patch from https://github.com/tmux/tmux/issues/326 # Requires patch from https://github.com/tmux/tmux/issues/326
# unbind-key -t vi-copy MouseDragEnd1Pane # unbind-key -t vi-copy MouseDragEnd1Pane
# bind-key -t vi-copy MouseUp1Pane cancel # bind-key -t vi-copy MouseUp1Pane cancel
bind-key -n MouseDrag1Status swap-window -t= bind-key -n MouseDrag1Status swap-window -t=
# bind-key -n MouseDown3Status new-window -a -t= # bind-key -n MouseDown3Status new-window -a -t=
bind-key -n MouseDrag1Status swap-window -t= bind-key -n MouseDrag1Status swap-window -t=
# bind-key -n MouseDown3Status new-window -a -t= # bind-key -n MouseDown3Status new-window -a -t=
# #T = standard window title (last command, see ~/.bash_profile) # #T = standard window title (last command, see ~/.bash_profile)
# #h = short hostname # #h = short hostname
# #S = session name # #S = session name
# #W = tmux window name # #W = tmux window name
set -g set-titles-string "#T : #h > #S > #W" set -g set-titles-string "#T : #h > #S > #W"
# Show bells in window titles # Show bells in window titles
set -g window-status-bell-style fg=yellow,bold,underscore set -g window-status-bell-style fg=yellow,bold,underscore
# Causes tmux to resize a window based on the smallest client actually viewing it, not on the smallest one attached to the entire session # Causes tmux to resize a window based on the smallest client actually viewing it, not on the smallest one attached to the entire session
set-window-option -g aggressive-resize set-window-option -g aggressive-resize
#+END_SRC #+END_SRC
* Plugins * Plugins
** Install plugins ** Install plugins
#+BEGIN_SRC conf #+BEGIN_SRC conf
set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tpm'
# set -g @plugin 'tmux-plugins/tmux-sessionist' # set -g @plugin 'tmux-plugins/tmux-sessionist'
# set -g @plugin 'tmux-plugins/tmux-resurrect' # set -g @plugin 'tmux-plugins/tmux-resurrect'
# set -g @plugin 'tmux-plugins/tmux-continuum' # set -g @plugin 'tmux-plugins/tmux-continuum'
# set -g @plugin 'tmux-plugins/tmux-battery' # set -g @plugin 'tmux-plugins/tmux-battery'
set -g @plugin 'nhdaly/tmux-better-mouse-mode' set -g @plugin 'nhdaly/tmux-better-mouse-mode'
set -g @plugin 'seebi/tmux-colors-solarized' set -g @plugin 'seebi/tmux-colors-solarized'
#+END_SRC #+END_SRC
** Configuration ** Configuration
#+BEGIN_SRC conf #+BEGIN_SRC conf
# ============================================================= # =============================================================
# tmux-resurrect # tmux-resurrect
# ============================================================= # =============================================================
# for vim # for vim
set -g @resurrect-strategy-vim 'session' set -g @resurrect-strategy-vim 'session'
# for neovim # for neovim
set -g @resurrect-strategy-nvim 'session' set -g @resurrect-strategy-nvim 'session'
# Restoring pane contents # Restoring pane contents
set -g @resurrect-capture-pane-contents 'on' set -g @resurrect-capture-pane-contents 'on'
run-shell ~/.tmux/plugins/tmux-resurrect/resurrect.tmux run-shell ~/.tmux/plugins/tmux-resurrect/resurrect.tmux
# ============================================================= # =============================================================
# ============================================================= # =============================================================
# tmux-continuum # tmux-continuum
# ============================================================= # =============================================================
set -g @continuum-boot 'on' set -g @continuum-boot 'on'
set -g @continuum-boot-options 'iterm,fullscreen' set -g @continuum-boot-options 'iterm,fullscreen'
set -g @continuum-save-interval '15' set -g @continuum-save-interval '15'
run-shell ~/.tmux/plugins/tmux-continuum/continuum.tmux run-shell ~/.tmux/plugins/tmux-continuum/continuum.tmux
# ============================================================= # =============================================================
# ============================================================= # =============================================================
# tmux-battery # tmux-battery
# ============================================================= # =============================================================
set -g @batt_charged_icon "=" set -g @batt_charged_icon "="
set -g @batt_charging_icon "+" set -g @batt_charging_icon "+"
set -g @batt_discharging_icon "-" set -g @batt_discharging_icon "-"
set -g @batt_attached_icon "o" set -g @batt_attached_icon "o"
# ============================================================= # =============================================================
#+END_SRC #+END_SRC
* Colors * Colors
#+BEGIN_SRC conf #+BEGIN_SRC conf
set -g @colors-solarized 'light' set -g @colors-solarized 'light'
#+END_SRC #+END_SRC
* Initialize TMUX plugin manager * Initialize TMUX plugin manager
#+BEGIN_SRC conf #+BEGIN_SRC conf
run '~/.tmux/plugins/tpm/tpm' run '~/.tmux/plugins/tpm/tpm'
#+END_SRC #+END_SRC

View File

@ -5,76 +5,76 @@
https://github.com/tremc/tremc https://github.com/tremc/tremc
#+begin_src conf :comments none :mkdirp yes :tangle ~/.config/tremc/settings.cfg :noweb no-export #+begin_src conf :comments none :mkdirp yes :tangle ~/.config/tremc/settings.cfg :noweb no-export
[Connection] [Connection]
password = <<get-password(passname="nas/transmission")>> password = <<get-password(passname="nas/transmission")>>
username = tdehaeze username = tdehaeze
port = 9091 port = 9091
host = torrent.tdehaeze.xyz host = torrent.tdehaeze.xyz
path = /transmission/rpc path = /transmission/rpc
ssl = False ssl = False
[Sorting] [Sorting]
order = name order = name
[Filtering] [Filtering]
filter = filter =
invert = False invert = False
[Misc] [Misc]
compact_list = False compact_list = False
torrentname_is_progressbar = True torrentname_is_progressbar = True
file_viewer = xdg-open %%s file_viewer = xdg-open %%s
file_open_in_terminal = True file_open_in_terminal = True
[Colors] [Colors]
title_seed = bg:green,fg:black title_seed = bg:green,fg:black
title_download = bg:blue,fg:black title_download = bg:blue,fg:black
title_idle = bg:cyan,fg:black title_idle = bg:cyan,fg:black
title_verify = bg:magenta,fg:black title_verify = bg:magenta,fg:black
title_paused = bg:black,fg:white title_paused = bg:black,fg:white
title_error = bg:red,fg:white title_error = bg:red,fg:white
download_rate = bg:black,fg:blue download_rate = bg:black,fg:blue
upload_rate = bg:black,fg:red upload_rate = bg:black,fg:red
eta+ratio = bg:black,fg:white eta+ratio = bg:black,fg:white
filter_status = bg:red,fg:black filter_status = bg:red,fg:black
dialog = bg:black,fg:white dialog = bg:black,fg:white
dialog_important = bg:red,fg:black dialog_important = bg:red,fg:black
button = bg:white,fg:black button = bg:white,fg:black
button_focused = bg:black,fg:white button_focused = bg:black,fg:white
file_prio_high = bg:red,fg:black file_prio_high = bg:red,fg:black
file_prio_normal = bg:white,fg:black file_prio_normal = bg:white,fg:black
file_prio_low = bg:yellow,fg:black file_prio_low = bg:yellow,fg:black
file_prio_off = bg:blue,fg:black file_prio_off = bg:blue,fg:black
#+end_src #+end_src
* =aria2c= - Lightweight download utility * =aria2c= - Lightweight download utility
** Aria2c Config ** Aria2c Config
#+begin_src conf :comments none :mkdirp yes :tangle ~/.config/aria2/aria2.conf :noweb no-export #+begin_src conf :comments none :mkdirp yes :tangle ~/.config/aria2/aria2.conf :noweb no-export
continue continue
daemon=true daemon=true
dir=/home/thomas/Downloads dir=/home/thomas/Downloads
max-connection-per-server=4 max-connection-per-server=4
max-concurrent-downloads=3 max-concurrent-downloads=3
enable-rpc=true enable-rpc=true
rpc-listen-all=true rpc-listen-all=true
http-user=dehaeze.thomas@gmail.com http-user=dehaeze.thomas@gmail.com
http-passwd=<<get-password(passname="1fichier.com/dehaeze.thomas@gmail.com")>> http-passwd=<<get-password(passname="1fichier.com/dehaeze.thomas@gmail.com")>>
on-download-start=/home/thomas/.config/aria2/download-start.sh on-download-start=/home/thomas/.config/aria2/download-start.sh
on-download-complete=/home/thomas/.config/aria2/download-complete.sh on-download-complete=/home/thomas/.config/aria2/download-complete.sh
on-download-error=/home/thomas/.config/aria2/download-error.sh on-download-error=/home/thomas/.config/aria2/download-error.sh
#+end_src #+end_src
** Download Start Script ** Download Start Script
#+begin_src bash :tangle ~/.config/aria2/download-start.sh :comments both :mkdirp yes :shebang "#!/bin/bash" #+begin_src bash :tangle ~/.config/aria2/download-start.sh :comments both :mkdirp yes :shebang "#!/bin/bash"
dunstify "DL Started" "$(basename \"$3\" 2> /dev/null)" dunstify "DL Started" "$(basename \"$3\" 2> /dev/null)"
#+end_src #+end_src
** Download Complete Script ** Download Complete Script
#+begin_src bash :tangle ~/.config/aria2/download-complete.sh :comments both :mkdirp yes :shebang "#!/usr/bin/env bash" #+begin_src bash :tangle ~/.config/aria2/download-complete.sh :comments both :mkdirp yes :shebang "#!/usr/bin/env bash"
dunstify "DL Completed" "$(basename \"$3\" 2> /dev/null)" dunstify "DL Completed" "$(basename \"$3\" 2> /dev/null)"
#+end_src #+end_src
** Download Error Script ** Download Error Script
#+begin_src bash :tangle ~/.config/aria2/download-error.sh :comments both :mkdirp yes :shebang "#!/usr/bin/env bash" #+begin_src bash :tangle ~/.config/aria2/download-error.sh :comments both :mkdirp yes :shebang "#!/usr/bin/env bash"
dunstify --urgency=critical "DL Failed" "$(basename \"$3\" 2> /dev/null)" dunstify --urgency=critical "DL Failed" "$(basename \"$3\" 2> /dev/null)"
#+end_src #+end_src

320
video.org
View File

@ -34,203 +34,203 @@ alang=en,fr
:END: :END:
#+BEGIN_SRC conf #+BEGIN_SRC conf
# ============================================================= # =============================================================
# Audio # Audio
# ============================================================= # =============================================================
#WHEEL_LEFT add volume -2 #WHEEL_LEFT add volume -2
#WHEEL_RIGHT add volume 2 #WHEEL_RIGHT add volume 2
#ctrl++ add audio-delay 0.100 # this changes audio/video sync #ctrl++ add audio-delay 0.100 # this changes audio/video sync
#ctrl+- add audio-delay -0.100 #ctrl+- add audio-delay -0.100
#9 add volume -2 #9 add volume -2
#/ add volume -2 #/ add volume -2
#0 add volume 2 #0 add volume 2
#* add volume 2 #* add volume 2
#m cycle mute #m cycle mute
#SHARP cycle audio # switch audio streams #SHARP cycle audio # switch audio streams
# ============================================================= # =============================================================
# ============================================================= # =============================================================
# Basic # Basic
# ============================================================= # =============================================================
ESC set fullscreen no ESC set fullscreen no
q quit q quit
Q quit-watch-later Q quit-watch-later
SPACE cycle pause # toggle pause/playback mode SPACE cycle pause # toggle pause/playback mode
# p cycle pause # toggle pause/playback mode # p cycle pause # toggle pause/playback mode
# ============================================================= # =============================================================
# ============================================================= # =============================================================
# Navigation # Navigation
# ============================================================= # =============================================================
l seek 5 l seek 5
h seek -5 h seek -5
# k seek 60 # k seek 60
# j seek -60 # j seek -60
L playlist-next # skip to next file L playlist-next # skip to next file
H playlist-prev # skip to previous file H playlist-prev # skip to previous file
K add chapter 1 # skip to next chapter K add chapter 1 # skip to next chapter
J add chapter -1 # skip to previous chapter J add chapter -1 # skip to previous chapter
WHEEL_UP seek 10 WHEEL_UP seek 10
WHEEL_DOWN seek -10 WHEEL_DOWN seek -10
# ============================================================= # =============================================================
# ============================================================= # =============================================================
# Subtitles # Subtitles
# ============================================================= # =============================================================
z add sub-delay -0.1 # subtract 100 ms delay from subs z add sub-delay -0.1 # subtract 100 ms delay from subs
Z add sub-delay +0.1 # add Z add sub-delay +0.1 # add
#x add sub-delay +0.1 # same as previous binding (discouraged) #x add sub-delay +0.1 # same as previous binding (discouraged)
#r add sub-pos -1 # move subtitles up #r add sub-pos -1 # move subtitles up
#R add sub-pos +1 # down #R add sub-pos +1 # down
#t add sub-pos +1 # same as previous binding (discouraged) #t add sub-pos +1 # same as previous binding (discouraged)
#v cycle sub-visibility #v cycle sub-visibility
# stretch SSA/ASS subtitles with anamorphic videos to match historical # stretch SSA/ASS subtitles with anamorphic videos to match historical
#V cycle sub-ass-vsfilter-aspect-compat #V cycle sub-ass-vsfilter-aspect-compat
# switch between applying no style overrides to SSA/ASS subtitles, and # switch between applying no style overrides to SSA/ASS subtitles, and
# overriding them almost completely with the normal subtitle style # overriding them almost completely with the normal subtitle style
#u cycle-values sub-ass-override "force" "no" #u cycle-values sub-ass-override "force" "no"
#j cycle sub # cycle through subtitles #j cycle sub # cycle through subtitles
#J cycle sub down # ...backwards #J cycle sub down # ...backwards
# Skip to previous/next subtitle (subject to some restrictions; see manpage) # Skip to previous/next subtitle (subject to some restrictions; see manpage)
#Ctrl+LEFT no-osd sub-seek -1 #Ctrl+LEFT no-osd sub-seek -1
#Ctrl+RIGHT no-osd sub-seek 1 #Ctrl+RIGHT no-osd sub-seek 1
# Adjust timing to previous/next subtitle # Adjust timing to previous/next subtitle
#Ctrl+Shift+LEFT sub-step -1 #Ctrl+Shift+LEFT sub-step -1
#Ctrl+Shift+RIGHT sub-step 1 #Ctrl+Shift+RIGHT sub-step 1
# F9 show_text ${track-list} # show list of audio/sub streams # F9 show_text ${track-list} # show list of audio/sub streams
# ? add sub-scale +0.1 # increase subtitle font size # ? add sub-scale +0.1 # increase subtitle font size
# ? add sub-scale -0.1 # decrease subtitle font size # ? add sub-scale -0.1 # decrease subtitle font size
# ============================================================= # =============================================================
# ============================================================= # =============================================================
# Video # Video
# ============================================================= # =============================================================
# Move video rectangle # Move video rectangle
#Alt+left add video-pan-x 0.1 #Alt+left add video-pan-x 0.1
#Alt+right add video-pan-x -0.1 #Alt+right add video-pan-x -0.1
#Alt+up add video-pan-y 0.1 #Alt+up add video-pan-y 0.1
#Alt+down add video-pan-y -0.1 #Alt+down add video-pan-y -0.1
# Zoom/unzoom video # Zoom/unzoom video
#Alt++ add video-zoom 0.1 #Alt++ add video-zoom 0.1
#Alt+- add video-zoom -0.1 #Alt+- add video-zoom -0.1
# Reset video zoom/pan settings # Reset video zoom/pan settings
#Alt+BS set video-zoom 0 ; set video-pan-x 0 ; set video-pan-y 0 #Alt+BS set video-zoom 0 ; set video-pan-x 0 ; set video-pan-y 0
#1 add contrast -1 #1 add contrast -1
#2 add contrast 1 #2 add contrast 1
#3 add brightness -1 #3 add brightness -1
#4 add brightness 1 #4 add brightness 1
#5 add gamma -1 #5 add gamma -1
#6 add gamma 1 #6 add gamma 1
#7 add saturation -1 #7 add saturation -1
#8 add saturation 1 #8 add saturation 1
# ============================================================= # =============================================================
# ============================================================= # =============================================================
# Speed # Speed
# ============================================================= # =============================================================
#[ multiply speed 1/1.1 # scale playback speed #[ multiply speed 1/1.1 # scale playback speed
#] multiply speed 1.1 #] multiply speed 1.1
#{ multiply speed 0.5 #{ multiply speed 0.5
#} multiply speed 2.0 #} multiply speed 2.0
#BS set speed 1.0 # reset speed to normal #BS set speed 1.0 # reset speed to normal
# ============================================================= # =============================================================
# ============================================================= # =============================================================
# # Informations # # Informations
# ============================================================= # =============================================================
#o show-progress #o show-progress
#P show-progress #P show-progress
#i script-binding stats/display-stats #i script-binding stats/display-stats
#I script-binding stats/display-stats-toggle #I script-binding stats/display-stats-toggle
# ============================================================= # =============================================================
# ============================================================= # =============================================================
# Screenshot # Screenshot
# ============================================================= # =============================================================
#s async screenshot # take a screenshot #s async screenshot # take a screenshot
#S async screenshot video # ...without subtitles #S async screenshot video # ...without subtitles
#Ctrl+s async screenshot window # ...with subtitles and OSD, and scaled #Ctrl+s async screenshot window # ...with subtitles and OSD, and scaled
#Alt+s screenshot each-frame # automatically screenshot every frame #Alt+s screenshot each-frame # automatically screenshot every frame
# ============================================================= # =============================================================
# ============================================================= # =============================================================
# Media keys # Media keys
# ============================================================= # =============================================================
#POWER quit #POWER quit
#PLAY cycle pause #PLAY cycle pause
#PAUSE cycle pause #PAUSE cycle pause
#PLAYPAUSE cycle pause #PLAYPAUSE cycle pause
#STOP quit #STOP quit
#FORWARD seek 60 #FORWARD seek 60
#REWIND seek -60 #REWIND seek -60
#NEXT playlist-next #NEXT playlist-next
#PREV playlist-prev #PREV playlist-prev
#VOLUME_UP add volume 2 #VOLUME_UP add volume 2
#VOLUME_DOWN add volume -2 #VOLUME_DOWN add volume -2
#MUTE cycle mute #MUTE cycle mute
#CLOSE_WIN quit #CLOSE_WIN quit
#CLOSE_WIN {encode} quit 4 #CLOSE_WIN {encode} quit 4
# ============================================================= # =============================================================
# ============================================================= # =============================================================
# Others # Others
# ============================================================= # =============================================================
#Shift+BS revert-seek # undo previous (or marked) seek #Shift+BS revert-seek # undo previous (or marked) seek
#Shift+Ctrl+BS revert-seek mark # mark position for revert-seek #Shift+Ctrl+BS revert-seek mark # mark position for revert-seek
#. frame-step # advance one frame and pause #. frame-step # advance one frame and pause
#, frame-back-step # go back by one frame and pause #, frame-back-step # go back by one frame and pause
#O no-osd cycle-values osd-level 3 1 # cycle through OSD mode #O no-osd cycle-values osd-level 3 1 # cycle through OSD mode
#Alt+0 set window-scale 0.5 #Alt+0 set window-scale 0.5
#Alt+1 set window-scale 1.0 #Alt+1 set window-scale 1.0
#Alt+2 set window-scale 2.0 #Alt+2 set window-scale 2.0
# toggle deinterlacer (automatically inserts or removes required filter) # toggle deinterlacer (automatically inserts or removes required filter)
#d cycle deinterlace #d cycle deinterlace
#_ cycle video #_ cycle video
#T cycle ontop # toggle video window ontop of other windows #T cycle ontop # toggle video window ontop of other windows
#f cycle fullscreen # toggle fullscreen #f cycle fullscreen # toggle fullscreen
#w add panscan -0.1 # zoom out with -panscan 0 -fs #w add panscan -0.1 # zoom out with -panscan 0 -fs
#W add panscan +0.1 # in #W add panscan +0.1 # in
#e add panscan +0.1 # same as previous binding (discouraged) #e add panscan +0.1 # same as previous binding (discouraged)
# cycle video aspect ratios; "-1" is the container aspect # cycle video aspect ratios; "-1" is the container aspect
#A cycle-values video-aspect "16:9" "4:3" "2.35:1" "-1" #A cycle-values video-aspect "16:9" "4:3" "2.35:1" "-1"
#E cycle edition # next edition #E cycle edition # next edition
#l ab-loop # Set/clear A-B loop points #l ab-loop # Set/clear A-B loop points
#L cycle-values loop-file "inf" "no" # toggle infinite looping #L cycle-values loop-file "inf" "no" # toggle infinite looping
#ctrl+c quit 4 #ctrl+c quit 4
#DEL script-binding osc/visibility # cycle OSC display #DEL script-binding osc/visibility # cycle OSC display
#ctrl+h cycle-values hwdec "auto" "no" # cycle hardware decoding #ctrl+h cycle-values hwdec "auto" "no" # cycle hardware decoding
#F8 show_text ${playlist} # show playlist #F8 show_text ${playlist} # show playlist
#q {encode} quit 4 #q {encode} quit 4
#ESC {encode} quit 4 #ESC {encode} quit 4
# ============================================================= # =============================================================
#+END_SRC #+END_SRC

1790
vim.org

File diff suppressed because it is too large Load Diff

View File

@ -6,11 +6,11 @@
- Download Windows10 ISO https://www.microsoft.com/en-us/software-download/windows10ISO - Download Windows10 ISO https://www.microsoft.com/en-us/software-download/windows10ISO
- Create bootable USB key using the woeusb utility (https://computingforgeeks.com/create-windows-10-bootable-usb-on-linux/) - Create bootable USB key using the woeusb utility (https://computingforgeeks.com/create-windows-10-bootable-usb-on-linux/)
#+begin_src bash #+begin_src bash
yay -S woeusb yay -S woeusb
#+end_src #+end_src
#+begin_src bash #+begin_src bash
sudo woeusb --device file.iso /dev/sdb --target-filesystem ntfs sudo woeusb --device file.iso /dev/sdb --target-filesystem ntfs
#+end_src #+end_src
* Install Windows10 PRO * Install Windows10 PRO
@ -18,12 +18,12 @@
* Install Software using Chocolatey * Install Software using Chocolatey
First install Chocolatey using a PowerShell as administrator: First install Chocolatey using a PowerShell as administrator:
#+begin_src bash #+begin_src bash
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
#+end_src #+end_src
Then, install all required software using one command: Then, install all required software using one command:
#+begin_src bash #+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
#+end_src #+end_src
* Debloat windows10 * Debloat windows10
@ -31,36 +31,36 @@ https://github.com/Sycnex/Windows10Debloater
Run a PowerShell with administrative rights and run: Run a PowerShell with administrative rights and run:
#+begin_src bash #+begin_src bash
iex ((New-Object System.Net.WebClient).DownloadString('https://git.io/debloat')) iex ((New-Object System.Net.WebClient).DownloadString('https://git.io/debloat'))
#+end_src #+end_src
* SSHFS * SSHFS
** SSH Setup ** SSH Setup
Install OpenSSH from =chocolatey= as the one packed with Windows is quite old ([[https://blog.frankfu.com.au/2019/03/21/moving-from-windows-1809s-openssh-to-openssh-portable/][link]]): Install OpenSSH from =chocolatey= as the one packed with Windows is quite old ([[https://blog.frankfu.com.au/2019/03/21/moving-from-windows-1809s-openssh-to-openssh-portable/][link]]):
#+begin_src bash #+begin_src bash
choco install openssh --package-parameters="/SSHAgentFeature" choco install openssh --package-parameters="/SSHAgentFeature"
#+end_src #+end_src
Then generate the keys: Then generate the keys:
#+begin_src bash #+begin_src bash
ssh-keygen ssh-keygen
#+end_src #+end_src
Start the SSH-Agent to automatically unlock the keys: Start the SSH-Agent to automatically unlock the keys:
#+begin_src bash #+begin_src bash
# Start the service # Start the service
Start-Service ssh-agent Start-Service ssh-agent
# This should return a status of Running # This should return a status of Running
Get-Service ssh-agent Get-Service ssh-agent
# Now load your key files into ssh-agent # Now load your key files into ssh-agent
ssh-add ssh-add
#+end_src #+end_src
Copy the public key with: Copy the public key with:
#+begin_src bash #+begin_src bash
Get-Content -Path $HOME\.ssh\id_rsa.pub | Set-Clipboard Get-Content -Path $HOME\.ssh\id_rsa.pub | Set-Clipboard
#+end_src #+end_src
And add it to =~/.ssh/authorized_keys= on the server side. And add it to =~/.ssh/authorized_keys= on the server side.
@ -72,17 +72,17 @@ Install [[https://github.com/billziss-gh/sshfs-win][sshfs-win]].
Run the =Registry Editor=, and find =Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\WinFsp\Services\sshfs.kr=, then edit =CommandLine=: Run the =Registry Editor=, and find =Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\WinFsp\Services\sshfs.kr=, then edit =CommandLine=:
#+begin_src conf #+begin_src conf
svc %1 %2 %U -o create_dir_umask=000 -o create_file_umask=111 -o umask=000 svc %1 %2 %U -o create_dir_umask=000 -o create_file_umask=111 -o umask=000
#+end_src #+end_src
Then, to mount the network drive using =sshfs=: Then, to mount the network drive using =sshfs=:
#+begin_src bash #+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.150\srv\storage /persistent:yes
#+end_src #+end_src
To un-mount it: To un-mount it:
#+begin_src bash #+begin_src bash
net use X: /delete net use X: /delete
#+end_src #+end_src
* Software Setup * Software Setup

View File

@ -10,74 +10,74 @@
** Colors ** Colors
#+begin_src conf #+begin_src conf
#define base00 #32302f #define base00 #32302f
#define base01 #3c3836 #define base01 #3c3836
#define base02 #504945 #define base02 #504945
#define base03 #665c54 #define base03 #665c54
#define base04 #bdae93 #define base04 #bdae93
#define base05 #d5c4a1 #define base05 #d5c4a1
#define base06 #ebdbb2 #define base06 #ebdbb2
#define base07 #fbf1c7 #define base07 #fbf1c7
#define base08 #fb4934 #define base08 #fb4934
#define base09 #fe8019 #define base09 #fe8019
#define base0A #fabd2f #define base0A #fabd2f
#define base0B #b8bb26 #define base0B #b8bb26
#define base0C #8ec07c #define base0C #8ec07c
#define base0D #83a598 #define base0D #83a598
#define base0E #d3869b #define base0E #d3869b
#define base0F #d65d0e #define base0F #d65d0e
,*foreground: base05 ,*foreground: base05
#ifdef background_opacity #ifdef background_opacity
,*background: [background_opacity]base00 ,*background: [background_opacity]base00
#else #else
,*background: base00 ,*background: base00
#endif #endif
,*cursorColor: base05 ,*cursorColor: base05
,*color0: base00 ,*color0: base00
,*color1: base08 ,*color1: base08
,*color2: base0B ,*color2: base0B
,*color3: base0A ,*color3: base0A
,*color4: base0D ,*color4: base0D
,*color5: base0E ,*color5: base0E
,*color6: base0C ,*color6: base0C
,*color7: base05 ,*color7: base05
,*color8: base03 ,*color8: base03
,*color9: base08 ,*color9: base08
,*color10: base0B ,*color10: base0B
,*color11: base0A ,*color11: base0A
,*color12: base0D ,*color12: base0D
,*color13: base0E ,*color13: base0E
,*color14: base0C ,*color14: base0C
,*color15: base07 ,*color15: base07
! Note: colors beyond 15 might not be loaded (e.g., xterm, urxvt), ! Note: colors beyond 15 might not be loaded (e.g., xterm, urxvt),
! use 'shell' template to set these if necessary ! use 'shell' template to set these if necessary
,*color16: base09 ,*color16: base09
,*color17: base0F ,*color17: base0F
,*color18: base01 ,*color18: base01
,*color19: base02 ,*color19: base02
,*color20: base04 ,*color20: base04
,*color21: base06 ,*color21: base06
#+end_src #+end_src
** Fonts ** Fonts
#+BEGIN_SRC conf #+BEGIN_SRC conf
Xft.dpi: 96 Xft.dpi: 96
Xft.autohint: 0 Xft.autohint: 0
Xft.lcdfilter: lcddefault Xft.lcdfilter: lcddefault
Xft.hintstyle: hintfull Xft.hintstyle: hintfull
Xft.hinting: 1 Xft.hinting: 1
Xft.antialias: 1 Xft.antialias: 1
Xft.rgba: rgb Xft.rgba: rgb
#+END_SRC #+END_SRC
** Cursor ** Cursor
#+BEGIN_SRC conf #+BEGIN_SRC conf
Xcursor.theme: Breeze Xcursor.theme: Breeze
Xcursor.size: 0 Xcursor.size: 0
#+END_SRC #+END_SRC
* =~/.Xmodmap= * =~/.Xmodmap=
@ -88,254 +88,254 @@
:END: :END:
#+begin_src conf #+begin_src conf
keycode 8 = keycode 8 =
keycode 9 = Escape NoSymbol Escape keycode 9 = Escape NoSymbol Escape
keycode 10 = 1 exclam 1 exclam keycode 10 = 1 exclam 1 exclam
keycode 11 = 2 at 2 at keycode 11 = 2 at 2 at
keycode 12 = 3 numbersign 3 numbersign keycode 12 = 3 numbersign 3 numbersign
keycode 13 = 4 dollar 4 dollar keycode 13 = 4 dollar 4 dollar
keycode 14 = 5 percent 5 percent keycode 14 = 5 percent 5 percent
keycode 15 = 6 asciicircum 6 asciicircum keycode 15 = 6 asciicircum 6 asciicircum
keycode 16 = 7 ampersand 7 ampersand keycode 16 = 7 ampersand 7 ampersand
keycode 17 = 8 asterisk 8 asterisk keycode 17 = 8 asterisk 8 asterisk
keycode 18 = 9 parenleft 9 parenleft keycode 18 = 9 parenleft 9 parenleft
keycode 19 = 0 parenright 0 parenright keycode 19 = 0 parenright 0 parenright
keycode 20 = minus underscore minus underscore keycode 20 = minus underscore minus underscore
keycode 21 = equal plus equal plus keycode 21 = equal plus equal plus
keycode 22 = BackSpace BackSpace BackSpace BackSpace keycode 22 = BackSpace BackSpace BackSpace BackSpace
keycode 23 = Tab ISO_Left_Tab Tab ISO_Left_Tab keycode 23 = Tab ISO_Left_Tab Tab ISO_Left_Tab
keycode 24 = q Q q Q keycode 24 = q Q q Q
keycode 25 = w W w W keycode 25 = w W w W
keycode 26 = e E e E keycode 26 = e E e E
keycode 27 = r R r R keycode 27 = r R r R
keycode 28 = t T t T keycode 28 = t T t T
keycode 29 = y Y y Y keycode 29 = y Y y Y
keycode 30 = u U u U keycode 30 = u U u U
keycode 31 = i I i I keycode 31 = i I i I
keycode 32 = o O o O keycode 32 = o O o O
keycode 33 = p P p P keycode 33 = p P p P
keycode 34 = bracketleft braceleft bracketleft braceleft keycode 34 = bracketleft braceleft bracketleft braceleft
keycode 35 = bracketright braceright bracketright braceright keycode 35 = bracketright braceright bracketright braceright
keycode 36 = Return NoSymbol Return keycode 36 = Return NoSymbol Return
keycode 37 = Control_L NoSymbol Control_L keycode 37 = Control_L NoSymbol Control_L
keycode 38 = a A a A keycode 38 = a A a A
keycode 39 = s S s S keycode 39 = s S s S
keycode 40 = d D d D keycode 40 = d D d D
keycode 41 = f F f F keycode 41 = f F f F
keycode 42 = g G g G keycode 42 = g G g G
keycode 43 = h H h H keycode 43 = h H h H
keycode 44 = j J j J keycode 44 = j J j J
keycode 45 = k K k K keycode 45 = k K k K
keycode 46 = l L l L keycode 46 = l L l L
keycode 47 = semicolon colon semicolon colon keycode 47 = semicolon colon semicolon colon
keycode 48 = apostrophe quotedbl apostrophe quotedbl keycode 48 = apostrophe quotedbl apostrophe quotedbl
keycode 49 = grave asciitilde grave asciitilde keycode 49 = grave asciitilde grave asciitilde
keycode 50 = Shift_L NoSymbol Shift_L keycode 50 = Shift_L NoSymbol Shift_L
keycode 51 = backslash bar backslash bar keycode 51 = backslash bar backslash bar
keycode 52 = z Z z Z keycode 52 = z Z z Z
keycode 53 = x X x X keycode 53 = x X x X
keycode 54 = c C c C keycode 54 = c C c C
keycode 55 = v V v V keycode 55 = v V v V
keycode 56 = b B b B keycode 56 = b B b B
keycode 57 = n N n N keycode 57 = n N n N
keycode 58 = m M m M keycode 58 = m M m M
keycode 59 = comma less comma less keycode 59 = comma less comma less
keycode 60 = period greater period greater keycode 60 = period greater period greater
keycode 61 = slash question slash question keycode 61 = slash question slash question
keycode 62 = Shift_R NoSymbol Shift_R keycode 62 = Shift_R NoSymbol Shift_R
keycode 63 = KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply XF86ClearGrab keycode 63 = KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply XF86ClearGrab
keycode 64 = Alt_L Meta_L Alt_L Meta_L keycode 64 = Alt_L Meta_L Alt_L Meta_L
keycode 65 = space NoSymbol space keycode 65 = space NoSymbol space
keycode 66 = Caps_Lock NoSymbol Caps_Lock keycode 66 = Caps_Lock NoSymbol Caps_Lock
keycode 67 = F1 F1 F1 F1 F1 F1 XF86Switch_VT_1 keycode 67 = F1 F1 F1 F1 F1 F1 XF86Switch_VT_1
keycode 68 = F2 F2 F2 F2 F2 F2 XF86Switch_VT_2 keycode 68 = F2 F2 F2 F2 F2 F2 XF86Switch_VT_2
keycode 69 = F3 F3 F3 F3 F3 F3 XF86Switch_VT_3 keycode 69 = F3 F3 F3 F3 F3 F3 XF86Switch_VT_3
keycode 70 = F4 F4 F4 F4 F4 F4 XF86Switch_VT_4 keycode 70 = F4 F4 F4 F4 F4 F4 XF86Switch_VT_4
keycode 71 = F5 F5 F5 F5 F5 F5 XF86Switch_VT_5 keycode 71 = F5 F5 F5 F5 F5 F5 XF86Switch_VT_5
keycode 72 = F6 F6 F6 F6 F6 F6 XF86Switch_VT_6 keycode 72 = F6 F6 F6 F6 F6 F6 XF86Switch_VT_6
keycode 73 = F7 F7 F7 F7 F7 F7 XF86Switch_VT_7 keycode 73 = F7 F7 F7 F7 F7 F7 XF86Switch_VT_7
keycode 74 = F8 F8 F8 F8 F8 F8 XF86Switch_VT_8 keycode 74 = F8 F8 F8 F8 F8 F8 XF86Switch_VT_8
keycode 75 = F9 F9 F9 F9 F9 F9 XF86Switch_VT_9 keycode 75 = F9 F9 F9 F9 F9 F9 XF86Switch_VT_9
keycode 76 = F10 F10 F10 F10 F10 F10 XF86Switch_VT_10 keycode 76 = F10 F10 F10 F10 F10 F10 XF86Switch_VT_10
keycode 77 = Num_Lock NoSymbol Num_Lock keycode 77 = Num_Lock NoSymbol Num_Lock
keycode 78 = Scroll_Lock NoSymbol Scroll_Lock keycode 78 = Scroll_Lock NoSymbol Scroll_Lock
keycode 79 = KP_Home KP_7 KP_Home KP_7 keycode 79 = KP_Home KP_7 KP_Home KP_7
keycode 80 = KP_Up KP_8 KP_Up KP_8 keycode 80 = KP_Up KP_8 KP_Up KP_8
keycode 81 = KP_Prior KP_9 KP_Prior KP_9 keycode 81 = KP_Prior KP_9 KP_Prior KP_9
keycode 82 = KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract XF86Prev_VMode keycode 82 = KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract XF86Prev_VMode
keycode 83 = KP_Left KP_4 KP_Left KP_4 keycode 83 = KP_Left KP_4 KP_Left KP_4
keycode 84 = KP_Begin KP_5 KP_Begin KP_5 keycode 84 = KP_Begin KP_5 KP_Begin KP_5
keycode 85 = KP_Right KP_6 KP_Right KP_6 keycode 85 = KP_Right KP_6 KP_Right KP_6
keycode 86 = KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add XF86Next_VMode keycode 86 = KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add XF86Next_VMode
keycode 87 = KP_End KP_1 KP_End KP_1 keycode 87 = KP_End KP_1 KP_End KP_1
keycode 88 = KP_Down KP_2 KP_Down KP_2 keycode 88 = KP_Down KP_2 KP_Down KP_2
keycode 89 = KP_Next KP_3 KP_Next KP_3 keycode 89 = KP_Next KP_3 KP_Next KP_3
keycode 90 = KP_Insert KP_0 KP_Insert KP_0 keycode 90 = KP_Insert KP_0 KP_Insert KP_0
keycode 91 = KP_Delete KP_Decimal KP_Delete KP_Decimal keycode 91 = KP_Delete KP_Decimal KP_Delete KP_Decimal
keycode 92 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift keycode 92 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift
keycode 93 = keycode 93 =
keycode 94 = less greater less greater bar brokenbar bar keycode 94 = less greater less greater bar brokenbar bar
keycode 95 = F11 F11 F11 F11 F11 F11 XF86Switch_VT_11 keycode 95 = F11 F11 F11 F11 F11 F11 XF86Switch_VT_11
keycode 96 = F12 F12 F12 F12 F12 F12 XF86Switch_VT_12 keycode 96 = F12 F12 F12 F12 F12 F12 XF86Switch_VT_12
keycode 97 = keycode 97 =
keycode 98 = Katakana NoSymbol Katakana keycode 98 = Katakana NoSymbol Katakana
keycode 99 = Hiragana NoSymbol Hiragana keycode 99 = Hiragana NoSymbol Hiragana
keycode 100 = Henkan_Mode NoSymbol Henkan_Mode keycode 100 = Henkan_Mode NoSymbol Henkan_Mode
keycode 101 = Hiragana_Katakana NoSymbol Hiragana_Katakana keycode 101 = Hiragana_Katakana NoSymbol Hiragana_Katakana
keycode 102 = Muhenkan NoSymbol Muhenkan keycode 102 = Muhenkan NoSymbol Muhenkan
keycode 103 = keycode 103 =
keycode 104 = KP_Enter NoSymbol KP_Enter keycode 104 = KP_Enter NoSymbol KP_Enter
keycode 105 = Control_R NoSymbol Control_R keycode 105 = Control_R NoSymbol Control_R
keycode 106 = KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide XF86Ungrab keycode 106 = KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide XF86Ungrab
keycode 107 = Print Sys_Req Print Sys_Req keycode 107 = Print Sys_Req Print Sys_Req
keycode 108 = Alt_R Meta_R Alt_R Meta_R keycode 108 = Alt_R Meta_R Alt_R Meta_R
keycode 109 = Linefeed NoSymbol Linefeed keycode 109 = Linefeed NoSymbol Linefeed
keycode 110 = Home NoSymbol Home keycode 110 = Home NoSymbol Home
keycode 111 = Up NoSymbol Up keycode 111 = Up NoSymbol Up
keycode 112 = Prior NoSymbol Prior keycode 112 = Prior NoSymbol Prior
keycode 113 = Left NoSymbol Left keycode 113 = Left NoSymbol Left
keycode 114 = Right NoSymbol Right keycode 114 = Right NoSymbol Right
keycode 115 = End NoSymbol End keycode 115 = End NoSymbol End
keycode 116 = Down NoSymbol Down keycode 116 = Down NoSymbol Down
keycode 117 = Next NoSymbol Next keycode 117 = Next NoSymbol Next
keycode 118 = Insert NoSymbol Insert keycode 118 = Insert NoSymbol Insert
keycode 119 = Delete NoSymbol Delete keycode 119 = Delete NoSymbol Delete
keycode 120 = keycode 120 =
keycode 121 = XF86AudioMute NoSymbol XF86AudioMute keycode 121 = XF86AudioMute NoSymbol XF86AudioMute
keycode 122 = XF86AudioLowerVolume NoSymbol XF86AudioLowerVolume keycode 122 = XF86AudioLowerVolume NoSymbol XF86AudioLowerVolume
keycode 123 = XF86AudioRaiseVolume NoSymbol XF86AudioRaiseVolume keycode 123 = XF86AudioRaiseVolume NoSymbol XF86AudioRaiseVolume
keycode 124 = XF86PowerOff NoSymbol XF86PowerOff keycode 124 = XF86PowerOff NoSymbol XF86PowerOff
keycode 125 = KP_Equal NoSymbol KP_Equal keycode 125 = KP_Equal NoSymbol KP_Equal
keycode 126 = plusminus NoSymbol plusminus keycode 126 = plusminus NoSymbol plusminus
keycode 127 = Pause Break Pause Break keycode 127 = Pause Break Pause Break
keycode 128 = XF86LaunchA NoSymbol XF86LaunchA keycode 128 = XF86LaunchA NoSymbol XF86LaunchA
keycode 129 = KP_Decimal KP_Decimal KP_Decimal KP_Decimal keycode 129 = KP_Decimal KP_Decimal KP_Decimal KP_Decimal
keycode 130 = Hangul NoSymbol Hangul keycode 130 = Hangul NoSymbol Hangul
keycode 131 = Hangul_Hanja NoSymbol Hangul_Hanja keycode 131 = Hangul_Hanja NoSymbol Hangul_Hanja
keycode 132 = keycode 132 =
keycode 133 = keycode 133 =
keycode 134 = Super_R NoSymbol Super_R keycode 134 = Super_R NoSymbol Super_R
keycode 135 = Menu NoSymbol Menu keycode 135 = Menu NoSymbol Menu
keycode 136 = Cancel NoSymbol Cancel keycode 136 = Cancel NoSymbol Cancel
keycode 137 = Redo NoSymbol Redo keycode 137 = Redo NoSymbol Redo
keycode 138 = SunProps NoSymbol SunProps keycode 138 = SunProps NoSymbol SunProps
keycode 139 = Undo NoSymbol Undo keycode 139 = Undo NoSymbol Undo
keycode 140 = SunFront NoSymbol SunFront keycode 140 = SunFront NoSymbol SunFront
keycode 141 = XF86Copy NoSymbol XF86Copy keycode 141 = XF86Copy NoSymbol XF86Copy
keycode 142 = XF86Open NoSymbol XF86Open keycode 142 = XF86Open NoSymbol XF86Open
keycode 143 = XF86Paste NoSymbol XF86Paste keycode 143 = XF86Paste NoSymbol XF86Paste
keycode 144 = Find NoSymbol Find keycode 144 = Find NoSymbol Find
keycode 145 = XF86Cut NoSymbol XF86Cut keycode 145 = XF86Cut NoSymbol XF86Cut
keycode 146 = Help NoSymbol Help keycode 146 = Help NoSymbol Help
keycode 147 = xf86menukb nosymbol xf86menukb keycode 147 = xf86menukb nosymbol xf86menukb
keycode 148 = XF86Calculator NoSymbol XF86Calculator keycode 148 = XF86Calculator NoSymbol XF86Calculator
keycode 149 = keycode 149 =
keycode 150 = XF86Sleep NoSymbol XF86Sleep keycode 150 = XF86Sleep NoSymbol XF86Sleep
keycode 151 = XF86WakeUp NoSymbol XF86WakeUp keycode 151 = XF86WakeUp NoSymbol XF86WakeUp
keycode 152 = XF86Explorer NoSymbol XF86Explorer keycode 152 = XF86Explorer NoSymbol XF86Explorer
keycode 153 = XF86Send NoSymbol XF86Send keycode 153 = XF86Send NoSymbol XF86Send
keycode 154 = keycode 154 =
keycode 155 = XF86Xfer NoSymbol XF86Xfer keycode 155 = XF86Xfer NoSymbol XF86Xfer
keycode 156 = XF86Launch1 NoSymbol XF86Launch1 keycode 156 = XF86Launch1 NoSymbol XF86Launch1
keycode 157 = XF86Launch2 NoSymbol XF86Launch2 keycode 157 = XF86Launch2 NoSymbol XF86Launch2
keycode 158 = XF86WWW NoSymbol XF86WWW keycode 158 = XF86WWW NoSymbol XF86WWW
keycode 159 = XF86DOS NoSymbol XF86DOS keycode 159 = XF86DOS NoSymbol XF86DOS
keycode 160 = XF86ScreenSaver NoSymbol XF86ScreenSaver keycode 160 = XF86ScreenSaver NoSymbol XF86ScreenSaver
keycode 161 = XF86RotateWindows NoSymbol XF86RotateWindows keycode 161 = XF86RotateWindows NoSymbol XF86RotateWindows
keycode 162 = XF86TaskPane NoSymbol XF86TaskPane keycode 162 = XF86TaskPane NoSymbol XF86TaskPane
keycode 163 = XF86Mail NoSymbol XF86Mail keycode 163 = XF86Mail NoSymbol XF86Mail
keycode 164 = XF86Favorites NoSymbol XF86Favorites keycode 164 = XF86Favorites NoSymbol XF86Favorites
keycode 165 = XF86MyComputer NoSymbol XF86MyComputer keycode 165 = XF86MyComputer NoSymbol XF86MyComputer
keycode 166 = XF86Back NoSymbol XF86Back keycode 166 = XF86Back NoSymbol XF86Back
keycode 167 = XF86Forward NoSymbol XF86Forward keycode 167 = XF86Forward NoSymbol XF86Forward
keycode 168 = keycode 168 =
keycode 169 = XF86Eject NoSymbol XF86Eject keycode 169 = XF86Eject NoSymbol XF86Eject
keycode 170 = XF86Eject XF86Eject XF86Eject XF86Eject keycode 170 = XF86Eject XF86Eject XF86Eject XF86Eject
keycode 171 = XF86AudioNext NoSymbol XF86AudioNext keycode 171 = XF86AudioNext NoSymbol XF86AudioNext
keycode 172 = XF86AudioPlay XF86AudioPause XF86AudioPlay XF86AudioPause keycode 172 = XF86AudioPlay XF86AudioPause XF86AudioPlay XF86AudioPause
keycode 173 = XF86AudioPrev NoSymbol XF86AudioPrev keycode 173 = XF86AudioPrev NoSymbol XF86AudioPrev
keycode 174 = XF86AudioStop XF86Eject XF86AudioStop XF86Eject keycode 174 = XF86AudioStop XF86Eject XF86AudioStop XF86Eject
keycode 175 = XF86AudioRecord NoSymbol XF86AudioRecord keycode 175 = XF86AudioRecord NoSymbol XF86AudioRecord
keycode 176 = XF86AudioRewind NoSymbol XF86AudioRewind keycode 176 = XF86AudioRewind NoSymbol XF86AudioRewind
keycode 177 = XF86Phone NoSymbol XF86Phone keycode 177 = XF86Phone NoSymbol XF86Phone
keycode 178 = keycode 178 =
keycode 179 = XF86Tools NoSymbol XF86Tools keycode 179 = XF86Tools NoSymbol XF86Tools
keycode 180 = XF86HomePage NoSymbol XF86HomePage keycode 180 = XF86HomePage NoSymbol XF86HomePage
keycode 181 = XF86Reload NoSymbol XF86Reload keycode 181 = XF86Reload NoSymbol XF86Reload
keycode 182 = XF86Close NoSymbol XF86Close keycode 182 = XF86Close NoSymbol XF86Close
keycode 183 = keycode 183 =
keycode 184 = keycode 184 =
keycode 185 = XF86ScrollUp NoSymbol XF86ScrollUp keycode 185 = XF86ScrollUp NoSymbol XF86ScrollUp
keycode 186 = XF86ScrollDown NoSymbol XF86ScrollDown keycode 186 = XF86ScrollDown NoSymbol XF86ScrollDown
keycode 187 = parenleft NoSymbol parenleft keycode 187 = parenleft NoSymbol parenleft
keycode 188 = parenright NoSymbol parenright keycode 188 = parenright NoSymbol parenright
keycode 189 = XF86New NoSymbol XF86New keycode 189 = XF86New NoSymbol XF86New
keycode 190 = Redo NoSymbol Redo keycode 190 = Redo NoSymbol Redo
keycode 191 = XF86Tools NoSymbol XF86Tools keycode 191 = XF86Tools NoSymbol XF86Tools
keycode 192 = XF86Launch5 NoSymbol XF86Launch5 keycode 192 = XF86Launch5 NoSymbol XF86Launch5
keycode 193 = XF86Launch6 NoSymbol XF86Launch6 keycode 193 = XF86Launch6 NoSymbol XF86Launch6
keycode 194 = XF86Launch7 NoSymbol XF86Launch7 keycode 194 = XF86Launch7 NoSymbol XF86Launch7
keycode 195 = XF86Launch8 NoSymbol XF86Launch8 keycode 195 = XF86Launch8 NoSymbol XF86Launch8
keycode 196 = XF86Launch9 NoSymbol XF86Launch9 keycode 196 = XF86Launch9 NoSymbol XF86Launch9
keycode 197 = keycode 197 =
keycode 198 = XF86AudioMicMute NoSymbol XF86AudioMicMute keycode 198 = XF86AudioMicMute NoSymbol XF86AudioMicMute
keycode 199 = XF86TouchpadToggle NoSymbol XF86TouchpadToggle keycode 199 = XF86TouchpadToggle NoSymbol XF86TouchpadToggle
keycode 200 = XF86TouchpadOn NoSymbol XF86TouchpadOn keycode 200 = XF86TouchpadOn NoSymbol XF86TouchpadOn
keycode 201 = XF86TouchpadOff NoSymbol XF86TouchpadOff keycode 201 = XF86TouchpadOff NoSymbol XF86TouchpadOff
keycode 202 = keycode 202 =
keycode 203 = Mode_switch NoSymbol Mode_switch keycode 203 = Mode_switch NoSymbol Mode_switch
keycode 204 = NoSymbol Alt_L NoSymbol Alt_L keycode 204 = NoSymbol Alt_L NoSymbol Alt_L
keycode 205 = NoSymbol Meta_L NoSymbol Meta_L keycode 205 = NoSymbol Meta_L NoSymbol Meta_L
keycode 206 = NoSymbol Super_L NoSymbol Super_L keycode 206 = NoSymbol Super_L NoSymbol Super_L
keycode 207 = NoSymbol Hyper_L NoSymbol Hyper_L keycode 207 = NoSymbol Hyper_L NoSymbol Hyper_L
keycode 208 = XF86AudioPlay NoSymbol XF86AudioPlay keycode 208 = XF86AudioPlay NoSymbol XF86AudioPlay
keycode 209 = XF86AudioPause NoSymbol XF86AudioPause keycode 209 = XF86AudioPause NoSymbol XF86AudioPause
keycode 210 = XF86Launch3 NoSymbol XF86Launch3 keycode 210 = XF86Launch3 NoSymbol XF86Launch3
keycode 211 = XF86Launch4 NoSymbol XF86Launch4 keycode 211 = XF86Launch4 NoSymbol XF86Launch4
keycode 212 = XF86LaunchB NoSymbol XF86LaunchB keycode 212 = XF86LaunchB NoSymbol XF86LaunchB
keycode 213 = XF86Suspend NoSymbol XF86Suspend keycode 213 = XF86Suspend NoSymbol XF86Suspend
keycode 214 = XF86Close NoSymbol XF86Close keycode 214 = XF86Close NoSymbol XF86Close
keycode 215 = XF86AudioPlay NoSymbol XF86AudioPlay keycode 215 = XF86AudioPlay NoSymbol XF86AudioPlay
keycode 216 = XF86AudioForward NoSymbol XF86AudioForward keycode 216 = XF86AudioForward NoSymbol XF86AudioForward
keycode 217 = keycode 217 =
keycode 218 = Print NoSymbol Print keycode 218 = Print NoSymbol Print
keycode 219 = keycode 219 =
keycode 220 = XF86WebCam NoSymbol XF86WebCam keycode 220 = XF86WebCam NoSymbol XF86WebCam
keycode 221 = keycode 221 =
keycode 222 = keycode 222 =
keycode 223 = XF86Mail NoSymbol XF86Mail keycode 223 = XF86Mail NoSymbol XF86Mail
keycode 224 = XF86Messenger NoSymbol XF86Messenger keycode 224 = XF86Messenger NoSymbol XF86Messenger
keycode 225 = XF86Search NoSymbol XF86Search keycode 225 = XF86Search NoSymbol XF86Search
keycode 226 = XF86Go NoSymbol XF86Go keycode 226 = XF86Go NoSymbol XF86Go
keycode 227 = XF86Finance NoSymbol XF86Finance keycode 227 = XF86Finance NoSymbol XF86Finance
keycode 228 = XF86Game NoSymbol XF86Game keycode 228 = XF86Game NoSymbol XF86Game
keycode 229 = XF86Shop NoSymbol XF86Shop keycode 229 = XF86Shop NoSymbol XF86Shop
keycode 230 = keycode 230 =
keycode 231 = Cancel NoSymbol Cancel keycode 231 = Cancel NoSymbol Cancel
keycode 232 = XF86MonBrightnessDown NoSymbol XF86MonBrightnessDown keycode 232 = XF86MonBrightnessDown NoSymbol XF86MonBrightnessDown
keycode 233 = XF86MonBrightnessUp NoSymbol XF86MonBrightnessUp keycode 233 = XF86MonBrightnessUp NoSymbol XF86MonBrightnessUp
keycode 234 = XF86AudioMedia NoSymbol XF86AudioMedia keycode 234 = XF86AudioMedia NoSymbol XF86AudioMedia
keycode 235 = XF86Display NoSymbol XF86Display keycode 235 = XF86Display NoSymbol XF86Display
keycode 236 = XF86KbdLightOnOff NoSymbol XF86KbdLightOnOff keycode 236 = XF86KbdLightOnOff NoSymbol XF86KbdLightOnOff
keycode 237 = XF86KbdBrightnessDown NoSymbol XF86KbdBrightnessDown keycode 237 = XF86KbdBrightnessDown NoSymbol XF86KbdBrightnessDown
keycode 238 = XF86KbdBrightnessUp NoSymbol XF86KbdBrightnessUp keycode 238 = XF86KbdBrightnessUp NoSymbol XF86KbdBrightnessUp
keycode 239 = XF86Send NoSymbol XF86Send keycode 239 = XF86Send NoSymbol XF86Send
keycode 240 = XF86Reply NoSymbol XF86Reply keycode 240 = XF86Reply NoSymbol XF86Reply
keycode 241 = XF86MailForward NoSymbol XF86MailForward keycode 241 = XF86MailForward NoSymbol XF86MailForward
keycode 242 = XF86Save NoSymbol XF86Save keycode 242 = XF86Save NoSymbol XF86Save
keycode 243 = XF86Documents NoSymbol XF86Documents keycode 243 = XF86Documents NoSymbol XF86Documents
keycode 244 = XF86Battery NoSymbol XF86Battery keycode 244 = XF86Battery NoSymbol XF86Battery
keycode 245 = XF86Bluetooth NoSymbol XF86Bluetooth keycode 245 = XF86Bluetooth NoSymbol XF86Bluetooth
keycode 246 = XF86WLAN NoSymbol XF86WLAN keycode 246 = XF86WLAN NoSymbol XF86WLAN
keycode 247 = keycode 247 =
keycode 248 = XF86Display NoSymbol XF86Display keycode 248 = XF86Display NoSymbol XF86Display
keycode 249 = keycode 249 =
keycode 250 = keycode 250 =
keycode 251 = keycode 251 =
keycode 252 = keycode 252 =
keycode 253 = keycode 253 =
keycode 254 = XF86WWAN NoSymbol XF86WWAN keycode 254 = XF86WWAN NoSymbol XF86WWAN
keycode 255 = XF86RFKill NoSymbol XF86RFKill keycode 255 = XF86RFKill NoSymbol XF86RFKill
#+end_src #+end_src
* =~/.xinitrc= * =~/.xinitrc=
@ -347,55 +347,55 @@
:END: :END:
#+begin_src bash #+begin_src bash
dbus-update-activation-environment --systemd DISPLAY dbus-update-activation-environment --systemd DISPLAY
#+end_src #+end_src
Fix for Matlab. Fix for Matlab.
#+begin_src bash #+begin_src bash
export _JAVA_AWT_WM_NONREPARENTING=1 export _JAVA_AWT_WM_NONREPARENTING=1
#+end_src #+end_src
Set =DISPLAY= for =dunst= when started with =systemd=. Set =DISPLAY= for =dunst= when started with =systemd=.
#+begin_src bash #+begin_src bash
systemctl --user import-environment DISPLAY systemctl --user import-environment DISPLAY
#+end_src #+end_src
Merge in defaults and keymaps Merge in defaults and keymaps
#+BEGIN_SRC bash #+BEGIN_SRC bash
userresources=$HOME/.Xresources userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap sysmodmap=/etc/X11/xinit/.Xmodmap
if [ -f $sysresources ]; then if [ -f $sysresources ]; then
xrdb -merge $sysresources xrdb -merge $sysresources
fi fi
if [ -f $sysmodmap ]; then if [ -f $sysmodmap ]; then
xmodmap $sysmodmap xmodmap $sysmodmap
fi fi
if [ -f "$userresources" ]; then if [ -f "$userresources" ]; then
xrdb -merge "$userresources" xrdb -merge "$userresources"
fi fi
if [ -f "$usermodmap" ]; then if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap" xmodmap "$usermodmap"
fi fi
#+END_SRC #+END_SRC
Start =gnome-keyring-daemon=. Start =gnome-keyring-daemon=.
#+begin_src bash #+begin_src bash
eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh) eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh)
export SSH_AUTH_SOCK export SSH_AUTH_SOCK
#+end_src #+end_src
#+begin_src bash #+begin_src bash
[ -f ~/.xprofile ] && . ~/.xprofile [ -f ~/.xprofile ] && . ~/.xprofile
#+end_src #+end_src
#+begin_src bash #+begin_src bash
exec i3 exec i3
#+end_src #+end_src
* =~/.xprofile= * =~/.xprofile=
@ -408,45 +408,45 @@ Start =gnome-keyring-daemon=.
Keyboard Options: Keyboard Options:
#+begin_src bash #+begin_src bash
# Set repetition keyboard rate # Set repetition keyboard rate
xset r rate 200 40 & xset r rate 200 40 &
# Set International US keyboard layout # Set International US keyboard layout
setxkbmap -layout us -variant intl -option caps:escape & setxkbmap -layout us -variant intl -option caps:escape &
#+end_src #+end_src
Start programs related to display: Start programs related to display:
#+begin_src bash #+begin_src bash
# Screen options # Screen options
xrandr --output eDP1 --mode 1920x1080 --dpi 192 & xrandr --output eDP1 --mode 1920x1080 --dpi 192 &
# Set random wallpaper # Set random wallpaper
setbg ~/.local/data/wallpapers/ & setbg ~/.local/data/wallpapers/ &
# Hide mouse cursor after x seconds # Hide mouse cursor after x seconds
pgrep -xu "$USER" unclutter >/dev/null || \ pgrep -xu "$USER" unclutter >/dev/null || \
unclutter --timeout 5 & unclutter --timeout 5 &
# Autolock screen after x minutes # Autolock screen after x minutes
xautolock -locker "~/.local/bin/lockscreen" -detectsleep -time 30 -notify 60 -notifier "dunstify --replace=31846 -u critical -t 10000 -- 'Locking Screen' '60 seconds'" & xautolock -locker "~/.local/bin/lockscreen" -detectsleep -time 30 -notify 60 -notifier "dunstify --replace=31846 -u critical -t 10000 -- 'Locking Screen' '60 seconds'" &
# Redshift # Redshift
pgrep -xu "$USER" redshift >/dev/null || \ pgrep -xu "$USER" redshift >/dev/null || \
redshift & redshift &
# Run Picom (compositor) # Run Picom (compositor)
picom --daemon & picom --daemon &
#+end_src #+end_src
Manually start =mopidy= as it seems to not start automatically: Manually start =mopidy= as it seems to not start automatically:
#+begin_src bash #+begin_src bash
# Mopidy # Mopidy
mopidy --config ~/.config/mopidy/mopidy.conf >/dev/null 2>&1 & mopidy --config ~/.config/mopidy/mopidy.conf >/dev/null 2>&1 &
#+end_src #+end_src
Finally, run SXHKD for the key bindings: Finally, run SXHKD for the key bindings:
#+begin_src bash #+begin_src bash
# Start sxhkd # Start sxhkd
pgrep -xu "$USER" sxhkd >/dev/null || \ pgrep -xu "$USER" sxhkd >/dev/null || \
sxhkd -m 1 -c ~/.config/sxhkd/sxhkdrc & sxhkd -m 1 -c ~/.config/sxhkd/sxhkdrc &
#+end_src #+end_src

View File

@ -92,13 +92,13 @@ set recolor-keephue "false"
** Extract one page as a PDF ** Extract one page as a PDF
#+begin_src bash :tangle ~/.config/zathura/scripts/extract-pdf-page.sh #+begin_src bash :tangle ~/.config/zathura/scripts/extract-pdf-page.sh
tmpfile=/tmp/pdf_page.pdf tmpfile=/tmp/pdf_page.pdf
# Ask for page number # Ask for page number
# Ideally would get the page from Zathura... # Ideally would get the page from Zathura...
pagenum=$(rofi -dmenu -p "Page Number") pagenum=$(rofi -dmenu -p "Page Number")
pdftk $1 cat $pagenum output $tmpfile.pdf && \ pdftk $1 cat $pagenum output $tmpfile.pdf && \
pdf2svg $tmpfile.pdf $tmpfile.svg && \ pdf2svg $tmpfile.pdf $tmpfile.svg && \
inkscape $tmpfile.svg inkscape $tmpfile.svg
#+end_src #+end_src