Major Update!
This commit is contained in:
parent
53f501e847
commit
37f033c802
@ -7,11 +7,11 @@
|
||||
:END:
|
||||
#+begin_src conf
|
||||
[Desktop Entry]
|
||||
Name=neomutt
|
||||
Name=Neomutt
|
||||
GenericName=Email client
|
||||
Exec=/usr/bin/kitty --class neomutt /usr/bin/neomutt
|
||||
Exec=/usr/bin/termite -e neomutt %u
|
||||
Type=Application
|
||||
Icon=/usr/share/doc/neomutt/logo/neomutt-128.png
|
||||
Icon=/usr/share/icons/Papirus/64x64/apps/mutt.svg
|
||||
Categories=Network;Email;
|
||||
MimeType=message/rfc822;x-scheme-handler/mailto;application/x-xpinstall;
|
||||
StartupNotify=true
|
||||
@ -29,30 +29,103 @@
|
||||
Name=Zathura
|
||||
Comment=A minimalistic document viewer
|
||||
Exec=zathura %U
|
||||
# Translators: Icon of the desktop entry.
|
||||
Icon=org.pwmt.zathura
|
||||
Icon=/usr/share/icons/Papirus/64x64/apps/zathura.svg
|
||||
Terminal=false
|
||||
Categories=Office;Viewer;
|
||||
# Translators: Search terms to find this application. Do not translate or
|
||||
# localize the semicolons. The list must also end with a semicolon.
|
||||
Keywords=PDF;PS;PostScript;DjVU;document;presentation;viewer;
|
||||
#+end_src
|
||||
|
||||
* Weechat
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.local/share/applications/weechat.desktop
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:END:
|
||||
#+begin_src conf
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
MultipleArgs=false
|
||||
Terminal=false
|
||||
Exec=termite --class=WeeChat -e 'weechat'
|
||||
StartupWMClass=WeeChat
|
||||
Icon=chat
|
||||
Type=Application
|
||||
Categories=Network;IRCClient;
|
||||
StartupNotify=true
|
||||
Name=WeeChat
|
||||
GenericName=IRC Client
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
MultipleArgs=false
|
||||
Terminal=false
|
||||
Exec=termite --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
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.local/share/applications/matlab.desktop
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:END:
|
||||
#+begin_src conf
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Type=Application
|
||||
Terminal=false
|
||||
Exec=/usr/local/bin/matlab -desktop
|
||||
Name=MATLAB
|
||||
Icon=/usr/share/icons/Papirus/48x48/apps/matlab.svg
|
||||
Categories=Development;Math;Science
|
||||
Comment=Scientific computing environment
|
||||
StartupNotify=true
|
||||
StartupWMClass=com-mathworks-util-PostVMInit
|
||||
#+end_src
|
||||
|
||||
* Neovim
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.local/share/applications/nvim.desktop
|
||||
: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;
|
||||
#+end_src
|
||||
|
||||
* TODO Transmission
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.local/share/applications/transmission.desktop
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:END:
|
||||
|
||||
#+begin_src conf
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Torrent
|
||||
Exec=/usr/bin/env transadd %U
|
||||
#+end_src
|
||||
* Images
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.local/share/applications/img.desktop
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:END:
|
||||
#+begin_src conf
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Image viewer
|
||||
Exec=/usr/bin/sxiv -a %u
|
||||
#+end_src
|
||||
|
||||
* TODO RSS
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.local/share/applications/rss.desktop
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:END:
|
||||
#+begin_src conf
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=RSS feed addition
|
||||
Exec=/usr/bin/env rssadd %U
|
||||
#+end_src
|
||||
|
@ -30,50 +30,47 @@ esac
|
||||
|
||||
** Use Color
|
||||
#+BEGIN_SRC conf
|
||||
use_color=true
|
||||
use_color=true
|
||||
alias ls='ls -hN --color=auto --group-directories-first'
|
||||
alias grep='grep --colour=auto'
|
||||
#+END_SRC
|
||||
|
||||
** TODO Set colorful PS1 only on colorful terminals.
|
||||
dircolors --print-database uses its own built-in database instead of using /etc/DIR_COLORS. Try to use the external file first to take advantage of user additions. Use internal bash globbing instead of external grep binary.
|
||||
|
||||
#+BEGIN_SRC conf
|
||||
safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM
|
||||
match_lhs=""
|
||||
[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)"
|
||||
[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(</etc/DIR_COLORS)"
|
||||
[[ -z ${match_lhs} ]] \
|
||||
&& type -P dircolors >/dev/null \
|
||||
&& match_lhs=$(dircolors --print-database)
|
||||
[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true
|
||||
safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM
|
||||
match_lhs=""
|
||||
[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)"
|
||||
[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(</etc/DIR_COLORS)"
|
||||
[[ -z ${match_lhs} ]] \
|
||||
&& type -P dircolors >/dev/null \
|
||||
&& match_lhs=$(dircolors --print-database)
|
||||
[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true
|
||||
|
||||
if ${use_color} ; then
|
||||
# Enable colors for ls, etc. Prefer ~/.dir_colors #64489
|
||||
if type -P dircolors >/dev/null ; then
|
||||
if [[ -f ~/.dir_colors ]] ; then
|
||||
eval $(dircolors -b ~/.dir_colors)
|
||||
elif [[ -f /etc/DIR_COLORS ]] ; then
|
||||
eval $(dircolors -b /etc/DIR_COLORS)
|
||||
if ${use_color} ; then
|
||||
# Enable colors for ls, etc. Prefer ~/.dir_colors #64489
|
||||
if type -P dircolors >/dev/null ; then
|
||||
if [[ -f ~/.dir_colors ]] ; then
|
||||
eval $(dircolors -b ~/.dir_colors)
|
||||
elif [[ -f /etc/DIR_COLORS ]] ; then
|
||||
eval $(dircolors -b /etc/DIR_COLORS)
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ${EUID} == 0 ]] ; then
|
||||
PS1='\[\033[01;31m\][\h\[\033[01;36m\] \W\[\033[01;31m\]]\$\[\033[00m\] '
|
||||
else
|
||||
PS1='\[\033[01;32m\][\u@\h\[\033[01;37m\] \W\[\033[01;32m\]]\$\[\033[00m\] '
|
||||
fi
|
||||
else
|
||||
if [[ ${EUID} == 0 ]] ; then
|
||||
# show root@ when we don't have colors
|
||||
PS1='\u@\h \W \$ '
|
||||
else
|
||||
PS1='\u@\h \w \$ '
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ${EUID} == 0 ]] ; then
|
||||
PS1='\[\033[01;31m\][\h\[\033[01;36m\] \W\[\033[01;31m\]]\$\[\033[00m\] '
|
||||
else
|
||||
PS1='\[\033[01;32m\][\u@\h\[\033[01;37m\] \W\[\033[01;32m\]]\$\[\033[00m\] '
|
||||
fi
|
||||
|
||||
alias ls='ls --color=auto'
|
||||
alias grep='grep --colour=auto'
|
||||
alias egrep='egrep --colour=auto'
|
||||
alias fgrep='fgrep --colour=auto'
|
||||
else
|
||||
if [[ ${EUID} == 0 ]] ; then
|
||||
# show root@ when we don't have colors
|
||||
PS1='\u@\h \W \$ '
|
||||
else
|
||||
PS1='\u@\h \w \$ '
|
||||
fi
|
||||
fi
|
||||
#+END_SRC
|
||||
|
||||
#+BEGIN_SRC conf
|
||||
@ -122,11 +119,18 @@ bind '"\e[B": history-search-forward'
|
||||
alias m="neomutt"
|
||||
alias y="yadm"
|
||||
alias o="xdg-open"
|
||||
alias x="sxiv -ft *"
|
||||
#+END_SRC
|
||||
|
||||
*** Neovim
|
||||
#+begin_src conf
|
||||
command -v nvim >/dev/null && alias vim="nvim" vimdiff="nvim -d" # Use neovim for vim if present.
|
||||
#+end_src
|
||||
|
||||
*** Magit
|
||||
#+BEGIN_SRC conf
|
||||
alias magit="emacsclient -create-frame --alternate-editor=\"\" --eval '(magit-status)'"
|
||||
# alias magit="emacsclient -create-frame --alternate-editor=\"\" --eval '(magit-status)'"
|
||||
alias magit="nvim -c MagitOnly"
|
||||
#+END_SRC
|
||||
|
||||
*** Vim-like
|
||||
@ -298,11 +302,7 @@ function nullify() {
|
||||
|
||||
** Prompt
|
||||
#+BEGIN_SRC conf
|
||||
if [ "`id -u`" -eq 0 ]; then
|
||||
PS1="\[\033[m\]|\[\033[1;35m\]\t\[\033[m\]|\[\e[1;31m\]\u\[\e[1;36m\]\[\033[m\]@\[\e[1;36m\]\h\[\033[m\]:\[\e[0m\]\[\e[1;32m\][\W]> \[\e[0m\]"
|
||||
else
|
||||
PS1="\[\033[m\]|\[\033[1;35m\]\t\[\033[m\]|\[\e[1m\]\u\[\e[1;36m\]\[\033[m\]@\[\e[1;36m\]\h\[\033[m\]:\[\e[0m\]\[\e[1;32m\][\W]> \[\e[0m\]"
|
||||
fi
|
||||
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
|
||||
|
||||
** Exports
|
||||
@ -391,8 +391,11 @@ export SUDO_ASKPASS=~/bin/askpass-rofi
|
||||
|
||||
** Default
|
||||
#+BEGIN_SRC conf
|
||||
export EDITOR=/usr/bin/nvim
|
||||
export BROWSER=/usr/bin/qutebrowser
|
||||
export EDITOR="nvim"
|
||||
export TERMINAL="st"
|
||||
export BROWSER="qutebrowser"
|
||||
export READER="zathura"
|
||||
export FILE="vifm"
|
||||
#+END_SRC
|
||||
|
||||
** Path
|
||||
|
521
dotfiles/binaries.org
Normal file
521
dotfiles/binaries.org
Normal file
@ -0,0 +1,521 @@
|
||||
#+TITLE: Binaries
|
||||
|
||||
* Select Screen
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/bin/displayselect
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
Script taken from Luke Smith.
|
||||
|
||||
#+begin_src bash
|
||||
twoscreen() { # If multi-monitor is selected and there are two screens.
|
||||
|
||||
mirror=$(printf "no\\nyes" | dmenu -i -p "Mirror displays?")
|
||||
# Mirror displays using native resolution of external display and a scaled
|
||||
# version for the internal display
|
||||
if [ "$mirror" = "yes" ]; then
|
||||
external=$(echo "$screens" | dmenu -i -p "Optimize resolution for:")
|
||||
internal=$(echo "$screens" | grep -v "$external")
|
||||
|
||||
res_external=$(xrandr --query | sed -n "/^$external/,/\+/p" | \
|
||||
tail -n 1 | awk '{print $1}')
|
||||
res_internal=$(xrandr --query | sed -n "/^$internal/,/\+/p" | \
|
||||
tail -n 1 | awk '{print $1}')
|
||||
|
||||
res_ext_x=$(echo $res_external | sed 's/x.*//')
|
||||
res_ext_y=$(echo $res_external | sed 's/.*x//')
|
||||
res_int_x=$(echo $res_internal | sed 's/x.*//')
|
||||
res_int_y=$(echo $res_internal | sed 's/.*x//')
|
||||
|
||||
scale_x=$(echo "$res_ext_x / $res_int_x" | bc -l)
|
||||
scale_y=$(echo "$res_ext_y / $res_int_y" | bc -l)
|
||||
|
||||
xrandr --output "$external" --auto --scale 1.0x1.0 \
|
||||
--output "$internal" --auto --same-as "$external" \
|
||||
--scale "$scale_x"x"$scale_y"
|
||||
else
|
||||
|
||||
primary=$(echo "$screens" | dmenu -i -p "Select primary display:")
|
||||
secondary=$(echo "$screens" | grep -v "$primary")
|
||||
direction=$(printf "left\\nright" | dmenu -i -p "What side of $primary should $secondary be on?")
|
||||
xrandr --output "$primary" --auto --scale 1.0x1.0 --output "$secondary" --"$direction"-of "$primary" --auto --scale 1.0x1.0
|
||||
fi
|
||||
}
|
||||
|
||||
morescreen() { # If multi-monitor is selected and there are more than two screens.
|
||||
primary=$(echo "$screens" | dmenu -i -p "Select primary display:")
|
||||
secondary=$(echo "$screens" | grep -v "$primary" | dmenu -i -p "Select secondary display:")
|
||||
direction=$(printf "left\\nright" | dmenu -i -p "What side of $primary should $secondary be on?")
|
||||
tertiary=$(echo "$screens" | grep -v "$primary" | grep -v "$secondary" | dmenu -i -p "Select third display:")
|
||||
xrandr --output "$primary" --auto --output "$secondary" --"$direction"-of "$primary" --auto --output "$tertiary" --"$(printf "left\\nright" | grep -v "$direction")"-of "$primary" --auto
|
||||
}
|
||||
|
||||
multimon() { # Multi-monitor handler.
|
||||
case "$(echo "$screens" | wc -l)" in
|
||||
1) xrandr $(echo "$allposs" | grep -v "$screens" | awk '{print "--output", $1, "--off"}' | tr '\n' ' ') ;;
|
||||
2) twoscreen ;;
|
||||
,*) morescreen ;;
|
||||
esac ;}
|
||||
|
||||
# Get all possible displays
|
||||
allposs=$(xrandr -q | grep "connected")
|
||||
|
||||
# Get all connected screens.
|
||||
screens=$(echo "$allposs" | grep " connected" | awk '{print $1}')
|
||||
|
||||
# Get user choice including multi-monitor and manual selection:
|
||||
chosen=$(printf "%s\\ncancel\\nmulti-monitor\\nmanual selection" "$screens" | dmenu -i -p "Select display arangement:") &&
|
||||
case "$chosen" in
|
||||
"cancel") exit ;;
|
||||
"manual selection") arandr ; exit ;;
|
||||
"multi-monitor") multimon ;;
|
||||
,*) xrandr --output "$chosen" --auto --scale 1.0x1.0 $(echo "$allposs" | grep -v "$chosen" | awk '{print "--output", $1, "--off"}' | tr '\n' ' ') ;;
|
||||
esac
|
||||
|
||||
# setbg # Fix background if screen size/arangement has changed.
|
||||
$HOME/.config/polybar/scripts/launch.sh # restart polybar
|
||||
pgrep -x dunst >/dev/null && killall dunst && setsid dunst & # Restart dunst to ensure proper location on screen
|
||||
#+end_src
|
||||
|
||||
* getbib
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/bin/getbib
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
#+begin_src bash
|
||||
[ -z "$1" ] && echo "Give either a pdf file or a DOI as an argument." && exit
|
||||
|
||||
if [ -f "$1" ]; then
|
||||
# Try to get DOI from pdfinfo or pdftotext output.
|
||||
doi=$(pdfinfo "$1" | grep -io "doi:.*") ||
|
||||
doi=$(pdftotext "$1" 2>/dev/null - | grep -io "doi:.*" -m 1) ||
|
||||
exit 1
|
||||
else
|
||||
doi="$1"
|
||||
fi
|
||||
|
||||
# Check crossref.org for the bib citation.
|
||||
curl -s "http://api.crossref.org/works/$doi/transform/application/x-bibtex" -w "\\n"
|
||||
#+end_src
|
||||
|
||||
* vpnToggle
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/bin/vpntoggle
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
|
||||
#+begin_src bash
|
||||
if [[ $(nordvpn status) == *"Connected"* ]]; then
|
||||
nordvpn disconnect && dunstify --replace=23198 "VPN" "Disconnected";
|
||||
else
|
||||
country=`nordvpn countries | sed 's/\s*\t\s*/ /g ; s/\s/\n/g ; s/_/ /g ; /^[a-zA-Z]/!d ; s/\(.*\)/\L\1/' | rofi -i -dmenu | sed 's/\s/_/g'`
|
||||
nordvpn connect $country && dunstify --replace=23198 "VPN" "Connected to $country";
|
||||
fi
|
||||
#+end_src
|
||||
|
||||
* bukurun
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/bin/bukurun
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
|
||||
#+begin_src bash
|
||||
_rofi () {
|
||||
rofi -dmenu -i -no-levenshtein-sort -width 1000 "$@"
|
||||
}
|
||||
|
||||
# display settings
|
||||
display_type=1
|
||||
max_str_width=80
|
||||
|
||||
# keybindings
|
||||
switch_view="Alt+Tab"
|
||||
new_bookmark="Alt+n"
|
||||
actions="Alt+a"
|
||||
edit="Alt+e"
|
||||
delete="Alt+d"
|
||||
|
||||
# colors
|
||||
help_color="#334433"
|
||||
|
||||
# source global config
|
||||
if [[ -f /etc/buku_run.config ]]
|
||||
then
|
||||
source /etc/buku_run.config
|
||||
fi
|
||||
|
||||
# source local config:
|
||||
if [[ -z $XDG_CONFIG_DIR ]]
|
||||
then
|
||||
if [[ -f $HOME/.config/buku_run/config ]]
|
||||
then
|
||||
source $HOME/.config/buku_run/config
|
||||
else
|
||||
echo "User config file \'~/.config/buku_run/config\' not found. using global config"
|
||||
fi
|
||||
else
|
||||
if [[ -f "${XDG_CONFIG_DIR}/buku_run/config" ]]
|
||||
then
|
||||
source "${XDG_CONFIG_DIR}/buku_run/config"
|
||||
else
|
||||
echo "User config file \'~/.config/buku_run/config\' not found. using global config"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
main () {
|
||||
HELP="Welcome to Buku. Use <span color='${help_color}'>${new_bookmark}</span> to add a new Bookmark
|
||||
Use <span color='${help_color}'>${switch_view}</span> to switch View. <span color='${help_color}'>${actions}</span> for actions"
|
||||
if [[ $mode == "bookmarks" ]]; then
|
||||
content=$(parseBuku)
|
||||
menu=$(echo "${content}" | _rofi -p '> ' -filter "${filter}" -mesg "${HELP}" -kb-custom-1 "${new_bookmark}" -kb-custom-2 "${switch_view}" -kb-custom-3 "${actions}" -kb-custom-4 "${edit}" -kb-custom-5 "${delete}")
|
||||
elif [[ $mode == "tags" ]]; then
|
||||
menu=$(buku --np --st | awk '{$NF=""; print $0}' | cut -d ' ' -f2- | _rofi -p '> ' -mesg "${HELP}" -kb-custom-1 "${new_bookmark}" -kb-custom-2 "${switch_view}" -kb-custom-3 "${actions}" -kb-custom-4 "${edit}" -kb-custom-5 "${delete}")
|
||||
fi
|
||||
val=$?
|
||||
if [[ $val -eq 1 ]]; then
|
||||
exit
|
||||
elif [[ $val -eq 12 ]]; then
|
||||
optionsMenu
|
||||
elif [[ $val -eq 10 ]]; then
|
||||
addMark
|
||||
elif [[ $val -eq 14 ]]; then
|
||||
deleteMenu
|
||||
elif [[ $val -eq 13 ]]; then
|
||||
editMenu
|
||||
elif [[ $val -eq 11 ]]; then
|
||||
if [[ $mode == "bookmarks" ]]; then
|
||||
export mode="tags"
|
||||
mode=tags main
|
||||
elif [[ $mode == "tags" ]]; then
|
||||
export mode="bookmarks"
|
||||
mode=bookmarks main
|
||||
fi
|
||||
elif [[ $val -eq 0 ]]; then
|
||||
if [[ $mode == "bookmarks" ]]; then
|
||||
id=$(getId "$content" "$menu")
|
||||
for bm in ${id}; do
|
||||
buku -o "${bm}"
|
||||
done
|
||||
elif [[ $mode == "tags" ]]; then
|
||||
filter="${menu}" mode="bookmarks" main
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
optionsMenu () {
|
||||
if [[ $mode == "bookmarks" ]]; then
|
||||
askmenu=$(echo -e "< Return\n---\n1. Edit\n2. Delete" | _rofi -p '> ' -mesg "Choose Action for bookmark")
|
||||
val=$?
|
||||
if [[ $val -eq 1 ]]; then
|
||||
exit
|
||||
elif [[ $val -eq 0 ]]; then
|
||||
if [[ $askmenu == "< Return" ]]; then
|
||||
export mode=bookmarks
|
||||
main
|
||||
elif [[ $askmenu == "1. Edit" ]]; then
|
||||
editMenu
|
||||
elif [[ $askmenu == "2. Delete" ]]; then
|
||||
deleteMenu
|
||||
fi
|
||||
fi
|
||||
elif [[ $mode == "tags" ]]; then
|
||||
askmenu=$(echo -e "< Return\n---\n1. Replace Tag\n2. Delete Tag" | _rofi -p '> ' -mesg "Choose Action for tag \"${menu}\"")
|
||||
val=$?
|
||||
if [[ $val -eq 1 ]]; then
|
||||
exit
|
||||
elif [[ $val -eq 0 ]]; then
|
||||
if [[ $askmenu == "< Return" ]]; then
|
||||
export mode=tags
|
||||
main
|
||||
elif [[ $askmenu == "1. Replace Tag" ]]; then
|
||||
newtag=$(echo | _rofi -p '> ' -mesg "Enter new tag name for tag \"${menu}\"")
|
||||
val=$?
|
||||
if [[ $val -eq 1 ]]; then
|
||||
exit
|
||||
elif [[ $val -eq 0 ]]; then
|
||||
if [[ $newtag == "" ]]; then
|
||||
mode=tags main
|
||||
else
|
||||
buku -r "${menu}" "${newtag}"
|
||||
mode=tags main
|
||||
fi
|
||||
fi
|
||||
elif [[ $askmenu == "2. Delete Tag" ]]; then
|
||||
delask=$(echo -e "1. Yes\n2. No" | _rofi -p '> ' -mesg "Really delete tag?")
|
||||
val=$?
|
||||
if [[ $val -eq 1 ]]; then
|
||||
exit
|
||||
elif [[ $val -eq 0 ]]; then
|
||||
if [[ $delask == "1. Yes" ]]; then
|
||||
buku -r "${menu}"
|
||||
mode=tags main
|
||||
elif [[ $delask == "2. No" ]]; then
|
||||
mode=tags main
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
deleteMenu () {
|
||||
id=$(getId "$content" "$menu")
|
||||
delask=$(echo -e "1. Yes\n2. No" | _rofi -p '> ' -mesg "Really delete bookmark?")
|
||||
val=$?
|
||||
if [[ $val -eq 1 ]]; then
|
||||
exit
|
||||
elif [[ $val -eq 0 ]]; then
|
||||
if [[ $delask == "1. Yes" ]]; then
|
||||
buku -d ${id} --tacit
|
||||
mode=bookmarks main
|
||||
elif [[ $delask == "2. No" ]]; then
|
||||
optionsMenu
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
editMenu () {
|
||||
id=$(getId "$content" "$menu")
|
||||
title="$(getTitleFromId $id)"
|
||||
bookmark="$(getUrlFromId $id)"
|
||||
tags="$(getTagsFromId $id)"
|
||||
content=$(echo -e "1. title: $title\n2. url: $bookmark\n3. tags: $tags")
|
||||
editmenu=$(echo -e "< Return\n---\n${content}" | _rofi -p '> ')
|
||||
val=$?
|
||||
if [[ $val -eq 1 ]]; then
|
||||
exit
|
||||
elif [[ $val -eq 0 ]]; then
|
||||
if [[ $editmenu == "< Return" ]]; then
|
||||
main
|
||||
elif [[ $editmenu == "tags: NOTAG" ]]; then
|
||||
addTags --update
|
||||
elif [[ $editmenu =~ tags:* ]]; then
|
||||
tags="${tags}" editTags
|
||||
elif [[ $editmenu =~ url:* ]]; then
|
||||
editBookmark
|
||||
elif [[ $editmenu =~ title:* ]]; then
|
||||
editTitle
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
editTags () {
|
||||
edittagsmenu=$(echo | _rofi -filter "${tags}" -p '> ' -mesg "Edit Tags and hit Enter")
|
||||
val=$?
|
||||
if [[ $val -eq 1 ]]; then
|
||||
exit
|
||||
elif [[ $val -eq 0 ]]; then
|
||||
buku -u ${id} --tag "${edittagsmenu}"
|
||||
fi
|
||||
mode=bookmarks main
|
||||
}
|
||||
|
||||
editBookmark () {
|
||||
bmarkmenu=$(echo "" | _rofi -p "> " -filter "${bookmark}" -mesg "Edit Bookmark and hit Enter")
|
||||
val=$?
|
||||
if [[ $val -eq 1 ]]; then
|
||||
exit
|
||||
elif [[ $val -eq 0 ]]; then
|
||||
if [[ $bmarkmenu == "http"* ]]; then
|
||||
buku -u "${id}" --url "${bmarkmenu}"
|
||||
else
|
||||
echo "" | rofi -e "Not a valid URI, Make sure URLs start with http"
|
||||
editBookmark
|
||||
fi
|
||||
fi
|
||||
mode=bookmarks main
|
||||
}
|
||||
|
||||
editTitle () {
|
||||
titlemenu=$(echo "" | _rofi -p "> " -filter "${title}" -mesg "Edit Title and hit Enter")
|
||||
val=$?
|
||||
if [[ $val -eq 1 ]]; then
|
||||
exit
|
||||
elif [[ $val -eq 0 ]]; then
|
||||
buku -u "${id}" --title "${titlemenu}"
|
||||
fi
|
||||
mode=bookmarks main
|
||||
}
|
||||
|
||||
addMark () {
|
||||
inserturl=$(echo -e "$(xclip -o)" | _rofi -p '> ' -mesg "Use URL below or type manually")
|
||||
val=$?
|
||||
if [[ $val -eq 1 ]]; then
|
||||
exit
|
||||
elif [[ $val -eq 0 ]]; then
|
||||
addTags
|
||||
fi
|
||||
}
|
||||
|
||||
addTags () {
|
||||
inserttags=$(buku --np --st | awk '{$NF=""; print $0}' | cut -d ' ' -f2- | _rofi -p '> ' -mesg "Add some tags. Separate tags with ', '")
|
||||
val=$?
|
||||
if [[ $val -eq 1 ]]; then
|
||||
exit
|
||||
elif [[ $val -eq 0 ]]; then
|
||||
if [[ $(echo "${inserttags}" | wc -l) -gt 1 ]]; then
|
||||
taglist=$(echo "${inserttags}" | tr '\n' ',')
|
||||
tags=()
|
||||
for tag in $taglist; do
|
||||
tags+=("$tag")
|
||||
done
|
||||
else
|
||||
tags=${inserttags}
|
||||
fi
|
||||
if [[ $1 == "--update" ]]; then
|
||||
buku -u "${id}" --tag ${tags}
|
||||
else
|
||||
buku -a ${inserturl} ${tags}
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
parseBuku () {
|
||||
echo "$(buku --nc -p | gawk -v max="$max_str_width" -v type="$display_type" '
|
||||
BEGIN {
|
||||
RS=""
|
||||
FS="\n"
|
||||
}
|
||||
{
|
||||
if ($3 == "")
|
||||
$3 = " # NOTAG"
|
||||
id = gensub(/([0-9]+)\.(.*)/, "\\1", "g", $1)
|
||||
url = substr(gensub(/\s+> (.*)/, "\\1", "g", $2),0,max)
|
||||
tags = gensub(/\s+# (.*)/, "\\1", "g", $3)
|
||||
title = substr(gensub(/[0-9]+\.\s*(.*)/, "\\1", "g", $1),0,max)
|
||||
|
||||
if (type == 1)
|
||||
print id "\t" url "\t" tags
|
||||
else
|
||||
print id "\t" title "\t" tags
|
||||
if (type == 3)
|
||||
print " \t" url "\t "
|
||||
print ""
|
||||
}
|
||||
' | column -t -s $'\t')"
|
||||
}
|
||||
|
||||
getId () {
|
||||
id=$(echo "${2%% *}")
|
||||
if [ -z "$id" ]; then
|
||||
prev=""
|
||||
IFS=$'\n'
|
||||
for line in $1; do
|
||||
if [ "$2" = "$line" ]; then
|
||||
id=$(echo "${prev%% *}")
|
||||
break
|
||||
else
|
||||
prev="$line"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
echo $id
|
||||
}
|
||||
|
||||
getTitleFromId () {
|
||||
echo "$(buku --nc -p $1 | gawk '
|
||||
BEGIN {
|
||||
RS=""
|
||||
FS="\n"
|
||||
}
|
||||
{
|
||||
print gensub(/[0-9]+\.\s*(.*)/, "\\1", "g", $1)
|
||||
}
|
||||
')"
|
||||
}
|
||||
|
||||
getUrlFromId () {
|
||||
echo "$(buku --nc -p $1 | gawk '
|
||||
BEGIN {
|
||||
RS=""
|
||||
FS="\n"
|
||||
}
|
||||
{
|
||||
print gensub(/\s+> (.*)/, "\\1", "g", $2)
|
||||
}
|
||||
')"
|
||||
}
|
||||
|
||||
getTagsFromId () {
|
||||
echo "$(buku --nc -p $1 | gawk '
|
||||
BEGIN {
|
||||
RS=""
|
||||
FS="\n"
|
||||
}
|
||||
{
|
||||
print gensub(/\s+# (.*)/, "\\1", "g", $3)
|
||||
}
|
||||
')"
|
||||
}
|
||||
|
||||
mode=bookmarks main
|
||||
#+end_src
|
||||
* i3exit
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/bin/i3exit
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
|
||||
#+begin_src bash
|
||||
# with openrc use loginctl
|
||||
[[ $(cat /proc/1/comm) == "systemd" ]] && logind=systemctl || logind=loginctl
|
||||
|
||||
case "$1" in
|
||||
lock)
|
||||
~/scripts/lockscreen.sh
|
||||
;;
|
||||
logout)
|
||||
i3-msg exit
|
||||
;;
|
||||
switch_user)
|
||||
dm-tool switch-to-greeter
|
||||
;;
|
||||
suspend)
|
||||
~/scripts/lockscreen.sh && $logind suspend
|
||||
;;
|
||||
hibernate)
|
||||
~/scripts/lockscreen.sh && $logind hibernate
|
||||
;;
|
||||
reboot)
|
||||
$logind reboot
|
||||
;;
|
||||
shutdown)
|
||||
$logind poweroff
|
||||
;;
|
||||
,*)
|
||||
echo "== ! i3exit: missing or invalid argument ! =="
|
||||
echo "Try again with: lock | logout | switch_user | suspend | hibernate | reboot | shutdown"
|
||||
exit 2
|
||||
esac
|
||||
|
||||
exit 0
|
||||
#+end_src
|
||||
* readbib
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/bin/readbib
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
#+begin_src bash
|
||||
cd ~/MEGA/These/Ressources/pdfs/ && ls | dmenu -l 20 | xargs -I {} zathura {}
|
||||
#+end_src
|
||||
* askpass
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/bin/askpass-rofi
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
Take password prompt from STDIN, print password to STDOUT.
|
||||
The sed piece just removes the colon from the provided prompt: =rofi -p= already gives us a colon
|
||||
#+BEGIN_SRC bash
|
||||
rofi -dmenu \
|
||||
-password \
|
||||
-no-fixed-num-lines \
|
||||
-p "$(printf "$1" | sed s/://)"
|
||||
#+END_SRC
|
@ -50,4 +50,9 @@
|
||||
|
||||
[default]
|
||||
highlight_event_days = True
|
||||
|
||||
[keybindings]
|
||||
delete = d
|
||||
today = .
|
||||
new = c
|
||||
#+END_SRC
|
||||
|
@ -80,31 +80,74 @@
|
||||
|
||||
** URxvt
|
||||
#+BEGIN_SRC conf
|
||||
URxvt*termName: screen-256color
|
||||
URxvt*geometry: 240x84
|
||||
URxvt*loginShell: true
|
||||
URxvt*scrollstyle: plain
|
||||
URxvt*scrollTtyKeypress: true
|
||||
URxvt*scrollTtyOutput: false
|
||||
URxvt*scrollWithBuffer: false
|
||||
URxvt*secondaryScreen: true
|
||||
URxvt*secondaryScroll: true
|
||||
URxvt*skipScroll: true
|
||||
URxvt*scrollBar: false
|
||||
URxvt*scrollBar_right: false
|
||||
URxvt*scrollBar_floating: false
|
||||
URxvt*utmpInhibit: false
|
||||
URxvt*urgentOnBell: false
|
||||
URxvt*visualBell: true
|
||||
URxvt*mapAlert: true
|
||||
URxvt*mouseWheelScrollPage: true
|
||||
URxvt*font: xft:Hack Nerd Font Mono:size=10
|
||||
URxvt*boldFont: xft:Hack Nerd Font Mono:bold:size=10
|
||||
URxvt.perl-ext-common: selection-to-clipboard
|
||||
URxvt.keysym.C-S-c: perl:clipboard:copy
|
||||
URxvt.keysym.C-S-v: perl:clipboard:paste
|
||||
! -----------------------------------------------------------------------------
|
||||
! File: gruvbox-dark.xresources
|
||||
! Description: Retro groove colorscheme generalized
|
||||
! Author: morhetz <morhetz@gmail.com>
|
||||
! Source: https://github.com/morhetz/gruvbox-generalized
|
||||
! Last Modified: 6 Sep 2014
|
||||
! -----------------------------------------------------------------------------
|
||||
|
||||
! hard contrast: *background: #1d2021
|
||||
*background: #282828
|
||||
! soft contrast: *background: #32302f
|
||||
*foreground: #ebdbb2
|
||||
! Black + DarkGrey
|
||||
*color0: #282828
|
||||
*color8: #928374
|
||||
! DarkRed + Red
|
||||
*color1: #cc241d
|
||||
*color9: #fb4934
|
||||
! DarkGreen + Green
|
||||
*color2: #98971a
|
||||
*color10: #b8bb26
|
||||
! DarkYellow + Yellow
|
||||
*color3: #d79921
|
||||
*color11: #fabd2f
|
||||
! DarkBlue + Blue
|
||||
*color4: #458588
|
||||
*color12: #83a598
|
||||
! DarkMagenta + Magenta
|
||||
*color5: #b16286
|
||||
*color13: #d3869b
|
||||
! DarkCyan + Cyan
|
||||
*color6: #689d6a
|
||||
*color14: #8ec07c
|
||||
! LightGrey + White
|
||||
*color7: #a89984
|
||||
*color15: #ebdbb2
|
||||
#+END_SRC
|
||||
|
||||
* Font
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.config/fontconfig/fonts.conf
|
||||
:header-args+: :comments none :mkdirp yes
|
||||
:END:
|
||||
#+begin_src conf
|
||||
<?xml version='1.0'?>
|
||||
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
|
||||
<fontconfig>
|
||||
|
||||
<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>SauceCodePro Nerd Font Mono</family></prefer>
|
||||
</alias>
|
||||
|
||||
</fontconfig>
|
||||
#+end_src
|
||||
|
||||
* Redshift
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.config/redshift.conf
|
||||
@ -252,107 +295,261 @@
|
||||
set completion-ignore-case on
|
||||
#+END_SRC
|
||||
|
||||
* Mailcap
|
||||
* Xmodmap
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.mailcap
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args: :tangle ~/.Xmodmap
|
||||
:header-args+: :comments no :mkdirp yes
|
||||
:END:
|
||||
|
||||
#+BEGIN_SRC conf
|
||||
text/plain; nvim %s
|
||||
audio/*; /usr/bin/xdg-open %s ; copiousoutput
|
||||
video/*; setsid mpv --quiet %s &; copiousoutput
|
||||
image/*; ~/scripts/openfile.sh %s;
|
||||
application/pdf; ~/scripts/openfile.sh %s;
|
||||
text/html; qutebrowser %s; -n "$DISPLAY"; nametemplate=%s.html;
|
||||
text/html; w3m -I %{charset} -T text/html; copiousoutput;
|
||||
text/calendar; khal import --batch -a home %s && khal printics %s; copiousoutput;
|
||||
application/ics; khal import --batch -a home %s && khal printics %s; copiousoutput;
|
||||
#+END_SRC
|
||||
|
||||
** Libreoffice
|
||||
#+begin_src conf
|
||||
application/docx; libreoffice %s --nologo &; copiousoutput;
|
||||
application/doc; libreoffice --nologo %s &; copiousoutput;
|
||||
|
||||
application/vnd.oasis.opendocument.database; libreoffice --nologo --base '%s'; copiousoutput
|
||||
application/vnd.oasis.opendocument.chart; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
application/vnd.oasis.opendocument.spreadsheet; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
application/vnd.oasis.opendocument.spreadsheet-template; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
application/vnd.oasis.opendocument.graphics; libreoffice --nologo --draw '%s'; copiousoutput
|
||||
application/vnd.oasis.opendocument.graphics-template; libreoffice --nologo --draw '%s'; copiousoutput
|
||||
application/vnd.oasis.opendocument.presentation; libreoffice --nologo --impress '%s'; copiousoutput
|
||||
application/vnd.oasis.opendocument.presentation-template; libreoffice --nologo --impress '%s'; copiousoutput
|
||||
application/vnd.oasis.opendocument.formula; libreoffice --nologo --math '%s'; copiousoutput
|
||||
application/vnd.oasis.opendocument.text; libreoffice --nologo --writer '%s'; copiousoutput
|
||||
application/vnd.oasis.opendocument.text-master; libreoffice --nologo -global '%s'; copiousoutput
|
||||
application/vnd.oasis.opendocument.text-template; libreoffice --nologo --writer '%s'; copiousoutput
|
||||
application/vnd.oasis.opendocument.text-web; libreoffice --nologo -web '%s'; copiousoutput
|
||||
application/vnd.sun.xml.base; libreoffice --nologo --writer '%s'; copiousoutput
|
||||
application/vnd.sun.xml.calc; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
application/vnd.sun.xml.calc.template; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
application/vnd.sun.xml.draw; libreoffice --nologo --draw '%s'; copiousoutput
|
||||
application/vnd.sun.xml.draw.template; libreoffice --nologo --draw '%s'; copiousoutput
|
||||
application/vnd.stardivision.calc; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
application/vnd.stardivision.chart; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
application/vnd.stardivision.draw; libreoffice --nologo --draw '%s'; copiousoutput
|
||||
application/vnd.stardivision.impress; libreoffice --nologo --impress '%s'; copiousoutput
|
||||
application/vnd.stardivision.math; libreoffice --nologo --math '%s'; copiousoutput
|
||||
application/vnd.stardivision.writer-global; libreoffice --nologo --writer '%s'; copiousoutput
|
||||
application/vnd.stardivision.writer; libreoffice --nologo --writer '%s'; copiousoutput
|
||||
application/vnd.sun.xml.impress; libreoffice --nologo --impress '%s'; copiousoutput
|
||||
application/vnd.sun.xml.impress.template; libreoffice --nologo --impress '%s'; copiousoutput
|
||||
application/vnd.sun.xml.math; libreoffice --nologo --math '%s'; copiousoutput
|
||||
application/vnd.sun.xml.writer; libreoffice --nologo --writer '%s'; copiousoutput
|
||||
application/vnd.sun.xml.writer.global; libreoffice --nologo -global '%s'; copiousoutput
|
||||
application/vnd.sun.xml.writer.template; libreoffice --nologo --writer '%s'; copiousoutput
|
||||
text/csv; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
text/spreadsheet; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
application/x-quattropro; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
application/x-dbf; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
application/vnd.ms-excel.sheet.macroEnabled.12; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
application/vnd.ms-excel.template.macroEnabled.12; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
application/vnd.openxmlformats-officedocument.spreadsheetml.template; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
application/vnd.lotus-1-2-3; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
application/vnd.ms-excel; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
application/msexcel; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
application/x-dbase; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
text/x-csv; libreoffice --nologo --calc '%s'; copiousoutput
|
||||
application/vnd.ms-powerpoint.presentation.macroEnabled.12; libreoffice --nologo --impress '%s'; copiousoutput
|
||||
application/vnd.ms-powerpoint.slideshow.macroEnabled.12; libreoffice --nologo --impress '%s'; copiousoutput
|
||||
application/vnd.ms-powerpoint.template.macroEnabled.12; libreoffice --nologo --impress '%s'; copiousoutput
|
||||
application/vnd.openxmlformats-officedocument.presentationml.presentation; libreoffice --nologo --impress '%s'; copiousoutput
|
||||
application/vnd.openxmlformats-officedocument.presentationml.slideshow; libreoffice --nologo --impress '%s'; copiousoutput
|
||||
application/vnd.openxmlformats-officedocument.presentationml.template; libreoffice --nologo --impress '%s'; copiousoutput
|
||||
application/vnd.ms-powerpoint; libreoffice --nologo --impress '%s'; copiousoutput
|
||||
application/mspowerpoint; libreoffice --nologo --impress '%s'; copiousoutput
|
||||
text/mathml; libreoffice --nologo --math '%s'; copiousoutput
|
||||
application/rtf; libreoffice --nologo --writer '%s'; copiousoutput
|
||||
application/x-t602; libreoffice --nologo --writer '%s'; copiousoutput
|
||||
application/vnd.wordperfect; libreoffice --nologo --writer '%s'; copiousoutput
|
||||
application/vnd.ms-word.document.macroEnabled.12; libreoffice --nologo --writer '%s'; copiousoutput
|
||||
application/vnd.ms-word.template.macroEnabled.12; libreoffice --nologo --writer '%s'; copiousoutput
|
||||
application/vnd.openxmlformats-officedocument.wordprocessingml.document; libreoffice --nologo --writer '%s'; copiousoutput
|
||||
application/vnd.openxmlformats-officedocument.wordprocessingml.template; libreoffice --nologo --writer '%s'; copiousoutput
|
||||
application/vnd.ms-works; libreoffice --nologo --writer '%s'; copiousoutput
|
||||
application/msword; libreoffice --nologo --writer '%s'; copiousoutput
|
||||
application/wordperfect; libreoffice --nologo --writer '%s'; copiousoutput
|
||||
text/rtf; libreoffice --nologo --writer '%s'; copiousoutput
|
||||
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
|
||||
|
||||
* urlview
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.urlview
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:END:
|
||||
|
||||
#+BEGIN_SRC conf
|
||||
REGEXP (((http|https|ftp|gopher)|mailto)[.:][^ >"\t]*|www\.[-a-z0-9.]+)[^ .,;\t>">\):]
|
||||
|
||||
COMMAND nohup qutebrowser %s </dev/null &>/dev/null &
|
||||
#+END_SRC
|
||||
|
||||
* TODO xinit
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.xinitrc
|
||||
@ -530,7 +727,7 @@ Keyboard Options
|
||||
frame_width = 2
|
||||
|
||||
# Defines color of the frame around the notification window.
|
||||
frame_color = "#2f343f"
|
||||
frame_color = "#32302f"
|
||||
|
||||
# Define a color for the separator.
|
||||
# possible values are:
|
||||
@ -619,6 +816,7 @@ Keyboard Options
|
||||
show_indicators = yes
|
||||
|
||||
#+end_src
|
||||
|
||||
*** Icons
|
||||
#+begin_src conf
|
||||
# Align icons left/right/off
|
||||
@ -630,6 +828,7 @@ Keyboard Options
|
||||
# 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
|
||||
@ -639,6 +838,7 @@ Keyboard Options
|
||||
# Maximum amount of notifications kept in history
|
||||
history_length = 20
|
||||
#+end_src
|
||||
|
||||
*** Misc/Advanced
|
||||
#+BEGIN_SRC conf
|
||||
# dmenu path.
|
||||
@ -673,7 +873,7 @@ Keyboard Options
|
||||
close = mod1+space
|
||||
|
||||
# Close all notifications.
|
||||
close_all = mod1+shift+space
|
||||
# close_all = mod1+shift+space
|
||||
|
||||
# Redisplay last message(s).
|
||||
# On the US keyboard layout "grave" is normally above TAB and left
|
||||
@ -688,22 +888,20 @@ Keyboard Options
|
||||
** Urgency
|
||||
#+BEGIN_SRC conf
|
||||
[urgency_low]
|
||||
background = "#2f343f"
|
||||
foreground = "#f5f8f6"
|
||||
timeout = 2
|
||||
|
||||
[urgency_normal]
|
||||
background = "#2f343f"
|
||||
foreground = "#f5f8f6"
|
||||
background = "#32302f"
|
||||
foreground = "#ebdbb2"
|
||||
timeout = 4
|
||||
|
||||
[urgency_normal]
|
||||
background = "#32302f"
|
||||
foreground = "#ebdbb2"
|
||||
timeout = 6
|
||||
|
||||
[urgency_critical]
|
||||
background = "#2f343f"
|
||||
foreground = "#f5f8f6"
|
||||
frame_color = "#e3788f"
|
||||
background = "#32302f"
|
||||
foreground = "#cc241d"
|
||||
timeout = 0
|
||||
#+END_SRC
|
||||
|
||||
* feh
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.config/feh/config
|
||||
@ -723,6 +921,30 @@ Keyboard Options
|
||||
save_filelist F
|
||||
#+END_SRC
|
||||
|
||||
* SXIV
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.config/sxiv/exec/key-handler
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
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" | xclip -selection clipboard ;;
|
||||
"C-w")
|
||||
nitrogen --save --set-zoom-fill "$file" ;;
|
||||
esac
|
||||
done
|
||||
#+end_src
|
||||
|
||||
* MPV
|
||||
** Configuration
|
||||
:PROPERTIES:
|
||||
@ -1034,7 +1256,6 @@ stop-screensaver = "yes"
|
||||
#ESC {encode} quit 4
|
||||
# =============================================================
|
||||
#+END_SRC
|
||||
|
||||
* Zathura
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.config/zathura/zathurarc
|
||||
@ -1250,9 +1471,13 @@ stop-screensaver = "yes"
|
||||
|
||||
#+BEGIN_SRC conf
|
||||
[Default Applications]
|
||||
image/jpeg=feh.desktop
|
||||
image/png=feh.desktop;
|
||||
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
|
||||
@ -1270,8 +1495,8 @@ stop-screensaver = "yes"
|
||||
application/x-extension-xht=qutebrowser.desktop
|
||||
|
||||
[Added Associations]
|
||||
image/jpeg=viewnior.desktop;gpicview.desktop;
|
||||
image/png=viewnior.desktop;gpicview.desktop;
|
||||
image/jpeg=viewnior.desktop;gpicview.desktop;feh.desktop;
|
||||
image/png=viewnior.desktop;gpicview.desktop;feh.desktop;
|
||||
text/plain=mousepad.desktop;
|
||||
application/x-bittorrent=deluge.desktop;
|
||||
#+END_SRC
|
||||
@ -1353,7 +1578,7 @@ Colors
|
||||
scrot_dir=$HOME/Pictures
|
||||
#+END_SRC
|
||||
|
||||
* TODO Nitrogen
|
||||
* TODO [#B] Nitrogen
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.config/nitrogen/nitrogen.cfg
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
@ -1464,18 +1689,13 @@ Colors
|
||||
png-compression=9
|
||||
desktop=9
|
||||
#+END_SRC
|
||||
|
||||
* TODO [#A] Binaries
|
||||
* TODO [#A] Scripts
|
||||
** Wallpapers
|
||||
* Castnow
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/scripts/wallpapers.sh
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:header-args: :tangle ~/.castnowrc
|
||||
:header-args+: :comments none :mkdirp yes
|
||||
:END:
|
||||
#+begin_src bash
|
||||
while true; do
|
||||
nitrogen --set-zoom-fill --random ".wallpapers"
|
||||
sleep 10m
|
||||
done
|
||||
|
||||
#+begin_src conf
|
||||
--address=192.168.1.51
|
||||
--volume-step=0.01
|
||||
#+end_src
|
||||
|
474
dotfiles/i3.org
474
dotfiles/i3.org
@ -1,7 +1,33 @@
|
||||
#+TITLE: I3 Configuration
|
||||
:DRAWER:
|
||||
#+PROPERTY: header-args:conf+ :comments both
|
||||
#+PROPERTY: header-args:conf+ :mkdirp yes
|
||||
#+PROPERTY: header-args:conf+ :tangle ~/.config/i3/config
|
||||
:END:
|
||||
|
||||
* Colors
|
||||
#+begin_src conf
|
||||
set $bg #32302f
|
||||
set $bg1 #3c3836
|
||||
set $bg2 #504945
|
||||
set $bg3 #665c54
|
||||
set $bg4 #7c6f64
|
||||
|
||||
set $fg #ebdbb2
|
||||
set $fg1 #ebdbb2
|
||||
set $fg2 #d5c4a1
|
||||
set $fg3 #bdae93
|
||||
set $fg4 #a89984
|
||||
|
||||
set $gray #a89984
|
||||
set $red #cc241d
|
||||
set $green #98971a
|
||||
set $yellow #d79921
|
||||
set $blue #458588
|
||||
set $purple #b16286
|
||||
set $aqua #689d6a
|
||||
set $orange #d65d0e
|
||||
#+end_src
|
||||
|
||||
* Mod Key
|
||||
Set mod key (Mod1=<Alt>, Mod4=<Super>)
|
||||
@ -12,10 +38,11 @@ Set mod key (Mod1=<Alt>, Mod4=<Super>)
|
||||
* Border Style
|
||||
#+begin_src conf
|
||||
# Configure border style <normal|1pixel|pixel xx|none|pixel>
|
||||
new_window pixel 2
|
||||
new_window pixel 1
|
||||
new_float normal
|
||||
|
||||
# Hide borders
|
||||
hide_edge_borders none
|
||||
hide_edge_borders smart
|
||||
#+end_src
|
||||
|
||||
* Font for window titles
|
||||
@ -23,28 +50,38 @@ Set mod key (Mod1=<Alt>, Mod4=<Super>)
|
||||
font Hack Nerd Font 11
|
||||
#+end_src
|
||||
|
||||
* TODO [#C] Multimedia keys
|
||||
* Multimedia keys
|
||||
** Sound
|
||||
#+begin_src conf
|
||||
# Sound
|
||||
bindsym XF86AudioMute exec --no-startup-id amixer -D pulse sset Master toggle
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id amixer -D pulse sset Master 5%+
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id amixer -D pulse sset Master 5%-
|
||||
#+end_src
|
||||
|
||||
#+begin_src conf
|
||||
# Backlight
|
||||
bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 10
|
||||
bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 10
|
||||
# bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 10
|
||||
# bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 10
|
||||
#+end_src
|
||||
|
||||
# Tracks
|
||||
** Change Tracks
|
||||
#+begin_src conf
|
||||
bindsym XF86AudioPlay exec --no-startup-id mpc toggle
|
||||
bindsym XF86AudioNext exec --no-startup-id mpc next
|
||||
bindsym XF86AudioPrev exec --no-startup-id mpc prev
|
||||
#+end_src
|
||||
|
||||
# Screenshots
|
||||
bindsym $mod+XF86LaunchA --release exec --no-startup-id i3-scrot -w
|
||||
bindsym $mod+Shift+XF86LaunchA --release exec --no-startup-id i3-scrot -s
|
||||
** Print Screen
|
||||
#+begin_src conf
|
||||
bindsym Print exec --no-startup-id ~/scripts/screenshot.sh
|
||||
bindsym XF86Display exec --no-startup-id rofi -show window
|
||||
#+end_src
|
||||
|
||||
# Other
|
||||
bindsym XF86LaunchB fullscreen toggle
|
||||
** Other
|
||||
#+begin_src conf
|
||||
bindsym XF86Search exec --no-startup-id rofi -show run
|
||||
bindsym XF86PowerOff exec --no-startup-id $HOME/scripts/quit.sh
|
||||
#+end_src
|
||||
|
||||
* Start Applications
|
||||
@ -54,115 +91,192 @@ Set mod key (Mod1=<Alt>, Mod4=<Super>)
|
||||
# Windows Switch
|
||||
bindsym $mod+w exec --no-startup-id rofi -show window
|
||||
# Launch categorized menu
|
||||
bindsym $mod+z exec --no-startup-id rofimenu
|
||||
bindsym $mod+z exec --no-startup-id rofi -show drun
|
||||
# Bookmarks
|
||||
bindsym $mod+Shift+F exec --no-startup-id $HOME/bin/buku_run
|
||||
bindsym $mod+Shift+F exec --no-startup-id $HOME/bin/bukurun
|
||||
# Passwords
|
||||
bindsym $mod+Shift+P exec --no-startup-id pass clip
|
||||
bindsym $mod+Shift+P exec --no-startup-id rofi-pass
|
||||
# Start Terminal
|
||||
bindsym $mod+Return exec termite
|
||||
bindsym $mod+Return exec termite
|
||||
# Tmux Terminal
|
||||
bindsym $mod+Shift+Return exec termite -e 'tmux'
|
||||
# Configuration application
|
||||
bindsym $mod+Ctrl+B exec termite -e 'bmenu'
|
||||
bindsym $mod+Shift+Return exec termite -e 'tmux'
|
||||
# Start Command line Calendar
|
||||
bindsym $mod+c exec termite -e "khal interactive"
|
||||
# Start GUI Calendar (Google calendar)
|
||||
# bindsym $mod+Shift+c exec qutebrowser https://calendar.google.com/
|
||||
# File Manager
|
||||
bindsym $mod+o exec urxvt -e "ranger"
|
||||
# GUI File Manager
|
||||
# bindsym $mod+Shift+o exec pcmanfm
|
||||
# Mail: Neomutt
|
||||
bindsym $mod+m exec termite -e "tmuxinator start neomutt"
|
||||
# Music Manager: NCMPCPP
|
||||
# bindsym $mod+Shift+p exec termite -e "ncmpcpp"
|
||||
# Browser
|
||||
bindsym $mod+i exec qutebrowser
|
||||
# Sound Manager
|
||||
bindsym $mod+Ctrl+m exec pavucontrol
|
||||
# Kill one application
|
||||
bindsym $mod+Ctrl+x --release exec --no-startup-id xkill
|
||||
# Kill and restart Notification Manager
|
||||
bindsym $mod+Shift+n --release exec "killall dunst; exec notify-send 'restart dunst'"
|
||||
|
||||
# Keyboard Deadkey
|
||||
# TODO - Better keybindings
|
||||
bindsym $mod+Ctrl+d exec --no-startup-id setxkbmap -layout us -variant intl -option caps:escape
|
||||
bindsym $mod+Shift+d exec --no-startup-id setxkbmap -layout us -option caps:escape
|
||||
# Toggle poylbar
|
||||
bindsym $mod+t exec --no-startup-id ~/.config/polybar/scripts/toggle.sh bottom
|
||||
bindsym $mod+Shift+t exec --no-startup-id ~/.config/polybar/scripts/toggle.sh top
|
||||
bindsym $mod+trl+m exec pavucontrol
|
||||
#+end_src
|
||||
|
||||
* TODO Vim Anywhere
|
||||
* Set shut down, restart and locking features
|
||||
#+begin_src conf
|
||||
bindsym $mod+0 exec --no-startup-id $HOME/scripts/quit.sh
|
||||
#+end_src
|
||||
|
||||
* Command Mode
|
||||
#+begin_src conf
|
||||
bindsym $mod+space mode "command"
|
||||
|
||||
mode "command" {
|
||||
# Command line Calendar Client (khal)
|
||||
bindsym c exec termite -e "khal interactive"; mode "default"
|
||||
# GUI Calendar (Google Calendar)
|
||||
bindsym Shift+c exec qutebrowser https://calendar.google.com/; mode "default"
|
||||
|
||||
# Ranger
|
||||
bindsym r exec urxvt -e "ranger"; mode "default"
|
||||
# pcmanfm: GUI file manager
|
||||
bindsym Shift+r exec pcmanfm; mode "default"
|
||||
|
||||
# Mails with neomutt
|
||||
bindsym m exec termite -e "tmux -L neomutt attach"; mode "default"
|
||||
# Weechat
|
||||
bindsym w exec termite -e "tmux -L weechat attach"; mode "default"
|
||||
# News with newsboat
|
||||
bindsym n exec termite -e "tmux -L newsboat attach"; mode "default"
|
||||
# Music with ncmpcpp
|
||||
bindsym p exec termite -e "tmux -L ncmpcpp attach"; mode "default"
|
||||
# Print Screen
|
||||
bindsym Shift+p exec --no-startup-id ~/scripts/screenshot.sh
|
||||
|
||||
# Browser with qutebrowser
|
||||
bindsym i exec qutebrowser; mode "default"
|
||||
# Browser with firefox
|
||||
bindsym Shift+i exec firefox; mode "default"
|
||||
|
||||
# Emacs Client
|
||||
bindsym e exec emacsclient -create-frame --alternate-editor=""; mode "default"
|
||||
# Full Emacs - Usefull when installing packages
|
||||
bindsym Shift+e exec emacs; mode "default"
|
||||
|
||||
# exit command mode: Enter or Escape
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
#+end_src
|
||||
|
||||
* Autostart Background Applications
|
||||
#+begin_src conf
|
||||
# Set custom wallpaper script
|
||||
exec --no-startup-id $HOME/scripts/wallpapers.sh
|
||||
|
||||
# Run Compton
|
||||
exec --no-startup-id compton -b
|
||||
|
||||
# Start Network Management Framework
|
||||
exec --no-startup-id nm-applet
|
||||
|
||||
# Hide mouse cursor after x seconds
|
||||
exec --no-startup-id unclutter --timeout 5
|
||||
|
||||
# Start Power Manager
|
||||
exec --no-startup-id xfce4-power-manager
|
||||
|
||||
# Bluetooth Manager
|
||||
exec --no-startup-id blueman-applet
|
||||
|
||||
# Autolock screen after x minutes
|
||||
exec --no-startup-id xautolock -locker "~/scripts/lockscreen.sh" -detectsleep -time 30 -notify 60 -notifier "dunstify --replace=31846 -u critical -t 10000 -- 'Locking Screen' '60 seconds'"
|
||||
|
||||
# Lockscreen when using suspend or hibernate (when closing the lid for instance)
|
||||
exec --no-startup-id xss-lock -- ~/scripts/lockscreen.sh
|
||||
|
||||
# Autostart udiskie that is used to automount devices
|
||||
exec --no-startup-id udiskie
|
||||
|
||||
# Screen options
|
||||
exec --no-startup-id xrandr --output eDP1 --mode 1920x1080 --dpi 192
|
||||
|
||||
# Redshift
|
||||
exec --no-startup-id redshift
|
||||
|
||||
# Start mopidy
|
||||
exec --no-startup-id mopidy
|
||||
|
||||
# PulseAudio Server
|
||||
# exec --no-startup-id pulseaudio --daemon
|
||||
|
||||
# Emacs Daemon
|
||||
# exec --no-startup-id /usr/bin/emacs --fg-daemon
|
||||
|
||||
# TODO - Start polybar
|
||||
exec_always --no-startup-id $HOME/.config/polybar/scripts/launch.sh
|
||||
|
||||
# Megasync
|
||||
exec --no-startup-id i3-msg 'exec megasync'
|
||||
#+end_src
|
||||
|
||||
* Kill one application
|
||||
#+begin_src conf
|
||||
bindsym $mod+Ctrl+x --release exec --no-startup-id xkill
|
||||
#+end_src
|
||||
|
||||
* Change Keyboard Layout
|
||||
#+begin_src conf
|
||||
bindsym $mod+Ctrl+d exec --no-startup-id setxkbmap -layout us -variant intl -option caps:escape
|
||||
bindsym $mod+Shift+d exec --no-startup-id setxkbmap -layout us -option caps:escape
|
||||
#+end_src
|
||||
|
||||
* TODO [#B] Vim Anywhere
|
||||
#+begin_src conf
|
||||
# bindsym $mod+t exec vim-anywhere nvim termite
|
||||
#+end_src
|
||||
|
||||
* TODO Screenshot - Change to simplier keys
|
||||
#+begin_src conf :tangle no
|
||||
bindsym Print exec --no-startup-id i3-scrot
|
||||
bindsym $mod+Print --release exec --no-startup-id i3-scrot -w
|
||||
bindsym $mod+Shift+Print --release exec --no-startup-id i3-scrot -s
|
||||
* TODO Windows Manager
|
||||
** Change focus
|
||||
#+begin_src conf
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+j focus down
|
||||
bindsym $mod+k focus up
|
||||
bindsym $mod+l focus right
|
||||
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
#+end_src
|
||||
|
||||
* Change focus
|
||||
** Move focused window
|
||||
#+begin_src conf
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+j focus down
|
||||
bindsym $mod+k focus up
|
||||
bindsym $mod+l focus right
|
||||
bindsym $mod+Shift+h move left
|
||||
bindsym $mod+Shift+j move down
|
||||
bindsym $mod+Shift+k move up
|
||||
bindsym $mod+Shift+l move right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
#+end_src
|
||||
|
||||
* Move focused window
|
||||
** TODO [#A] Split orientation - Use just one key bindings that alternates?
|
||||
#+begin_src conf
|
||||
bindsym $mod+Shift+h move left
|
||||
bindsym $mod+Shift+j move down
|
||||
bindsym $mod+Shift+k move up
|
||||
bindsym $mod+Shift+l move right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
#+end_src
|
||||
|
||||
* Windows Manager
|
||||
** TODO Split orientation - Use just one key bindings that alternates?
|
||||
#+begin_src conf
|
||||
bindsym $mod+semicolon split h
|
||||
bindsym $mod+v split v
|
||||
bindsym $mod+q split toggle
|
||||
bindsym $mod+semicolon split h
|
||||
bindsym $mod+v split v
|
||||
bindsym $mod+q split toggle
|
||||
#+end_src
|
||||
|
||||
** Kill focused window
|
||||
#+begin_src conf
|
||||
bindsym $mod+Shift+q kill
|
||||
bindsym $mod+Shift+q kill
|
||||
#+end_src
|
||||
|
||||
** Use Mouse+$mod to drag floating windows
|
||||
#+begin_src conf
|
||||
floating_modifier $mod
|
||||
floating_modifier $mod
|
||||
#+end_src
|
||||
|
||||
** Toggle fullscreen mode for the focused container
|
||||
#+begin_src conf
|
||||
bindsym $mod+f fullscreen toggle
|
||||
bindsym $mod+f fullscreen toggle
|
||||
#+end_src
|
||||
|
||||
** TODO Change container layout (stacked, tabbed, toggle split)
|
||||
** TODO [#A] Change container layout (stacked, tabbed, toggle split)
|
||||
#+begin_src conf
|
||||
# bindsym $mod+s layout stacking
|
||||
# bindsym $mod+w layout tabbed
|
||||
# bindsym $mod+e layout toggle split
|
||||
# bindsym $mod+s layout stacking
|
||||
# bindsym $mod+w layout tabbed
|
||||
# bindsym $mod+e layout toggle split
|
||||
#+end_src
|
||||
|
||||
** TODO Toggle tiling / floating
|
||||
@ -180,12 +294,16 @@ bindsym $mod+f fullscreen toggle
|
||||
bindsym $mod+Shift+s sticky toggle
|
||||
#+end_src
|
||||
|
||||
** TODO Focus the parent container
|
||||
** Resize Floating Window
|
||||
#+begin_src conf
|
||||
# bindsym $mod+a focus parent
|
||||
bindsym $mod+Shift+y resize shrink width 10 px or 10 ppt
|
||||
bindsym $mod+Shift+u resize grow height 10 px or 10 ppt
|
||||
bindsym $mod+Shift+i resize shrink height 10 px or 10 ppt
|
||||
bindsym $mod+Shift+o resize grow width 10 px or 10 ppt
|
||||
#+end_src
|
||||
|
||||
* Scratchpad
|
||||
* TODO [#B] Scratchpad
|
||||
** Move to Scratchpad
|
||||
#+begin_src conf
|
||||
# move the currently focused window to the scratchpad
|
||||
bindsym $mod+Shift+BackSpace move scratchpad
|
||||
@ -195,38 +313,18 @@ bindsym $mod+f fullscreen toggle
|
||||
bindsym $mod+BackSpace scratchpad show
|
||||
#+end_src
|
||||
|
||||
* Custom Cratchpad for Quick Access
|
||||
** Weechat
|
||||
#+begin_src conf
|
||||
# for_window [instance="scratch-weechat"] scratchpad show;
|
||||
# exec termite --name="scratch-weechat" --exec="weechat"
|
||||
# for_window [instance="scratch-weechat"] floating enable;
|
||||
# for_window [instance="scratch-weechat"] move position 240 px 125 px;
|
||||
# for_window [instance="scratch-weechat"] resize set 1200 px 800 px;
|
||||
# for_window [instance="scratch-weechat"] move scratchpad;
|
||||
#+end_src
|
||||
|
||||
** Music with ncmpcpp
|
||||
** TODO Custom Cratchpad for Quick Access
|
||||
*** Music with ncmpcpp
|
||||
#+begin_src conf
|
||||
for_window [instance="scratch-ncmpcpp"] scratchpad show;
|
||||
exec termite --name="scratch-ncmpcpp" --exec="ncmpcpp"
|
||||
exec termite --name="scratch-ncmpcpp" --exec="tmux -L ncmpcpp attach"
|
||||
for_window [instance="scratch-ncmpcpp"] floating enable;
|
||||
for_window [instance="scratch-ncmpcpp"] move position 440 px 225 px;
|
||||
for_window [instance="scratch-ncmpcpp"] resize set 800 px 600 px;
|
||||
for_window [instance="scratch-ncmpcpp"] move scratchpad;
|
||||
#+end_src
|
||||
|
||||
** RSS Feed with NewsBoat
|
||||
#+begin_src conf
|
||||
for_window [instance="scratch-newsboat"] scratchpad show;
|
||||
exec termite --name="scratch-newsboat" --exec="tmuxinator start newsboat"
|
||||
for_window [instance="scratch-newsboat"] floating enable;
|
||||
for_window [instance="scratch-newsboat"] move position 240 px 125 px;
|
||||
for_window [instance="scratch-newsboat"] resize set 1200 px 800 px;
|
||||
for_window [instance="scratch-newsboat"] move scratchpad;
|
||||
#+end_src
|
||||
|
||||
** Calculator with insect
|
||||
*** Calculator with insect
|
||||
#+begin_src conf
|
||||
for_window [instance="scratch-insect"] scratchpad show;
|
||||
exec termite --name="scratch-insect" --exec="insect"
|
||||
@ -236,17 +334,7 @@ bindsym $mod+f fullscreen toggle
|
||||
for_window [instance="scratch-insect"] move scratchpad;
|
||||
#+end_src
|
||||
|
||||
** Mails with Neomutt
|
||||
#+begin_src conf
|
||||
for_window [instance="scratch-neomutt"] scratchpad show;
|
||||
exec termite --name="scratch-neomutt" --exec="neomutt"
|
||||
for_window [instance="scratch-neomutt"] floating enable;
|
||||
for_window [instance="scratch-neomutt"] move position 240 px 125 px;
|
||||
for_window [instance="scratch-neomutt"] resize set 1200 px 800 px;
|
||||
for_window [instance="scratch-neomutt"] move scratchpad;
|
||||
#+end_src
|
||||
|
||||
** Ranger
|
||||
*** Ranger
|
||||
#+begin_src conf
|
||||
for_window [instance="scratch-ranger"] scratchpad show;
|
||||
exec urxvt -name scratch-ranger -e ranger
|
||||
@ -256,7 +344,7 @@ bindsym $mod+f fullscreen toggle
|
||||
for_window [instance="scratch-ranger"] move scratchpad;
|
||||
#+end_src
|
||||
|
||||
** Terminal
|
||||
*** Terminal
|
||||
#+begin_src conf
|
||||
for_window [instance="scratch-termite"] scratchpad show;
|
||||
exec termite --name="scratch-termite"
|
||||
@ -271,12 +359,9 @@ bindsym $mod+f fullscreen toggle
|
||||
bindsym $mod+s mode "$mode_stratchpad"
|
||||
set $mode_stratchpad (w)eechat (m)ails (p)layer (c)alc (s)hell (n)ews (r)anger
|
||||
mode "$mode_stratchpad" {
|
||||
bindsym w [instance="scratch-weechat"] scratchpad show; mode "default"
|
||||
bindsym p [instance="scratch-ncmpcpp"] scratchpad show; mode "default"
|
||||
bindsym n [instance="scratch-newsboat"] scratchpad show; mode "default"
|
||||
bindsym s [instance="scratch-termite"] scratchpad show; mode "default"
|
||||
bindsym c [instance="scratch-insect"] scratchpad show; mode "default"
|
||||
bindsym m [instance="scratch-neomutt"] scratchpad show; mode "default"
|
||||
bindsym r [instance="scratch-ranger"] scratchpad show; mode "default"
|
||||
|
||||
# exit system mode: "Enter" or "Escape"
|
||||
@ -285,7 +370,8 @@ mode "$mode_stratchpad" {
|
||||
}
|
||||
#+end_src
|
||||
|
||||
* TODO [#A] Workspace names
|
||||
* Workspaces
|
||||
** Workspace names
|
||||
To display names or symbols instead of plain workspace numbers you can use something like: =set $ws1 1:mail= and =set $ws2 2:=.
|
||||
|
||||
#+begin_src conf
|
||||
@ -299,7 +385,7 @@ To display names or symbols instead of plain workspace numbers you can use somet
|
||||
set $ws8 8
|
||||
#+end_src
|
||||
|
||||
* Switch to workspace
|
||||
** Switch to workspace
|
||||
#+begin_src conf
|
||||
bindsym $mod+1 workspace $ws1
|
||||
bindsym $mod+2 workspace $ws2
|
||||
@ -311,7 +397,7 @@ To display names or symbols instead of plain workspace numbers you can use somet
|
||||
bindsym $mod+8 workspace $ws8
|
||||
#+end_src
|
||||
|
||||
* Navigate Workspace
|
||||
** Navigate Workspace
|
||||
** Workspace back and forth (with/without active container)
|
||||
#+begin_src conf
|
||||
workspace_auto_back_and_forth yes
|
||||
@ -325,7 +411,7 @@ To display names or symbols instead of plain workspace numbers you can use somet
|
||||
bindsym $mod+p workspace prev
|
||||
#+end_src
|
||||
|
||||
* Move focused container to workspace
|
||||
** Move focused container to workspace
|
||||
#+begin_src conf
|
||||
bindsym $mod+Ctrl+1 move container to workspace $ws1
|
||||
bindsym $mod+Ctrl+2 move container to workspace $ws2
|
||||
@ -337,7 +423,7 @@ To display names or symbols instead of plain workspace numbers you can use somet
|
||||
bindsym $mod+Ctrl+8 move container to workspace $ws8
|
||||
#+end_src
|
||||
|
||||
* Move to workspace with focused container
|
||||
** Move to workspace with focused container
|
||||
#+begin_src conf
|
||||
bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1
|
||||
bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2
|
||||
@ -349,7 +435,7 @@ To display names or symbols instead of plain workspace numbers you can use somet
|
||||
bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8
|
||||
#+end_src
|
||||
|
||||
* Open applications on specific workspaces
|
||||
** Open applications on specific workspaces
|
||||
#+begin_src conf
|
||||
# Matlab Figures
|
||||
assign[title="^Fig"] $ws6
|
||||
@ -388,121 +474,7 @@ To display names or symbols instead of plain workspace numbers you can use somet
|
||||
* Restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||
#+begin_src conf
|
||||
bindsym $mod+Shift+r restart
|
||||
#+end_src
|
||||
|
||||
* Set shut down, restart and locking features
|
||||
#+begin_src conf
|
||||
bindsym $mod+0 mode "$mode_system"
|
||||
# TODO - Power Key, if "ignored" in /etc/systemd/logind.conf
|
||||
bindcode 124 mode "$mode_system"
|
||||
|
||||
set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown
|
||||
mode "$mode_system" {
|
||||
bindsym l exec --no-startup-id i3exit lock, mode "default"
|
||||
bindsym s exec --no-startup-id i3exit suspend, mode "default"
|
||||
bindsym u exec --no-startup-id i3exit switch_user, mode "default"
|
||||
bindsym e exec --no-startup-id i3exit logout, mode "default"
|
||||
bindsym h exec --no-startup-id i3exit hibernate, mode "default"
|
||||
bindsym r exec --no-startup-id i3exit reboot, mode "default"
|
||||
bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default"
|
||||
|
||||
# exit system mode: "Enter" or "Escape"
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
#+end_src
|
||||
|
||||
* Command Mode
|
||||
#+begin_src conf
|
||||
bindsym $mod+space mode "command"
|
||||
|
||||
mode "command" {
|
||||
# Command line Calendar Client (khal)
|
||||
bindsym c exec termite -e "khal interactive"; mode "default"
|
||||
# GUI Calendar (Google Calendar)
|
||||
bindsym Shift+c exec qutebrowser https://calendar.google.com/; mode "default"
|
||||
# Ranger
|
||||
bindsym r exec urxvt -e "ranger"; mode "default"
|
||||
# pcmanfm: GUI file manager
|
||||
bindsym Shift+r exec pcmanfm; mode "default"
|
||||
# Mails with neomutt
|
||||
bindsym m exec termite -e "tmuxinator start neomutt"; mode "default"
|
||||
# Weechat inside Tmux
|
||||
bindsym w exec termite -e "tmux -L weechat attach"; mode "default"
|
||||
# Music with ncmpcpp
|
||||
bindsym p exec termite --exec="ncmpcpp"; mode "default"
|
||||
# Browser with qutebrowser
|
||||
bindsym i exec qutebrowser; mode "default"
|
||||
# Browser with firefox
|
||||
bindsym Shift+i exec firefox; mode "default"
|
||||
# Emacs Client
|
||||
bindsym e exec emacsclient -create-frame --alternate-editor=""; mode "default"
|
||||
# Full Emacs - Usefull when installing packages
|
||||
bindsym Shift+e exec emacs; mode "default"
|
||||
|
||||
# exit resize mode: Enter or Escape
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
#+end_src
|
||||
|
||||
* Resize
|
||||
#+begin_src conf
|
||||
bindsym $mod+Shift+y resize shrink width 10 px or 10 ppt
|
||||
bindsym $mod+Shift+u resize grow height 10 px or 10 ppt
|
||||
bindsym $mod+Shift+i resize shrink height 10 px or 10 ppt
|
||||
bindsym $mod+Shift+o resize grow width 10 px or 10 ppt
|
||||
#+end_src
|
||||
|
||||
* Autostart Background Applications
|
||||
#+begin_src conf
|
||||
# Authentication agent
|
||||
# exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
|
||||
# Set custom wallpaper script
|
||||
exec --no-startup-id $HOME/scripts/wallpapers.sh
|
||||
|
||||
# Run Compton
|
||||
exec --no-startup-id compton -b
|
||||
|
||||
# Start Network Management Framework
|
||||
exec --no-startup-id nm-applet
|
||||
|
||||
# Start Power Manager
|
||||
exec --no-startup-id xfce4-power-manager
|
||||
|
||||
# Bluetooth Manager
|
||||
exec --no-startup-id blueman-applet
|
||||
|
||||
# Autolock screen after x minutes
|
||||
# exec --no-startup-id xautolock -time 30 -locker blurlock
|
||||
exec --no-startup-id xautolock -detectsleep -time 30 -locker blurlock -notify 60 -notifier "notify-send -u critical -t 10000 -- 'LOCKING screen in 60 seconds'"
|
||||
|
||||
# Autostart udiskie that is used to automount devices
|
||||
exec --no-startup-id udiskie
|
||||
|
||||
# Screen options
|
||||
exec --no-startup-id xrandr --output eDP1 --mode 1920x1080 --dpi 192
|
||||
|
||||
# Redshift
|
||||
exec --no-startup-id redshift
|
||||
|
||||
# Start mopidy
|
||||
exec --no-startup-id mopidy
|
||||
|
||||
# PulseAudio Server
|
||||
# exec --no-startup-id pulseaudio --daemon
|
||||
|
||||
# Emacs Daemon
|
||||
exec --no-startup-id /usr/bin/emacs --fg-daemon
|
||||
|
||||
# TODO - Start polybar
|
||||
exec_always --no-startup-id $HOME/.config/polybar/scripts/launch.sh
|
||||
#+end_src
|
||||
|
||||
* Start Foreground Applications
|
||||
#+begin_src conf
|
||||
# Megasync
|
||||
exec --no-startup-id i3-msg 'exec megasync'
|
||||
bindsym $mod+r exec $HOME/.config/polybar/scripts/launch.sh
|
||||
#+end_src
|
||||
|
||||
* Color palette used for the terminal ( ~/.Xresources file )
|
||||
@ -552,13 +524,13 @@ Colors are gathered based on the documentation https://i3wm.org/docs/userguide.h
|
||||
* TODO Theme colors
|
||||
#+begin_src conf
|
||||
# class border backgr. text indic. child_border
|
||||
client.focused #2F3D44 #2F3D44 #1ABC9C #454948
|
||||
client.focused_inactive #2F3D44 #2F3D44 #1ABC9C #454948
|
||||
client.urgent #CB4B16 #FDF6E3 #1ABC9C #268BD2
|
||||
client.unfocused #556064 #556064 #80FFF9 #FDF6E3
|
||||
client.placeholder #000000 #0c0c0c #ffffff #000000
|
||||
client.focused $blue $blue $fg $blue
|
||||
client.focused_inactive $bg $bg $fg $bg
|
||||
client.urgent $bg $bg $fg $bg
|
||||
client.unfocused $bg $bg $fg $bg
|
||||
client.placeholder $bg $bg $fg $bg
|
||||
|
||||
client.background #2B2C2B
|
||||
client.background #32302F
|
||||
#+end_src
|
||||
|
||||
* Settings for i3-gaps
|
||||
@ -577,7 +549,7 @@ Colors are gathered based on the documentation https://i3wm.org/docs/userguide.h
|
||||
|
||||
# Smart borders (draw borders around container only if it is not the only container on this workspace)
|
||||
# on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0)
|
||||
smart_borders on
|
||||
# smart_borders on
|
||||
|
||||
# Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces.
|
||||
set $mode_gaps Gaps: (o) outer, (i) inner
|
||||
|
1431
dotfiles/mail.org
1431
dotfiles/mail.org
File diff suppressed because it is too large
Load Diff
1083
dotfiles/music.org
1083
dotfiles/music.org
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,6 @@
|
||||
#+TITLE: Newsboat Configuration
|
||||
https://wiki.archlinux.org/index.php/Newsboat
|
||||
https://newsboat.org/releases/2.12/docs/newsboat.html
|
||||
|
||||
* Config
|
||||
:PROPERTIES:
|
||||
@ -6,131 +8,137 @@
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:END:
|
||||
|
||||
** Reload configuration
|
||||
#+BEGIN_SRC conf
|
||||
# =============================================================
|
||||
# Basic configuration
|
||||
# =============================================================
|
||||
# All feeds will be automatically reloaded after a certain time has passed
|
||||
# auto-reload yes
|
||||
auto-reload no
|
||||
# reload-time 60
|
||||
# suppress-first-reload yes
|
||||
# All feeds will be automatically reloaded after a certain time has passed
|
||||
auto-reload yes
|
||||
|
||||
confirm-exit yes
|
||||
# The number of minutes between automatic reloads.
|
||||
reload-time 180
|
||||
|
||||
external-url-viewer "urlscan -dc -r 'linkhandler {}'"
|
||||
# The number of parallel reload threads that shall be started when all feeds are reloaded.
|
||||
reload-threads 3
|
||||
|
||||
goto-first-unread no
|
||||
goto-next-feed no
|
||||
# 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
|
||||
|
||||
save-path "~/Saved Articles"
|
||||
download-path "~/Downloads"
|
||||
** Basic configuration
|
||||
#+BEGIN_SRC conf
|
||||
confirm-exit no
|
||||
|
||||
# If set to no, then the keymap hints on the bottom of screen will not be displayed.
|
||||
show-keymap-hint no
|
||||
external-url-viewer "urlscan -dc -r 'linkhandler {}'"
|
||||
|
||||
feed-sort-order none
|
||||
# =============================================================
|
||||
goto-first-unread no
|
||||
goto-next-feed no
|
||||
|
||||
save-path "~/Saved Articles"
|
||||
download-path "~/Downloads"
|
||||
|
||||
# =============================================================
|
||||
# Notifications
|
||||
# =============================================================
|
||||
notify-format "newsbeuter: %n unread articles within %f unread feeds"
|
||||
notify-program notify-send
|
||||
# =============================================================
|
||||
# If set to no, then the keymap hints on the bottom of screen will not be displayed.
|
||||
show-keymap-hint no
|
||||
|
||||
feed-sort-order none
|
||||
#+END_SRC
|
||||
|
||||
# =============================================================
|
||||
# Bindings
|
||||
# =============================================================
|
||||
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
|
||||
** Notifications
|
||||
#+BEGIN_SRC conf
|
||||
notify-format "%n unread articles"
|
||||
notify-program ~/scripts/newsboat-notify.sh
|
||||
notify-always no
|
||||
#+END_SRC
|
||||
|
||||
bind-key l open
|
||||
bind-key h quit
|
||||
*** Notification Script
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/scripts/newsboat-notify.sh
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
|
||||
bind-key a toggle-article-read
|
||||
#+begin_src bash
|
||||
dunstify -replace=38492 "Newsbeuter " "$1"
|
||||
#+end_src
|
||||
|
||||
bind-key n next-unread
|
||||
bind-key N prev-unread
|
||||
** 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 D pb-download
|
||||
bind-key l open
|
||||
bind-key h quit
|
||||
|
||||
bind-key U show-urls
|
||||
bind-key a toggle-article-read
|
||||
|
||||
# bind-key x pb-delete
|
||||
bind-key n next-unread
|
||||
bind-key N prev-unread
|
||||
|
||||
bind-key t set-tag
|
||||
bind-key T clear-tag
|
||||
bind-key D pb-download
|
||||
|
||||
bind-key r reload # Reload the currently selected feed
|
||||
bind-key R reload-all # Reload all feeds
|
||||
# =============================================================
|
||||
bind-key U show-urls
|
||||
|
||||
# bind-key x pb-delete
|
||||
|
||||
# =============================================================
|
||||
# Macros - Starts with , key
|
||||
# =============================================================
|
||||
# Default Browser
|
||||
browser "qutebrowser %u"
|
||||
bind-key t set-tag
|
||||
bind-key T clear-tag
|
||||
|
||||
# Open in Browser
|
||||
macro , open-in-browser
|
||||
bind-key r reload # Reload the currently selected feed
|
||||
bind-key R reload-all # Reload all feeds
|
||||
#+END_SRC
|
||||
|
||||
# Download Video with Youtube-DL
|
||||
# TODO - Should write a script for that? Maybe open a tmux script if newsboat is in tmux pane?
|
||||
macro t set browser "~/scripts/download-video.sh %u" ; open-in-browser ; set browser "qutebrowser %u"
|
||||
** Macros - Starts with , key
|
||||
#+BEGIN_SRC conf
|
||||
# Default Browser
|
||||
browser "qutebrowser %u"
|
||||
|
||||
# Download Audio with Youtube-DL
|
||||
macro a set browser "~/scripts/download-audio.sh %u" ; open-in-browser ; set browser "qutebrowser %u"
|
||||
# Open in Browser
|
||||
macro , open-in-browser
|
||||
|
||||
# Open Video with MPV
|
||||
macro v set browser "setsid nohup mpv %u &> /dev/null &" ; open-in-browser ; set browser "qutebrowser %u"
|
||||
# Download Video with Youtube-DL
|
||||
# TODO - Should write a script for that? Maybe open a tmux script if newsboat is in tmux pane?
|
||||
macro t set browser "~/scripts/download-video.sh %u" ; open-in-browser ; set browser "qutebrowser %u"
|
||||
|
||||
# Open With W3M
|
||||
macro w set browser "w3m %u" ; open-in-browser ; set browser "qutebrowser %u"
|
||||
# Download Audio with Youtube-DL
|
||||
macro a set browser "~/scripts/download-audio.sh %u" ; open-in-browser ; set browser "qutebrowser %u"
|
||||
|
||||
# Copy Address to clipboard
|
||||
macro c set browser "xsel -b <<<" ; open-in-browser ; set browser "qutebrowser %u"
|
||||
# =============================================================
|
||||
# Open Video with MPV
|
||||
macro v set browser "setsid nohup mpv %u &> /dev/null &" ; open-in-browser ; set browser "qutebrowser %u"
|
||||
|
||||
# Open With W3M
|
||||
macro w set browser "w3m %u" ; open-in-browser ; set browser "qutebrowser %u"
|
||||
|
||||
# =============================================================
|
||||
# hide articles matching
|
||||
# =============================================================
|
||||
ignore-article "*" "title =~ \"Sponsor\""
|
||||
ignore-article "*" "title =~ \"Advertisement\""
|
||||
ignore-mode "display"
|
||||
# =============================================================
|
||||
# Copy Address to clipboard
|
||||
macro c set browser "xsel -b <<<" ; open-in-browser ; set browser "qutebrowser %u"
|
||||
#+END_SRC
|
||||
|
||||
** hide articles matching
|
||||
#+BEGIN_SRC conf
|
||||
ignore-article "*" "title =~ \"Sponsor\""
|
||||
ignore-article "*" "title =~ \"Advertisement\""
|
||||
ignore-mode "display"
|
||||
#+END_SRC
|
||||
|
||||
# =============================================================
|
||||
# Feedlist and Article Format
|
||||
# =============================================================
|
||||
feedlist-format "%4i %n %11u %t"
|
||||
feedlist-title-format "N %V - Your feeds (%u unread, %t total)%?T? - tag `%T'&?"
|
||||
** 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'&?"
|
||||
|
||||
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
|
||||
# =============================================================
|
||||
include "~/.config/newsboat/colors"
|
||||
# =============================================================
|
||||
** Color Scheme
|
||||
#+BEGIN_SRC conf
|
||||
include "~/.config/newsboat/colors"
|
||||
#+END_SRC
|
||||
|
||||
* Colors
|
||||
@ -140,86 +148,91 @@ include "~/.config/newsboat/colors"
|
||||
:END:
|
||||
|
||||
#+BEGIN_SRC conf
|
||||
# =============================================================
|
||||
# Color Scheme
|
||||
# =============================================================
|
||||
highlight feedlist "^ *[0-9]+ *N " cyan cyan
|
||||
highlight articlelist "^ *[0-9]+ *N " cyan cyan
|
||||
highlight feedlist "^ *[0-9]+ *N " cyan cyan
|
||||
highlight articlelist "^ *[0-9]+ *N " cyan cyan
|
||||
|
||||
highlight article "(^Feed:.*|^Title:.*|^Author:.*)" red default
|
||||
highlight article "(^Link:.*|^Date:.*)" white default
|
||||
highlight article "^Podcast Download URL:.*" cyan default
|
||||
highlight article "^Links:" magenta black underline
|
||||
highlight article "https?://[^ ]+" green default
|
||||
highlight article "^(Title):.*$" blue default
|
||||
highlight article "\\[[0-9][0-9]*\\]" magenta default bold
|
||||
highlight article "\\[image\\ [0-9]+\\]" green default bold
|
||||
highlight article "\\[embedded flash: [0-9][0-9]*\\]" green default bold
|
||||
highlight article ":.*\\(link\\)$" cyan default
|
||||
highlight article ":.*\\(image\\)$" blue default
|
||||
highlight article ":.*\\(embedded flash\\)$" magenta default
|
||||
highlight article "(^Feed:.*|^Title:.*|^Author:.*)" red default
|
||||
highlight article "(^Link:.*|^Date:.*)" white default
|
||||
highlight article "^Podcast Download URL:.*" cyan default
|
||||
highlight article "^Links:" magenta black underline
|
||||
highlight article "https?://[^ ]+" green default
|
||||
highlight article "^(Title):.*$" blue default
|
||||
highlight article "\\[[0-9][0-9]*\\]" magenta default bold
|
||||
highlight article "\\[image\\ [0-9]+\\]" green default bold
|
||||
highlight article "\\[embedded flash: [0-9][0-9]*\\]" green default bold
|
||||
highlight article ":.*\\(link\\)$" cyan default
|
||||
highlight article ":.*\\(image\\)$" blue default
|
||||
highlight article ":.*\\(embedded flash\\)$" magenta default
|
||||
|
||||
color background default default
|
||||
color listnormal default default
|
||||
color listnormal_unread white default
|
||||
color listfocus color255 cyan bold
|
||||
color listfocus_unread color255 cyan bold
|
||||
color info cyan black
|
||||
color article default default
|
||||
# =============================================================
|
||||
color background default default
|
||||
color listnormal default default
|
||||
color listnormal_unread white default
|
||||
color listfocus color255 cyan bold
|
||||
color listfocus_unread color255 cyan bold
|
||||
color info cyan black
|
||||
color article default default
|
||||
#+END_SRC
|
||||
|
||||
* Config
|
||||
* URLS
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.config/newsboat/urls
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:END:
|
||||
|
||||
** NEWSFEEDS
|
||||
*** Linux
|
||||
#+begin_src conf
|
||||
https://itsfoss.com/feed/ "~NEWSFEED: It's Foss" linux
|
||||
https://lukesmith.xyz/rss.xml "~NEWSFEED: Lukesmith" linux
|
||||
|
||||
https://lord.re/index.xml "~NEWSFEED: /home/lord" linux
|
||||
http://feeds.cyberciti.biz/Nixcraft-LinuxFreebsdSolarisTipsTricks "~NEWSFEED: nixCraft" linux
|
||||
http://frederic.bezies.free.fr/blog/?feed=rss2 "~NEWSFEED: Le Weblog de Frederic Bezies" linux
|
||||
https://addy-dclxvi.github.io/index.xml "~NEWSFEED: Addy's Blog" linux
|
||||
http://feeds.feedburner.com/linoxideblog "~NEWSFEED: LinOxide" linux
|
||||
#+end_src
|
||||
|
||||
*** Emacs
|
||||
#+begin_src conf
|
||||
------------------------
|
||||
-------NEWSFEEDS--------
|
||||
------------------------
|
||||
https://itsfoss.com/feed/ "~NEWSFEED: It's Foss" unix
|
||||
https://lukesmith.xyz/rss.xml "~NEWSFEED: Lukesmith" unix
|
||||
http://www.planet.emacsen.org/atom.xml "~NEWSFEED: Planet Emacs" emacs
|
||||
http://sachachua.com/blog/feed/ "~NEWSFEED: Sacha Chua" emacs
|
||||
https://scripter.co/categories/org/index.xml "~NEWSFEED: Scripter" emacs
|
||||
http://kitchingroup.cheme.cmu.edu/blog/feed "~NEWSFEED: The Kitchin Research Group" emacs
|
||||
http://irreal.org/blog/?feed=rss2 "~NEWSFEED: Irreal" emacs
|
||||
https://emacs.cafe/feed.xml "~NEWSFEED: Emacs café" emacs
|
||||
http://pragmaticemacs.com/feed/ "~NEWSFEED: Pragmatic Emacs" emacs
|
||||
https://pinecast.com/feed/emacscast "~NEWSFEED: EmacsCast" emacs
|
||||
http://feeds.feedburner.com/CestLaZ "~newsfeed: c'est la Z" emacs
|
||||
https://joshrollinswrites.com/index.xml "The Art of Not Asking Why" emacs
|
||||
#+end_src
|
||||
|
||||
*** Other
|
||||
#+begin_src conf
|
||||
http://xkcd.com/rss.xml "~NEWSFEED: XKCD" fun
|
||||
https://scripter.co/categories/org/index.xml "~NEWSFEED: Scripter" orgmode
|
||||
-------------------------
|
||||
-------YOUTUBE-----------
|
||||
-------------------------
|
||||
#+end_src
|
||||
|
||||
** Youtube
|
||||
#+begin_src conf
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCkK9UDm_ZNrq_rIXCz3xCGA "~YOUTUBE: Bryan Lunduke" youtube unix
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA "~YOUTUBE: Luke Smith" youtube unix
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCXPHFM88IlFn68OmLwtPmZA "~YOUTUBE: Greg Hurrell" youtube unix
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCUR1pFG_3XoZn3JNKjulqZg "~YOUTUBE: Thoughtbot" youtube unix
|
||||
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCOuIgj0CYCXCvjWywjDbauw "~YOUTUBE: Chat sceptique" youtube science
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCMFcMhePnH4onVHt2-ItPZw "~YOUTUBE: Hygiène Mentale" youtube science
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCxqAWLTk1CmBvZFPzeZMd9A "~YOUTUBE: Domain of Science" youtube science
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC2LZO6swZ9SLUEOks3WnsfA "~YOUTUBE: 2veritasium" youtube science
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCaNlbnghtwlsGF-KzAFThqA "~YOUTUBE: ScienceEtonnante" youtube science
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCHnyfMqiRRG1u-2MsSQLbXA "~YOUTUBE: Veritasium" youtube science
|
||||
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCEfFUaIkjbI06PhALdcXNVA "~YOUTUBE: EmacsCast" youtube emacs
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCkRmQ_G_NbdbCQMpALg6UPg "~YOUTUBE: Emacsrocks" youtube emacs
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCQp2VLAOlvq142YN3JO3y8w "~YOUTUBE: John Kitchin" youtube emacs
|
||||
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCq0imsn84ShAe9PBOFnoIrg "~YOUTUBE: Brian Douglas" youtube control
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCm5mt-A4w61lknZ9lCsZtBw "~YOUTUBE: Steve Brunton" youtube control
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCMFcMhePnH4onVHt2-ItPZw "~YOUTUBE: Hygiène Mentale" youtube science
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCxqAWLTk1CmBvZFPzeZMd9A "~YOUTUBE: Domain of Science" youtube science
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC7vVhkEfw4nOGp8TyDk7RcQ "~YOUTUBE: BostonDynamics" youtube control
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCXPHFM88IlFn68OmLwtPmZA "~YOUTUBE: Greg Hurrell" youtube vim unix
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCUR1pFG_3XoZn3JNKjulqZg "~YOUTUBE: Thoughtbot" youtube unix
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCmkP178NasnhR3TWQyyP4Gw "~YOUTUBE: How To Mechatronics" youtube control
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC2LZO6swZ9SLUEOks3WnsfA "~YOUTUBE: 2veritasium" youtube science
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCaNlbnghtwlsGF-KzAFThqA "~YOUTUBE: ScienceEtonnante" youtube science
|
||||
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCSqyMHDUsc1gs6wz4sUy91w "~YOUTUBE: Jipihorn" youtube acoustic
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCHnyfMqiRRG1u-2MsSQLbXA "~YOUTUBE: Veritasium" youtube science
|
||||
-------------------------
|
||||
-------REDDIT------------
|
||||
-------------------------
|
||||
https://www.reddit.com/r/linux/.rss "~REDDIT: r/linux" reddit linux
|
||||
https://www.reddit.com/r/emacs/.rss "~REDDIT: r/emacs" reddit emacs
|
||||
-------------------------
|
||||
-------GIT_REPOS---------
|
||||
-------------------------
|
||||
https://github.com/LukeSmithxyz.atom "~GITHUB: LukeSmithxyz" github unix
|
||||
-------------------------
|
||||
-------ARCHLINUX---------
|
||||
-------------------------
|
||||
https://www.archlinux.org/feeds/packages/added/ "~ARCH: Packages Added"
|
||||
https://www.archlinux.org/feeds/packages/removed/ "~ARCH: Packages Removed"
|
||||
https://aur.archlinux.org/rss/ "~ARCH: Packages Added (AUR)"
|
||||
https://wiki.archlinux.org/api.php?hidebots=1&urlversion=1&days=7&limit=50&action=feedrecentchanges&feedformat=rss "~ARCH: Arch Wiki"
|
||||
#+end_src
|
||||
|
@ -1,7 +1,9 @@
|
||||
#+TITLE: Polybar Configuration
|
||||
:DRAWER:
|
||||
#+PROPERTY: header-args+ :comments both
|
||||
#+PROPERTY: header-args+ :mkdirp yes
|
||||
#+PROPERTY: header-args+ :tangle ~/.config/polybar/config
|
||||
:END:
|
||||
|
||||
* Colors
|
||||
#+begin_src conf
|
||||
@ -56,7 +58,7 @@
|
||||
enable-ipc = true
|
||||
override-redirect = false
|
||||
bottom = false
|
||||
fixed-center = true
|
||||
fixed-center = false
|
||||
|
||||
width = 100%
|
||||
height = 27
|
||||
@ -65,7 +67,7 @@
|
||||
background = ${colors.background}
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
line-size = 3
|
||||
line-size = 2
|
||||
|
||||
border-size = 0
|
||||
|
||||
@ -79,60 +81,13 @@
|
||||
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
|
||||
font-2 = Weather Icons:size=10;1
|
||||
|
||||
modules-left = i3
|
||||
modules-center = mpd pulseaudio
|
||||
modules-right = dunst unread_mail cpu battery temperature date
|
||||
modules-left = i3 xwindow
|
||||
modules-center =
|
||||
modules-right = pulseaudio wired-network wireless-network xbacklight nordvpn dunst unread_mail cpu battery temperature date
|
||||
|
||||
tray-position = right
|
||||
tray-padding = 2
|
||||
#tray-transparent = true
|
||||
#tray-background = #0063ff
|
||||
|
||||
#cursor-click = pointer
|
||||
#cursor-scroll = ns-resize
|
||||
#+END_SRC
|
||||
|
||||
* Bottom Bar
|
||||
#+BEGIN_SRC conf
|
||||
[bar/bottom]
|
||||
enable-ipc = true
|
||||
override-redirect = false
|
||||
bottom = true
|
||||
fixed-center = true
|
||||
|
||||
width = 100%
|
||||
height = 27
|
||||
radius = 0.0
|
||||
|
||||
background = ${colors.background}
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
line-size = 3
|
||||
|
||||
border-size = 0
|
||||
|
||||
padding-left = 2
|
||||
padding-right = 2
|
||||
|
||||
module-margin-left = 1
|
||||
module-margin-right = 1
|
||||
|
||||
font-0 = Hack Nerd Font:style=Medium,Regular:pixelsize=10;1
|
||||
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
|
||||
font-2 = Weather Icons:size=10;1
|
||||
# font-3 = siji:pixelsize=10;1
|
||||
|
||||
modules-left = mpd pulseaudio
|
||||
# modules-center = xwindow
|
||||
modules-right = filesystem nordvpn chromecast screenshot weather emacs caffeine redshift
|
||||
|
||||
# tray-position = right
|
||||
# tray-padding = 2
|
||||
#tray-transparent = true
|
||||
#tray-background = #0063ff
|
||||
|
||||
#cursor-click = pointer
|
||||
#cursor-scroll = ns-resize
|
||||
tray-padding = 0
|
||||
tray-background = ${colors.background}
|
||||
#+END_SRC
|
||||
|
||||
* Show Windows Title
|
||||
@ -142,38 +97,6 @@
|
||||
label = %title:0:30:...%
|
||||
#+END_SRC
|
||||
|
||||
* Current Layout of the Keyboard
|
||||
#+BEGIN_SRC conf
|
||||
[module/xkeyboard]
|
||||
type = internal/xkeyboard
|
||||
|
||||
# List of indicators to ignore
|
||||
blacklist-0 = num lock
|
||||
|
||||
format = <label-layout>
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.foreground}
|
||||
format-prefix-underline = ${colors.background}
|
||||
|
||||
label-layout = %layout%
|
||||
label-layout-underline = ${colors.background}
|
||||
#+END_SRC
|
||||
|
||||
* Mount filesystem and show available space
|
||||
#+BEGIN_SRC conf
|
||||
[module/filesystem]
|
||||
type = internal/fs
|
||||
|
||||
interval = 25
|
||||
|
||||
# List of mountpoints to display
|
||||
mount-0 = /
|
||||
|
||||
label-mounted = %{Fcolors.blue}%mountpoint%%{F-}: %percentage_used%%
|
||||
label-unmounted = %mountpoint%
|
||||
label-unmounted-foreground = ${colors.comments}
|
||||
#+END_SRC
|
||||
|
||||
* I3 - Information about workspaces and active one
|
||||
#+BEGIN_SRC conf
|
||||
[module/i3]
|
||||
@ -288,21 +211,6 @@
|
||||
label = %{A1:termite -e "htop" &:} %percentage:2%% %{A}
|
||||
#+END_SRC
|
||||
|
||||
* Available Memory
|
||||
#+BEGIN_SRC conf
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
|
||||
interval = 2
|
||||
|
||||
format-prefix = " "
|
||||
|
||||
format-prefix-foreground = ${colors.foreground-dark}
|
||||
format-underline = #4bffdc
|
||||
|
||||
label = %percentage_used%%
|
||||
#+END_SRC
|
||||
|
||||
* Date
|
||||
#+BEGIN_SRC conf
|
||||
[module/date]
|
||||
@ -310,8 +218,8 @@
|
||||
interval = 1
|
||||
|
||||
# Open google calendar on left right
|
||||
date = %{A1:$BROWSER https\://calendar.google.com/ &:} %d-%m%{A}
|
||||
date-alt = "%{A1:$BROWSER https\://calendar.google.com/ &:} %d-%m-%Y%{A}"
|
||||
date = %{A1:termite -e "ikhal" &:} %d-%m%{A}
|
||||
date-alt = "%{A1:termite -e \"ikhal\" &:} %d-%m-%Y%{A}"
|
||||
|
||||
time = %H:%M
|
||||
time-alt = %H:%M:%S
|
||||
@ -430,7 +338,7 @@
|
||||
|
||||
label-font = 2
|
||||
format-underline = ${colors.background}
|
||||
click-left = termite -e "tmuxinator start neomutt" &
|
||||
click-left = termite -e "tmux -L neomutt attach" &
|
||||
format = <label>
|
||||
exec = ~/.config/polybar/scripts/unread_mails.sh
|
||||
interval = 1
|
||||
@ -487,72 +395,16 @@
|
||||
fi
|
||||
#+end_src
|
||||
|
||||
* Emacs
|
||||
#+begin_src conf
|
||||
[module/emacs]
|
||||
type = custom/script
|
||||
|
||||
label-font = 2
|
||||
format-underline = ${colors.background}
|
||||
click-left = ~/.config/polybar/scripts/emacsclient.sh &
|
||||
click-right = emacs &
|
||||
format = <label>
|
||||
exec = ~/.config/polybar/scripts/emacsserver.sh
|
||||
interval = 5
|
||||
#+end_src
|
||||
|
||||
** Emacs Server Scripts
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.config/polybar/scripts/emacsserver.sh
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
|
||||
#+BEGIN_SRC bash
|
||||
if test -e "/tmp/emacs1000/server" || test -e "~/.emacs.d/server"; then
|
||||
echo "%{F#859900}%{F-}";
|
||||
else
|
||||
echo "";
|
||||
fi
|
||||
#+END_SRC
|
||||
|
||||
** Emacs Client Script
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.config/polybar/scripts/emacsclient.sh
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
|
||||
#+BEGIN_SRC bash
|
||||
emacsclient -create-frame --alternate-editor=""
|
||||
#+END_SRC
|
||||
|
||||
* NordVPN
|
||||
#+BEGIN_SRC conf
|
||||
[module/nordvpn]
|
||||
type = custom/script
|
||||
|
||||
format-underline = ${colors.background}
|
||||
click-left = ~/.config/polybar/scripts/nordvpn-toggle.sh
|
||||
click-left = ~/bin/vpntoggle
|
||||
format = <label>
|
||||
exec = ~/.config/polybar/scripts/nordvpn.sh
|
||||
interval = 5
|
||||
#+END_SRC
|
||||
|
||||
** Nordvpn Toggle script
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.config/polybar/scripts/nordvpn-toggle.sh
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
#+BEGIN_SRC bash
|
||||
vpnstatus=`nordvpn status`;
|
||||
|
||||
if [[ ${vpnstatus} == *"Disconnected"* ]]; then
|
||||
nordvpn connect
|
||||
else
|
||||
nordvpn disconnect
|
||||
fi
|
||||
interval = 2
|
||||
#+END_SRC
|
||||
|
||||
** Nordvpn Status script
|
||||
@ -564,11 +416,12 @@
|
||||
#+BEGIN_SRC bash
|
||||
vpnstatus=`nordvpn status`;
|
||||
|
||||
if [[ ${vpnstatus} == *"Disconnected"* ]]; then
|
||||
echo "";
|
||||
if [[ ${vpnstatus} == *"Connected"* ]]; then
|
||||
# country=`nordvpn status | sed '/Country/!d ; s/Country: //'`
|
||||
# echo "%{F#859900}%{F-} $country";
|
||||
echo "%{F#859900}%{F-}";
|
||||
else
|
||||
country=`echo -e $vpnstatus | sed 's/^.*Country: \(\w*\) .*$/\1/'`
|
||||
echo "%{F#859900}%{F-} $country";
|
||||
echo "";
|
||||
fi
|
||||
#+END_SRC
|
||||
|
||||
@ -579,8 +432,8 @@
|
||||
|
||||
label-font = 2
|
||||
format-underline = ${colors.background}
|
||||
click-left = xautolock -disable && notify-send "Lock Disabled"
|
||||
click-right = xautolock -enable && notify-send "Lock Enabled"
|
||||
click-left = xautolock -disable && dunstify --replace=87901 "Lock Disabled"
|
||||
click-right = xautolock -enable && dunstify --replace=87901 "Lock Enabled"
|
||||
format = <label>
|
||||
exec = echo -e "\uf0f4"
|
||||
interval = 1
|
||||
@ -591,8 +444,8 @@
|
||||
[module/dunst]
|
||||
type = custom/text
|
||||
content = ""
|
||||
click-left = notify-send "Notifications Disabled" && sleep 2 && notify-send "DUNST_COMMAND_PAUSE"
|
||||
click-right = notify-send "DUNST_COMMAND_RESUME" && notify-send "Notifications Resumed"
|
||||
click-left = dunstify --replace=10524 "Notifications Disabled" && sleep 2 && dunstify "DUNST_COMMAND_PAUSE"
|
||||
click-right = dunstify "DUNST_COMMAND_RESUME" && dunstify --replace=10524 "Notifications Resumed"
|
||||
#+END_SRC
|
||||
|
||||
* Weather
|
||||
@ -609,7 +462,7 @@ click-left = ~/.config/polybar/scripts/weatheropen.sh
|
||||
label-font = 3
|
||||
#+end_src
|
||||
|
||||
** Emacs Server Scripts
|
||||
** Script to retrieve the weather
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.config/polybar/scripts/weather.sh
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
@ -733,149 +586,46 @@ click-left = ~/.config/polybar/scripts/weatheropen.sh
|
||||
$BROWSER https://www.yahoo.com/news/weather/france/grenoble/grenoble-593720
|
||||
#+END_SRC
|
||||
|
||||
* TODO [#A] Network
|
||||
* Network
|
||||
#+begin_src conf
|
||||
[module/network]
|
||||
[module/wired-network]
|
||||
type = internal/network
|
||||
interface = wlp3s0
|
||||
interface = enp0s20f0u9u4
|
||||
|
||||
; Seconds to sleep between updates
|
||||
; Default: 1
|
||||
interval = 3.0
|
||||
label-connected = %local_ip%
|
||||
label-connected-foreground = ${colors.foreground}
|
||||
|
||||
; ; Test connectivity every Nth update
|
||||
; ; A value of 0 disables the feature
|
||||
; ; NOTE: Experimental (needs more testing)
|
||||
; ; Default: 0
|
||||
; ;ping-interval = 3
|
||||
|
||||
; ; @deprecated: Define min width using token specifiers (%downspeed:min% and %upspeed:min%)
|
||||
; ; Minimum output width of upload/download rate
|
||||
; ; Default: 3
|
||||
; udspeed-minwidth = 5
|
||||
|
||||
; ; Accumulate values from all interfaces
|
||||
; ; when querying for up/downspeed rate
|
||||
; ; Default: false
|
||||
; accumulate-stats = true
|
||||
|
||||
; ; Consider an `UNKNOWN` interface state as up.
|
||||
; ; Some devices have an unknown state, even when they're running
|
||||
; ; Default: false
|
||||
; unknown-as-up = true
|
||||
|
||||
; ; Available tags:
|
||||
; ; <label-connected> (default)
|
||||
; ; <ramp-signal>
|
||||
format-connected-prefix = " "
|
||||
format-connected-prefix = " "
|
||||
format-connected = <label-connected>
|
||||
|
||||
; ; Available tags:
|
||||
; ; <label-disconnected> (default)
|
||||
; format-disconnected = <label-disconnected>
|
||||
label-disconnected = ""
|
||||
label-disconnected-foreground = ${colors.comments}
|
||||
|
||||
; ; Available tags:
|
||||
; ; <label-connected> (default)
|
||||
; ; <label-packetloss>
|
||||
; ; <animation-packetloss>
|
||||
; format-packetloss = <animation-packetloss> <label-connected>
|
||||
format-disconnected = <label-disconnected>
|
||||
|
||||
[module/wireless-network]
|
||||
type = internal/network
|
||||
interface = wlp2s0
|
||||
|
||||
; ; Available tokens:
|
||||
; ; %ifname% [wireless+wired]
|
||||
; ; %local_ip% [wireless+wired]
|
||||
; ; %local_ip6% [wireless+wired]
|
||||
; ; %essid% [wireless]
|
||||
; ; %signal% [wireless]
|
||||
; ; %upspeed% [wireless+wired]
|
||||
; ; %downspeed% [wireless+wired]
|
||||
; ; %linkspeed% [wired]
|
||||
; ; Default: %ifname% %local_ip%
|
||||
label-connected = %essid%
|
||||
; label-connected-foreground = #eefafafa
|
||||
label-connected-foreground = ${colors.foreground}
|
||||
|
||||
; ; Available tokens:
|
||||
; ; %ifname% [wireless+wired]
|
||||
; ; Default: (none)
|
||||
; label-disconnected = not connected
|
||||
; label-disconnected-foreground = #66ffffff
|
||||
format-connected-prefix = " "
|
||||
format-connected = <label-connected>
|
||||
|
||||
; ; Available tokens:
|
||||
; ; %ifname% [wireless+wired]
|
||||
; ; %local_ip% [wireless+wired]
|
||||
; ; %local_ip6% [wireless+wired]
|
||||
; ; %essid% [wireless]
|
||||
; ; %signal% [wireless]
|
||||
; ; %linkspeed% [wired]
|
||||
; ; Default: (none)
|
||||
; ;label-packetloss = %essid%
|
||||
; ;label-packetloss-foreground = #eefafafa
|
||||
label-disconnected = ""
|
||||
label-disconnected-foreground = ${colors.comments}
|
||||
|
||||
; ; Only applies if <ramp-signal> is used
|
||||
; ramp-signal-0 = 😱
|
||||
; ramp-signal-1 = 😠
|
||||
; ramp-signal-2 = 😒
|
||||
; ramp-signal-3 = 😊
|
||||
; ramp-signal-4 = 😃
|
||||
; ramp-signal-5 = 😈
|
||||
|
||||
; ; Only applies if <animation-packetloss> is used
|
||||
; animation-packetloss-0 = ⚠
|
||||
; animation-packetloss-0-foreground = #ffa64c
|
||||
; animation-packetloss-1 = 📶
|
||||
; animation-packetloss-1-foreground = #000000
|
||||
; ; Framerate in milliseconds
|
||||
; animation-packetloss-framerate = 500
|
||||
format-disconnected = <label-disconnected>
|
||||
#+end_src
|
||||
|
||||
* Logout
|
||||
#+BEGIN_SRC conf
|
||||
[module/logout]
|
||||
type = custom/text
|
||||
content = ""
|
||||
click-left = i3exit switch_user
|
||||
#+END_SRC
|
||||
|
||||
* Hibernate
|
||||
#+BEGIN_SRC conf
|
||||
[module/hibernate]
|
||||
type = custom/text
|
||||
content = ""
|
||||
click-left = i3exit hibernate
|
||||
#+END_SRC
|
||||
|
||||
* Shutdown
|
||||
#+BEGIN_SRC conf
|
||||
[module/shutdown]
|
||||
type = custom/text
|
||||
content = ""
|
||||
click-left = i3exit shutdown
|
||||
#+END_SRC
|
||||
|
||||
* Reboot
|
||||
#+BEGIN_SRC conf
|
||||
[module/reboot]
|
||||
type = custom/text
|
||||
content = ""
|
||||
click-left = i3exit logout
|
||||
#+END_SRC
|
||||
|
||||
* Lock
|
||||
#+BEGIN_SRC conf
|
||||
[module/lock]
|
||||
type = custom/text
|
||||
content = ""
|
||||
click-left = blurlock
|
||||
#+END_SRC
|
||||
|
||||
* TODO [#B] Screenshot
|
||||
- [ ] the right click is not working
|
||||
* Screenshot
|
||||
|
||||
#+BEGIN_SRC conf
|
||||
[module/screenshot]
|
||||
type = custom/text
|
||||
content = ""
|
||||
click-left = scrot -e 'feh $f -x' --delay 1
|
||||
click-right = scrot -s -e 'feh $f -x'
|
||||
click-left = ~/scripts/screenshot.sh
|
||||
#+END_SRC
|
||||
|
||||
* Scripts
|
||||
|
@ -1,7 +1,17 @@
|
||||
#+TITLE: Qutebrowser Configuration
|
||||
:DRAWER:
|
||||
#+PROPERTY: header-args+ :comments none
|
||||
#+PROPERTY: header-args+ :mkdirp yes
|
||||
#+PROPERTY: header-args+ :tangle ~/.config/qutebrowser/config.py
|
||||
:END:
|
||||
|
||||
* Import
|
||||
#+begin_src conf
|
||||
from qutebrowser.config.configfiles import ConfigAPI
|
||||
from qutebrowser.config.config import ConfigContainer
|
||||
|
||||
import sys, os
|
||||
#+end_src
|
||||
|
||||
* General config
|
||||
#+BEGIN_SRC conf
|
||||
@ -527,14 +537,18 @@ c.tabs.wrap = False
|
||||
c.url.searchengines = {
|
||||
'DEFAULT': 'https://www.duckduckgo.org/?q={}',
|
||||
'aw': 'https://wiki.archlinux.org/?search={}',
|
||||
'w': 'https://en.wikipedia.org/wiki/Special:Search?search={}',
|
||||
'g': 'https://www.google.com/search?q={}',
|
||||
'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?utf8={}&q=test&type=',
|
||||
'r': 'https://www.reddit.com/search?q={}',
|
||||
'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={}',
|
||||
|
||||
}
|
||||
|
||||
# Page(s) to open at the start.
|
||||
@ -877,38 +891,50 @@ c.url.start_pages = ['https://start.duckduckgo.com']
|
||||
#+END_SRC
|
||||
|
||||
** Custom Bindings
|
||||
Use Pass to fill password and username (configuration is done in =~/.config/qutebrowser/password_fill_rc=).
|
||||
*** Use Pass to fill password and username (configuration is done in =~/.config/qutebrowser/password_fill_rc=).
|
||||
#+BEGIN_SRC conf
|
||||
config.bind(',p', 'spawn --userscript password_fill')
|
||||
#+END_SRC
|
||||
|
||||
Open Youtube video using MPV
|
||||
*** Open Youtube video using MPV
|
||||
#+BEGIN_SRC conf
|
||||
config.bind(',m', 'spawn mpv {url}')
|
||||
config.bind(',M', ':hint links spawn mpv {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
|
||||
|
||||
Cast to Chromecast
|
||||
*** Cast Youtube to Chromecast
|
||||
#+BEGIN_SRC conf
|
||||
config.bind(',c', ':hint links spawn catt cast {hint-url}')
|
||||
config.bind(',c', 'spawn --userscript ~/.config/qutebrowser/userscripts/cast.sh {url}')
|
||||
config.bind(',C', 'hint links spawn --userscript ~/.config/qutebrowser/userscripts/cast.sh {hint-url}')
|
||||
#+END_SRC
|
||||
|
||||
Add url to refile.org
|
||||
*** Add url to refile.org
|
||||
#+BEGIN_SRC conf
|
||||
config.bind(',r', ':spawn --userscript ~/.config/qutebrowser/userscripts/add-to-orgmode-refile.sh')
|
||||
config.bind(',r', 'spawn --userscript ~/.config/qutebrowser/userscripts/add-to-orgmode-refile.sh')
|
||||
#+END_SRC
|
||||
|
||||
Add page to Bookmarks
|
||||
*** Add page to Bookmarks
|
||||
#+begin_src conf
|
||||
config.bind(',b', 'spawn buku -a {url}')
|
||||
#+end_src
|
||||
|
||||
Open bookmark using buku
|
||||
*** Open bookmark using buku
|
||||
#+begin_src conf
|
||||
config.bind(',o', 'spawn ~/bin/buku_run')
|
||||
config.bind(',o', 'spawn ~/bin/bukurun')
|
||||
#+end_src
|
||||
|
||||
* Userscripts
|
||||
** Cast Youtube to Chromecast
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.config/qutebrowser/userscripts/cast.sh
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
|
||||
#+begin_src bash
|
||||
youtube-dl -o - $1 | castnow --quiet -
|
||||
#+end_src
|
||||
|
||||
** Add url to refile.org
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.config/qutebrowser/userscripts/add-to-orgmode-refile.sh
|
||||
@ -918,10 +944,11 @@ Open bookmark using buku
|
||||
|
||||
Add the date and time of add to properties.
|
||||
#+begin_src bash
|
||||
echo "* TODO $QUTE_TITLE" >> ~/Dropbox/org/refile.org
|
||||
echo "$QUTE_URL" >> ~/Dropbox/org/refile.org
|
||||
echo "message-info 'Added to refile.org'" >> "$QUTE_FIFO"
|
||||
echo "* TODO $QUTE_TITLE" >> ~/Dropbox/org/refile.org
|
||||
echo "$QUTE_URL" >> ~/Dropbox/org/refile.org
|
||||
echo "message-info 'Added to refile.org'" >> "$QUTE_FIFO"
|
||||
#+end_src
|
||||
|
||||
** Password_fill_rc
|
||||
:PROPERTIES:
|
||||
:header-args+: :tangle ~/.config/qutebrowser/password_fill_rc
|
||||
|
@ -71,7 +71,7 @@ set show_hidden_bookmarks true
|
||||
|
||||
# Which colorscheme to use? These colorschemes are available by default:
|
||||
# default, jungle, snow, solarized
|
||||
set colorscheme solarized
|
||||
set colorscheme gruvbox
|
||||
|
||||
# Preview files on the rightmost column?
|
||||
# And collapse (shrink) the last column if there is nothing to preview?
|
||||
@ -208,7 +208,7 @@ alias travel scout -aefiklst
|
||||
** Some Custom Keybindings
|
||||
*** Extract
|
||||
#+BEGIN_SRC conf
|
||||
map ,x shell ex %f
|
||||
map ,x shell atool -x %f
|
||||
#+END_SRC
|
||||
|
||||
*** TODO Compress
|
||||
@ -231,128 +231,126 @@ map ,z shell tar -cvzf %f.tar.gz %f
|
||||
map ,t shell curl --progress-bar --upload-file %f https://transfer.sh/$(basename $1) | xclip -in -selection clipboard;
|
||||
#+END_SRC
|
||||
|
||||
*** Open current folder with PCManFM
|
||||
#+begin_src conf
|
||||
map O shell nohup pcmanfm %d &
|
||||
#+end_src
|
||||
|
||||
** Define keys for the browser
|
||||
*** Basic
|
||||
#+BEGIN_SRC conf
|
||||
map Q quit!
|
||||
map q quit
|
||||
copymap q ZZ ZQ
|
||||
map Q quit!
|
||||
map q quit
|
||||
copymap q ZZ ZQ
|
||||
|
||||
map R reload_cwd
|
||||
map <C-r> reset
|
||||
map <C-l> redraw_window
|
||||
map <C-c> abort
|
||||
map <esc> change_mode normal
|
||||
map ~ set viewmode!
|
||||
map R reload_cwd
|
||||
map <C-r> reset
|
||||
map <C-l> redraw_window
|
||||
map <C-c> abort
|
||||
map <esc> change_mode normal
|
||||
map ~ set viewmode!
|
||||
|
||||
map i display_file
|
||||
map ? help
|
||||
map W display_log
|
||||
map w taskview_open
|
||||
map i display_file
|
||||
map ? help
|
||||
map W display_log
|
||||
map w taskview_open
|
||||
|
||||
map : console
|
||||
map ; console
|
||||
map ! console shell%space
|
||||
map @ console -p6 shell %%s
|
||||
map # console shell -p%space
|
||||
map : console
|
||||
map ; console
|
||||
map ! console shell%space
|
||||
map @ console -p6 shell %%s
|
||||
map # console shell -p%space
|
||||
#+END_SRC
|
||||
|
||||
*** Open Shell in current directory
|
||||
#+BEGIN_SRC conf
|
||||
map s shell $SHELL
|
||||
# Open External Shell in current directory
|
||||
map S shell nohup termite &
|
||||
map s shell $SHELL
|
||||
# Open External Shell in current directory
|
||||
map S shell nohup termite &
|
||||
|
||||
map r chain draw_possible_programs; console open_with%%space
|
||||
map r 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 cd console cd%space
|
||||
map f console filter%space
|
||||
# Reset filter
|
||||
map F filter
|
||||
#+END_SRC
|
||||
|
||||
*** Change the line mode
|
||||
#+BEGIN_SRC conf
|
||||
map Mf linemode filename
|
||||
map Mi linemode fileinfo
|
||||
map Mm linemode mtime
|
||||
map Mp linemode permissions
|
||||
map Ms linemode sizemtime
|
||||
map Mt linemode metatitle
|
||||
map Mf linemode filename
|
||||
map Mi linemode fileinfo
|
||||
map Mm linemode mtime
|
||||
map Mp linemode permissions
|
||||
map Ms linemode sizemtime
|
||||
map Mt linemode metatitle
|
||||
#+END_SRC
|
||||
|
||||
*** Tagging / Marking
|
||||
#+BEGIN_SRC conf
|
||||
map t tag_toggle
|
||||
map ut tag_remove
|
||||
map <Space> mark_files toggle=True
|
||||
map v mark_files all=True toggle=True
|
||||
map uv mark_files all=True val=False
|
||||
map V toggle_visual_mode
|
||||
map uV toggle_visual_mode reverse=True
|
||||
map t tag_toggle
|
||||
map ut tag_remove
|
||||
map <Space> mark_files toggle=True
|
||||
map v mark_files all=True toggle=True
|
||||
map uv mark_files all=True val=False
|
||||
map V toggle_visual_mode
|
||||
map uV toggle_visual_mode reverse=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 <PAGEDOWN> <C-F>
|
||||
copymap <PAGEUP> <C-B>
|
||||
#+END_SRC
|
||||
|
||||
*** TODO - Is that usefull?
|
||||
#+BEGIN_SRC conf
|
||||
map J move down=0.5 pages=True
|
||||
map K move up=0.5 pages=True
|
||||
copymap J <C-D>
|
||||
copymap K <C-U>
|
||||
copymap <UP> k
|
||||
copymap <DOWN> j
|
||||
copymap <LEFT> h
|
||||
copymap <RIGHT> l
|
||||
copymap <HOME> gg
|
||||
copymap <END> G
|
||||
copymap <PAGEDOWN> <C-F>
|
||||
copymap <PAGEUP> <C-B>
|
||||
#+END_SRC
|
||||
|
||||
*** Jumping around
|
||||
#+BEGIN_SRC conf
|
||||
map H history_go -1
|
||||
map L history_go 1
|
||||
map ] move_parent 1
|
||||
map [ move_parent -1
|
||||
map } traverse
|
||||
map H history_go -1
|
||||
map L history_go 1
|
||||
map ] move_parent 1
|
||||
map [ move_parent -1
|
||||
map } traverse
|
||||
#+END_SRC
|
||||
|
||||
*** TODO Go to special folders
|
||||
*** TODO [#A] Go to special folders
|
||||
#+BEGIN_SRC conf
|
||||
map gh cd ~
|
||||
map gd cd ~/gdrive/These
|
||||
map gD cd ~/Downloads
|
||||
map cd console cd%space
|
||||
|
||||
map gh cd ~
|
||||
map gm cd ~/MEGA/These
|
||||
map gd cd ~/Downloads
|
||||
map gc cd ~/.config/literate-dotfiles/
|
||||
#+END_SRC
|
||||
|
||||
*** External Programs
|
||||
#+BEGIN_SRC conf
|
||||
map E edit
|
||||
map E edit
|
||||
#+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
|
||||
|
||||
*** Filesystem Operations
|
||||
@ -362,168 +360,168 @@ map = chmod
|
||||
|
||||
*** TODO Rename
|
||||
#+BEGIN_SRC conf
|
||||
#map cw console rename%space
|
||||
map cw eval fm.execute_console("bulkrename") if fm.thisdir.marked_items else fm.open_console("rename ")
|
||||
#map cw console rename%space
|
||||
map cw eval fm.execute_console("bulkrename") if fm.thisdir.marked_items else fm.open_console("rename ")
|
||||
#+END_SRC
|
||||
|
||||
*** Rename files - like vim bindings
|
||||
#+BEGIN_SRC conf
|
||||
map a rename_append
|
||||
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 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
|
||||
|
||||
*** Delete and move files
|
||||
#+BEGIN_SRC conf
|
||||
map dD console delete
|
||||
map dd cut
|
||||
map ud uncut
|
||||
map da cut mode=add
|
||||
map dr cut mode=remove
|
||||
map dt cut mode=toggle
|
||||
map dD console delete
|
||||
map dd cut
|
||||
map ud uncut
|
||||
map da cut mode=add
|
||||
map dr cut mode=remove
|
||||
map dt cut mode=toggle
|
||||
#+END_SRC
|
||||
|
||||
*** Copy files
|
||||
#+BEGIN_SRC conf
|
||||
map yy copy
|
||||
map uy uncut
|
||||
map ya copy mode=add
|
||||
map yr copy mode=remove
|
||||
map yt copy mode=toggle
|
||||
map yy copy
|
||||
map uy uncut
|
||||
map ya copy mode=add
|
||||
map yr copy mode=remove
|
||||
map yt copy mode=toggle
|
||||
#+END_SRC
|
||||
|
||||
*** Temporary workarounds
|
||||
#+BEGIN_SRC conf
|
||||
map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier)
|
||||
map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier)
|
||||
map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier)
|
||||
map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier)
|
||||
map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier)
|
||||
map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
|
||||
map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier)
|
||||
map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier)
|
||||
map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier)
|
||||
map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier)
|
||||
map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier)
|
||||
map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier)
|
||||
map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier)
|
||||
map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
|
||||
map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier)
|
||||
map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier)
|
||||
#+END_SRC
|
||||
|
||||
*** Searching
|
||||
#+BEGIN_SRC conf
|
||||
map / console search%space
|
||||
map n search_next
|
||||
map N search_next forward=False
|
||||
map ct search_next order=tag
|
||||
map cs search_next order=size
|
||||
map ci search_next order=mimetype
|
||||
map cc search_next order=ctime
|
||||
map cm search_next order=mtime
|
||||
map ca search_next order=atime
|
||||
map / console search%space
|
||||
map n search_next
|
||||
map N search_next forward=False
|
||||
map ct search_next order=tag
|
||||
map cs search_next order=size
|
||||
map ci search_next order=mimetype
|
||||
map cc search_next order=ctime
|
||||
map cm search_next order=mtime
|
||||
map ca search_next order=atime
|
||||
#+END_SRC
|
||||
|
||||
*** Tabs
|
||||
#+BEGIN_SRC conf
|
||||
map <C-n> tab_new ~
|
||||
map <C-w> tab_close
|
||||
map <TAB> tab_move 1
|
||||
map <S-TAB> tab_move -1
|
||||
map <A-Right> tab_move 1
|
||||
map <A-Left> tab_move -1
|
||||
map gt tab_move 1
|
||||
map gT tab_move -1
|
||||
map gn tab_new ~
|
||||
map gc tab_close
|
||||
map uq tab_restore
|
||||
map <a-1> tab_open 1
|
||||
map <a-2> tab_open 2
|
||||
map <a-3> tab_open 3
|
||||
map <a-4> tab_open 4
|
||||
map <a-5> tab_open 5
|
||||
map <a-6> tab_open 6
|
||||
map <a-7> tab_open 7
|
||||
map <a-8> tab_open 8
|
||||
map <a-9> tab_open 9
|
||||
map <C-n> tab_new ~
|
||||
map <C-w> tab_close
|
||||
map <TAB> tab_move 1
|
||||
map <S-TAB> tab_move -1
|
||||
map <A-Right> tab_move 1
|
||||
map <A-Left> tab_move -1
|
||||
map gt tab_move 1
|
||||
map gT tab_move -1
|
||||
map gn tab_new ~
|
||||
map gc tab_close
|
||||
map uq tab_restore
|
||||
map <a-1> tab_open 1
|
||||
map <a-2> tab_open 2
|
||||
map <a-3> tab_open 3
|
||||
map <a-4> tab_open 4
|
||||
map <a-5> tab_open 5
|
||||
map <a-6> tab_open 6
|
||||
map <a-7> tab_open 7
|
||||
map <a-8> tab_open 8
|
||||
map <a-9> tab_open 9
|
||||
#+END_SRC
|
||||
|
||||
*** Sorting
|
||||
#+BEGIN_SRC conf
|
||||
map or set sort_reverse!
|
||||
map oz set sort=random
|
||||
map os chain set sort=size; set sort_reverse=False
|
||||
map ob chain set sort=basename; set sort_reverse=False
|
||||
map on chain set sort=natural; set sort_reverse=False
|
||||
map om chain set sort=mtime; set sort_reverse=False
|
||||
map oc chain set sort=ctime; set sort_reverse=False
|
||||
map oa chain set sort=atime; set sort_reverse=False
|
||||
map ot chain set sort=type; set sort_reverse=False
|
||||
map oe chain set sort=extension; set sort_reverse=False
|
||||
map or set sort_reverse!
|
||||
map oz set sort=random
|
||||
map os chain set sort=size; set sort_reverse=False
|
||||
map ob chain set sort=basename; set sort_reverse=False
|
||||
map on chain set sort=natural; set sort_reverse=False
|
||||
map om chain set sort=mtime; set sort_reverse=False
|
||||
map oc chain set sort=ctime; set sort_reverse=False
|
||||
map oa chain set sort=atime; set sort_reverse=False
|
||||
map ot chain set sort=type; set sort_reverse=False
|
||||
map oe chain set sort=extension; set sort_reverse=False
|
||||
|
||||
map oS chain set sort=size; set sort_reverse=True
|
||||
map oB chain set sort=basename; set sort_reverse=True
|
||||
map oN chain set sort=natural; set sort_reverse=True
|
||||
map oM chain set sort=mtime; set sort_reverse=True
|
||||
map oC chain set sort=ctime; set sort_reverse=True
|
||||
map oA chain set sort=atime; set sort_reverse=True
|
||||
map oT chain set sort=type; set sort_reverse=True
|
||||
map oE chain set sort=extension; set sort_reverse=True
|
||||
map oS chain set sort=size; set sort_reverse=True
|
||||
map oB chain set sort=basename; set sort_reverse=True
|
||||
map oN chain set sort=natural; set sort_reverse=True
|
||||
map oM chain set sort=mtime; set sort_reverse=True
|
||||
map oC chain set sort=ctime; set sort_reverse=True
|
||||
map oA chain set sort=atime; set sort_reverse=True
|
||||
map oT chain set sort=type; set sort_reverse=True
|
||||
map oE chain set sort=extension; set sort_reverse=True
|
||||
|
||||
map dc get_cumulative_size
|
||||
map dc get_cumulative_size
|
||||
#+END_SRC
|
||||
|
||||
*** Settings
|
||||
#+BEGIN_SRC conf
|
||||
map zc set collapse_preview!
|
||||
map zd set sort_directories_first!
|
||||
map zh set show_hidden!
|
||||
map <C-h> set show_hidden!
|
||||
map zI set flushinput!
|
||||
map zi set preview_images!
|
||||
map zm set mouse_enabled!
|
||||
map zp set preview_files!
|
||||
map zP set preview_directories!
|
||||
map zs set sort_case_insensitive!
|
||||
map zu set autoupdate_cumulative_size!
|
||||
map zv set use_preview_script!
|
||||
map zf console filter%space
|
||||
map zc set collapse_preview!
|
||||
map zd set sort_directories_first!
|
||||
map zh set show_hidden!
|
||||
map <C-h> set show_hidden!
|
||||
map zI set flushinput!
|
||||
map zi set preview_images!
|
||||
map zm set mouse_enabled!
|
||||
map zp set preview_files!
|
||||
map zP set preview_directories!
|
||||
map zs set sort_case_insensitive!
|
||||
map zu set autoupdate_cumulative_size!
|
||||
map zv set use_preview_script!
|
||||
map zf console filter%space
|
||||
#+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
|
||||
|
||||
*** Custom Mapping
|
||||
#+BEGIN_SRC conf
|
||||
map <C-f> fzf_select
|
||||
map <C-f> fzf_select
|
||||
#+END_SRC
|
||||
|
||||
*** Generate all the chmod bindings with some python help:
|
||||
#+BEGIN_SRC conf
|
||||
eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +{0} shell -f chmod u+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map +{0} shell -f chmod u+{0} %s".format(arg))
|
||||
|
||||
eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -{0} shell -f chmod u-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg))
|
||||
eval for arg in "rwxXst": cmd("map -{0} shell -f chmod u-{0} %s".format(arg))
|
||||
#+END_SRC
|
||||
|
||||
** Define keys for the console
|
||||
|
@ -151,250 +151,6 @@
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
* Rofi Menu Config
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.config/rofimenu/rofimenu.config
|
||||
:header-args+: :comments none :mkdirp yes
|
||||
:END:
|
||||
|
||||
#+BEGIN_SRC conf
|
||||
#!/bin/bash
|
||||
|
||||
# =============================================================
|
||||
# Configuration file for rofimenu script
|
||||
#
|
||||
# Top level menu consists of modi names from modilist.
|
||||
# Modilist is a comma separated list of default modi (drun,run...) and/or custom modi.
|
||||
# Names of default modi can be set as rofi options (e.g. -display-drun Applications).
|
||||
# Custom modi format: "modi_name:modi_script".
|
||||
# Menu functions from this script can be used as modi like this "<menu_name>:$thisscript -menu <menu_function>"
|
||||
# =============================================================
|
||||
|
||||
# pause needed for smooth transition when menu command refers to other modi
|
||||
DELAY=0.06
|
||||
delay() {
|
||||
sleep $DELAY
|
||||
}
|
||||
|
||||
# define modi labels for menu
|
||||
|
||||
FAV=" Favourites"
|
||||
DRUN=" Applications"
|
||||
CAT=" Categories"
|
||||
RUN=" Run"
|
||||
MENU=" Edit Menu"
|
||||
EXIT=" Exit"
|
||||
|
||||
modilist="\
|
||||
$FAV:$thisscript -menu ${FAV#* },\
|
||||
drun,\
|
||||
$CAT:$thisscript -menu ${CAT#* },\
|
||||
run,\
|
||||
$MENU:$thisscript -menu Menu_settings,\
|
||||
$EXIT:$thisscript -menu ${EXIT#* }"
|
||||
|
||||
# Menu functions print lines in format "label:command".
|
||||
|
||||
Menu_settings() {
|
||||
echo " Edit config:$GUI_EDITOR $ROFIMENU_CONFIG && $thisscript -show \'$MENU\'"
|
||||
echo " Reset config:rm $ROFIMENU_CONFIG && delay; $thisscript -show \'$MENU\'"
|
||||
echo "──────────────:true"
|
||||
echo " Edit theme:$GUI_EDITOR $ROFIMENU_THEME && $thisscript -show \'$MENU\'"
|
||||
echo " Reset theme:rm $ROFIMENU_THEME && delay; $thisscript -show \'$MENU\'"
|
||||
}
|
||||
|
||||
Favourites() {
|
||||
echo " Terminal:default-terminal"
|
||||
echo " File Manager:xdg-open ~"
|
||||
echo " Browser:default-browser"
|
||||
echo " Settings:default-terminal -e bmenu"
|
||||
echo " Search:rofi-finder.sh"
|
||||
# echo "$EXIT: delay; delay; $thisscript -show \'$EXIT\'" # This refers to modi from the same script; needs delay
|
||||
}
|
||||
|
||||
Exit() {
|
||||
echo " lock:screenlock"
|
||||
echo " suspend:systemctl suspend"
|
||||
echo " hibernate:systemctl hibernate"
|
||||
echo " logout:xdotool key --clearmodifiers super+shift+q"
|
||||
echo " reboot:systemctl reboot"
|
||||
echo " poweroff:systemctl poweroff"
|
||||
}
|
||||
|
||||
Categories() {
|
||||
SUBMENU_MARK=""
|
||||
IFS='
|
||||
'
|
||||
# Newline separated list, each line has format "[symbol ][alias:]category"
|
||||
# Category with alias will be shown in menu under that alias
|
||||
# The first entry below is an alias for " " so it shows all applications
|
||||
desired="\
|
||||
Applications:
|
||||
Favorites
|
||||
Accessories:Utility
|
||||
Development
|
||||
Documentation
|
||||
Education
|
||||
Graphics
|
||||
Internet:Network
|
||||
Multimedia:AudioVideo
|
||||
Office
|
||||
Settings
|
||||
System"
|
||||
|
||||
# determine max line length and set tab position for subcategory mark
|
||||
maxlength=0
|
||||
for line in $desired ; do
|
||||
label="${line%:*}"
|
||||
if [ ${#label} -gt $maxlength ] ; then
|
||||
maxlength=${#label}
|
||||
fi
|
||||
done
|
||||
submenu_tab=$(($maxlength+3))
|
||||
|
||||
present="$(grep Categories /usr/share/applications/*.desktop \
|
||||
| cut -d'=' -f2 \
|
||||
| sed 's/;/\n/g' \
|
||||
| LC_COLLATE=POSIX sort --ignore-case --unique)"
|
||||
|
||||
linenumber=0
|
||||
for line in $desired ; do
|
||||
category="${line##*[ :]}"
|
||||
label="$(echo -e ${line%:*}\\t${SUBMENU_MARK} | expand -t $submenu_tab)" ## add submenu mark
|
||||
if [ $(echo "$present"|grep -w -c "$category") -gt 0 ] ; then
|
||||
echo "$label:activate_category \"$label\" \"$category\" $linenumber"
|
||||
linenumber=$(($linenumber+1))
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Desktop menu parameters
|
||||
|
||||
DT_MODI="Desktop:$thisscript -menu Desktop"
|
||||
|
||||
Desktop() {
|
||||
echo " Terminal:default-terminal"
|
||||
echo " File Manager:xdg-open ~"
|
||||
echo " Browser:default-browser"
|
||||
#TODO determine number of lines before categories
|
||||
addlinenumber=3
|
||||
eval $(xdotool search --class rofi getwindowgeometry --shell)
|
||||
Categories|sed "s/\$/ $addlinenumber $X $Y/" # pass additional lines number, X, Y
|
||||
echo " Search:rofi-finder.sh"
|
||||
}
|
||||
|
||||
DT_WIDTH=200 # pixels
|
||||
##TODO determine desktop menu line height according to theme
|
||||
DT_LINE_HEIGHT=23 # pixels
|
||||
|
||||
DT_THEME="
|
||||
*{
|
||||
lines: 20;
|
||||
scrollbar: false;
|
||||
dynamic: true;
|
||||
}
|
||||
#window {
|
||||
width: ${DT_WIDTH}px;
|
||||
children: [ dt-mainbox ];
|
||||
}
|
||||
#sidebar {
|
||||
enabled: false;
|
||||
}
|
||||
#button {
|
||||
width: ${DT_WIDTH}px;
|
||||
padding: 2px 1ch;
|
||||
}
|
||||
#inputbar {
|
||||
enabled: false;
|
||||
}"
|
||||
|
||||
activate_category() { # shows drun modi filtered with category. If no command selected, returns to categories modi
|
||||
label="${1% *}" # remove submenu mark
|
||||
category="$2"
|
||||
linenumber="$3"
|
||||
theme=""
|
||||
goback="$thisscript -show \"$CAT\""
|
||||
if [ $# -gt 3 ] ; then # that means categories for desktop menu, number of lines before categories, X, Y
|
||||
addlinenumber=$4
|
||||
X=$5
|
||||
Y=$6
|
||||
linenumber=$(($linenumber+$addlinenumber))
|
||||
if [ $linenumber -gt 0 ] ; then
|
||||
i=$linenumber
|
||||
dummy="true"
|
||||
dummyline="textboxdummy"
|
||||
while [ $i -gt 1 ] ; do
|
||||
dummyline="textboxdummy,$dummyline"
|
||||
i=$(($i-1))
|
||||
done
|
||||
else
|
||||
dummy="false"
|
||||
fi
|
||||
|
||||
# adjust X if too close to the right side of the screen
|
||||
MAX_X=$(wattr w $(lsw -r) )
|
||||
anchor="north"
|
||||
if [ $X -gt $((${MAX_X}-${DT_WIDTH}*2)) ] ; then
|
||||
anchor="${anchor}east"
|
||||
X=$MAX_X
|
||||
else
|
||||
anchor="${anchor}west"
|
||||
fi
|
||||
|
||||
theme="$DT_THEME
|
||||
* {
|
||||
x-offset: $X;
|
||||
y-offset: $Y;
|
||||
anchor: $anchor;
|
||||
}
|
||||
#window {
|
||||
width: $((${DT_WIDTH}*2));
|
||||
}
|
||||
#sidebar {
|
||||
enabled: true;
|
||||
}
|
||||
#boxdummy {
|
||||
enabled: $dummy;
|
||||
children: [ $dummyline ];
|
||||
}"
|
||||
goback="$thisscript -desktop $X $Y"
|
||||
fi
|
||||
command=$(delay; $thisscript \
|
||||
-only drun \
|
||||
-drun-match-fields categories,name \
|
||||
-display-drun "$label" \
|
||||
-filter "$category " \
|
||||
-run-command "echo {cmd}" \
|
||||
-run-shell-command "echo {terminal} -e {cmd}" \
|
||||
-theme-str "$theme")
|
||||
if [ -n "$command" ] ; then
|
||||
eval "$command" &
|
||||
exit
|
||||
fi
|
||||
# return to categories modi. No delay needed
|
||||
eval $goback &
|
||||
|
||||
if [ $linenumber -eq 0 ] ; then # if the category is on the top line
|
||||
exit
|
||||
fi
|
||||
|
||||
# move rofi selection down by linenumber
|
||||
keys=""
|
||||
while [ $linenumber -gt 0 ] ; do
|
||||
keys="$keys Tab"
|
||||
linenumber=$(($linenumber-1))
|
||||
done
|
||||
##TODO wait until rofi can take input
|
||||
delay
|
||||
delay
|
||||
xdotool search --class rofi key --delay 0 $keys
|
||||
}
|
||||
|
||||
## rofi theme file can be set here
|
||||
|
||||
# ROFIMENU_THEME="$HOME/.config/rofimenu/rofimenu.rasi"
|
||||
#+END_SRC
|
||||
|
||||
* Theme
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.config/rofimenu/rofimenu.rasi
|
||||
|
285
dotfiles/scripts.org
Normal file
285
dotfiles/scripts.org
Normal file
@ -0,0 +1,285 @@
|
||||
#+TITLE: Scripts
|
||||
|
||||
* Wallpapers
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/scripts/wallpapers.sh
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
#+begin_src bash
|
||||
while true; do
|
||||
nitrogen --set-zoom-fill --random ".wallpapers"
|
||||
sleep 10m
|
||||
done
|
||||
#+end_src
|
||||
|
||||
* TODO [#A] LockScreen
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/scripts/lockscreen.sh
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
- [ ] Does not work well with multiple screen
|
||||
|
||||
#+begin_src bash
|
||||
revert() {
|
||||
xset dpms 0 0 0
|
||||
}
|
||||
trap revert HUP INT TERM
|
||||
# turn off screen after 5 seconds
|
||||
xset +dpms dpms 5 5 5
|
||||
|
||||
# Parameters
|
||||
temp_file="/tmp/screen.png"
|
||||
icon="$HOME/Pictures/Evil_Rick_Sprite.png"
|
||||
width=1920
|
||||
height=1080
|
||||
blur_factor=6
|
||||
lock_blur_factor=0
|
||||
|
||||
# Take the screen shot, blur the image and add the icon
|
||||
ffmpeg -f x11grab -video_size "${width}x${height}" -y -i $DISPLAY -i $icon -filter_complex "boxblur=$blur_factor:$blur_factor,overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2,boxblur=$lock_blur_factor:$lock_blur_factor" -vframes 1 $temp_file
|
||||
|
||||
# Alternative
|
||||
# scrot -d 1 $temp_file
|
||||
# convert -blur 0x8 $temp_file $temp_file
|
||||
# convert -composite $temp_file $icon -gravity South -geometry -20x1200 $temp_file
|
||||
|
||||
# Lock the screen with the image
|
||||
i3lock --no-unlock-indicator --ignore-empty-password --show-failed-attempts --nofork --image=$temp_file
|
||||
|
||||
# Remove the screenshot
|
||||
rm $temp_file
|
||||
|
||||
# Don't turn off screen when back from lock
|
||||
revert
|
||||
#+end_src
|
||||
|
||||
* Delete first page of PDF
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/scripts/pdf-delete-first-page.sh
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
The requirement is to have =pdftk= installed.
|
||||
|
||||
#+begin_src bash
|
||||
if [[ -f $1 && $1 == *.pdf ]]; then
|
||||
# Argument if a file
|
||||
pdftk "$1" cat 2-end output /tmp/pdftk_out.pdf && mv /tmp/pdftk_out.pdf "$1"
|
||||
fi
|
||||
#+end_src
|
||||
|
||||
* Take Screenshot
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/scripts/screenshot.sh
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
|
||||
#+begin_src bash
|
||||
status=$(echo -e "All\nSelection\nCopy\nShadow\nActive" | rofi -i -dmenu)
|
||||
|
||||
name=$(echo -e "screenshot-$(date +"%m-%d-%y_%H-%M-%S")" | rofi -i -dmenu)
|
||||
|
||||
case "$status" in
|
||||
"All")
|
||||
maim ~/Pictures/$name.png ;;
|
||||
"Selection")
|
||||
maim -s ~/Pictures/$name.png ;;
|
||||
"Copy")
|
||||
maim -s | xclip -selection clipboard -t image/png ;;
|
||||
"Shadow")
|
||||
maim -st 9999999 | convert - \( +clone -background black -shadow 80x3+5+5 \) +swap -background none -layers merge +repage ~/Pictures/$name.png ;;
|
||||
"Active")
|
||||
maim -i $(xdotool getactivewindow) ~/Pictures/$name.png ;;
|
||||
esac
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
* Lock / Exit / Suspend / ...
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/scripts/quit.sh
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
|
||||
#+begin_src bash
|
||||
option=$(echo -e "Lock\nExit\nLogout\nSuspend\nHibernate\nReboot\nShutdown" | rofi -i -dmenu)
|
||||
|
||||
case "$option" in
|
||||
"Lock")
|
||||
i3exit lock ;;
|
||||
"Exit")
|
||||
i3exit switch_user ;;
|
||||
"Logout")
|
||||
i3exit logout ;;
|
||||
"Suspend")
|
||||
i3exit suspend ;;
|
||||
"Hibernate")
|
||||
i3exit hibernate ;;
|
||||
"Reboot")
|
||||
i3exit reboot ;;
|
||||
"Shutdown")
|
||||
i3exit shutdown ;;
|
||||
esac
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
* TODO [#C] Copy Figures
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/scripts/cp-figs.sh
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
|
||||
Things to do:
|
||||
- [ ] Display all the figures at once and ask for confirmation to copy them all
|
||||
- [ ] Display the not found figures
|
||||
|
||||
#+begin_src bash :results output
|
||||
latexpath="$HOME/MEGA/These/LaTeX/ressources/Figures";
|
||||
|
||||
figures=`awk 'match($0, /(fig.*\.(png|svg|pdf))/, a) {print a[1];}' $1 \
|
||||
| awk '{ print gensub(/\s*\]\]\s*\|\s*\[\[\s*\.?\/?/, "\n", "g") }'`;
|
||||
|
||||
for figure in $figures
|
||||
do
|
||||
figurename=`echo $figure | awk 'match($0, /(fig.*\/)(.*\.(png|svg|pdf))/, a) {print a[2];}'`;
|
||||
if [ -f $latexpath/$figurename ]
|
||||
then
|
||||
figurepath=`echo $figure | awk 'match($0, /(fig.*)\/(.*\.(png|svg|pdf))/, a) {print a[1];}'`;
|
||||
|
||||
# echo $latexpath/$figurename
|
||||
# echo $figurepath/$figurename
|
||||
cp $latexpath/$figurename $figurepath/$figurename
|
||||
|
||||
# read -r -p "Are You Sure? [Y/n] " input
|
||||
|
||||
# case $input in
|
||||
# [yY][eE][sS]|[yY])
|
||||
# cp $latexpath/$figurename $figurepath/$figurename
|
||||
# ;;
|
||||
# [nN][oO]|[nN])
|
||||
# exit 1
|
||||
# ;;
|
||||
# *)
|
||||
# echo "Invalid input..."
|
||||
# exit 1
|
||||
# ;;
|
||||
# esac
|
||||
fi
|
||||
done
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
#+begin_example
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/classical_feedback_alt.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/classical_feedback_2dof_alt.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/classical_feedback_sep.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/classical_feedback_bis.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/general_control_names.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/general_plant_weights.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/general_control_Mdelta.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/classical_feedback_stability.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/classical_feedback_meas.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/input_output_uncertainty.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/input_uncertainty_set.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/input_uncertainty_set_feedback.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/inverse_uncertainty_set.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/general_control_delta.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/general_control_Ndelta.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/general_control_Mdelta.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/additive_uncertainty.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/input_uncertainty.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/output_uncertainty.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/inv_additive_uncertainty.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/inv_input_uncertainty.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/inv_output_uncertainty.pdf
|
||||
/home/tdehaeze/MEGA/These/LaTeX/ressources/Figures/input_uncertainty_set_feedback_weight.pdf
|
||||
#+end_example
|
||||
* NAS
|
||||
** Mount
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/scripts/nas.sh
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
#+begin_src bash
|
||||
if [ $1 == "mount" ]; then
|
||||
if sudo -A mount 192.168.1.2:/volume1/Downloads/ /mnt/NAS/; then
|
||||
dunstify --replace=58249 'NAS' 'Successfully mounted'
|
||||
else
|
||||
dunstify --replace=58249 'NAS' 'Error while mounted'
|
||||
fi
|
||||
elif [ $1 == "umount" ]; then
|
||||
if sudo -A umount /mnt/NAS/; then
|
||||
dunstify --replace=58249 'NAS' 'Successfully unmounted'
|
||||
else
|
||||
dunstify --replace=58249 'NAS' 'Error while unmounted'
|
||||
fi
|
||||
fi
|
||||
#+end_src
|
||||
* Buku Git Push
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/scripts/buku_git_push.sh
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
#+begin_src bash
|
||||
cd ~/.local/share/buku/
|
||||
|
||||
if [[ ! -z $(git status -s bookmarks.db) ]]
|
||||
then
|
||||
git add bookmarks.db
|
||||
git commit -m "Changed bookmarks - $(date +%F)"
|
||||
git push
|
||||
dunstify --replace=79248 "Buku Git" "Updated"
|
||||
exit
|
||||
fi
|
||||
#+end_src
|
||||
* Icons Unicode
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/scripts/icons.sh
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
#+begin_src bash
|
||||
command -v xclip >/dev/null 2>&1 || { echo >&2 "I require xclip but it's not installed. Aborting."; exit 1; }
|
||||
|
||||
chosen=$(grep -v "#" ~/.config/emoji | dmenu -i -l 20)
|
||||
|
||||
[ "$chosen" != "" ] || exit
|
||||
|
||||
c=$(echo "$chosen" | sed "s/ .*//")
|
||||
echo "$c" | tr -d '\n' | xclip -selection clipboard
|
||||
dunstify --replace=05896 "'$c' copied to clipboard." &
|
||||
#+end_src
|
||||
|
||||
* Make GIF
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/scripts/gifenc.sh
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
http://blog.pkh.me/p/21-high-quality-gif-with-ffmpeg.html
|
||||
|
||||
#+begin_src bash
|
||||
palette="/tmp/palette.png"
|
||||
|
||||
filters="fps=15,scale=320:-1:flags=lanczos"
|
||||
|
||||
ffmpeg -v warning -i $1 -vf "$filters,palettegen" -y $palette
|
||||
ffmpeg -v warning -i $1 -i $palette -lavfi "$filters [x]; [x][1:v] paletteuse" -y $2
|
||||
#+end_src
|
||||
* Org-Capture
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/scripts/org-capture-selection.sh
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||
:END:
|
||||
|
||||
#+begin_src bash
|
||||
xclip -o -selection primary | xclip -o -selection clipboard -i
|
||||
emacsclient -ne '(org-capture "" "Q")' && dunstify "Emacs" "Text Successfully Captured"
|
||||
#+end_src
|
@ -146,7 +146,7 @@
|
||||
# =============================================================
|
||||
# Notification
|
||||
if [ "$new" -gt 0 ]; then
|
||||
notify-send 'New mail' " $esrf_new $gmail_new $ulg_new"
|
||||
dunstify --replace=98465 'New mail' " $esrf_new $gmail_new $ulg_new"
|
||||
fi
|
||||
# =============================================================
|
||||
|
||||
@ -155,9 +155,9 @@
|
||||
# notmuch new
|
||||
# mu index --maildir=~/.mail --quiet
|
||||
# Update on Emacs
|
||||
if [ "$(($new-$old))" -gt 0 ]; then
|
||||
emacsclient --eval '(mu4e-update-index)';
|
||||
fi
|
||||
# if [ "$(($new-$old))" -gt 0 ]; then
|
||||
# emacsclient --eval '(mu4e-update-index)';
|
||||
# fi
|
||||
# =============================================================
|
||||
#+end_src
|
||||
|
||||
@ -218,8 +218,8 @@
|
||||
Documentation=info:emacs man:emacs(1) https://gnu.org/software/emacs/
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/emacs --fg-daemon
|
||||
Type=forking
|
||||
ExecStart=/usr/bin/emacs --daemon
|
||||
ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
|
||||
Environment=SSH_AUTH_SOCK=%t/keyring/ssh
|
||||
Restart=on-failure
|
||||
@ -263,6 +263,7 @@
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
#+end_src
|
||||
|
||||
* Weechat
|
||||
** Service
|
||||
:PROPERTIES:
|
||||
@ -322,3 +323,44 @@
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
#+end_src
|
||||
* NCMPCPP
|
||||
** Service
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.config/systemd/user/ncmpcpp.service
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:END:
|
||||
#+begin_src conf
|
||||
[Unit]
|
||||
Description=Ncmpcpp - Music Player
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=/usr/bin/tmux -L ncmpcpp new -d -s ncmpcpp ncmpcpp
|
||||
ExecStop=/usr/bin/tmux -L ncmpcpp kill-session -t ncmpcpp
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
#+end_src
|
||||
|
||||
* Newsboat
|
||||
** Service - tmux
|
||||
:PROPERTIES:
|
||||
:header-args: :tangle ~/.config/systemd/user/newsboat.service
|
||||
:header-args+: :comments both :mkdirp yes
|
||||
:END:
|
||||
#+begin_src conf
|
||||
[Unit]
|
||||
Description=Newsboat - RSS reader
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=/usr/bin/tmux -L newsboat new -d -s newsboat newsboat
|
||||
ExecStop=/usr/bin/tmux -L newsboat kill-session -t newsboat
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
#+end_src
|
||||
|
@ -57,18 +57,24 @@
|
||||
# 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 = rgba(50, 48, 47)
|
||||
background = #32302f
|
||||
|
||||
# 16 color space
|
||||
|
||||
# Black, Gray, Silver, White
|
||||
# bg0_s
|
||||
color0 = #32302f
|
||||
# bg3
|
||||
color8 = #665c54
|
||||
# fb2
|
||||
color7 = #d5c4a1
|
||||
# fg0
|
||||
color15 = #fbf1c7
|
||||
|
||||
# Red
|
||||
@ -96,10 +102,16 @@
|
||||
color14 = #8ec07c
|
||||
|
||||
# Extra colors
|
||||
# orange
|
||||
color16 = #fe8019
|
||||
# orange
|
||||
color17 = #d65d0e
|
||||
# bg1
|
||||
color18 = #3c3836
|
||||
# bg2
|
||||
color19 = #504945
|
||||
# fg3
|
||||
color20 = #bdae93
|
||||
# fg
|
||||
color21 = #ebdbb2
|
||||
#+END_SRC
|
||||
|
@ -3,116 +3,56 @@
|
||||
#+PROPERTY: header-args+ :comments both :mkdirp yes
|
||||
|
||||
* Line
|
||||
** Define colors
|
||||
#+BEGIN_SRC conf
|
||||
t_red="#ef5253" # red
|
||||
t_red_light="#eb9798" # light red
|
||||
t_red_dark="#c22627" # dark red
|
||||
#+begin_src conf
|
||||
# Activate the status bar
|
||||
set -g status "on"
|
||||
|
||||
t_blue="#579cde" # blue
|
||||
# default statusbar color
|
||||
set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1
|
||||
|
||||
t_orange="#de9a57"
|
||||
t_green="#57de9a"
|
||||
# default window title colors
|
||||
set-window-option -g window-status-style bg=colour214,fg=colour237 # bg=yellow, fg=bg1
|
||||
|
||||
t_grey_dark="#393939" # dark grey
|
||||
t_grey_light="#d9d9d9" # light grey
|
||||
t_grey="#ababab" # grey
|
||||
# default window with an activity alert
|
||||
set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3
|
||||
|
||||
t_1l_bg="#ef5253" # red
|
||||
t_1l_fg="#393939" # dark grey
|
||||
t_2l_bg="#4e4e4e" # dark grey
|
||||
t_2l_fg="#e8e8e8" # grey
|
||||
t_3l_bg="#ababab" # grey
|
||||
t_3l_fg="#393939" # dark grey
|
||||
t_4l_bg="#579cde" # blue
|
||||
t_4l_fg="#393939" # dark grey
|
||||
# active window title colors
|
||||
set-window-option -g window-status-current-style bg=red,fg=colour237 # fg=bg1
|
||||
|
||||
t_1r_bg="#909090"
|
||||
t_1r_fg="#393939"
|
||||
t_2r_bg="#4e4e4e"
|
||||
t_2r_fg="#a0a0a0"
|
||||
t_3r_bg="#ababab" # grey
|
||||
t_3r_fg="#393939" # dark grey
|
||||
# pane border
|
||||
set-option -g pane-active-border-style fg=colour250 #fg2
|
||||
set-option -g pane-border-style fg=colour237 #bg1
|
||||
|
||||
t_line_bg="#18262f" # dark blue
|
||||
t_line_fg="#393939" # dark grey
|
||||
# message infos
|
||||
set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1
|
||||
|
||||
t_win_bg="#18262f" # dark blue
|
||||
t_win_fg="#d9d9d9" # light grey
|
||||
# writing commands inactive
|
||||
set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1
|
||||
|
||||
t_win_bg_active="#ef5253" # red
|
||||
t_win_fg_active="#393939" # dark grey
|
||||
# pane number display
|
||||
set-option -g display-panes-active-colour colour250 #fg2
|
||||
set-option -g display-panes-colour colour237 #bg1
|
||||
|
||||
t_text_fg="#d9d9d9" # light grey
|
||||
t_text_bg="#393939" # dark grey
|
||||
#+END_SRC
|
||||
# clock
|
||||
set-window-option -g clock-mode-colour colour109 #blue
|
||||
|
||||
** General config
|
||||
#+BEGIN_SRC conf
|
||||
set -g status "on" # Activate the status bar
|
||||
set -g status-attr "none"
|
||||
set -g status-interval "2" # update status every x seconds
|
||||
# bell
|
||||
set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg
|
||||
|
||||
set -g status-justify "centre" # center the list of windows
|
||||
## 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 -g status-bg "$t_line_bg"
|
||||
set -g status-fg "$t_line_fg"
|
||||
#+END_SRC
|
||||
|
||||
** Contents of right and light status
|
||||
#+BEGIN_SRC conf
|
||||
t_1_l="#S"
|
||||
t_2_l="%H:%M"
|
||||
# t_3_l="#($HOME/.config/.tmux/bin/tmux_left_status)"
|
||||
t_4_l="C"
|
||||
t_1_r="%d/%m"
|
||||
# t_2_r="#($HOME/.config/.tmux/bin/tmux_right_status)"
|
||||
# t_3_r=""
|
||||
#+END_SRC
|
||||
|
||||
** Status left and right
|
||||
#+BEGIN_SRC conf
|
||||
set -g status-left "#[fg=$t_1l_fg,bg=$t_1l_bg] $t_1_l #[fg=$t_1l_bg,bg=$t_2l_bg]#[fg=$t_2l_fg,bg=$t_2l_bg] $t_2_l #{?client_prefix,#[fg=$t_2l_bg]#[bg=$t_4l_bg]#[fg=$t_4l_fg]#[bg=$t_4l_bg] $t_4_l #[fg=$t_4l_bg]#[bg=$t_line_bg],#[fg=$t_2l_bg]#[bg=$t_line_bg]}"
|
||||
# set -g status-left "#[fg=$t_1l_fg,bg=$t_1l_bg] $t_1_l #[fg=$t_1l_bg,bg=$t_2l_bg]#[fg=$t_2l_fg,bg=$t_2l_bg] $t_2_l #[fg=$t_2l_bg,bg=$t_3l_bg]#[fg=$t_2l_bg, bg=$t_3l_bg]$t_3_l#{?client_prefix,#[fg=$t_3l_bg]#[bg=$t_4l_bg]#[fg=$t_4l_fg]#[bg=$t_4l_bg] $t_4_l #[fg=$t_4l_bg]#[bg=$t_line_bg],#[fg=$t_3l_bg]#[bg=$t_line_bg]}"
|
||||
set -g status-left-length "90"
|
||||
set -g status-left-attr "none"
|
||||
|
||||
set -g status-right "#[fg=$t_1r_bg]#[fg=$t_1r_fg,bg=$t_1r_bg] $t_1_r "
|
||||
# set -g status-right "#[fg=$t_3r_bg,bg=$t_line_bg]#[fg=$t_3r_fg, bg=$t_3r_bg] $t_3_r #[fg=$t_2r_bg,bg=$t_3r_bg]#[fg=$t_2r_fg,bg=$t_2r_bg] $t_2_r #[fg=$t_1r_bg,bg=$t_2r_bg]#[fg=$t_1r_fg,bg=$t_1r_bg] $t_1_r "
|
||||
set -g status-right-length "90"
|
||||
set -g status-right-attr "none"
|
||||
#+END_SRC
|
||||
|
||||
** Message and commands
|
||||
#+BEGIN_SRC conf
|
||||
set -g message-fg "$t_text_fg"
|
||||
set -g message-bg "$t_text_bg"
|
||||
|
||||
set -g message-command-fg "$t_text_fg"
|
||||
set -g message-command-bg "$t_text_bg"
|
||||
#+END_SRC
|
||||
|
||||
** Panes
|
||||
#+BEGIN_SRC conf
|
||||
set -g pane-border-fg "$t_grey_dark" # Color of the separation between panes
|
||||
set -g pane-active-border-fg "$t_red_light" # Color of the active separation
|
||||
#+END_SRC
|
||||
|
||||
** Windows
|
||||
#+BEGIN_SRC conf
|
||||
setw -g window-status-fg "$t_red"
|
||||
setw -g window-status-bg "$t_grey_light"
|
||||
setw -g window-status-attr "none"
|
||||
|
||||
setw -g window-status-activity-fg "$t_grey_dark"
|
||||
setw -g window-status-activity-bg "$t_red"
|
||||
setw -g window-status-activity-attr "bold"
|
||||
|
||||
setw -g window-status-separator " "
|
||||
setw -g window-status-format "#[fg=$t_win_fg,bg=$t_win_bg] #I | #W "
|
||||
setw -g window-status-current-format "#[fg=$t_win_bg_active,bg=$t_line_bg]#[fg=$t_win_fg_active,bg=$t_win_bg_active] #I | #W #[fg=$t_win_bg_active,bg=$t_line_bg]"
|
||||
#+END_SRC
|
||||
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=colour214],}#[fg=colour237, bg=colour248]#{?client_prefix,#[bg=colour214],} #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]"
|
||||
#+end_src
|
||||
* Bindings
|
||||
#+BEGIN_SRC conf
|
||||
# Set prefix to 'C-Space'
|
||||
@ -256,6 +196,9 @@
|
||||
|
||||
# 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
|
||||
#+END_SRC
|
||||
|
||||
* Plugins
|
||||
|
124
dotfiles/vim.org
124
dotfiles/vim.org
@ -1,7 +1,9 @@
|
||||
#+TITLE: Vim Config
|
||||
:DRAWER:
|
||||
#+PROPERTY: header-args+ :comments none
|
||||
#+PROPERTY: header-args+ :mkdirp yes
|
||||
#+PROPERTY: header-args+ :tangle ~/.vimrc
|
||||
:END:
|
||||
|
||||
* Plugins Install
|
||||
** Plug start
|
||||
@ -27,7 +29,7 @@
|
||||
|
||||
** Git
|
||||
#+BEGIN_SRC conf
|
||||
" Plug 'jreybert/vimagit'
|
||||
Plug 'jreybert/vimagit'
|
||||
Plug 'tpope/vim-fugitive' " A Git wrapper so awesome, it should be illegal
|
||||
Plug 'junegunn/gv.vim' " A git commit browser
|
||||
Plug 'mhinz/vim-signify' " Show a diff using Vim its sign column
|
||||
@ -260,6 +262,9 @@ set relativenumber
|
||||
" Smarter J and K navigation
|
||||
nnoremap <expr> j v:count ? (v:count > 5 ? "m'" . v:count : '') . 'j' : 'gj'
|
||||
nnoremap <expr> k v:count ? (v:count > 5 ? "m'" . v:count : '') . 'k' : 'gk'
|
||||
|
||||
" Splits open at the bottom and right, which is non-retarded, unlike vim defaults.
|
||||
set splitbelow splitright
|
||||
#+END_SRC
|
||||
|
||||
** Foldings
|
||||
@ -275,13 +280,14 @@ endif
|
||||
|
||||
** Colors and Fonts
|
||||
#+BEGIN_SRC conf
|
||||
" Theme
|
||||
syntax enable
|
||||
|
||||
set background=dark
|
||||
|
||||
let base16colorspace=256
|
||||
|
||||
let g:gruvbox_contrast_dark = 'soft'
|
||||
|
||||
try
|
||||
colorscheme gruvbox
|
||||
catch
|
||||
@ -444,23 +450,23 @@ endtry
|
||||
* Mappings
|
||||
** Normal mode related
|
||||
#+BEGIN_SRC conf
|
||||
" Smart way to move between windows
|
||||
noremap <C-j> <C-W>j
|
||||
noremap <C-k> <C-W>k
|
||||
noremap <C-h> <C-W>h
|
||||
noremap <C-l> <C-W>l
|
||||
" Smart way to move between windows
|
||||
noremap <C-j> <C-W>j
|
||||
noremap <C-k> <C-W>k
|
||||
noremap <C-h> <C-W>h
|
||||
noremap <C-l> <C-W>l
|
||||
#+END_SRC
|
||||
|
||||
** Insert mode related
|
||||
#+BEGIN_SRC conf
|
||||
" Paste while in insert mode
|
||||
inoremap <C-v> <C-r>*
|
||||
" Paste while in insert mode
|
||||
inoremap <C-v> <C-r>*
|
||||
|
||||
" Go to the end of line
|
||||
inoremap <C-e> <Esc>A
|
||||
" Go to the end of line
|
||||
inoremap <C-e> <Esc>A
|
||||
|
||||
" Go to the beginning of line
|
||||
inoremap <C-a> <Esc>I
|
||||
" Go to the beginning of line
|
||||
inoremap <C-a> <Esc>I
|
||||
#+END_SRC
|
||||
|
||||
** Visual mode related
|
||||
@ -508,6 +514,18 @@ tnoremap <C-w>k <C-\><C-n><C-w>k
|
||||
tnoremap <C-w>l <C-\><C-n><C-w>l
|
||||
#+END_SRC
|
||||
|
||||
** Correct misspelled works
|
||||
Taken from: https://vi.stackexchange.com/questions/68/autocorrect-spelling-mistakes
|
||||
#+BEGIN_SRC conf
|
||||
" Go back to last misspelled word and pick first suggestion.
|
||||
inoremap <C-L> <C-G>u<Esc>[s1z=`]a<C-G>u
|
||||
|
||||
" Select last misspelled word (typing will edit).
|
||||
nnoremap <C-K> <Esc>[sve<C-G>
|
||||
inoremap <C-K> <Esc>[sve<C-G>
|
||||
snoremap <C-K> <Esc>b[sviw<C-G>
|
||||
#+END_SRC
|
||||
|
||||
* Filetypes
|
||||
** Vim Which Key
|
||||
#+BEGIN_SRC conf
|
||||
@ -516,6 +534,10 @@ nnoremap <silent> <localleader> :<c-u>WhichKey ','<CR>
|
||||
let g:which_key_map_local = {}
|
||||
#+END_SRC
|
||||
|
||||
** Mails
|
||||
#+begin_src conf
|
||||
autocmd FileType mail set spell spelllang=en_us,fr
|
||||
#+end_src
|
||||
** MarkDown
|
||||
#+BEGIN_SRC conf
|
||||
" Automatically turn on spell-checking for Markdown files
|
||||
@ -777,7 +799,7 @@ let g:indentLine_color_term = 239
|
||||
let g:webdevicons_enable_ctrlp = 1
|
||||
#+END_SRC
|
||||
|
||||
** TODO [#B] junegunn/goyo.vim
|
||||
** junegunn/goyo.vim
|
||||
#+BEGIN_SRC conf
|
||||
let g:goyo_width=100
|
||||
let g:goyo_margin_top = 2
|
||||
@ -834,65 +856,65 @@ let g:tex_conceal = ""
|
||||
|
||||
** Neomake
|
||||
#+BEGIN_SRC conf
|
||||
" Latex
|
||||
autocmd! BufWritePost *.tex Neomake
|
||||
let g:neomake_tex_chktex_maker = {
|
||||
\ 'exe': 'chktex',
|
||||
\ 'args': ['--inputfiles'],
|
||||
\ 'errorformat':
|
||||
\ '%EError %n in %f line %l: %m,' .
|
||||
\ '%WWarning %n in %f line %l: %m,' .
|
||||
\ '%WMessage %n in %f line %l: %m,' .
|
||||
\ '%Z%p^,' .
|
||||
\ '%-G%.%#'
|
||||
\ }
|
||||
" Latex
|
||||
autocmd! BufWritePost *.tex Neomake
|
||||
let g:neomake_tex_chktex_maker = {
|
||||
\ 'exe': 'chktex',
|
||||
\ 'args': ['--inputfiles'],
|
||||
\ 'errorformat':
|
||||
\ '%EError %n in %f line %l: %m,' .
|
||||
\ '%WWarning %n in %f line %l: %m,' .
|
||||
\ '%WMessage %n in %f line %l: %m,' .
|
||||
\ '%Z%p^,' .
|
||||
\ '%-G%.%#'
|
||||
\ }
|
||||
|
||||
let g:neomake_tex_enabled_makers = ['chktex']
|
||||
let g:neomake_tex_enabled_makers = ['chktex']
|
||||
|
||||
" Matlab
|
||||
autocmd! BufWritePost *.m Neomake
|
||||
let g:neomake_matlab_mlint_maker = {
|
||||
\ 'exe': 'mlint',
|
||||
\ 'mapexpr': "neomake_bufname.':'.v:val",
|
||||
\ 'errorformat':
|
||||
\ '%f:L %l (C %c): %m,' .
|
||||
\ '%f:L %l (C %c-%*[0-9]): %m,',
|
||||
\ }
|
||||
let g:neomake_matlab_enabled_makers = ['mlint']
|
||||
" Matlab
|
||||
autocmd! BufWritePost *.m Neomake
|
||||
let g:neomake_matlab_mlint_maker = {
|
||||
\ 'exe': 'mlint',
|
||||
\ 'mapexpr': "neomake_bufname.':'.v:val",
|
||||
\ 'errorformat':
|
||||
\ '%f:L %l (C %c): %m,' .
|
||||
\ '%f:L %l (C %c-%*[0-9]): %m,',
|
||||
\ }
|
||||
let g:neomake_matlab_enabled_makers = ['mlint']
|
||||
#+END_SRC
|
||||
|
||||
** lervag/vimtex
|
||||
#+BEGIN_SRC conf
|
||||
" let g:tex_conceal=""
|
||||
" autocmd FileType tex let b:vimtex_main = 'main.tex'
|
||||
" let g:vimtex_mappings_enabled=0
|
||||
" let g:tex_conceal=""
|
||||
" autocmd FileType tex let b:vimtex_main = 'main.tex'
|
||||
" let g:vimtex_mappings_enabled=0
|
||||
#+END_SRC
|
||||
|
||||
** jpalardy/vim-slime
|
||||
#+BEGIN_SRC conf
|
||||
if exists('$TMUX')
|
||||
let g:slime_target = "tmux"
|
||||
let g:slime_default_config = {"socket_name": split($TMUX, ",")[0], "target_pane": ":.2"}
|
||||
let g:slime_dont_ask_default = 1
|
||||
endif
|
||||
if exists('$TMUX')
|
||||
let g:slime_target = "tmux"
|
||||
let g:slime_default_config = {"socket_name": split($TMUX, ",")[0], "target_pane": ":.2"}
|
||||
let g:slime_dont_ask_default = 1
|
||||
endif
|
||||
#+END_SRC
|
||||
|
||||
** mhinz/vim-grepper
|
||||
#+BEGIN_SRC conf
|
||||
" nnoremap <leader>G :Grepper -tool ag<cr>
|
||||
" nmap gs <plug>(GrepperOperator)
|
||||
" xmap gs <plug>(GrepperOperator)
|
||||
" nnoremap <leader>G :Grepper -tool ag<cr>
|
||||
" nmap gs <plug>(GrepperOperator)
|
||||
" xmap gs <plug>(GrepperOperator)
|
||||
#+END_SRC
|
||||
|
||||
** Editor config
|
||||
#+BEGIN_SRC conf
|
||||
" To ensure that this plugin works well with Tim Pope's fugitive, use the following patterns array:
|
||||
let g:EditorConfig_exclude_patterns = ['fugitive://.*']
|
||||
" To ensure that this plugin works well with Tim Pope's fugitive, use the following patterns array:
|
||||
let g:EditorConfig_exclude_patterns = ['fugitive://.*']
|
||||
#+END_SRC
|
||||
|
||||
** Polyglot
|
||||
#+BEGIN_SRC conf
|
||||
let g:polyglot_disabled = ['latex']
|
||||
let g:polyglot_disabled = ['latex']
|
||||
#+END_SRC
|
||||
|
||||
* Bindings
|
||||
|
28
dotfiles/zsh.org
Normal file
28
dotfiles/zsh.org
Normal file
@ -0,0 +1,28 @@
|
||||
#+TITLE: ZSH Config
|
||||
:DRAWER:
|
||||
#+PROPERTY: header-args:conf+ :comments both
|
||||
#+PROPERTY: header-args:conf+ :mkdirp yes
|
||||
#+PROPERTY: header-args:conf+ :tangle ~/.zshrc
|
||||
:END:
|
||||
|
||||
https://github.com/unixorn/awesome-zsh-plugins
|
||||
|
||||
* Zplug
|
||||
https://github.com/zplug/zplug
|
||||
#+begin_src conf
|
||||
source ~/.zplug/init.zsh
|
||||
|
||||
zplug mafredri/zsh-async, from:github
|
||||
zplug sindresorhus/pure, use:pure.zsh, from:github, as:theme
|
||||
|
||||
# Install plugins if there are plugins that have not been installed
|
||||
if ! zplug check --verbose; then
|
||||
printf "Install? [y/N]: "
|
||||
if read -q; then
|
||||
echo; zplug install
|
||||
fi
|
||||
fi
|
||||
|
||||
# Then, source plugins and add commands to $PATH
|
||||
zplug load --verbose
|
||||
#+end_src
|
199
readme.org
199
readme.org
@ -15,6 +15,7 @@
|
||||
- https://github.com/wincent/wincent
|
||||
- https://github.com/korolr/dotfiles
|
||||
- https://github.com/Shougo/shougo-s-github
|
||||
- https://github.com/addy-dclxvi/almighty-dotfiles
|
||||
|
||||
** Linux Softwares
|
||||
- [[https://github.com/k4m4/terminals-are-sexy][terminalare.sexy]]
|
||||
@ -208,6 +209,11 @@ Maybe use:
|
||||
|-----------+--------------------------|
|
||||
| =fc-list= | List all fonts available |
|
||||
|
||||
** Select font
|
||||
#+begin_src bash
|
||||
yay -S gtk2fontsel
|
||||
#+end_src
|
||||
|
||||
* Text Editors
|
||||
** Neovim
|
||||
https://github.com/neovim/neovim
|
||||
@ -657,6 +663,18 @@ The configuration is set in =/.config/mpv/input.conf=.
|
||||
| Command | Usage |
|
||||
|---------+-------|
|
||||
|
||||
** Chromecast with castnow
|
||||
|
||||
*** Installation
|
||||
#+begin_src bash
|
||||
yay -Ss castnow-git
|
||||
#+end_src
|
||||
|
||||
The configuration is =~/.castnowrc=.
|
||||
|
||||
*** TODO Configuration with Tmux/i3/polybar
|
||||
Make nice shortcuts or polybar element for that
|
||||
|
||||
** TODO Chromecast with CATT
|
||||
https://github.com/skorokithakis/catt
|
||||
|
||||
@ -892,6 +910,8 @@ If you don't want to store your API token in plaintext you can use the secure fe
|
||||
/set plugins.var.python.slack.slack_api_token ${sec.data.slack_token}
|
||||
#+end_src
|
||||
|
||||
*** Aspell
|
||||
https://blog.qoba.lt/using_aspell_in_weechat.html
|
||||
*** Notifications
|
||||
https://github.com/s3rvac/weechat-notify-send
|
||||
|
||||
@ -1046,7 +1066,7 @@ https://gist.github.com/guiniol/5109c5bd953af950e0530b720507d704
|
||||
A script (=~/scripts/checkmail.sh=) is used to retreive new mails and use =notify=send= is there are new received mails.
|
||||
|
||||
* TODO [#A] File Manager
|
||||
** TODO [#A] Ranger
|
||||
** TODO [#B] Ranger
|
||||
https://github.com/ranger/ranger
|
||||
*** Installation
|
||||
#+BEGIN_SRC bash
|
||||
@ -1069,7 +1089,7 @@ It works better with Urxvt.
|
||||
| =X= | Extract archive |
|
||||
| =Z= | Compress file or folder |
|
||||
|
||||
** TODO nnn
|
||||
** TODO [#A] nnn
|
||||
https://github.com/jarun/nnn
|
||||
https://www.youtube.com/watch?v=U2n5aGqou9E
|
||||
|
||||
@ -1103,26 +1123,30 @@ yay -S feh
|
||||
| =bspc= | previous image |
|
||||
| =w= | Fit image |
|
||||
|
||||
** TODO Vimiv
|
||||
https://github.com/karlch/vimiv
|
||||
*** Installation
|
||||
#+BEGIN_SRC bash
|
||||
yay -S vimiv
|
||||
#+END_SRC
|
||||
|
||||
*** TODO Cheatsheet
|
||||
http://karlch.github.io/vimiv/docs/keybindings_commands#keybinding-cheatsheet
|
||||
| Command | Usage |
|
||||
|---------+-------|
|
||||
|
||||
** TODO sxiv
|
||||
** sxiv
|
||||
https://github.com/muennich/sxiv
|
||||
https://www.youtube.com/watch?v=GYW9i_u5PYs
|
||||
|
||||
*** Installation
|
||||
#+BEGIN_SRC bash
|
||||
yay -S sxiv
|
||||
#+END_SRC
|
||||
|
||||
*** Open Gif
|
||||
#+begin_src bash
|
||||
sxiv -a file.gif
|
||||
#+end_src
|
||||
|
||||
*** Cheatsheet
|
||||
| Command | Usage |
|
||||
|--------------+--------------------------|
|
||||
| =-t= | Start in Thumbmail mode |
|
||||
| =f= | Toggle fullscreen |
|
||||
| =Return= | Switch to thumbmail mode |
|
||||
| =<=, =>= | Rotate the image |
|
||||
| =\vert=, =_= | Flip the image |
|
||||
| =n=, =p= | Next, Previous image |
|
||||
|
||||
* TODO [#B] Windows Manager - i3
|
||||
** TODO Installation
|
||||
#+BEGIN_SRC bash
|
||||
@ -1209,11 +1233,17 @@ yay -S dunst
|
||||
- [ ] New messages on slack
|
||||
|
||||
** TODO [#C] How to merge similar notifications like new mails?
|
||||
* Office Suite - LibreOffice
|
||||
* Office Suite
|
||||
** LibreOffice
|
||||
#+begin_src bash
|
||||
yay -S libreoffice-fresh
|
||||
#+end_src
|
||||
|
||||
** WPS Office
|
||||
#+begin_src bash
|
||||
yay -S wps-office wps-office-extension-french-dictionary ttf-wps-fonts
|
||||
#+end_src
|
||||
|
||||
* SpreadSheet - SC-IM
|
||||
https://github.com/andmarti1424/sc-im
|
||||
https://www.youtube.com/watch?v=K_8_gazN7h0
|
||||
@ -1258,19 +1288,35 @@ https://wiki.archlinux.org/index.php/CUPS
|
||||
Web based administration: http://localhost:631/
|
||||
|
||||
=system-config-printer=
|
||||
*** Check and Clear the Queue
|
||||
|
||||
Check the queue
|
||||
#+begin_src bash
|
||||
lpq
|
||||
lpq -a # on all queues
|
||||
lpq
|
||||
lpq -a # on all queues
|
||||
#+end_src
|
||||
|
||||
Clear the queue
|
||||
#+begin_src bash
|
||||
lprm # remove last entry only
|
||||
lprm - # remove all entries
|
||||
lprm # remove last entry only
|
||||
lprm - # remove all entries
|
||||
#+end_src
|
||||
|
||||
Print a file
|
||||
#+begin_src bash
|
||||
lpr -P printer_name filename.pdf
|
||||
#+end_src
|
||||
|
||||
List available printers
|
||||
#+begin_src bash
|
||||
lpstat -a
|
||||
#+end_src
|
||||
|
||||
Stats about the printer
|
||||
#+begin_src bash
|
||||
lpstat -p printer_name
|
||||
#+end_src
|
||||
|
||||
|
||||
*** TODO CheatSheet
|
||||
| Command | Usage |
|
||||
|---------+-------|
|
||||
@ -1313,21 +1359,20 @@ https://gparted.org/
|
||||
** TODO [#B] Bluetooth
|
||||
Bluetooth: Gui: https://github.com/blueman-project/blueman
|
||||
|
||||
** TODO [#B] Temperature and Fan control
|
||||
https://github.com/dgraziotin/mbpfan
|
||||
Fan are controlled by mbpfan. The config file is =/etc/mbpfan.conf=
|
||||
|
||||
** TODO [#A] Temperature and Fan control
|
||||
#+BEGIN_SRC bash
|
||||
# Enable Automated Power Regulation
|
||||
sudo pacman -S tlp
|
||||
sudo systemctl enable tlp
|
||||
sudo systemctl enable tlp-sleep
|
||||
sudo tlp start
|
||||
# Enable Automated Power Regulation
|
||||
yay -S tlp
|
||||
sudo systemctl enable tlp
|
||||
sudo systemctl start tlp
|
||||
sudo systemctl enable tlp-sleep
|
||||
sudo systemctl start tlp-sleep
|
||||
sudo tlp start
|
||||
|
||||
# Enable thermald (overheat shutoff)
|
||||
yaourt -S thermald
|
||||
sudo systemctl enable thermald
|
||||
sudo systemctl start thermald
|
||||
# Enable thermald (overheat shutoff)
|
||||
yay -S thermald
|
||||
sudo systemctl enable thermald
|
||||
sudo systemctl start thermald
|
||||
#+END_SRC
|
||||
|
||||
** TODO [#B] Lock Screen
|
||||
@ -1457,7 +1502,9 @@ yay -S rclone
|
||||
*** Progress bar for long synchronizations
|
||||
Use =--progress --stats-one-line=.
|
||||
|
||||
* Download Manager
|
||||
* TODO Download Manager
|
||||
** TODO [#B] Torrent - Transmission
|
||||
https://www.youtube.com/watch?v=fpYbJCqpPS4&list=WL&index=14&t=0s
|
||||
** TODO CLI Download Manager - Aria2
|
||||
*** Installation
|
||||
#+BEGIN_SRC bash
|
||||
@ -1486,10 +1533,6 @@ Then run the CLI client using =deluge-console=.
|
||||
*** GUI Client
|
||||
=deluge=
|
||||
|
||||
*** Alternatives
|
||||
https://github.com/rakshasa/rtorrent
|
||||
https://webtorrent.io/
|
||||
|
||||
** TODO CLI Torrent Client - btpd
|
||||
https://github.com/btpd/btpd
|
||||
|
||||
@ -1580,6 +1623,7 @@ https://github.com/pimutils/khal
|
||||
** Org Mode
|
||||
https://orgmode.org/worg/exporters/beamer/tutorial.html
|
||||
|
||||
** WPS
|
||||
** Presentation setup on computer
|
||||
** PowerPoint Viewer
|
||||
** Multi-monitor pdf presentation - pdfpc
|
||||
@ -1650,7 +1694,22 @@ http://wayneashleyberry.github.io/wunderline/
|
||||
|
||||
**** Cheatsheet
|
||||
=wunderline list=
|
||||
#+begin_src bash :results raw
|
||||
wunderline inbox
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
INBOX (5)
|
||||
Appeler les impôts ☆
|
||||
Regarder les impôt Today ☆
|
||||
Remboursement abonnement tram ? ☆
|
||||
Prendre le Exploding Kittens / Seven Wonders Today ☆
|
||||
Appeler Maman Today ☆
|
||||
|
||||
|
||||
|
||||
*** TODO Org-Wunderlist
|
||||
https://github.com/myuhe/org-wunderlist.el?state=RANDOM&code=f03a4873e4fd70950641
|
||||
* Background manager: nitrogen
|
||||
https://github.com/l3ib/nitrogen/
|
||||
|
||||
@ -1764,6 +1823,7 @@ This help changes many applications colors at once.
|
||||
- https://inkscape.org/
|
||||
- https://krita.org/en/features/highlights/
|
||||
- Tikz
|
||||
|
||||
* TODO [#B] System monitor: conky
|
||||
https://github.com/brndnmtthws/conky
|
||||
https://wiki.archlinux.org/index.php/Conky
|
||||
@ -1771,11 +1831,14 @@ https://wiki.archlinux.org/index.php/Conky
|
||||
Integration with polybar:
|
||||
- https://www.reddit.com/r/unixporn/comments/92guq6/i3polybar_animated_polybar_drop_down_menus/
|
||||
- https://github.com/ntcarlson/dotfiles
|
||||
|
||||
* TODO Bugs
|
||||
** TODO Why the cursor is turning when on the background image?
|
||||
Because something is executing without the --no-startup-id option
|
||||
* TODO Games on Linux
|
||||
https://www.protondb.com/
|
||||
https://steamcommunity.com/games/221410/announcements/detail/1696055855739350561
|
||||
|
||||
* TODO VPN Setup
|
||||
** NordVPN
|
||||
https://aur.archlinux.org/packages/nordvpn-bin/
|
||||
@ -1812,6 +1875,20 @@ https://nordvpn.com/fr/tutorials/linux/openvpn/
|
||||
yay -S rtv
|
||||
#+END_SRC
|
||||
|
||||
** Interact with API
|
||||
- GUI: https://github.com/getinsomnia/insomnia
|
||||
- CLI: https://github.com/jakubroztocil/httpie
|
||||
|
||||
** Take Screenshot
|
||||
https://github.com/naelstrof/maim
|
||||
#+begin_src bash
|
||||
yay -S maim
|
||||
#+end_src
|
||||
|
||||
#+begin_src bash
|
||||
man maim
|
||||
#+end_src
|
||||
|
||||
* TODO Usefull commands
|
||||
** Find files or directories
|
||||
- https://github.com/sharkdp/fd
|
||||
@ -1887,35 +1964,35 @@ https://wiki.archlinux.org/index.php/Keyboard_shortcuts
|
||||
#+end_src
|
||||
|
||||
** Others
|
||||
- [[https://github.com/tldr-pages/tldr][tldr]] - Community-driven man pages
|
||||
- [[https://github.com/dutchcoders/transfer.sh][transfer.sh]] - upload and share files from the command line
|
||||
- [[https://github.com/timvisee/ffsend][ffsend]] - share files from the command line
|
||||
- https://github.com/chubin/wttr.in - weather in terminal
|
||||
- https://github.com/michael-lazar/rtv
|
||||
- trans =yay -S translate-shell=
|
||||
- awk https://linuxhandbook.com/awk-command-tutorial/
|
||||
- install the software to convert image to latex code => create script to take screenshot and automatically export latex
|
||||
- https://github.com/rupa/z
|
||||
- https://github.com/nvbn/thefuck
|
||||
- bash-sensible
|
||||
- Also check at the end of this readme
|
||||
- awman - Arch Wiki man pages - Arch wiki offline
|
||||
- https://www.tecmint.com/linux-commands-cheat-sheet/
|
||||
| [[https://github.com/tldr-pages/tldr][tldr]] | Community-driven man pages |
|
||||
| [[https://github.com/dutchcoders/transfer.sh][transfer.sh]] | upload and share files from the command line |
|
||||
| [[https://github.com/timvisee/ffsend][ffsend]] | share files from the command line |
|
||||
| [[https://github.com/chubin/wttr.in][wttr.in]] | weather in terminal |
|
||||
| [[https://github.com/michael-lazar/rtv][rtv]] | Reddit in terminal |
|
||||
| awk | https://linuxhandbook.com/awk-command-tutorial/ |
|
||||
| [[https://github.com/rupa/z][z]] | Jump around |
|
||||
| [[https://github.com/nvbn/thefuck][thefuck]] | Magnificent app which corrects your previous console command |
|
||||
| [[https://github.com/mrzool/bash-sensible][bash-sensible]] | An attempt at saner Bash defaults |
|
||||
| [[https://github.com/greg-js/arch-wiki-man][awman]] | Arch Wiki man pages - Arch wiki offline |
|
||||
| [[https://github.com/amanusk/s-tui/][s-tui]] | Terminal based CPU stress and monitoring utility |
|
||||
| [[https://github.com/nicolargo/glances][glances]] | A top/htop alternative |
|
||||
| [[https://github.com/asciinema/asciinema][asciinema]] | Reccord you terminal |
|
||||
| [[https://dev.yorhel.nl/ncdu][ncdu]] | See what takes place on the disk |
|
||||
| [[https://github.com/haikarainen/light][light]] | Program to easily change brightness on backlight-controllers |
|
||||
| [[https://github.com/naelstrof/maim][maim]] | Take screenshots |
|
||||
|
||||
|
||||
|-----------------------------------+-------------------------------------------|
|
||||
| Command | Description |
|
||||
|-----------------------------------+-------------------------------------------|
|
||||
| =glances= | Moniteur d'activité |
|
||||
| =meteo= | Get the meteo |
|
||||
| =sudo cputhrottle PID %PROC= | Limiter l'accès au proc pour un processus |
|
||||
| =asciinema= | Reccord you terminal |
|
||||
| =nmap -sP “192.168.1.*"= | Check all ip addresses on local netword |
|
||||
| =ncdu= | See what takes place on the disk |
|
||||
| =rsync -a --progress source dest= | Copy folders with stats |
|
||||
| =du -sh folder= | Return the size of the folder |
|
||||
| =df -h= | Report disk usage |
|
||||
|-----------------------------------+-------------------------------------------|
|
||||
|
||||
** Archive and Extract
|
||||
Use =apack= and =aunpack=:
|
||||
| | |
|
||||
@ -1923,6 +2000,16 @@ Use =apack= and =aunpack=:
|
||||
| =aunpack foobar.tar.gz= | extract all files from archive |
|
||||
| =apack myarchive.zip foo bar= | create a zip archive of two files |
|
||||
|
||||
** Hardware
|
||||
| =dmesg= | Detected hardware and boot messages |
|
||||
| =lshw= | Display information on hardware |
|
||||
| =lsusb -tv= | Show usb devices |
|
||||
|
||||
** Network
|
||||
| =ip addr show= | Show all network interfaces and ip address |
|
||||
| =ethtooo eth0= | Tool to show ethernet status |
|
||||
| =netstat -tulp= | List all active listening ports |
|
||||
|
||||
* TODO Custom scripts
|
||||
** TODO [#A] Password completion with fzf
|
||||
Make a script to use FZF for autocompletion of password (with pass program) and then send to current line or copy.
|
||||
|
Loading…
Reference in New Issue
Block a user