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

357
bash.org
View File

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

View File

@ -3,6 +3,7 @@
#+PROPERTY: header-args:bash :comments both :mkdirp yes
#+PROPERTY: header-args:bash+ :shebang "#!/usr/bin/env bash"
#+PROPERTY: header-args:bash+ :tangle-mode (identity #o555)
* =remote-desktop= - Remote Desktop Connect
:PROPERTIES:
@ -10,28 +11,28 @@
:END:
#+begin_src bash :tangle ~/.local/bin/remote-desktop
computer=$(echo -e 'RNICE\nPCMEL1\nPCNASS1\nPCMEG01' | dmenu -p 'Computer:' -l 20);
computer=$(echo -e 'RNICE\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
PCMEL1)
xfreerdp /u:dehaeze /d:ESRF /clipboard /bpp:8 /bpp:16 /compression -themes -wallpaper /async-update /async-input -glyph-cache /audio-mode:1 /dynamic-resolution /auto-reconnect /p:$(pass ssl.esrf.fr/dehaeze | sed -n 1p) /v:PCMEL1.esrf.fr;
;;
PCMEG01)
xfreerdp /u:dehaeze /d:ESRF /clipboard /bpp:8 /bpp:16 /compression -themes -wallpaper /async-update /async-input -glyph-cache /audio-mode:1 /dynamic-resolution /auto-reconnect /p:$(pass ssl.esrf.fr/dehaeze | sed -n 1p) /v:PCMEG01.esrf.fr;
;;
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;
;;
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;
;;
,*)
echo "Not existing" && \
dunstify --replace=89891 --urgency=critical 'Rdesktop' "No config for $computer";
;;
esac
case $computer in
PCMEL1)
xfreerdp /u:dehaeze /d:ESRF /clipboard /bpp:8 /bpp:16 /compression -themes -wallpaper /async-update /async-input -glyph-cache /audio-mode:1 /dynamic-resolution /auto-reconnect /p:$(pass ssl.esrf.fr/dehaeze | sed -n 1p) /v:PCMEL1.esrf.fr;
;;
PCMEG01)
xfreerdp /u:dehaeze /d:ESRF /clipboard /bpp:8 /bpp:16 /compression -themes -wallpaper /async-update /async-input -glyph-cache /audio-mode:1 /dynamic-resolution /auto-reconnect /p:$(pass ssl.esrf.fr/dehaeze | sed -n 1p) /v:PCMEG01.esrf.fr;
;;
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;
;;
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;
;;
,*)
echo "Not existing" && \
dunstify --replace=89891 --urgency=critical 'Rdesktop' "No config for $computer";
;;
esac
#+end_src
* =print-rnice= - Print on Rnice
@ -40,18 +41,18 @@
:END:
#+begin_src bash :tangle ~/.local/bin/print-rnice
nbpage=$(echo -e '1\n2\n4' | dmenu -p 'Number of pages per sheet' -l 20);
sides=$(echo -e 'one-sided\ntwo-sided-long-edge\ntwo-sided-short-edge' | dmenu -p 'Two Sided:' -l 20);
media=$(echo -e 'A4\nA3' | dmenu -p 'Size:' -l 20);
nbpage=$(echo -e '1\n2\n4' | dmenu -p 'Number of pages per sheet' -l 20);
sides=$(echo -e 'one-sided\ntwo-sided-long-edge\ntwo-sided-short-edge' | dmenu -p 'Two Sided:' -l 20);
media=$(echo -e 'A4\nA3' | dmenu -p 'Size:' -l 20);
# First copy the file to Rnice
if sshpass -p "$(pass ssl.esrf.fr/dehaeze | sed -n 1p)" scp $1 dehaeze@rnice:~/Downloads/; then
# Then print on Rnice
sshpass -p "$(pass ssl.esrf.fr/dehaeze | sed -n 1p)" ssh dehaeze@rnice "lpr -o media=$media -o sides=$sides -o number-up=$nbpage -P ctb110c1u ~/Downloads/$1";
# Finally, delete the file
else
echo "Command Failed"
fi
# First copy the file to Rnice
if sshpass -p "$(pass ssl.esrf.fr/dehaeze | sed -n 1p)" scp $1 dehaeze@rnice:~/Downloads/; then
# Then print on Rnice
sshpass -p "$(pass ssl.esrf.fr/dehaeze | sed -n 1p)" ssh dehaeze@rnice "lpr -o media=$media -o sides=$sides -o number-up=$nbpage -P ctb110c1u ~/Downloads/$1";
# Finally, delete the file
else
echo "Command Failed"
fi
#+end_src
* =tmp14= - Mount/Umount tmp_14_days folder
@ -60,19 +61,19 @@
:END:
#+begin_src bash :tangle ~/.local/bin/tmp_14_days
if [ $1 == "mount" ]; then
if sshfs -o allow_other,default_permissions -p 5022 dehaeze@firewall.esrf.fr:/tmp_14_days/ ~/mnt/ESRF; then
dunstify --replace=58249 'ESRF TMP ' 'Successfully mounted'
else
dunstify --replace=58249 --urgency=critical 'ESRF TMP ' 'Error while mounted'
fi
elif [ $1 == "umount" ]; then
if umount /home/thomas/mnt/ESRF/; then
dunstify --replace=58249 'ESRF TMP ' 'Successfully unmounted'
else
dunstify --replace=58249 --urgency=critical 'ESRF TMP ' 'Error while unmounted'
fi
fi
if [ $1 == "mount" ]; then
if sshfs -o allow_other,default_permissions -p 5022 dehaeze@firewall.esrf.fr:/tmp_14_days/ ~/mnt/ESRF; then
dunstify --replace=58249 'ESRF TMP ' 'Successfully mounted'
else
dunstify --replace=58249 --urgency=critical 'ESRF TMP ' 'Error while mounted'
fi
elif [ $1 == "umount" ]; then
if umount /home/thomas/mnt/ESRF/; then
dunstify --replace=58249 'ESRF TMP ' 'Successfully unmounted'
else
dunstify --replace=58249 --urgency=critical 'ESRF TMP ' 'Error while unmounted'
fi
fi
#+end_src
@ -83,23 +84,23 @@
As an alternative, =sshfs= can be used:
#+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
#+begin_src bash :tangle ~/.local/bin/nas
if [ $1 == "mount" ]; then
if mount /home/thomas/mnt/NAS/; then
dunstify --replace=58249 'NAS ' 'Successfully mounted'
else
dunstify --replace=58249 --urgency=critical 'NAS ' 'Error while mounted'
fi
elif [ $1 == "umount" ]; then
if umount /home/thomas/mnt/NAS/; then
dunstify --replace=58249 'NAS ' 'Successfully unmounted'
else
dunstify --replace=58249 --urgency=critical 'NAS ' 'Error while unmounted'
fi
fi
if [ $1 == "mount" ]; then
if mount /home/thomas/mnt/NAS/; then
dunstify --replace=58249 'NAS ' 'Successfully mounted'
else
dunstify --replace=58249 --urgency=critical 'NAS ' 'Error while mounted'
fi
elif [ $1 == "umount" ]; then
if umount /home/thomas/mnt/NAS/; then
dunstify --replace=58249 'NAS ' 'Successfully unmounted'
else
dunstify --replace=58249 --urgency=critical 'NAS ' 'Error while unmounted'
fi
fi
#+end_src
* =torrent-add= - Download Torrent
@ -108,9 +109,9 @@ As an alternative, =sshfs= can be used:
:END:
#+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 && \
dunstify 'Torrent' 'Successfully added' || \
dunstify 'Torrent' 'Error'
transmission-remote 82.64.103.2:9091 --auth tdehaeze:$(pass nas/transmission | sed -n 1p) -a $1 && \
dunstify 'Torrent' 'Successfully added' || \
dunstify 'Torrent' 'Error'
#+end_src
* =dl-add= - Direct Download with Aria2
@ -119,7 +120,7 @@ As an alternative, =sshfs= can be used:
:END:
#+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
* =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.
#+begin_src bash :tangle ~/.local/bin/note-extract-fig
# First check that the first argument is a pdf file
if [[ -f $1 && $1 == *.pdf ]]; then
pngfile=$(echo $1 | cut -f 1 -d '.' | sed 's/$/.png/')
# First check that the first argument is a pdf file
if [[ -f $1 && $1 == *.pdf ]]; then
pngfile=$(echo $1 | cut -f 1 -d '.' | sed 's/$/.png/')
# Convert to png and crop png
pdf2png $1 && convert -trim "$pngfile" "$pngfile"
fi
# Convert to png and crop png
pdf2png $1 && convert -trim "$pngfile" "$pngfile"
fi
#+end_src
* =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:
#+begin_src bash :tangle ~/.local/bin/share
if [ $TMUX ]; then
tmux split -v -l 1 "curl --progress-bar -F\"file=@$1\" https://file.tdehaeze.xyz/ | xsel -ib && dunstify 'Upload' 'Successful' || dunstify --urgency=critical 'Upload' 'Failed';" && tmux select-pane -U
else
curl --progress-bar -F"file=@$1" https://file.tdehaeze.xyz/ | xsel -ib && \
dunstify 'Upload' 'Successful' || \
dunstify --urgency=critical 'Upload' 'Failed'
fi
if [ $TMUX ]; then
tmux split -v -l 1 "curl --progress-bar -F\"file=@$1\" https://file.tdehaeze.xyz/ | xsel -ib && dunstify 'Upload' 'Successful' || dunstify --urgency=critical 'Upload' 'Failed';" && tmux select-pane -U
else
curl --progress-bar -F"file=@$1" https://file.tdehaeze.xyz/ | xsel -ib && \
dunstify 'Upload' 'Successful' || \
dunstify --urgency=critical 'Upload' 'Failed'
fi
#+end_src
* =screen-select= - Xrandr pre-defined scripts
@ -160,27 +161,27 @@ Script used to convert a figure drawn on my Boox note2 to a png file that can th
:END:
#+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
"Work")
xrandr --output eDP1 --off --output DP1 --off --output DP1-1 --primary --mode 2560x1440 --pos 0x0 --rotate normal --output DP1-2 --off --output DP2 --off --output VIRTUAL1 --off
;;
"XPS")
xrandr --output eDP1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output DP1 --off --output DP1-1 --off --output DP1-2 --off --output DP2 --off --output VIRTUAL1 --off
;;
"Home")
xrandr --output eDP1 --off --output DP2-1 --primary --mode 2560x1440 --pos 0x0 --rotate normal --output DP1 --off --output VIRTUAL1 --off
;;
,*)
echo "== ! missing or invalid argument ! =="
exit 2
esac
case "$option" in
"Work")
xrandr --output eDP1 --off --output DP1 --off --output DP1-1 --primary --mode 2560x1440 --pos 0x0 --rotate normal --output DP1-2 --off --output DP2 --off --output VIRTUAL1 --off
;;
"XPS")
xrandr --output eDP1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output DP1 --off --output DP1-1 --off --output DP1-2 --off --output DP2 --off --output VIRTUAL1 --off
;;
"Home")
xrandr --output eDP1 --off --output DP2-1 --primary --mode 2560x1440 --pos 0x0 --rotate normal --output DP1 --off --output VIRTUAL1 --off
;;
,*)
echo "== ! missing or invalid argument ! =="
exit 2
esac
setbg && \ # Fix background if screen size/arangement has changed.
polybar-msg cmd restart # restart polybar
setbg && \ # Fix background if screen size/arangement has changed.
polybar-msg cmd restart # restart polybar
exit 0
exit 0
#+end_src
* =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:
#+begin_src bash :tangle ~/.local/bin/color-picker
xcolor | tr -d '\n' | xsel -b
xcolor | tr -d '\n' | xsel -b
#+end_src

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

@ -8,49 +8,49 @@
:END:
#+BEGIN_SRC conf
[addressbooks]
[[google]]
path = ~/.contacts/default/
[addressbooks]
[[google]]
path = ~/.contacts/default/
[general]
debug = no
default_action = list
editor = vim
merge_editor = vimdiff
[general]
debug = no
default_action = list
editor = vim
merge_editor = vimdiff
[contact table]
# display names by first or last name: first_name / last_name
display = first_name
# group by address book: yes / no
group_by_addressbook = no
# reverse table ordering: yes / no
reverse = no
# append nicknames to name column: yes / no
show_nicknames = no
# show uid table column: yes / no
show_uids = yes
# sort by first or last name: first_name / last_name
sort = last_name
# localize dates: yes / no
localize_dates = yes
# set a comma separated list of preferred phone number types in descending priority
# or nothing for non-filtered alphabetical order
preferred_phone_number_type = pref, cell, home
# set a comma separated list of preferred email address types in descending priority
# or nothing for non-filtered alphabetical order
preferred_email_address_type = pref, work, home
[contact table]
# display names by first or last name: first_name / last_name
display = first_name
# group by address book: yes / no
group_by_addressbook = no
# reverse table ordering: yes / no
reverse = no
# append nicknames to name column: yes / no
show_nicknames = no
# show uid table column: yes / no
show_uids = yes
# sort by first or last name: first_name / last_name
sort = last_name
# localize dates: yes / no
localize_dates = yes
# set a comma separated list of preferred phone number types in descending priority
# or nothing for non-filtered alphabetical order
preferred_phone_number_type = pref, cell, home
# set a comma separated list of preferred email address types in descending priority
# or nothing for non-filtered alphabetical order
preferred_email_address_type = pref, work, home
[vcard]
# extend contacts with your own private objects
# 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
# example:
# private_objects = Jabber, Skype, Twitter
private_objects = Jabber, Skype, Twitter
# preferred vcard version: 3.0 / 4.0
preferred_version = 3.0
# Look into source vcf files to speed up search queries: yes / no
search_in_source_files = no
# skip unparsable vcard files: yes / no
skip_unparsable = no
[vcard]
# extend contacts with your own private objects
# 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
# example:
# private_objects = Jabber, Skype, Twitter
private_objects = Jabber, Skype, Twitter
# preferred vcard version: 3.0 / 4.0
preferred_version = 3.0
# Look into source vcf files to speed up search queries: yes / no
search_in_source_files = no
# skip unparsable vcard files: yes / no
skip_unparsable = no
#+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">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-01-03 dim. 22:25 -->
<!-- 2021-01-04 lun. 21:32 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Configuration Files</title>
<meta name="generator" content="Org mode" />
@ -28,6 +28,7 @@
<li><a href="#org3a8118a">Redshift</a></li>
<li><a href="#org91a7258">dmenu</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>
</ul>
</div>
@ -192,6 +193,38 @@
</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">
<h2 id="orgd31ca2a"><code>bukurun</code> Rofi Frontend for Buku (Bookmark Manager)</h2>
<div class="outline-text-2" id="text-orgd31ca2a">
@ -235,7 +268,7 @@ Colors
</div>
<div id="postamble" class="status">
<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>
</body>
</html>

View File

@ -3,13 +3,32 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-01-03 dim. 22:19 -->
<!-- 2021-01-04 lun. 21:32 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Doom Emacs Configuration</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Dehaeze Thomas" />
<link rel="stylesheet" type="text/css" href="./dist/style.css"/>
<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>
<body>
<div id="org-div-home-and-up">
@ -22,6 +41,8 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org1e17e7b">Installation</a></li>
<li><a href="#org7191145">Introduction and Resources</a></li>
<li><a href="#org8889015">Useful Bindings</a>
<ul>
<li><a href="#org7df6a45">General Bindings</a></li>
@ -53,7 +74,7 @@
<ul>
<li><a href="#org9a192de">Org General Config</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="#org82e8603">Org Refile</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="#orgab67420">Org Special Block Extras</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>
<li><a href="#orgd172897">Youtube Links</a></li>
</ul>
@ -151,7 +172,7 @@
</li>
<li><a href="#org5722bd7">LaTeX</a>
<ul>
<li><a href="#orgebf93bf">Basic Config</a></li>
<li><a href="#orgaca85bc">Basic Config</a></li>
<li><a href="#orge71a16b">Bibtex</a></li>
</ul>
</li>
@ -169,7 +190,7 @@
<li><a href="#orgafab721">Resources</a></li>
<li><a href="#org2b8b75f">Cheatsheet</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="#org716f5e2">Provide Information</a></li>
<li><a href="#org48a7840">Receiving emails using mbsync</a></li>
@ -183,7 +204,22 @@
</ul>
</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>
<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>
@ -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>.
After that, restart Emacs with <code>spc q r</code>.
</p>
</div>
</div>
<div id="outline-container-org8889015" class="outline-2">
<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-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-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>
</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 id="outline-container-org08aba47" class="outline-3">
<h3 id="org08aba47">Org Links</h3>
<div class="outline-text-3" id="text-org08aba47">
<div id="outline-container-org06943ee" class="outline-3">
<h3 id="org06943ee">Org Links</h3>
<div class="outline-text-3" id="text-org06943ee">
<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
<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-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-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>
@ -1442,24 +1485,28 @@ Do not export headline with the <code>:ignore:</code> tag:
<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
<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"> tex: {</span>
<span class="org-string"> tags: 'ams',</span>
<span class="org-string"> macros: {bm: [\"\\\\boldsymbol{#1}\",1],}</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 type=\"text/javascript\" src=\"%PATH\"&gt;&lt;/script&gt;"</span><span class="org-rainbow-delimiters-depth-2">)</span>
<span class="org-string">"&lt;script&gt;</span>
<span class="org-string"> MathJax = {</span>
<span class="org-string"> svg: {</span>
<span class="org-string"> scale: %SCALE,</span>
<span class="org-string"> fontCache: \"global\"</span>
<span class="org-string"> },</span>
<span class="org-string"> tex: {</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-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-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><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>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-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">"1"</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>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>
@ -1504,12 +1551,12 @@ This is not working
</p>
<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"> Instead of random IDs like \"#orga1b2c3\", use heading titles,</span>
<span class="org-doc"> made unique when necessary."</span>
<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-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>
<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-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-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>
@ -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>
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-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>
@ -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-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-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-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>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-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>title <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">if</span> headline-p
<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>
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>
@ -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-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>
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>
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>
<span class="org-comment-delimiter">;; </span><span class="org-comment">get ascii-only form of title without needing percent-encoding</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-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>
<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>
</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-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">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-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 id="outline-container-orga4f41d0" class="outline-3">
<h3 id="orga4f41d0">Org Links</h3>
<div class="outline-text-3" id="text-orga4f41d0">
<div id="outline-container-orgb941771" class="outline-3">
<h3 id="orgb941771">Org Links</h3>
<div class="outline-text-3" id="text-orgb941771">
</div>
<div id="outline-container-orgd172897" class="outline-4">
<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="org-src-container">
<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>
</pre>
</div>
@ -2947,7 +3016,7 @@ Default options for Matlab code
</p>
<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
<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-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>
@ -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>
body<span class="org-rainbow-delimiters-depth-2">)</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-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-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
<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-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-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
<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>
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-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-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 <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-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">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-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>
@ -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-2">(</span>session
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-keyword">if</span> matlabp
org-babel-octave-eoe-indicator
org-babel-octave-eoe-output<span class="org-rainbow-delimiters-depth-3">)</span>
<span class="org-variable-name">org-babel-octave-eoe-indicator</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>
<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-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-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-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-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-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>
@ -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-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-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>
@ -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-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-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>
@ -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-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-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>
@ -3501,21 +3570,21 @@ Nice Functions:
<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">: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-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-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-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-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-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>
</div>
<div id="outline-container-orgebf93bf" class="outline-3">
<h3 id="orgebf93bf">Basic Config</h3>
<div class="outline-text-3" id="text-orgebf93bf">
<div id="outline-container-orgaca85bc" class="outline-3">
<h3 id="orgaca85bc">Basic Config</h3>
<div class="outline-text-3" id="text-orgaca85bc">
<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
<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>
<div class="outline-text-3" id="text-orga959435">
<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>
<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>
<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> <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> 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>
</div>
</div>
@ -3959,7 +4028,7 @@ Provides nice functions such as:
<h3 id="orgc8534a9">Completion in the Matlab Shell</h3>
<div class="outline-text-3" id="text-orgc8534a9">
<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>
</pre>
</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-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>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-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>
@ -3993,31 +4062,31 @@ Provides nice functions such as:
<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>
<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-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-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-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-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-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-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>
</div>
@ -4161,9 +4230,9 @@ Choose account label to feed msmtp -a option based on From header in Message buf
</div>
</div>
<div id="outline-container-orgec0e33d" class="outline-3">
<h3 id="orgec0e33d">Basic Config</h3>
<div class="outline-text-3" id="text-orgec0e33d">
<div id="outline-container-org95c7ff3" class="outline-3">
<h3 id="org95c7ff3">Basic Config</h3>
<div class="outline-text-3" id="text-org95c7ff3">
<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
<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>
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>
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>
+hugo <span class="org-comment-delimiter">; </span><span class="org-comment">use Emacs for hugo blogging</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>
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>
@ -4549,7 +4619,7 @@ Choose account label to feed msmtp -a option based on From header in Message buf
</div>
<div id="postamble" class="status">
<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>
</body>
</html>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-01-03 dim. 22:56 -->
<!-- 2021-01-04 lun. 21:32 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Dotfiles - Manjaro Linux</title>
<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
#+begin_src bash :var passname="""
pass $passname | sed -n 1p
pass $passname | sed -n 1p
#+end_src
* =pdf2svg= - Export to pdf/png/svg at the same time
#+name: pdf2svg
#+begin_src sh :var file="" :var ext="svg" :results output
_mydir="$(pwd)";
file=$(echo "$file" | cut -f 2- -d ':');
_figdir=$(dirname "$file");
cd $_figdir;
filename=$(echo "${file##*/}" | cut -f 1 -d '.');
pdftocairo -png -transp -singlefile "$filename.pdf";
pdftocairo -svg "$filename.pdf";
cd "$_mydir";
echo "[[file:$_figdir/$filename.$ext]]"
_mydir="$(pwd)";
file=$(echo "$file" | cut -f 2- -d ':');
_figdir=$(dirname "$file");
cd $_figdir;
filename=$(echo "${file##*/}" | cut -f 1 -d '.');
pdftocairo -png -transp -singlefile "$filename.pdf";
pdftocairo -svg "$filename.pdf";
cd "$_mydir";
echo "[[file:$_figdir/$filename.$ext]]"
#+end_src
* =addhdr= - Add hline to tables
#+name: addhdr
#+begin_src emacs-lisp :var tbl=""
(cons (car tbl) (cons 'hline (cdr tbl)))
(cons (car tbl) (cons 'hline (cdr tbl)))
#+end_src
* Matlab Related
@ -35,22 +35,22 @@
#+name: matlab-dir
#+begin_src matlab :tangle no :results none :exports none :var current_dir=""
%% Go to current Directory
cd(current_dir);
%% Go to current Directory
cd(current_dir);
%% Initialize ans with org-babel
ans = 0;
%% Initialize ans with org-babel
ans = 0;
#+end_src
** =matlab-init= Initialize matlab
#+name: matlab-init
#+begin_src matlab :results none :exports none
%% Clear Workspace and Close figures
clear; close all; clc;
%% Clear Workspace and Close figures
clear; close all; clc;
%% Intialize Laplace variable
s = zpk('s');
%% Intialize Laplace variable
s = zpk('s');
#+end_src
** =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
#+begin_src matlab :results value raw replace :exports code :var filepath="" :var figsize="normal-normal"
if ~exist('filepath') || length(filepath) < 2
symbols = ['a':'z' 'A':'Z' '0':'9'];
random_string = symbols(randi(numel(symbols),[1 5]));
filepath = ['/tmp/matlab-fig-', random_string];
end
if ~exist('filepath') || length(filepath) < 2
symbols = ['a':'z' 'A':'Z' '0':'9'];
random_string = symbols(randi(numel(symbols),[1 5]));
filepath = ['/tmp/matlab-fig-', random_string];
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

View File

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

18
git.org
View File

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

62
gtk.org
View File

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

View File

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

View File

@ -35,6 +35,6 @@ There are Specific configuration files for:
- *Desktop Applications*: [[file:applications.org][.desktop files]]
- *Computation*: [[file:matlab.org][Matlab]]
- *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]].

View File

@ -429,6 +429,7 @@ Addons:
- [[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/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
#+begin_src bash
@ -1560,10 +1561,10 @@ To see next timers
| =msmtp= | SMTP client that can be used as an SMTP plugin for Mutt |
| =isync= | Synchronize a maildir with an IMAP server |
| =vdirsyncer= | Synchronize calendars and contacts |
| =abook= | Address book with mutt support |
| =urlview= | URL extractor/launcher |
| =w3m= | Pager/text based browser |
| =abook= | Address book with mutt support |
| =elinks= | Text mode web browser |
| =lynx= | Text mode web browser |
| =lbdb= | Little brother's database for the mutt mail reader |
| =mu= | Tool for searching e-mail messages stored in the maildir-format |
| =ripmime= | Extract attachments out of MIME encoded email packages |
@ -1615,3 +1616,4 @@ To see next timers
| =hugo= | Configurable static site generator |
| =markdown= | Text-to-HTML conversion tool |
| =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
#+begin_src matlab
set(groot, 'DefaultTextInterpreter', 'LaTeX');
set(groot, 'DefaultAxesTickLabelInterpreter', 'LaTeX');
set(groot, 'DefaultAxesFontName', 'LaTeX');
set(groot, 'DefaultLegendInterpreter', 'LaTeX');
set(groot, 'DefaultTextInterpreter', 'LaTeX');
set(groot, 'DefaultAxesTickLabelInterpreter', 'LaTeX');
set(groot, 'DefaultAxesFontName', 'LaTeX');
set(groot, 'DefaultLegendInterpreter', 'LaTeX');
#+end_src
** Default Line Width
#+begin_src matlab
set(groot, 'DefaultLineLineWidth', 1.5);
set(groot, 'DefaultAxesLineWidth', 0.5);
set(groot, 'DefaultLineLineWidth', 1.5);
set(groot, 'DefaultAxesLineWidth', 0.5);
#+end_src
** Default grids on all axis
#+begin_src matlab
set(groot, 'DefaultAxesXGrid','on');
set(groot, 'DefaultAxesYGrid','on');
set(groot, 'DefaultAxesZGrid','on');
set(groot, 'DefaultAxesXGrid','on');
set(groot, 'DefaultAxesYGrid','on');
set(groot, 'DefaultAxesZGrid','on');
#+end_src
** Default Font Size
#+begin_src matlab
set(groot, 'DefaultTextFontUnits', 'points');
set(groot, 'DefaultTextFontSize', 10);
set(groot, 'DefaultAxesFontUnits', 'points');
set(groot, 'DefaultAxesFontSize', 10);
set(groot, 'DefaultUicontrolFontSize', 10);
set(groot, 'DefaultTextFontUnits', 'points');
set(groot, 'DefaultTextFontSize', 10);
set(groot, 'DefaultAxesFontUnits', 'points');
set(groot, 'DefaultAxesFontSize', 10);
set(groot, 'DefaultUicontrolFontSize', 10);
#+end_src
** Default Fonts
#+begin_src matlab
set(groot, 'DefaultAxesFontName', 'Helvetica');
set(groot, 'DefaultTextFontName', 'Helvetica');
set(groot, 'DefaultAxesFontName', 'Helvetica');
set(groot, 'DefaultTextFontName', 'Helvetica');
#+end_src
** Make figures into a Box
#+begin_src matlab
set(groot, 'DefaultAxesBox', 'on');
set(groot, 'DefaultAxesBox', 'on');
#+end_src
** Default Colors
#+begin_src matlab
set(groot, 'DefaultAxesColor', 'w');
set(groot, 'DefaultAxesXColor', 'k');
set(groot, 'DefaultAxesYColor', 'k');
set(groot, 'DefaultAxesColor', 'w');
set(groot, 'DefaultAxesXColor', 'k');
set(groot, 'DefaultAxesYColor', 'k');
set(groot, 'DefaultFigureColor', 'w');
set(groot, 'DefaultFigureColor', 'w');
#+end_src
** Default Plot Colors
#+begin_src matlab
c1 = [ 0 0.4470 0.7410]; % Blue
c2 = [0.8500 0.3250 0.0980]; % Orange
c3 = [0.9290 0.6940 0.1250]; % Yellow
c4 = [0.4940 0.1840 0.5560]; % Purple
c5 = [0.4660 0.6740 0.1880]; % Green
c6 = [0.3010 0.7450 0.9330]; % Light Blue
c7 = [0.6350 0.0780 0.1840]; % Red
c1 = [ 0 0.4470 0.7410]; % Blue
c2 = [0.8500 0.3250 0.0980]; % Orange
c3 = [0.9290 0.6940 0.1250]; % Yellow
c4 = [0.4940 0.1840 0.5560]; % Purple
c5 = [0.4660 0.6740 0.1880]; % Green
c6 = [0.3010 0.7450 0.9330]; % Light Blue
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
** Figure paper and window style
#+begin_src matlab
set(groot, 'DefaultFigurePaperType', 'A4');
set(groot, 'DefaultFigureWindowStyle', 'normal');
set(groot, 'DefaultFigurePaperType', 'A4');
set(groot, 'DefaultFigureWindowStyle', 'normal');
#+end_src
** Set the display format
#+begin_src matlab
format compact;
format long g;
format compact;
format long g;
#+end_src
** Home Path
#+begin_src matlab
toolboxes_path = '~/Cloud/thesis/matlab/toolboxes/';
toolboxes_path = '~/Cloud/thesis/matlab/toolboxes/';
#+end_src
** Add to path
Provides =vecfig3= for FRF fitting ([[https://www.sintef.no/projectweb/vectorfitting/downloads/][link]]).
#+begin_src matlab
addpath([toolboxes_path 'matrix_fitting_toolbox_1'])
addpath([toolboxes_path 'matrix_fitting_toolbox_1'])
#+end_src
Apply and save color schemes in MATLAB with ease ([[https://github.com/scottclowe/matlab-schemer][link]]).
#+begin_src matlab
addpath([toolboxes_path 'matlab-schemer'])
addpath([toolboxes_path 'matlab-schemer'])
#+end_src
Converts MATLAB figures to TikZ ([[https://github.com/matlab2tikz/matlab2tikz][link]]).
#+begin_src matlab
addpath([toolboxes_path 'matlab2tikz/src'])
addpath([toolboxes_path 'matlab2tikz/src'])
#+end_src
MATLAB toolbox for exporting publication quality figures ([[https://github.com/altmany/export_fig][link]]).
#+begin_src matlab
addpath([toolboxes_path 'export_fig'])
addpath([toolboxes_path 'export_fig'])
#+end_src
MATLAB source code formatter, beautifier ([[https://github.com/davidvarga/MBeautifier][link]]).
#+begin_src matlab
addpath([toolboxes_path 'MBeautifier'])
addpath([toolboxes_path 'MBeautifier'])
#+end_src
Toolbox for Convex Programming ([[http://cvxr.com/cvx/][link]]).
#+begin_src matlab
addpath([toolboxes_path 'CVX'])
addpath([toolboxes_path 'CVX'])
#+end_src
Useful functions to use with =orgmode= ([[https://github.com/tdehaeze/Org-Mode-Matlab][link]]).
#+begin_src matlab
addpath([toolboxes_path 'Org-Mode-Toolbox/src'])
addpath([toolboxes_path 'Org-Mode-Toolbox/src'])
#+end_src
Some useful function ([[https://github.com/tdehaeze/matlab_useful_functions][link]]).
#+begin_src matlab
addpath([toolboxes_path 'matlab_useful_functions/src'])
addpath([toolboxes_path 'matlab_useful_functions/src'])
#+end_src
H-Infinity Toolbox ([[https://github.com/tdehaeze/hinf-toolbox][link]]).
#+begin_src matlab
% addpath([toolboxes_path 'Hinf-Toolbox/src'])
% addpath([toolboxes_path 'Hinf-Toolbox/src'])
#+end_src
Toolbox to work with Finite Element Models ([[https://github.com/tdehaeze/fem_matlab_toolbox][link]]).
#+begin_src matlab
addpath([toolboxes_path 'fem_toolbox/src'])
addpath([toolboxes_path 'fem_toolbox/src'])
#+end_src
Toolbox to work with fractional order models ([[https://github.com/extall/fomcon-matlab][link]]).
#+begin_src matlab
addpath(genpath([toolboxes_path 'fomcon-matlab']))
addpath(genpath([toolboxes_path 'fomcon-matlab']))
#+end_src
** Clear
#+begin_src matlab
clear;
clear;
#+end_src
* Setup
@ -160,5 +160,5 @@ This script should be run once after Matlab is installed.
Import a nice color scheme.
#+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

238
music.org
View File

@ -9,14 +9,14 @@
:END:
#+BEGIN_SRC conf
[window]
width=500
height=400
sinkInputType=1
sourceOutputType=1
sinkType=0
sourceType=1
showVolumeMeters=1
[window]
width=500
height=400
sinkInputType=1
sourceOutputType=1
sinkType=0
sourceType=1
showVolumeMeters=1
#+END_SRC
* =mopidy= - Music Server
@ -27,47 +27,47 @@
:END:
#+begin_src conf
[spotify]
username = dehaeze.thomas@gmail.com
password = <<get-password(passname="spotify.com/dehaeze.thomas@gmail.com")>>
client_id = 9dd02534-f038-46d8-946e-bfe72498204e
client_secret = <<get-password(passname="spotify/client_secret")>>
bitrate = 320
[spotify]
username = dehaeze.thomas@gmail.com
password = <<get-password(passname="spotify.com/dehaeze.thomas@gmail.com")>>
client_id = 9dd02534-f038-46d8-946e-bfe72498204e
client_secret = <<get-password(passname="spotify/client_secret")>>
bitrate = 320
[mpd]
enabled = true
hostname = 127.0.0.1
port = 6600
password =
max_connections = 20
connection_timeout = 60
zeroconf = Mopidy MPD server on $hostname
command_blacklist = listall,listallinfo
default_playlist_scheme = m3u
[mpd]
enabled = true
hostname = 127.0.0.1
port = 6600
password =
max_connections = 20
connection_timeout = 60
zeroconf = Mopidy MPD server on $hostname
command_blacklist = listall,listallinfo
default_playlist_scheme = m3u
[jellyfin]
hostname = https://jellyfin.tdehaeze.xyz/
username = tdehaeze
password = <<get-password(passname="music.tdehaeze.xyz/tdehaeze")>>
libraries = Music
albumartistsort = True
album_format = {ProductionYear} - {Name}
[jellyfin]
hostname = https://jellyfin.tdehaeze.xyz/
username = tdehaeze
password = <<get-password(passname="music.tdehaeze.xyz/tdehaeze")>>
libraries = Music
albumartistsort = True
album_format = {ProductionYear} - {Name}
[file]
enabled = true
media_dirs = /home/thomas/Music
excluded_file_extensions =
.db
.directory
.html
.jpeg
.jpg
.log
.nfo
.pdf
.png
.txt
.zip
[file]
enabled = true
media_dirs = /home/thomas/Music
excluded_file_extensions =
.db
.directory
.html
.jpeg
.jpg
.log
.nfo
.pdf
.png
.txt
.zip
#+end_src
* =ncmpcpp= - Ncurses based MPD client
@ -86,38 +86,38 @@ Cheatsheet: https://pkgbuild.com/~jelle/ncmpcpp/
Configuration directory.
#+begin_src conf
ncmpcpp_directory = ~/.config/ncmpcpp
ncmpcpp_directory = ~/.config/ncmpcpp
#+end_src
MPD Configuration.
#+begin_src conf
mpd_host = localhost
mpd_port = 6600
mpd_music_dir = ~/Music
mpd_host = localhost
mpd_port = 6600
mpd_music_dir = ~/Music
#+end_src
Notification of song change.
#+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
Better user interface
#+begin_src conf
user_interface = "alternative"
playlist_editor_display_mode = "columns"
search_engine_display_mode = "columns"
browser_display_mode = "columns"
playlist_display_mode = "columns"
user_interface = "alternative"
playlist_editor_display_mode = "columns"
search_engine_display_mode = "columns"
browser_display_mode = "columns"
playlist_display_mode = "columns"
#+end_src
Sorting by tracking number and then title
#+begin_src conf
browser_sort_mode = "format"
browser_sort_format = '{%n - %t}|{%t}'
browser_sort_mode = "format"
browser_sort_format = '{%n - %t}|{%t}'
#+end_src
#+begin_src conf
ask_before_clearing_playlists = "no"
ask_before_clearing_playlists = "no"
#+end_src
** Bindings
@ -126,43 +126,43 @@ Sorting by tracking number and then title
:header-args:conf+: :comments none :mkdirp yes
:END:
#+begin_src conf
def_key "q"
run_external_command "sh -c 'if [ $TMUX ] ; then tmux detach; fi'"
def_key "Q"
quit
def_key "g"
move_home
def_key "G"
move_end
def_key "j"
scroll_down
def_key "k"
scroll_up
def_key "ctrl-u"
page_up
def_key "ctrl-d"
page_down
def_key "l"
enter_directory
def_key "h"
jump_to_parent_directory
def_key "."
show_lyrics
def_key "n"
next_found_item
def_key "N"
previous_found_item
def_key "J"
move_sort_order_down
def_key "K"
move_sort_order_up
def_key "d"
delete_playlist_items
def_key "+"
volume_up
def_key "-"
volume_down
#+begin_src conf
def_key "q"
run_external_command "sh -c 'if [ $TMUX ] ; then tmux detach; fi'"
def_key "Q"
quit
def_key "g"
move_home
def_key "G"
move_end
def_key "j"
scroll_down
def_key "k"
scroll_up
def_key "ctrl-u"
page_up
def_key "ctrl-d"
page_down
def_key "l"
enter_directory
def_key "h"
jump_to_parent_directory
def_key "."
show_lyrics
def_key "n"
next_found_item
def_key "N"
previous_found_item
def_key "J"
move_sort_order_down
def_key "K"
move_sort_order_up
def_key "d"
delete_playlist_items
def_key "+"
volume_up
def_key "-"
volume_down
#+end_src
@ -175,14 +175,14 @@ Sorting by tracking number and then title
http://beets.io/
#+begin_src conf
directory: ~/Music
library: ~/Music/musiclibrary.db
art_filename: cover
directory: ~/Music
library: ~/Music/musiclibrary.db
art_filename: cover
import:
move: yes
import:
move: yes
plugins: fromfilename discogs
plugins: fromfilename discogs
#+end_src
* =curseradio= - Radio with curseradio
@ -193,24 +193,24 @@ http://beets.io/
:END:
#+begin_src conf
[opml]
root = http://opml.radiotime.com/
[opml]
root = http://opml.radiotime.com/
[playback]
command = /usr/bin/mpv
[playback]
command = /usr/bin/mpv
[interface]
keymap = vi
[interface]
keymap = vi
[keymap.vi]
up = k
down = j
start = 0
end = $
pageup = u
pagedown = d
enter = l
stop = p
exit = q
favourite = f
[keymap.vi]
up = k
down = j
start = 0
end = $
pageup = u
pagedown = d
enter = l
stop = p
exit = q
favourite = f
#+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
#+BEGIN_SRC conf
# All feeds will be automatically reloaded after a certain time has passed
auto-reload yes
# All feeds will be automatically reloaded after a certain time has passed
auto-reload yes
# The number of minutes between automatic reloads.
reload-time 120
# The number of minutes between automatic reloads.
reload-time 120
# The number of parallel reload threads that shall be started when all feeds are reloaded.
reload-threads 3
# The number of parallel reload threads that shall be started when all feeds are reloaded.
reload-threads 3
# If set to yes, then the first automatic reload will be suppressed if auto-reload is set to yes.
suppress-first-reload yes
# If set to yes, then the first automatic reload will be suppressed if auto-reload is set to yes.
suppress-first-reload yes
#+END_SRC
** Basic configuration
#+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-next-feed no
goto-first-unread no
goto-next-feed no
save-path "~/Documents/newsboat/saved"
download-path "~/Documents/newsboat/downloaded"
save-path "~/Documents/newsboat/saved"
download-path "~/Documents/newsboat/downloaded"
# If set to no, then the keymap hints on the bottom of screen will not be displayed.
show-keymap-hint no
# If set to no, then the keymap hints on the bottom of screen will not be displayed.
show-keymap-hint no
player "mpv"
player "mpv"
#+END_SRC
** Queries
#+begin_src conf
prepopulate-query-feeds yes
prepopulate-query-feeds yes
#+end_src
** Filters
#+begin_src conf :tangle no
define-filter "Unread Articles" "unread = \"yes\""
define-filter "Unread Articles" "unread = \"yes\""
#+end_src
** Notifications
#+BEGIN_SRC conf
notify-format "%n unread articles"
notify-program ~/.config/newsboat/scripts/newsboat-notify.sh
notify-always no
notify-format "%n unread articles"
notify-program ~/.config/newsboat/scripts/newsboat-notify.sh
notify-always no
#+END_SRC
*** Notification Script
:PROPERTIES:
:header-args: :tangle ~/.config/newsboat/scripts/newsboat-notify.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
:PROPERTIES:
:header-args: :tangle ~/.config/newsboat/scripts/newsboat-notify.sh
:header-args+: :comments both :mkdirp yes
:header-args+: :shebang "#!/usr/bin/env bash"
:END:
#+begin_src bash
dunstify --replace=38492 "Newsboat " "$1"
dunstify --replace=38492 "Newsboat " "$1"
#+end_src
** Bindings
#+BEGIN_SRC conf
bind-key j down
bind-key k up
bind-key j next articlelist
bind-key k prev articlelist
bind-key J next-feed articlelist
bind-key K prev-feed articlelist
bind-key G end
bind-key g home
bind-key ^D pagedown
bind-key ^U pageup
bind-key j down
bind-key k up
bind-key j next articlelist
bind-key k prev articlelist
bind-key J next-feed articlelist
bind-key K prev-feed articlelist
bind-key G end
bind-key g home
bind-key ^D pagedown
bind-key ^U pageup
bind-key q toggle-show-read-feeds
bind-key Q quit
bind-key q toggle-show-read-feeds
bind-key Q quit
bind-key l open
bind-key h quit
bind-key l open
bind-key h quit
bind-key a toggle-article-read
bind-key a toggle-article-read
bind-key n next-unread
bind-key N prev-unread
bind-key n next-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 clear-tag
bind-key t set-tag
bind-key T clear-tag
bind-key r reload # Reload the currently selected feed
bind-key R reload-all # Reload all feeds
bind-key r reload # Reload the currently selected feed
bind-key R reload-all # Reload all feeds
#+END_SRC
** Bookmarking
#+begin_src conf
bookmark-autopilot no
bookmark-cmd "~/.config/newsboat/scripts/buku-add.sh"
bookmark-interactive no
bookmark-autopilot no
bookmark-cmd "~/.config/newsboat/scripts/buku-add.sh"
bookmark-interactive no
#+end_src
*** Buku Scripts
@ -121,59 +121,59 @@ https://newsboat.org/releases/2.12/docs/newsboat.html
:END:
#+begin_src bash
buku --add "$1" --title "$2" --comment "$3" && \
dunstify "Buku" "Bookmark Added" && \
exit 0
buku --add "$1" --title "$2" --comment "$3" && \
dunstify "Buku" "Bookmark Added" && \
exit 0
#+end_src
** Macros - Starts with , key
#+BEGIN_SRC conf
# Default Browser
browser linkhandler
# Default Browser
browser linkhandler
# Open in Browser
macro , open-in-browser
# Open in Browser
macro , open-in-browser
# Download Video with Youtube-DL
macro v set browser "cd ~/Documents/to-watch && ~/.local/bin/yt-video %u" ; open-in-browser ; set browser linkhandler
# Download Video with Youtube-DL
macro v set browser "cd ~/Documents/to-watch && ~/.local/bin/yt-video %u" ; open-in-browser ; set browser linkhandler
# Download Audio with Youtube-DL
macro a set browser "cd ~/Documents/to-watch && ~/.local/bin/yt-audio %u" ; open-in-browser ; set browser linkhandler
# Download Audio with Youtube-DL
macro a set browser "cd ~/Documents/to-watch && ~/.local/bin/yt-audio %u" ; open-in-browser ; set browser linkhandler
# Open Video with MPV
macro m set browser "setsid nohup mpv %u &> /dev/null &" ; open-in-browser ; set browser linkhandler
# Open Video with MPV
macro m set browser "setsid nohup mpv %u &> /dev/null &" ; open-in-browser ; set browser linkhandler
# Open With W3M
macro w set browser "w3m %u" ; open-in-browser ; set browser linkhandler
# Open With W3M
macro w set browser "w3m %u" ; open-in-browser ; set browser linkhandler
# Copy Address to clipboard
macro c set browser "xsel -b <<<" ; open-in-browser ; set browser linkhandler
# Copy Address to clipboard
macro c set browser "xsel -b <<<" ; open-in-browser ; set browser linkhandler
# Quit
macro q set browser "tmux detach" ; open-in-browser ; set browser linkhandler
# Quit
macro q set browser "tmux detach" ; open-in-browser ; set browser linkhandler
#+END_SRC
** hide articles matching
#+BEGIN_SRC conf :tangle no
ignore-article "*" "title =~ \"Sponsor\""
ignore-article "*" "title =~ \"Advertisement\""
ignore-mode "display"
ignore-article "*" "title =~ \"Sponsor\""
ignore-article "*" "title =~ \"Advertisement\""
ignore-mode "display"
#+END_SRC
** Feedlist and Article Format
#+BEGIN_SRC conf
feedlist-format "%4i %n %11u %t"
feedlist-title-format "N %V - Your feeds (%u unread, %t total)%?T? - tag `%T'&?"
feedlist-format "%4i %n %11u %t"
feedlist-title-format "N %V - Your feeds (%u unread, %t total)%?T? - tag `%T'&?"
articlelist-format "%3i %f %D %?T?|%-17T| ?%t"
articlelist-title-format "%N %V - Articles in feed '%T' (%u unread, %t total) - %U"
articlelist-format "%3i %f %D %?T?|%-17T| ?%t"
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
** Color Scheme
#+BEGIN_SRC conf
include "~/.config/newsboat/colors"
include "~/.config/newsboat/colors"
#+END_SRC
* Colors
@ -183,18 +183,18 @@ https://newsboat.org/releases/2.12/docs/newsboat.html
:END:
#+BEGIN_SRC conf
color background default default
color listnormal default default
color listnormal_unread default default
color listfocus black yellow
color listfocus_unread black yellow
color info default black
color article default default
color background default default
color listnormal default default
color listnormal_unread default default
color listfocus black yellow
color listfocus_unread black yellow
color info default black
color article default default
# highlights
highlight article "^(Title):.*$" blue default
highlight article "https?://[^ ]+" red default
highlight article "\\[image\\ [0-9]+\\]" green default
# highlights
highlight article "^(Title):.*$" blue default
highlight article "https?://[^ ]+" red default
highlight article "\\[image\\ [0-9]+\\]" green default
#+END_SRC
* URLS
@ -205,301 +205,294 @@ https://newsboat.org/releases/2.12/docs/newsboat.html
** Queries
#+begin_src conf :tangle no
"query:Unread:unread = \"yes\""
"query:Unwatch - Youtube:unread = \"yes\" and tags # \"youtube\""
"query:Unread - Linux:unread = \"yes\" and tags # \"linux\""
"query:Unread - Emacs:unread = \"yes\" and tags # \"emacs\""
"query:Unread - Sciences:unread = \"yes\" and tags # \"science\""
"query:Unread:unread = \"yes\""
"query:Unwatch - Youtube:unread = \"yes\" and tags # \"youtube\""
"query:Unread - Linux:unread = \"yes\" and tags # \"linux\""
"query:Unread - Emacs:unread = \"yes\" and tags # \"emacs\""
"query:Unread - Sciences:unread = \"yes\" and tags # \"science\""
#+end_src
** Newsfeeds
*** Matlab and Control
#+begin_src conf
https://undocumentedmatlab.com/feed/ "~RSS undocumentedmatlab" matlab
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/pick/feed/ "~RSS File Exchange Pick of the Week" matlab
https://enriquedelsol.com/feed/ "~RSS Enrique del Sol" control
http://brettbeauregard.com/blog/feed/ "~RSS Project Blog" control
https://mburkeonmbd.com/feed/ "~RSS Model-Based Design" control matlab
https://medium.com/feed/@mithi "~RSS Medium - Mithi" control
https://undocumentedmatlab.com/feed/ "~RSS undocumentedmatlab" matlab
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/pick/feed/ "~RSS File Exchange Pick of the Week" matlab
https://enriquedelsol.com/feed/ "~RSS Enrique del Sol" control
http://brettbeauregard.com/blog/feed/ "~RSS Project Blog" control
https://mburkeonmbd.com/feed/ "~RSS Model-Based Design" control matlab
https://medium.com/feed/@mithi "~RSS Medium - Mithi" control
#+end_src
*** Audio and Electronics
#+begin_src conf
http://jipihorn.wordpress.com/feed/ "~RSS Jipihorn's Blog" electronics audio
https://quantasylum.com/blogs/news.atom "~RSS QuantAsylum" audio
https://www.scrample.xyz/index.xml "~RSS Scrample" electronics
http://jipihorn.wordpress.com/feed/ "~RSS Jipihorn's Blog" electronics audio
https://quantasylum.com/blogs/news.atom "~RSS QuantAsylum" audio
https://www.scrample.xyz/index.xml "~RSS Scrample" electronics
#+end_src
*** Science
#+begin_src conf
http://sciencetonnante.wordpress.com/feed/ "~RSS Science étonnante" science
https://brushingupscience.com/feed/ "~RSS Brushing Up Science" science
http://sciencetonnante.wordpress.com/feed/ "~RSS Science étonnante" science
https://brushingupscience.com/feed/ "~RSS Brushing Up Science" science
#+end_src
*** Linux, Emacs and Computer Science
#+begin_src conf
https://yiufung.net/index.xml "~RSS yiufung" emacs
https://bzg.fr/index.xml "~RSS bzg" emacs
https://thomashartmann.dev/rss.xml "~RSS thomashartmann.dev" emacs linux
http://cachestocaches.com/feed/ "~RSS CachesToCaches" emacs
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://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
https://people.umass.edu/weikaichen/index.xml "~RSS Weikai Chen" emacs
https://babbagefiles.xyz/index.xml "~RSS The Neo-Babbage Files" linux emacs
https://write.as/dani/feed/ "~RSS Dani" emacs
https://lepisma.xyz/atom.xml "~RSS Lepisma" 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://manuel-uberti.github.io/feed.xml "~RSS Manuel Uberti" emacs
https://lord.re/index.xml "~RSS /home/lord" linux
https://beepb00p.xyz/rss.xml "~RSS beepb00p" linux emacs
http://pragmaticemacs.com/feed/ "~RSS Pragmatic Emacs" 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
http://endlessparentheses.com/atom.xml "~RSS Endless Parentheses" 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
https://shreyas.ragavan.co/index.xml "~RSS Shreyas Ragavan" emacs
https://pinecast.com/feed/emacscast "~RSS EmacsCast" emacs
http://amitp.blogspot.com/feeds/posts/default "~RSS Amit's Thoughts" 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://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://assortedarray.com/index.xml "~RSS Assorted Array" emacs
https://www.with-emacs.com/rss.xml "~RSS with-emacs" emacs
https://linktohack.com/index.xml "~RSS QL's blog" emacs
https://itsfoss.com/feed "~RSS It's FOSS" linux
https://llazarek.com/feeds/all.rss.xml "~RSS llazarek" emacs
https://200ok.ch/rss.xml "~RSS 200ok" emacs
http://irreal.org/blog/?feed=rss2 "~RSS Irreal" emacs
https://emacs.cafe/feed.xml "~RSS Emacs café" emacs
http://vxlabs.com/feed/ "~RSS vxlabs" emacs linux
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://addy-dclxvi.github.io/index.xml "~RSS Addy's Blog" linux
https://ekaschalk.github.io/index.xml "~RSS Modern Emacs" emacs
http://howardism.org/index.xml "~RSS Howardism" emacs
http://xkcd.com/rss.xml "~RSS XKCD" random
https://blog.jethro.dev/index.xml "~RSS Jethro Kuan" emacs
https://lord.re/posts/index.xml "~RSS Lord~" linux
https://rgoswami.me/posts/index.xml "~RSS Rohit Goswami~" linux emacs
https://translucentink.gitlab.io/rss.xml "~RSS Translucent Ink" emacs
https://jherrlin.github.io/index.xml "~RSS Jherrlin" emacs linux
https://camsaul.com/feed.xml "~RSS Camsaul" emacs
https://ag91.github.io/rss.xml "~RSS Were Parallels Cross" emacs
# https://jonathanh.co.uk/
https://yiufung.net/index.xml "~RSS yiufung" emacs
https://bzg.fr/index.xml "~RSS bzg" emacs
https://thomashartmann.dev/rss.xml "~RSS thomashartmann.dev" emacs linux
http://cachestocaches.com/feed/ "~RSS CachesToCaches" emacs
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://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
https://people.umass.edu/weikaichen/index.xml "~RSS Weikai Chen" emacs
https://babbagefiles.xyz/index.xml "~RSS The Neo-Babbage Files" linux emacs
https://write.as/dani/feed/ "~RSS Dani" emacs
https://lepisma.xyz/atom.xml "~RSS Lepisma" 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://manuel-uberti.github.io/feed.xml "~RSS Manuel Uberti" emacs
https://lord.re/index.xml "~RSS /home/lord" linux
https://beepb00p.xyz/rss.xml "~RSS beepb00p" linux emacs
http://pragmaticemacs.com/feed/ "~RSS Pragmatic Emacs" 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
http://endlessparentheses.com/atom.xml "~RSS Endless Parentheses" 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
https://shreyas.ragavan.co/index.xml "~RSS Shreyas Ragavan" emacs
https://pinecast.com/feed/emacscast "~RSS EmacsCast" emacs
http://amitp.blogspot.com/feeds/posts/default "~RSS Amit's Thoughts" 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://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://assortedarray.com/index.xml "~RSS Assorted Array" emacs
https://www.with-emacs.com/rss.xml "~RSS with-emacs" emacs
https://linktohack.com/index.xml "~RSS QL's blog" emacs
https://itsfoss.com/feed "~RSS It's FOSS" linux
https://llazarek.com/feeds/all.rss.xml "~RSS llazarek" emacs
https://200ok.ch/rss.xml "~RSS 200ok" emacs
http://irreal.org/blog/?feed=rss2 "~RSS Irreal" emacs
https://emacs.cafe/feed.xml "~RSS Emacs café" emacs
http://vxlabs.com/feed/ "~RSS vxlabs" emacs linux
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://addy-dclxvi.github.io/index.xml "~RSS Addy's Blog" linux
https://ekaschalk.github.io/index.xml "~RSS Modern Emacs" emacs
http://howardism.org/index.xml "~RSS Howardism" emacs
http://xkcd.com/rss.xml "~RSS XKCD" random
https://blog.jethro.dev/index.xml "~RSS Jethro Kuan" emacs
https://lord.re/posts/index.xml "~RSS Lord~" linux
https://rgoswami.me/posts/index.xml "~RSS Rohit Goswami~" linux emacs
https://translucentink.gitlab.io/rss.xml "~RSS Translucent Ink" emacs
https://jherrlin.github.io/index.xml "~RSS Jherrlin" emacs linux
https://camsaul.com/feed.xml "~RSS Camsaul" emacs
https://ag91.github.io/rss.xml "~RSS Were Parallels Cross" emacs
# https://jonathanh.co.uk/
#+end_src
** Youtube
*** Matlab and Control
#+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=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=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=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=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=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=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=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=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=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=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=UCMBXZxd-j6VqrynykO1dURw "~YT John Rossiter" youtube control
#+end_src
*** Audio and Electronics
#+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=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=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=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=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=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=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=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=UCVryWqJ4cSlbTSETBHpBUWw "~YT Phil S" youtube electronics control
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=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=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=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=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=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=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=UCP_yR0wxxyLa46rRgsmje3Q "~YT DIY Speaker Building" youtube audio
https://www.youtube.com/feeds/videos.xml?channel_id=UCVryWqJ4cSlbTSETBHpBUWw "~YT Phil S" youtube electronics control
#+end_src
*** Linux, Emacs and Computer Science
#+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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=UC7YOGHUfC1Tb6E4pudI9STA "~YT Mental Outlaw" youtube linux
#+end_src
*** 3D-Printing and DIY
#+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=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=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=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=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=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=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=UC6mIxFTvXkWQVEHPsEdflzQ "~YT GreatScott" youtube diy
#+end_src
*** Engineering
#+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=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=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=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=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=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=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=UC6mIxFTvXkWQVEHPsEdflzQ "~YT GreatScott" youtube diy
#+end_src
*** Interesting - General
#+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=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=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=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=UCOuIgj0CYCXCvjWywjDbauw "~YT Chat Sceptique" 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=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=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=UCLbgxBMMEo6mAYe87esxGmg "~YT horror humanum est" youtube interesting
https://www.youtube.com/feeds/videos.xml?channel_id=UCOuIgj0CYCXCvjWywjDbauw "~YT Chat Sceptique" youtube interesting
#+end_src
*** Science
#+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=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=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=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=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=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=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=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=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=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=UC7DdEm33SyaTDtWYGO2CwdA "~YT Physics Girl" 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=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=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=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=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=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=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=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=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=UCCSN5zJTKjl6UKvPcLzLuiw "~YT Macroscopie" youtube science
https://www.youtube.com/feeds/videos.xml?channel_id=UC7DdEm33SyaTDtWYGO2CwdA "~YT Physics Girl" youtube science
#+end_src
*** Keyboard
#+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=UC2yitP8oH86YBRVU4anycoA "~YT Quentin Lebastard" 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
#+end_src
*** Music
#+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=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=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=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=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=UCzabZYC0MYRR2MFkq62d6yQ "~YT Florent Garcia" youtube music
#+end_src
*** Space
#+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=UC5X4e8ScZI2AFd_vkjSoyoQ "~YT AstronoGeek" 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
#+end_src
*** Engineering
#+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=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=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=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=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=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=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=UC5_Y-BKzq1uW_2rexWkUzlA "~YT New Mind" youtube engineering
#+end_src
*** Random - Fun - Others
#+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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=UC2_OG1L8DLTzQ7UrZVOk7OA "~YT Axolot" 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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=UCDPK_MTu3uTUFJXRVcTJcEw "~YT Mcfly et Carlito" youtube random
https://www.youtube.com/feeds/videos.xml?channel_id=UC2_OG1L8DLTzQ7UrZVOk7OA "~YT Axolot" youtube random
#+end_src

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

418
rofi.org
View File

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

522
sxhkd.org
View File

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

View File

@ -11,14 +11,14 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END:
#+BEGIN_SRC conf
[Unit]
Description=Sync Bookmarks every day
RefuseManualStart=no
RefuseManualStop=yes
[Unit]
Description=Sync Bookmarks every day
RefuseManualStart=no
RefuseManualStop=yes
[Service]
Type=oneshot
ExecStart=%h/.local/bin/buku_git_push
[Service]
Type=oneshot
ExecStart=%h/.local/bin/buku_git_push
#+END_SRC
** Timer
@ -28,20 +28,20 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END:
#+BEGIN_SRC conf
[Unit]
Description=Sync All Mails every x hours
RefuseManualStart=no
RefuseManualStop=no
Wants=network-online.target
After=network-online.target
[Unit]
Description=Sync All Mails every x hours
RefuseManualStart=no
RefuseManualStop=no
Wants=network-online.target
After=network-online.target
[Timer]
OnCalendar=*-*-* 16:00:00
Persistent=true
Unit=bukugit.service
[Timer]
OnCalendar=*-*-* 16:00:00
Persistent=true
Unit=bukugit.service
[Install]
WantedBy=default.target
[Install]
WantedBy=default.target
#+END_SRC
** Script
@ -52,21 +52,21 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END:
#+begin_src bash
cd ~/.local/share/buku/
cd ~/.local/share/buku/
if [[ ! -z $(git status -s bookmarks.db) ]]
then
rm bookmarks.org;
buku -e bookmarks.org && \
cat header.org bookmarks.org > index.org && \
emacs index.org --batch -f org-html-export-to-html --kill && \
git add index.html
if [[ ! -z $(git status -s bookmarks.db) ]]
then
rm bookmarks.org;
buku -e bookmarks.org && \
cat header.org bookmarks.org > index.org && \
emacs index.org --batch -f org-html-export-to-html --kill && \
git add index.html
git add bookmarks.db && \
git commit -m "Changed bookmarks - $(date +%F)" && \
git push
exit
fi
git add bookmarks.db && \
git commit -m "Changed bookmarks - $(date +%F)" && \
git push
exit
fi
#+end_src
* =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:
#+BEGIN_SRC conf
[Unit]
Description=Sync Brain Website everyday
RefuseManualStart=no
RefuseManualStop=yes
[Unit]
Description=Sync Brain Website everyday
RefuseManualStart=no
RefuseManualStop=yes
[Service]
Type=oneshot
ExecStart=%h/.local/bin/brain_git_push
[Service]
Type=oneshot
ExecStart=%h/.local/bin/brain_git_push
#+END_SRC
** Timer
@ -94,20 +94,20 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END:
#+BEGIN_SRC conf
[Unit]
Description=Sync Brain Website everyday
RefuseManualStart=no
RefuseManualStop=no
Wants=network-online.target
After=network-online.target
[Unit]
Description=Sync Brain Website everyday
RefuseManualStart=no
RefuseManualStop=no
Wants=network-online.target
After=network-online.target
[Timer]
OnCalendar=*-*-* 16:00:00
Persistent=true
Unit=braingit.service
[Timer]
OnCalendar=*-*-* 16:00:00
Persistent=true
Unit=braingit.service
[Install]
WantedBy=default.target
[Install]
WantedBy=default.target
#+END_SRC
** Script
@ -118,15 +118,15 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END:
#+begin_src bash
cd ~/Cloud/brain-website/
cd ~/Cloud/brain-website/
if [[ ! -z $(git status -s content/) ]]
then
git add content static && \
git commit -m "Update Content - $(date +%F)" && \
git push
exit
fi
if [[ ! -z $(git status -s content/) ]]
then
git add content static && \
git commit -m "Update Content - $(date +%F)" && \
git push
exit
fi
#+end_src
* =checkmail= - Check new mails
** Service
@ -136,14 +136,14 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END:
#+BEGIN_SRC conf
[Unit]
Description=Check new mails
RefuseManualStart=no
RefuseManualStop=yes
[Unit]
Description=Check new mails
RefuseManualStart=no
RefuseManualStop=yes
[Service]
Type=oneshot
ExecStart=%h/.local/bin/checkmail -q
[Service]
Type=oneshot
ExecStart=%h/.local/bin/checkmail -q
#+END_SRC
** Timer
@ -153,23 +153,23 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END:
#+BEGIN_SRC conf
[Unit]
Description=Check Mail every x minutes
RefuseManualStart=no
RefuseManualStop=no
Wants=network-online.target
After=network-online.target
Requires=checkmail.service
[Unit]
Description=Check Mail every x minutes
RefuseManualStart=no
RefuseManualStop=no
Wants=network-online.target
After=network-online.target
Requires=checkmail.service
[Timer]
Persistent=false
OnBootSec=2min
OnUnitActiveSec=5min
AccuracySec=2min
Unit=checkmail.service
[Timer]
Persistent=false
OnBootSec=2min
OnUnitActiveSec=5min
AccuracySec=2min
Unit=checkmail.service
[Install]
WantedBy=default.target
[Install]
WantedBy=default.target
#+END_SRC
** Script
@ -180,59 +180,59 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END:
#+begin_src bash
while [ -n "$1" ]; do # while loop starts
case "$1" in
-a) opt_all='--all' ;; # Check All inboxes
-v) opt_verbose='--verbose' ;; # Verbose
-q) opt_quiet='--quiet' ;; # Quiet
,*) echo "Option $1 not recognized" ;; # In case you typed a different option
esac
shift
done
while [ -n "$1" ]; do # while loop starts
case "$1" in
-a) opt_all='--all' ;; # Check All inboxes
-v) opt_verbose='--verbose' ;; # Verbose
-q) opt_quiet='--quiet' ;; # Quiet
,*) echo "Option $1 not recognized" ;; # In case you typed a different option
esac
shift
done
# =============================================================
# Count number of mails
gmail_old="$(ls ~/.mail/gmail/Inbox/new | wc -l)"
esrf_old="$(ls ~/.mail/esrf/Inbox/new | wc -l)"
ulg_old="$(ls ~/.mail/ulg/Inbox/new | wc -l)"
uliege_old="$(ls ~/.mail/uliege/Inbox/new | wc -l)"
# =============================================================
# =============================================================
# Count number of mails
gmail_old="$(ls ~/.mail/gmail/Inbox/new | wc -l)"
esrf_old="$(ls ~/.mail/esrf/Inbox/new | wc -l)"
ulg_old="$(ls ~/.mail/ulg/Inbox/new | wc -l)"
uliege_old="$(ls ~/.mail/uliege/Inbox/new | wc -l)"
# =============================================================
# =============================================================
# Retreive mails
mbsync $opt_all $opt_verbose gmail-Home esrf-Home ulg-Home uliege-Home 2>/tmp/mbsync.log
# =============================================================
# =============================================================
# Retreive mails
mbsync $opt_all $opt_verbose gmail-Home esrf-Home ulg-Home uliege-Home 2>/tmp/mbsync.log
# =============================================================
# =============================================================
# Count number of mails
gmail_new="$(ls ~/.mail/gmail/Inbox/new | wc -l)"
esrf_new="$(ls ~/.mail/esrf/Inbox/new | wc -l)"
ulg_new="$(ls ~/.mail/ulg/Inbox/new | wc -l)"
uliege_new="$(ls ~/.mail/uliege/Inbox/new | wc -l)"
# =============================================================
# =============================================================
# Count number of mails
gmail_new="$(ls ~/.mail/gmail/Inbox/new | wc -l)"
esrf_new="$(ls ~/.mail/esrf/Inbox/new | wc -l)"
ulg_new="$(ls ~/.mail/ulg/Inbox/new | wc -l)"
uliege_new="$(ls ~/.mail/uliege/Inbox/new | wc -l)"
# =============================================================
# =============================================================
# Total Number of new mails since last checking
new="$(($gmail_new+$esrf_new+$ulg_new+$uliege_new))"
old="$(($gmail_old+$esrf_old+$ulg_old+$uliege_old))"
# =============================================================
# =============================================================
# Total Number of new mails since last checking
new="$(($gmail_new+$esrf_new+$ulg_new+$uliege_new))"
old="$(($gmail_old+$esrf_old+$ulg_old+$uliege_old))"
# =============================================================
# =============================================================
# Notification
if [ "$new" -gt 0 ]; then
dunstify --replace=98465 'Mails ' "$(($gmail_new+$esrf_new+$ulg_new+$uliege_new)) new mail(s)"
fi
# =============================================================
# =============================================================
# Notification
if [ "$new" -gt 0 ]; then
dunstify --replace=98465 'Mails ' "$(($gmail_new+$esrf_new+$ulg_new+$uliege_new)) new mail(s)"
fi
# =============================================================
# =============================================================
# Indexation and Tags
if pgrep -f 'mu server'; then
emacsclient --eval '(mu4e-update-index)'
else
mu index $opt_verbose $opt_quiet
fi
# =============================================================
# =============================================================
# Indexation and Tags
if pgrep -f 'mu server'; then
emacsclient --eval '(mu4e-update-index)'
else
mu index $opt_verbose $opt_quiet
fi
# =============================================================
#+end_src
* =syncmail= - Synchronize all mails
@ -243,14 +243,14 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END:
#+BEGIN_SRC conf
[Unit]
Description=Sync all mails
RefuseManualStart=no
RefuseManualStop=yes
[Unit]
Description=Sync all mails
RefuseManualStart=no
RefuseManualStop=yes
[Service]
Type=oneshot
ExecStart=%h/.local/bin/checkmail -a -q
[Service]
Type=oneshot
ExecStart=%h/.local/bin/checkmail -a -q
#+END_SRC
** Timer
@ -260,23 +260,23 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END:
#+BEGIN_SRC conf
[Unit]
Description=Sync All Mails every x hours
RefuseManualStart=no
RefuseManualStop=no
Wants=network-online.target
After=network-online.target
Requires=syncmail.service
[Unit]
Description=Sync All Mails every x hours
RefuseManualStart=no
RefuseManualStop=no
Wants=network-online.target
After=network-online.target
Requires=syncmail.service
[Timer]
Persistent=false
OnBootSec=30min
OnUnitActiveSec=300min
AccuracySec=10min
Unit=syncmail.service
[Timer]
Persistent=false
OnBootSec=30min
OnUnitActiveSec=300min
AccuracySec=10min
Unit=syncmail.service
[Install]
WantedBy=default.target
[Install]
WantedBy=default.target
#+END_SRC
* =vdirsyncer= - Synchronize calendar and contacts
@ -287,15 +287,15 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END:
#+begin_src conf
[Unit]
Description=Synchronize calendars and contacts
Documentation=https://vdirsyncer.readthedocs.org/
Wants=network-online.target
After=network-online.target
[Unit]
Description=Synchronize calendars and contacts
Documentation=https://vdirsyncer.readthedocs.org/
Wants=network-online.target
After=network-online.target
[Service]
ExecStart=/usr/bin/vdirsyncer --verbosity "ERROR" sync
Type=oneshot
[Service]
ExecStart=/usr/bin/vdirsyncer --verbosity "ERROR" sync
Type=oneshot
#+end_src
** Timer
@ -305,16 +305,16 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END:
#+begin_src conf
[Unit]
Description=Synchronize vdirs
[Unit]
Description=Synchronize vdirs
[Timer]
OnBootSec=5m
OnUnitActiveSec=15m
AccuracySec=5m
[Timer]
OnBootSec=5m
OnUnitActiveSec=15m
AccuracySec=5m
[Install]
WantedBy=timers.target
[Install]
WantedBy=timers.target
#+end_src
* =ssh-agent= - SSH Agent
@ -325,16 +325,16 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:END:
#+begin_src conf
[Unit]
Description=SSH key agent
[Unit]
Description=SSH key agent
[Service]
Type=simple
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK
[Service]
Type=simple
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK
[Install]
WantedBy=default.target
[Install]
WantedBy=default.target
#+end_src
* =powertop= - Powertop
@ -344,14 +344,36 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
:header-args+: :comments both :mkdirp yes
:END:
#+begin_src conf
[Unit]
Description=Powertop tunings
[Unit]
Description=Powertop tunings
[Service]
ExecStart=/usr/bin/powertop --auto-tune
RemainAfterExit=true
[Service]
ExecStart=/usr/bin/powertop --auto-tune
RemainAfterExit=true
[Install]
WantedBy=multi-user.target
[Install]
WantedBy=multi-user.target
#+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
#+BEGIN_SRC conf
[options]
#allow_bold = true
#audible_bell = false
#bold_is_bright = true
clickable_url = true
#dynamic_title = true
font = Hack Nerd Font Mono 13px
#fullscreen = true
#icon_name = terminal
mouse_autohide = true
#scroll_on_output = false
#scroll_on_keystroke = true
# Length of the scrollback buffer, 0 disabled the scrollback buffer
# and setting it to a negative value means "infinite scrollback"
scrollback_lines = 10000
#search_wrap = true
#urgent_on_bell = true
#hyperlinks = false
[options]
#allow_bold = true
#audible_bell = false
#bold_is_bright = true
clickable_url = true
#dynamic_title = true
font = Hack Nerd Font Mono 13px
#fullscreen = true
#icon_name = terminal
mouse_autohide = true
#scroll_on_output = false
#scroll_on_keystroke = true
# Length of the scrollback buffer, 0 disabled the scrollback buffer
# and setting it to a negative value means "infinite scrollback"
scrollback_lines = 10000
#search_wrap = true
#urgent_on_bell = true
#hyperlinks = false
# $BROWSER is used by default if set, with xdg-open as a fallback
#browser = xdg-open
# $BROWSER is used by default if set, with xdg-open as a fallback
#browser = xdg-open
# Hide links that are no longer valid in url select overlay mode
#filter_unmatched_urls = true
# Hide links that are no longer valid in url select overlay mode
#filter_unmatched_urls = true
# Emit escape sequences for extra modified keys
#modify_other_keys = false
# Emit escape sequences for extra modified keys
#modify_other_keys = false
# set size hints for the window
#size_hints = false
# set size hints for the window
#size_hints = false
# "off", "left" or "right"
#scrollbar = off
# "off", "left" or "right"
#scrollbar = off
highlight = #2f2f2f
highlight = #2f2f2f
#+END_SRC
* Hints
#+BEGIN_SRC conf
[hints]
#padding = 2
#border = #3f3f3f
#border_width = 0.5
#roundness = 2.0
[hints]
#padding = 2
#border = #3f3f3f
#border_width = 0.5
#roundness = 2.0
#+END_SRC
* Colors
#+BEGIN_SRC conf
[colors]
# Base16 Gruvbox dark, soft
# Author: Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)
[colors]
# Base16 Gruvbox dark, soft
# Author: Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox)
# fg2
foreground = #d5c4a1
# fg1
foreground_bold = #ebdbb2
cursor = #ebdbb2
# bg0_s
cursor_foreground = #32302f
background = #32302f
# fg2
foreground = #d5c4a1
# fg1
foreground_bold = #ebdbb2
cursor = #ebdbb2
# bg0_s
cursor_foreground = #32302f
background = #32302f
# 16 color space
# 16 color space
# bg0_s
color0 = #32302f
# bg3
color8 = #665c54
# fb2
color7 = #d5c4a1
# fg0
color15 = #fbf1c7
# bg0_s
color0 = #32302f
# bg3
color8 = #665c54
# fb2
color7 = #d5c4a1
# fg0
color15 = #fbf1c7
# Red
color1 = #fb4934
color9 = #fb4934
# Red
color1 = #fb4934
color9 = #fb4934
# Green
color2 = #b8bb26
color10 = #b8bb26
# Green
color2 = #b8bb26
color10 = #b8bb26
# Yellow
color3 = #fabd2f
color11 = #fabd2f
# Yellow
color3 = #fabd2f
color11 = #fabd2f
# Blue
color4 = #83a598
color12 = #83a598
# Blue
color4 = #83a598
color12 = #83a598
# Purple
color5 = #d3869b
color13 = #d3869b
# Purple
color5 = #d3869b
color13 = #d3869b
# Teal
color6 = #8ec07c
color14 = #8ec07c
# Teal
color6 = #8ec07c
color14 = #8ec07c
# Extra colors
# orange
color16 = #fe8019
# orange
color17 = #d65d0e
# bg1
color18 = #3c3836
# bg2
color19 = #504945
# fg3
color20 = #bdae93
# fg
color21 = #ebdbb2
# Extra colors
# orange
color16 = #fe8019
# orange
color17 = #d65d0e
# bg1
color18 = #3c3836
# bg2
color19 = #504945
# fg3
color20 = #bdae93
# fg
color21 = #ebdbb2
#+END_SRC

358
tmux.org
View File

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

View File

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

320
video.org
View File

@ -34,203 +34,203 @@ alang=en,fr
:END:
#+BEGIN_SRC conf
# =============================================================
# Audio
# =============================================================
#WHEEL_LEFT 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
# =============================================================
# Audio
# =============================================================
#WHEEL_LEFT 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
#9 add volume -2
#/ add volume -2
#0 add volume 2
#* add volume 2
#m cycle mute
#9 add volume -2
#/ add volume -2
#0 add volume 2
#* add volume 2
#m cycle mute
#SHARP cycle audio # switch audio streams
# =============================================================
#SHARP cycle audio # switch audio streams
# =============================================================
# =============================================================
# Basic
# =============================================================
ESC set fullscreen no
# =============================================================
# Basic
# =============================================================
ESC set fullscreen no
q quit
Q quit-watch-later
q quit
Q quit-watch-later
SPACE cycle pause # toggle pause/playback mode
# p cycle pause # toggle pause/playback mode
# =============================================================
SPACE cycle pause # toggle pause/playback mode
# p cycle pause # toggle pause/playback mode
# =============================================================
# =============================================================
# Navigation
# =============================================================
l seek 5
h seek -5
# k seek 60
# j seek -60
# =============================================================
# Navigation
# =============================================================
l seek 5
h seek -5
# k seek 60
# j seek -60
L playlist-next # skip to next file
H playlist-prev # skip to previous file
K add chapter 1 # skip to next chapter
J add chapter -1 # skip to previous chapter
L playlist-next # skip to next file
H playlist-prev # skip to previous file
K add chapter 1 # skip to next chapter
J add chapter -1 # skip to previous chapter
WHEEL_UP seek 10
WHEEL_DOWN seek -10
# =============================================================
WHEEL_UP seek 10
WHEEL_DOWN seek -10
# =============================================================
# =============================================================
# Subtitles
# =============================================================
z add sub-delay -0.1 # subtract 100 ms delay from subs
Z add sub-delay +0.1 # add
#x add sub-delay +0.1 # same as previous binding (discouraged)
#r add sub-pos -1 # move subtitles up
#R add sub-pos +1 # down
#t add sub-pos +1 # same as previous binding (discouraged)
#v cycle sub-visibility
# stretch SSA/ASS subtitles with anamorphic videos to match historical
#V cycle sub-ass-vsfilter-aspect-compat
# switch between applying no style overrides to SSA/ASS subtitles, and
# overriding them almost completely with the normal subtitle style
#u cycle-values sub-ass-override "force" "no"
#j cycle sub # cycle through subtitles
#J cycle sub down # ...backwards
# Skip to previous/next subtitle (subject to some restrictions; see manpage)
#Ctrl+LEFT no-osd sub-seek -1
#Ctrl+RIGHT no-osd sub-seek 1
# Adjust timing to previous/next subtitle
#Ctrl+Shift+LEFT sub-step -1
#Ctrl+Shift+RIGHT sub-step 1
# 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 # decrease subtitle font size
# =============================================================
# =============================================================
# Subtitles
# =============================================================
z add sub-delay -0.1 # subtract 100 ms delay from subs
Z add sub-delay +0.1 # add
#x add sub-delay +0.1 # same as previous binding (discouraged)
#r add sub-pos -1 # move subtitles up
#R add sub-pos +1 # down
#t add sub-pos +1 # same as previous binding (discouraged)
#v cycle sub-visibility
# stretch SSA/ASS subtitles with anamorphic videos to match historical
#V cycle sub-ass-vsfilter-aspect-compat
# switch between applying no style overrides to SSA/ASS subtitles, and
# overriding them almost completely with the normal subtitle style
#u cycle-values sub-ass-override "force" "no"
#j cycle sub # cycle through subtitles
#J cycle sub down # ...backwards
# Skip to previous/next subtitle (subject to some restrictions; see manpage)
#Ctrl+LEFT no-osd sub-seek -1
#Ctrl+RIGHT no-osd sub-seek 1
# Adjust timing to previous/next subtitle
#Ctrl+Shift+LEFT sub-step -1
#Ctrl+Shift+RIGHT sub-step 1
# 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 # decrease subtitle font size
# =============================================================
# =============================================================
# Video
# =============================================================
# Move video rectangle
#Alt+left add video-pan-x 0.1
#Alt+right add video-pan-x -0.1
#Alt+up add video-pan-y 0.1
#Alt+down add video-pan-y -0.1
# Zoom/unzoom video
#Alt++ add video-zoom 0.1
#Alt+- add video-zoom -0.1
# Reset video zoom/pan settings
#Alt+BS set video-zoom 0 ; set video-pan-x 0 ; set video-pan-y 0
# =============================================================
# Video
# =============================================================
# Move video rectangle
#Alt+left add video-pan-x 0.1
#Alt+right add video-pan-x -0.1
#Alt+up add video-pan-y 0.1
#Alt+down add video-pan-y -0.1
# Zoom/unzoom video
#Alt++ add video-zoom 0.1
#Alt+- add video-zoom -0.1
# Reset video zoom/pan settings
#Alt+BS set video-zoom 0 ; set video-pan-x 0 ; set video-pan-y 0
#1 add contrast -1
#2 add contrast 1
#3 add brightness -1
#4 add brightness 1
#5 add gamma -1
#6 add gamma 1
#7 add saturation -1
#8 add saturation 1
# =============================================================
#1 add contrast -1
#2 add contrast 1
#3 add brightness -1
#4 add brightness 1
#5 add gamma -1
#6 add gamma 1
#7 add saturation -1
#8 add saturation 1
# =============================================================
# =============================================================
# Speed
# =============================================================
#[ multiply speed 1/1.1 # scale playback speed
#] multiply speed 1.1
#{ multiply speed 0.5
#} multiply speed 2.0
#BS set speed 1.0 # reset speed to normal
# =============================================================
# =============================================================
# Speed
# =============================================================
#[ multiply speed 1/1.1 # scale playback speed
#] multiply speed 1.1
#{ multiply speed 0.5
#} multiply speed 2.0
#BS set speed 1.0 # reset speed to normal
# =============================================================
# =============================================================
# # Informations
# =============================================================
#o show-progress
#P show-progress
# =============================================================
# # Informations
# =============================================================
#o show-progress
#P show-progress
#i script-binding stats/display-stats
#I script-binding stats/display-stats-toggle
# =============================================================
#i script-binding stats/display-stats
#I script-binding stats/display-stats-toggle
# =============================================================
# =============================================================
# Screenshot
# =============================================================
#s async screenshot # take a screenshot
#S async screenshot video # ...without subtitles
#Ctrl+s async screenshot window # ...with subtitles and OSD, and scaled
#Alt+s screenshot each-frame # automatically screenshot every frame
# =============================================================
# =============================================================
# Screenshot
# =============================================================
#s async screenshot # take a screenshot
#S async screenshot video # ...without subtitles
#Ctrl+s async screenshot window # ...with subtitles and OSD, and scaled
#Alt+s screenshot each-frame # automatically screenshot every frame
# =============================================================
# =============================================================
# Media keys
# =============================================================
#POWER quit
#PLAY cycle pause
#PAUSE cycle pause
#PLAYPAUSE cycle pause
#STOP quit
#FORWARD seek 60
#REWIND seek -60
#NEXT playlist-next
#PREV playlist-prev
#VOLUME_UP add volume 2
#VOLUME_DOWN add volume -2
#MUTE cycle mute
#CLOSE_WIN quit
#CLOSE_WIN {encode} quit 4
# =============================================================
# =============================================================
# Media keys
# =============================================================
#POWER quit
#PLAY cycle pause
#PAUSE cycle pause
#PLAYPAUSE cycle pause
#STOP quit
#FORWARD seek 60
#REWIND seek -60
#NEXT playlist-next
#PREV playlist-prev
#VOLUME_UP add volume 2
#VOLUME_DOWN add volume -2
#MUTE cycle mute
#CLOSE_WIN quit
#CLOSE_WIN {encode} quit 4
# =============================================================
# =============================================================
# Others
# =============================================================
#Shift+BS revert-seek # undo previous (or marked) seek
#Shift+Ctrl+BS revert-seek mark # mark position for revert-seek
# =============================================================
# Others
# =============================================================
#Shift+BS revert-seek # undo previous (or marked) seek
#Shift+Ctrl+BS revert-seek mark # mark position for revert-seek
#. frame-step # advance one frame and pause
#, frame-back-step # go back by one frame and pause
#. frame-step # advance 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+1 set window-scale 1.0
#Alt+2 set window-scale 2.0
#Alt+0 set window-scale 0.5
#Alt+1 set window-scale 1.0
#Alt+2 set window-scale 2.0
# toggle deinterlacer (automatically inserts or removes required filter)
#d cycle deinterlace
# toggle deinterlacer (automatically inserts or removes required filter)
#d cycle deinterlace
#_ cycle video
#_ cycle video
#T cycle ontop # toggle video window ontop of other windows
#f cycle fullscreen # toggle fullscreen
#T cycle ontop # toggle video window ontop of other windows
#f cycle fullscreen # toggle fullscreen
#w add panscan -0.1 # zoom out with -panscan 0 -fs
#W add panscan +0.1 # in
#e add panscan +0.1 # same as previous binding (discouraged)
#w add panscan -0.1 # zoom out with -panscan 0 -fs
#W add panscan +0.1 # in
#e add panscan +0.1 # same as previous binding (discouraged)
# cycle video aspect ratios; "-1" is the container aspect
#A cycle-values video-aspect "16:9" "4:3" "2.35:1" "-1"
# cycle video aspect ratios; "-1" is the container aspect
#A cycle-values video-aspect "16:9" "4:3" "2.35:1" "-1"
#E cycle edition # next edition
#l ab-loop # Set/clear A-B loop points
#L cycle-values loop-file "inf" "no" # toggle infinite looping
#ctrl+c quit 4
#DEL script-binding osc/visibility # cycle OSC display
#ctrl+h cycle-values hwdec "auto" "no" # cycle hardware decoding
#F8 show_text ${playlist} # show playlist
#E cycle edition # next edition
#l ab-loop # Set/clear A-B loop points
#L cycle-values loop-file "inf" "no" # toggle infinite looping
#ctrl+c quit 4
#DEL script-binding osc/visibility # cycle OSC display
#ctrl+h cycle-values hwdec "auto" "no" # cycle hardware decoding
#F8 show_text ${playlist} # show playlist
#q {encode} quit 4
#ESC {encode} quit 4
# =============================================================
#q {encode} quit 4
#ESC {encode} quit 4
# =============================================================
#+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
- Create bootable USB key using the woeusb utility (https://computingforgeeks.com/create-windows-10-bootable-usb-on-linux/)
#+begin_src bash
yay -S woeusb
yay -S woeusb
#+end_src
#+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
* Install Windows10 PRO
@ -18,12 +18,12 @@
* Install Software using Chocolatey
First install Chocolatey using a PowerShell as administrator:
#+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
Then, install all required software using one command:
#+begin_src bash
choco install -y firefox 7zip.install vlc git.install malwarebytes sumatrapdf.install steam anydesk discord f.lux cmder cura ccleaner neovim
choco install -y firefox 7zip.install vlc git.install malwarebytes sumatrapdf.install steam anydesk discord f.lux cmder cura ccleaner neovim
#+end_src
* Debloat windows10
@ -31,36 +31,36 @@ https://github.com/Sycnex/Windows10Debloater
Run a PowerShell with administrative rights and run:
#+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
* SSHFS
** 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]]):
#+begin_src bash
choco install openssh --package-parameters="/SSHAgentFeature"
choco install openssh --package-parameters="/SSHAgentFeature"
#+end_src
Then generate the keys:
#+begin_src bash
ssh-keygen
ssh-keygen
#+end_src
Start the SSH-Agent to automatically unlock the keys:
#+begin_src bash
# Start the service
Start-Service ssh-agent
# Start the service
Start-Service ssh-agent
# This should return a status of Running
Get-Service ssh-agent
# This should return a status of Running
Get-Service ssh-agent
# Now load your key files into ssh-agent
ssh-add
# Now load your key files into ssh-agent
ssh-add
#+end_src
Copy the public key with:
#+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
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=:
#+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
Then, to mount the network drive using =sshfs=:
#+begin_src bash
net use X: \\sshfs.kr\thomas@192.168.1.150\srv\storage /persistent:yes
net use X: \\sshfs.kr\thomas@192.168.1.150\srv\storage /persistent:yes
#+end_src
To un-mount it:
#+begin_src bash
net use X: /delete
net use X: /delete
#+end_src
* Software Setup

View File

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

View File

@ -92,13 +92,13 @@ set recolor-keephue "false"
** Extract one page as a PDF
#+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
# Ideally would get the page from Zathura...
pagenum=$(rofi -dmenu -p "Page Number")
# Ask for page number
# Ideally would get the page from Zathura...
pagenum=$(rofi -dmenu -p "Page Number")
pdftk $1 cat $pagenum output $tmpfile.pdf && \
pdf2svg $tmpfile.pdf $tmpfile.svg && \
inkscape $tmpfile.svg
pdftk $1 cat $pagenum output $tmpfile.pdf && \
pdf2svg $tmpfile.pdf $tmpfile.svg && \
inkscape $tmpfile.svg
#+end_src