From cbf17316328d4527af0cb17036941d9ca43214ed Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Mon, 22 Jan 2018 08:29:43 +0100 Subject: [PATCH 1/8] arch-kexec --- bashrc | 3 +++ bower | 1 + cargo | 1 + config/i3/config | 5 +++++ gem | 1 + go | 1 + m2 | 1 + npm | 1 + nv | 1 + scripts/arch-kexec | 3 +++ scripts/heavyPackages | 10 ++++++++++ vimpcrc | 7 +++++++ 12 files changed, 35 insertions(+) create mode 120000 bower create mode 120000 cargo create mode 120000 gem create mode 120000 go create mode 120000 m2 create mode 120000 npm create mode 120000 nv create mode 100755 scripts/arch-kexec create mode 100755 scripts/heavyPackages create mode 100644 vimpcrc diff --git a/bashrc b/bashrc index 8cfddc5..15fcf20 100644 --- a/bashrc +++ b/bashrc @@ -46,6 +46,9 @@ alias pacman='pacman --color auto' alias dmesg='dmesg --ctime' # Frequent mistakes +alias sl=ls +alias al=la +alias mdkir=mkdir alias systemclt=systemctl # Shortcuts for commonly used commands diff --git a/bower b/bower new file mode 120000 index 0000000..2176c40 --- /dev/null +++ b/bower @@ -0,0 +1 @@ +.cache/bower \ No newline at end of file diff --git a/cargo b/cargo new file mode 120000 index 0000000..b8adac1 --- /dev/null +++ b/cargo @@ -0,0 +1 @@ +.cache/cargo \ No newline at end of file diff --git a/config/i3/config b/config/i3/config index 774c3fe..04ffddd 100644 --- a/config/i3/config +++ b/config/i3/config @@ -145,14 +145,19 @@ set $WS10 10 # Workspace output workspace "$WS1" output LVDS1 workspace "$WS2" output VGA1 +workspace "$WS2" output HDMI1 workspace "$WS3" output LVDS1 workspace "$WS4" output VGA1 +workspace "$WS4" output HDMI1 workspace "$WS5" output LVDS1 workspace "$WS6" output VGA1 +workspace "$WS6" output HDMI1 workspace "$WS7" output LVDS1 workspace "$WS8" output VGA1 +workspace "$WS8" output HDMI1 workspace "$WS9" output LVDS1 workspace "$WS10" output VGA1 +workspace "$WS10" output HDMI1 # switch to workspace bindsym $mod+1 workspace $WS1 diff --git a/gem b/gem new file mode 120000 index 0000000..23390de --- /dev/null +++ b/gem @@ -0,0 +1 @@ +.cache/gem \ No newline at end of file diff --git a/go b/go new file mode 120000 index 0000000..3f37a1f --- /dev/null +++ b/go @@ -0,0 +1 @@ +.cache/go \ No newline at end of file diff --git a/m2 b/m2 new file mode 120000 index 0000000..6897d10 --- /dev/null +++ b/m2 @@ -0,0 +1 @@ +.cache/m2 \ No newline at end of file diff --git a/npm b/npm new file mode 120000 index 0000000..47f1d63 --- /dev/null +++ b/npm @@ -0,0 +1 @@ +.cache/npm \ No newline at end of file diff --git a/nv b/nv new file mode 120000 index 0000000..7392898 --- /dev/null +++ b/nv @@ -0,0 +1 @@ +.cache/nv \ No newline at end of file diff --git a/scripts/arch-kexec b/scripts/arch-kexec new file mode 100755 index 0000000..b65004e --- /dev/null +++ b/scripts/arch-kexec @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +sudo kexec -l /boot/vmlinuz-linux --initrd=/boot/initramfs-linux.img --reuse-cmdlin +sudo systemctl kexec diff --git a/scripts/heavyPackages b/scripts/heavyPackages new file mode 100755 index 0000000..8235b61 --- /dev/null +++ b/scripts/heavyPackages @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +# Return a list of packages sorted by size + +(echo PACKAGE SIZE; \ + for A in /var/lib/pacman/local/*/desc; do + (sed -n 2p $A; (grep '^%SIZE%$' $A -A1 | tail -1)) | tr '\n' ' '; echo + done \ + | sort -nrk2) \ +| column -t diff --git a/vimpcrc b/vimpcrc new file mode 100644 index 0000000..97f442c --- /dev/null +++ b/vimpcrc @@ -0,0 +1,7 @@ +map FF :browsegg/ +map à :set add nexta:set add end +map @ :set add nexta:set add end:next +map ° D:browseA:shuffle:play:playlist +set songformat {%a - %b: %t}|{%f}$E$R $H[$H%l$H]$H +set libraryformat %n \| {%t}|{%f}$E$R $H[$H%l$H]$H +set ignorecase From b9f05ee89f7f0c402171fea001c54dc5616971b2 Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Tue, 30 Jan 2018 19:08:48 +0100 Subject: [PATCH 2/8] Uh --- scripts/machines | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/machines b/scripts/machines index fecc1e8..e9b8a0d 100755 --- a/scripts/machines +++ b/scripts/machines @@ -365,9 +365,9 @@ machines_net_help() { machines_network_help "$@"; } machines_n_help() { machines_network_help "$@"; } function machines_update-all { - machines_list | while read machine; do + machines_machine_list | while read machine; do echo "Updating $machine..." - ssh $machine 'machines-update' & + ssh $machine 'machines update' & done } From 628233969de5793b436c81357fdc571cc318b540 Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Tue, 30 Jan 2018 19:16:17 +0100 Subject: [PATCH 3/8] =?UTF-8?q?Transfert=20de=20fichiers=20par=20commit=20?= =?UTF-8?q?interpos=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/machines | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/scripts/machines b/scripts/machines index e9b8a0d..b9c7fde 100755 --- a/scripts/machines +++ b/scripts/machines @@ -52,7 +52,7 @@ function _machines-api { wget $MACHINES_API/$route --content-on-error --quiet --output-document=- "$@" result=$? if [ $result != 0 ]; then - echo "[ERROR] wget returned $result..." + echo "[ERROR] wget returned $result..." > /dev/stderr exit 2 fi } @@ -77,7 +77,7 @@ function _machines-pubFromCrt { function _machines-verifyCertificate { return if openssl verify $MACHINES_CONFIG/machines.crt | grep -v 'error 18' | grep 'error' --quiet; then - echo "[ERROR] Invalid certificate" + echo "[ERROR] Invalid certificate" > /dev/stderr exit 1 fi } @@ -92,7 +92,7 @@ function _machines-ensurePub { if [ $? == 1 ]; then mv $CERT_FILE $MACHINES_CONFIG/machines.crt &> /dev/null else - echo "[ERROR] Certificate rejected." + echo "[ERROR] Certificate rejected." > /dev/stderr exit 1 fi fi @@ -105,7 +105,7 @@ function _machines-ensurePub { function _machines-ensureAdmin { if [ ! -f $MACHINES_CONFIG/machines.key ]; then - echo "[ERROR] You need have to have the private key to do that" + echo "[ERROR] You need have to have the private key to do that" > /dev/stderr exit 1 fi } @@ -147,7 +147,7 @@ function _machines-updateAkey { return 0 else cat $MYKEY_FILE - echo "[ERROR] Authorized keys are not properly signed" + echo "[ERROR] Authorized keys are not properly signed" > /dev/stderr rm $MYKEY_FILE exit 1 fi @@ -368,12 +368,13 @@ function machines_update-all { machines_machine_list | while read machine; do echo "Updating $machine..." ssh $machine 'machines update' & + ssh $machine 'cd .dotfiles && git pull' & done } function machines_regen-keys { if [[ -e $MACHINES_CONFIG/machines.key || -e $MACHINES_CONFIG/machines.pub || -e $MACHINES_CONFIG/machines.crt ]]; then - echo "[ERROR] Please delete the pem files manually to prove you know what you're doing." + echo "[ERROR] Please delete the pem files manually to prove you know what you're doing." > /dev/stderr exit 1 else openssl genrsa -out $MACHINES_CONFIG/machines.key 4096 @@ -389,7 +390,7 @@ function machines_regen-keys { function machines_setup { if [ -e $MACHINES_CONFIG/this.name ]; then - echo "[ERROR] This machine is already set up" + echo "[ERROR] This machine is already set up" > /dev/stderr exit 1 fi From 3c9e2c3279aca1e717d5b5b75b4ab94a712e09d4 Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Mon, 19 Mar 2018 07:29:56 +0100 Subject: [PATCH 4/8] vdirsyncer --- bashrc | 1 + config/i3/ashuffle | 7 ++ config/i3/config | 1 + config/khal/config | 38 +++++++++++ config/khard/khard.conf | 43 ++++++++++++ .../default.target.wants/syncthing.service | 1 + .../user/timers.target.wants/vdirsyncer.timer | 1 + config/todoman/todoman.conf | 4 ++ config/vdirsyncer/.dfrecur | 0 config/vdirsyncer/config | 68 +++++++++++++++++++ gitconfig | 5 ++ scripts/arch-kexec | 2 +- scripts/install-prefs | 15 +++- scripts/machines | 4 ++ scripts/rms | 2 + vimrc | 2 +- 16 files changed, 191 insertions(+), 3 deletions(-) create mode 100755 config/i3/ashuffle create mode 100644 config/khal/config create mode 100644 config/khard/khard.conf create mode 120000 config/systemd/user/default.target.wants/syncthing.service create mode 120000 config/systemd/user/timers.target.wants/vdirsyncer.timer create mode 100644 config/todoman/todoman.conf create mode 100644 config/vdirsyncer/.dfrecur create mode 100644 config/vdirsyncer/config create mode 100755 scripts/rms diff --git a/bashrc b/bashrc index 15fcf20..d0f18f4 100644 --- a/bashrc +++ b/bashrc @@ -43,6 +43,7 @@ alias rm='rm -Iv --one-file-system' alias free='free -m' alias df='df -h' alias pacman='pacman --color auto' +alias pacaur='pacaur --color auto' alias dmesg='dmesg --ctime' # Frequent mistakes diff --git a/config/i3/ashuffle b/config/i3/ashuffle new file mode 100755 index 0000000..77168ef --- /dev/null +++ b/config/i3/ashuffle @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +while true +do + ashuffle + sleep 1 +done diff --git a/config/i3/config b/config/i3/config index 04ffddd..ea9bdbe 100644 --- a/config/i3/config +++ b/config/i3/config @@ -371,6 +371,7 @@ exec --no-startup-id dunst # Notifications exec --no-startup-id keynav # Keyboard cursor controller #exec --no-startup-id $HOME/.config/i3/clipmenud # Clipboard manager exec --no-startup-id mpd # Music Player Daemon +exec --no-startup-id ~/.config/i3/ashuffle # MPD Auto-refill exec --no-startup-id autorandr --change # Screen configuration and everything that depends on it set $ignore #ff00000 diff --git a/config/khal/config b/config/khal/config new file mode 100644 index 0000000..f923a51 --- /dev/null +++ b/config/khal/config @@ -0,0 +1,38 @@ +[calendars] +[[perso]] +path = ~/.vdirsyncer/calendars/perso/ +color = light green + +[[clubs]] +path = ~/.vdirsyncer/calendars/clubs/ +color = yellow + +[[cours]] +path = ~/.vdirsyncer/calendars/cours/ +color = light blue +readonly = True + +[[polytech]] +path = ~/.vdirsyncer/calendars/polytech/ +color = dark blue + +[[bnei]] +path = ~/.vdirsyncer/calendars/bnei/ +color = light cyan + +# [[birthdays]] +# type=birthdays +# path = ~/.vdirsyncer/contacts/contacts/ +# color = light magenta + +[locale] +timeformat = %H:%M +dateformat = %d/%m +longdateformat = %d/%m/%Y +datetimeformat = %d/%m %H:%M +longdatetimeformat = %d/%m/%Y %H:%M +local_timezone = Europe/Paris + +[default] +highlight_event_days = True + diff --git a/config/khard/khard.conf b/config/khard/khard.conf new file mode 100644 index 0000000..eee27d6 --- /dev/null +++ b/config/khard/khard.conf @@ -0,0 +1,43 @@ +# example configuration file for khard version >= 0.11.0 +# place it under $HOME/.config/khard/khard.conf + +[addressbooks] +[[contacts]] +path = ~/.vdirsyncer/contacts/contacts/ + +[general] +debug = no +default_action = list +editor = vim +merge_editor = vimdiff + +[contact table] +# display names by first or last name: first_name / last_name +display = first_name +# group by address book: yes / no +group_by_addressbook = no +# reverse table ordering: yes / no +reverse = no +# append nicknames to name column: yes / no +show_nicknames = no +# show uid table column: yes / no +show_uids = yes +# sort by first or last name: first_name / last_name +sort = last_name +# localize dates: yes / no +localize_dates = yes + +[vcard] +# extend contacts with your own private objects +# these objects are stored with a leading "X-" before the object name in the vcard files +# every object label may only contain letters, digits and the - character +# example: +# private_objects = Jabber, Skype, Twitter +private_objects = Jabber, Skype, Twitter +# preferred vcard version: 3.0 / 4.0 +preferred_version = 3.0 +# Look into source vcf files to speed up search queries: yes / no +search_in_source_files = no +# skip unparsable vcard files: yes / no +skip_unparsable = no + diff --git a/config/systemd/user/default.target.wants/syncthing.service b/config/systemd/user/default.target.wants/syncthing.service new file mode 120000 index 0000000..eae00f7 --- /dev/null +++ b/config/systemd/user/default.target.wants/syncthing.service @@ -0,0 +1 @@ +/home/geoffrey/.local/share/systemd/user/syncthing.service \ No newline at end of file diff --git a/config/systemd/user/timers.target.wants/vdirsyncer.timer b/config/systemd/user/timers.target.wants/vdirsyncer.timer new file mode 120000 index 0000000..eed4fe0 --- /dev/null +++ b/config/systemd/user/timers.target.wants/vdirsyncer.timer @@ -0,0 +1 @@ +/home/geoffrey/.local/share/systemd/user/vdirsyncer.timer \ No newline at end of file diff --git a/config/todoman/todoman.conf b/config/todoman/todoman.conf new file mode 100644 index 0000000..677aa91 --- /dev/null +++ b/config/todoman/todoman.conf @@ -0,0 +1,4 @@ +[main] +path = ~/.vdirsyncer/calendars/* +default_list = perso +humanize = True diff --git a/config/vdirsyncer/.dfrecur b/config/vdirsyncer/.dfrecur new file mode 100644 index 0000000..e69de29 diff --git a/config/vdirsyncer/config b/config/vdirsyncer/config new file mode 100644 index 0000000..148fa0e --- /dev/null +++ b/config/vdirsyncer/config @@ -0,0 +1,68 @@ +# An example configuration for vdirsyncer. +# +# Move it to ~/.vdirsyncer/config or ~/.config/vdirsyncer/config and edit it. +# Run `vdirsyncer --help` for CLI usage. +# +# Optional parameters are commented out. +# This file doesn't document all available parameters, see +# http://vdirsyncer.pimutils.org/ for the rest of them. + +[general] +# A folder where vdirsyncer can store some metadata about each pair. +status_path = "~/.vdirsyncer/status/" + +# # CARDDAV +[pair geoffrey_contacts] +# A `[pair ]` block defines two storages `a` and `b` that should be +# synchronized. The definition of these storages follows in `[storage ]` +# blocks. This is similar to accounts in OfflineIMAP. +a = "geoffrey_contacts_local" +b = "geoffrey_contacts_remote" + +# Synchronize all collections that can be found. +# You need to run `vdirsyncer discover` if new calendars/addressbooks are added +# on the server. + +collections = ["from a", "from b"] + +# Synchronize the "display name" property into a local file (~/.contacts/displayname). +metadata = ["displayname"] + +# To resolve a conflict the following values are possible: +# `null` - abort when collisions occur (default) +# `"a wins"` - assume a's items to be more up-to-date +# `"b wins"` - assume b's items to be more up-to-date +#conflict_resolution = null + +[storage geoffrey_contacts_local] +# A storage references actual data on a remote server or on the local disk. +# Similar to repositories in OfflineIMAP. +type = "filesystem" +path = "~/.vdirsyncer/contacts/" +fileext = ".vcf" + +[storage geoffrey_contacts_remote] +type = "carddav" +url = "https://dav.frogeye.fr/caldav.php/" +username = "geoffrey" +password.fetch = ["command", "sh", "-c", "cat ~/.config/vdirsyncer/pass"] + +# CALDAV +[pair geoffrey_calendar] +a = "geoffrey_calendar_local" +b = "geoffrey_calendar_remote" +collections = ["from a", "from b"] + +# Calendars also have a color property +metadata = ["displayname", "color"] + +[storage geoffrey_calendar_local] +type = "filesystem" +path = "~/.vdirsyncer/calendars/" +fileext = ".ics" + +[storage geoffrey_calendar_remote] +type = "caldav" +url = "https://dav.frogeye.fr/caldav.php/" +username = "geoffrey" +password.fetch = ["command", "sh", "-c", "cat ~/.config/vdirsyncer/pass"] diff --git a/gitconfig b/gitconfig index 17d9812..6860844 100644 --- a/gitconfig +++ b/gitconfig @@ -8,3 +8,8 @@ default = matching [alias] git = !exec git +[filter "lfs"] + clean = git-lfs clean -- %f + smudge = git-lfs smudge -- %f + process = git-lfs filter-process + required = true diff --git a/scripts/arch-kexec b/scripts/arch-kexec index b65004e..d5bdc48 100755 --- a/scripts/arch-kexec +++ b/scripts/arch-kexec @@ -1,3 +1,3 @@ #!/usr/bin/env bash -sudo kexec -l /boot/vmlinuz-linux --initrd=/boot/initramfs-linux.img --reuse-cmdlin +sudo kexec -l /boot/vmlinuz-linux --initrd=/boot/initramfs-linux.img --reuse-cmdline sudo systemctl kexec diff --git a/scripts/install-prefs b/scripts/install-prefs index f7e5434..365eab9 100755 --- a/scripts/install-prefs +++ b/scripts/install-prefs @@ -167,6 +167,10 @@ function altInst { done } +function systemdUserUnit { + mkdir -p ~/.local/share/systemd + ln -s /usr/lib/systemd/user/vdirsyncer.timer ~/.local/share/systemd/ +} # Common CLI @@ -315,16 +319,25 @@ if [ $GUI == 1 ]; then fi fi + if [ $EXTRA == 1 ]; then # Extra dev inst cmake clang llvm npm # Extra CLI inst ffmpeg youtube-dl optipng syncthing ccache + systemdUserUnit syncthing.service if [ $ARCH == 1 ]; then inst jq altInst pdftk translate-shell git-lfs js-beautify insect visidata-git + + # Orga + # TODO For others + inst vdirsyncer khard + altInst khal todoman + systemdUserUnit vdirsyncer.service + systemdUserUnit vdirsyncer.timer else # translate-shell curl -L git.io/trans > ~/.bin/trans @@ -337,7 +350,7 @@ if [ $EXTRA == 1 ]; then if [ $ARCH == 1 ]; then inst simplescreenrecorder - altInst pacmixer xcursor-menda-git menda-themes-git menda-maia-icon-theme vimpc-git mpc + altInst pacmixer xcursor-menda-git menda-themes-git menda-maia-icon-theme vimpc-git mpc ashuffle-git fi fi diff --git a/scripts/machines b/scripts/machines index b9c7fde..95fe7e9 100755 --- a/scripts/machines +++ b/scripts/machines @@ -127,6 +127,10 @@ function _machines-getAkey { # network SIGN_FILE=$(mktemp) _machines-api akey/$1 > $KEY_FILE _machines-api akey/$1?signature > $SIGN_FILE + md5sum $KEY_FILE &> /dev/stderr + md5sum $SIGN_FILE &> /dev/stderr + md5sum $MACHINES_CONFIG/machines.pub &> /dev/stderr + openssl dgst -sha256 -verify $MACHINES_CONFIG/machines.pub -signature $SIGN_FILE $KEY_FILE &> /dev/null if [ $? == 0 ]; then cat $KEY_FILE diff --git a/scripts/rms b/scripts/rms new file mode 100755 index 0000000..885b287 --- /dev/null +++ b/scripts/rms @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +find . -name "*.sync-conflict-*" -delete diff --git a/vimrc b/vimrc index 6e10446..c709f72 100644 --- a/vimrc +++ b/vimrc @@ -48,7 +48,7 @@ nmap :UndotreeToggle:UndotreeFocus let g:ctrlp_custom_ignore = { \ 'dir': '\v([\/]\.(git|hg|svn)|log|node_modules|bower_components|__pycache__|vendor|output|buildroot|doc)$', - \ 'file': '\v\.(exe|so|dll|o|pyc)$', + \ 'file': '\v\.(exe|so|dll|o|pyc|a)$', \ 'link': 'SOME_BAD_SYMBOLIC_LINKS', \ } From 501f1f40668ebf49740de3719721ca0c5eea3ace Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Tue, 10 Apr 2018 15:38:18 +0200 Subject: [PATCH 5/8] Long time, no commit, big ol' changes though --- bashrc | 42 ++- config/dunst/dunstrc | 337 +++--------------- config/i3/batteryNotify | 55 +++ config/i3/config | 14 +- config/khal/config | 36 +- config/offlineimap.py | 10 + config/polybar/bbswitch | 12 + config/polybar/config | 47 ++- config/polybar/linuxmismatch | 17 + config/polybar/todo | 21 ++ .../user/default.target.wants/dunst.service | 1 + .../user/default.target.wants/mpd.service | 1 + .../default.target.wants/offlineimap.service | 1 + .../default.target.wants/syncthing.service | 2 +- .../user/timers.target.wants/vdirsyncer.timer | 2 +- config/todoman/todoman.conf | 4 +- scripts/install-prefs | 12 +- scripts/rep | 8 +- vimrc | 1 + 19 files changed, 271 insertions(+), 352 deletions(-) create mode 100755 config/i3/batteryNotify create mode 100644 config/offlineimap.py create mode 100755 config/polybar/bbswitch create mode 100755 config/polybar/linuxmismatch create mode 100755 config/polybar/todo create mode 120000 config/systemd/user/default.target.wants/dunst.service create mode 120000 config/systemd/user/default.target.wants/mpd.service create mode 120000 config/systemd/user/default.target.wants/offlineimap.service diff --git a/bashrc b/bashrc index d0f18f4..371fe0f 100644 --- a/bashrc +++ b/bashrc @@ -12,9 +12,9 @@ export BROWSER=qutebrowser # Some programs need those changes export PATH="/usr/lib/ccache/bin/:$PATH" -if [ -d $HOME/.gem/ruby/2.4.0/bin ]; then - export PATH="$HOME/.gem/ruby/2.4.0/bin/:$PATH" -fi +# if [ -d $HOME/.gem/ruby/2.4.0/bin ]; then +# export PATH="$HOME/.gem/ruby/2.4.0/bin/:$PATH" +# fi if [ -d /data/data/com.termux/ ]; then export PATH="$HOME/.termux/scripts:$HOME/.termux/bin:$PATH" fi @@ -63,15 +63,30 @@ alias mc="machines" alias tracefiles="strace -f -t -e trace=file" # Superseding commands with better ones if they are present -if which vim &> /dev/null; then - alias vi='vim' -fi -if which gopass &> /dev/null; then - alias pass='gopass' -fi -if which wakeonlan &> /dev/null; then - alias wol='wakeonlan' -fi +function vi() { + if which vim &> /dev/null; then + alias vi='vim' + fi + vim "$@" +} +function pass() { + if which gopass &> /dev/null; then + alias pass='gopass' + fi + gopass "$@" +} +function wol() { + if which wakeonlan &> /dev/null; then + alias wol='wakeonlan' + fi + wakeonlan "$@" +} +function mutt() { + if which neomutt &> /dev/null; then + alias mutt='neomutt' + fi + neomutt "$@" +} # SHELL CUSTOMIZATION @@ -88,7 +103,8 @@ shopt -s hostcomplete export HISTSIZE=100000 export HISTFILESIZE=${HISTSIZE} -export HISTCONTROL=ignoreboth +export HISTCONTROL=ignorespace:erasedups +export HISTTIMEFORMAT="%d/%m/%y %H:%M:%S " # PROMPT CUSTOMIZATION diff --git a/config/dunst/dunstrc b/config/dunst/dunstrc index eead4c9..63e6c2a 100644 --- a/config/dunst/dunstrc +++ b/config/dunst/dunstrc @@ -1,300 +1,63 @@ [global] - font = Cantarell 10 - - # Allow a small subset of html markup: - # bold - # italic - # strikethrough - # underline - # - # For a complete reference see - # . - # If markup is not allowed, those tags will be stripped out of the - # message. - allow_markup = yes - - # The format of the message. Possible variables are: - # %a appname - # %s summary - # %b body - # %i iconname (including its path) - # %I iconname (without its path) - # %p progress value if set ([ 0%] to [100%]) or nothing - # Markup is allowed - format = "%s %p\n%b" - - # Sort messages by urgency. - sort = no - - # Show how many messages are currently hidden (because of geometry). - indicate_hidden = yes - - # Alignment of message text. - # Possible values are "left", "center" and "right". alignment = left - - # The frequency with wich text that is longer than the notification - # window allows bounces back and forth. - # This option conflicts with "word_wrap". - # Set to 0 to disable. - bounce_freq = 5 - - - # Show age of message if message is older than show_age_threshold - # seconds. - # Set to -1 to disable. - show_age_threshold = 60 - - # Split notifications into multiple lines if they don't fit into - # geometry. - word_wrap = no - - # Ignore newlines '\n' in notifications. - ignore_newline = no - - - # The geometry of the window: - # [{width}]x{height}[+/-{x}+/-{y}] - # The geometry of the message window. - # The height is measured in number of notifications everything else - # in pixels. If the width is omitted but the height is given - # ("-geometry x2"), the message window expands over the whole screen - # (dmenu-like). If width is 0, the window expands to the longest - # message displayed. A positive x is measured from the left, a - # negative from the right side of the screen. Y is measured from - # the top and down respectevly. - # The width can be negative. In this case the actual width is the - # screen width minus the width defined in within the geometry option. - geometry = "0x0-25+25" - - # Shrink window if it's smaller than the width. Will be ignored if - # width is 0. - shrink = yes - - # The transparency of the window. Range: [0; 100]. - # This option will only work if a compositing windowmanager is - # present (e.g. xcompmgr, compiz, etc.). - transparency = 17 - - # Don't remove messages, if the user is idle (no mouse or keyboard input) - # for longer than idle_threshold seconds. - # Set to 0 to disable. - # default 120 - idle_threshold = 120 - - # Which monitor should the notifications be displayed on. - monitor = 0 - - # Display notification on focused monitor. Possible modes are: - # mouse: follow mouse pointer - # keyboard: follow window with keyboard focus - # none: don't follow anything - # - # "keyboard" needs a windowmanager that exports the - # _NET_ACTIVE_WINDOW property. - # This should be the case for almost all modern windowmanagers. - # - # If this option is set to mouse or keyboard, the monitor option - # will be ignored. - follow = none - - # Should a notification popped up from history be sticky or timeout - # as if it would normally do. - sticky_history = yes - - # Maximum amount of notifications kept in history - history_length = 20 - - # Display indicators for URLs (U) and actions (A). - show_indicators = yes - - # The height of a single line. If the height is smaller than the - # font height, it will get raised to the font height. - # This adds empty space above and under the text. - line_height = 0 - - # Draw a line of "separator_height" pixel height between two - # notifications. - # Set to 0 to disable. - separator_height = 1 - - # Padding between text and separator. - # padding = 8 - padding = 8 - - # Horizontal padding. - horizontal_padding = 10 - - # Define a color for the separator. - # possible values are: - # * auto: dunst tries to find a color fitting to the background; - # * foreground: use the same color as the foreground; - # * frame: use the same color as the frame; - # * anything else will be interpreted as a X color. - separator_color = #2ECC71 - - # Print a notification on startup. - # This is mainly for error detection, since dbus (re-)starts dunst - # automatically after a crash. - startup_notification = false - - # dmenu path. + always_run_script = true + browser = /usr/bin/qutebrowser + class = Dunst dmenu = /usr/bin/dmenu -p dunst: - - # Browser for opening urls in context menu. - browser = firefox - - # Align icons left/right/off + ellipsize = middle + follow = none + font = DejaVu Sans 10 + force_xinerama = false + format = "%s %p\n%b" + frame_color = "#A6E22E" + frame_width = 3 + geometry = "500x5-30+20" + hide_duplicate_count = false + history_length = 20 + horizontal_padding = 8 + icon_path = /usr/share/icons/gnome/256x256/status/:/usr/share/icons/gnome/256x256/devices/ icon_position = left - - # Paths to default icons. - icon_folders = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ - -[frame] - width = 1 - color = "#2ECC71" - + idle_threshold = 120 + ignore_newline = no + indicate_hidden = yes + line_height = 0 + markup = full + max_icon_size = 48 + monitor = 0 + notification_height = 0 + padding = 8 + separator_color = frame + separator_height = 2 + show_age_threshold = 60 + show_indicators = yes + shrink = no + sort = yes + stack_duplicates = true + startup_notification = false + sticky_history = yes + title = Dunst + transparency = 0 + verbosity = mesg + word_wrap = yes +[experimental] + per_monitor_dpi = false [shortcuts] - - # Shortcuts are specified as [modifier+][modifier+]...key - # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2", - # "mod3" and "mod4" (windows-key). - # Xev might be helpful to find names for keys. - - # Close notification. - close = mod4+n - - # Close all notifications. - # close_all = ctrl+shift+space close_all = ctrl+mod4+n - - # Redisplay last message(s). - # On the US keyboard layout "grave" is normally above TAB and left - # of "1". - history = shift+mod4+n - - # Context menu. + close = mod4+n context = mod1+mod4+n - + history = shift+mod4+n [urgency_low] - # IMPORTANT: colors have to be defined in quotation marks. - # Otherwise the "#" and following would be interpreted as a comment. - background = "#000000" - foreground = "#888888" + background = "#272822" + foreground = "#F8F8F2" + frame_color = "#A6E22E" timeout = 10 - [urgency_normal] - background = "#000000" - foreground = "#ffffff" + background = "#272822" + foreground = "#F8F8F2" + frame_color = "#F4BF75" timeout = 10 - [urgency_critical] - background = "#900000" - foreground = "#ffffff" + background = "#272822" + foreground = "#F8F8F2" + frame_color = "#F92672" timeout = 0 - - -# Every section that isn't one of the above is interpreted as a rules to -# override settings for certain messages. -# Messages can be matched by "appname", "summary", "body", "icon", "category", -# "msg_urgency" and you can override the "timeout", "urgency", "foreground", -# "background", "new_icon" and "format". -# Shell-like globbing will get expanded. -# -# SCRIPTING -# You can specify a script that gets run when the rule matches by -# setting the "script" option. -# The script will be called as follows: -# script appname summary body icon urgency -# where urgency can be "LOW", "NORMAL" or "CRITICAL". -# -# NOTE: if you don't want a notification to be displayed, set the format -# to "". -# NOTE: It might be helpful to run dunst -print in a terminal in order -# to find fitting options for rules. - -#[espeak] -# summary = "*" -# script = dunst_espeak.sh - -#[script-test] -# summary = "*script*" -# script = dunst_test.sh - -#[ignore] -# # This notification will not be displayed -# summary = "foobar" -# format = "" - -#[signed_on] -# appname = Pidgin -# summary = "*signed on*" -# urgency = low -# -#[signed_off] -# appname = Pidgin -# summary = *signed off* -# urgency = low -# -#[says] -# appname = Pidgin -# summary = *says* -# urgency = critical -# -#[twitter] -# appname = Pidgin -# summary = *twitter.com* -# urgency = normal -# -#[Claws Mail] -# appname = claws-mail -# category = email.arrived -# urgency = normal -# background = "#2F899E" -# foreground = "#FFA247" -# -#[mute.sh] -# appname = mute -# category = mute.sound -# script = mute.sh -# -#[JDownloader] -# appname = JDownloader -# category = JD -# background = "#FFA247" -# foreground = "#FFFFFF" -# -#[newsbeuter] -# summary = *Feeds* -# background = "#A8EB41" -# foreground = "#FFFFFF" -# -[irc] - appname = weechat - timeout = 0 - background = "#0033bb" - foreground = "#dddddd" -# -[weechat hl] - appname = weechat - category = weechat.HL - background = "#FF5C47" - foreground = "#FFFFFF" -# -[weechat pn] - appname = weechat - category = weechat.PM - background = "#D53B84" - foreground = "#FFFFFF" -# -#[CMUS] -# appname = CMUS -# category = cmus -# background = "#6C4AB7" -# foreground = "#FFE756" -# -# -# background = "#30AB70" -# foreground = "#F67245" -# -# vim: ft=cfg diff --git a/config/i3/batteryNotify b/config/i3/batteryNotify new file mode 100755 index 0000000..a6a1ed2 --- /dev/null +++ b/config/i3/batteryNotify @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +BATT="/sys/class/power_supply/BAT0" +LOW=10 +CRIT=3 +LASTSTATE="$HOME/.cache/batteryState" + +function setState() { # state [...notify-send arguments] + state="$1" + last="$(cat "$LASTSTATE" 2> /dev/null)" + shift + + echo "Battery state: $state" + + if [ "$state" != "$last" ] + then + notify-send "$@" + echo "$state" > "$LASTSTATE" + fi +} + +function computeState() { + acpiStatus="$(cat "$BATT/status")" + acpiCapacity="$(cat "$BATT/capacity")" + + if [ "$acpiStatus" == "Discharging" ] + then + if [ $acpiCapacity -le $CRIT ] + then + setState "CRIT" -u critical -i battery-caution "Battery level is critical" "$acpiCapacity %" + elif [ $acpiCapacity -le $LOW ] + then + setState "LOW" -u critical -i battery-low "Battery level is low" "$acpiCapacity %" + else + setState "DISCHARGING" -i battery-good "Battery is discharging" "$acpiCapacity %" + fi + elif [ "$acpiStatus" == "Charging" ] + then + setState "CHARGING" -u normal -i battery-good-charging "Battery is charging" "$acpiCapacity %" + elif [ "$acpiStatus" == "Full" ] + then + setState "FULL" -u low -i battery-full-charged "Battery is full" "$acpiCapacity %" + fi +} + +if [ "$1" == "-d" ] +then + while true + do + computeState + sleep 10 + done +else + computeState +fi diff --git a/config/i3/config b/config/i3/config index ea9bdbe..77b5749 100644 --- a/config/i3/config +++ b/config/i3/config @@ -22,8 +22,7 @@ hide_edge_borders both # Font for window titles. Will also be used by the bar unless a different font # is used in the bar {} block below. -font pango:Source Code Pro 8 -font pango:DejaVu Sans Mono 8 +font pango:DejaVu Sans 8 font pango:Sans 8 # Use Mouse+$mod to drag floating windows @@ -361,18 +360,17 @@ bindsym $mod+F5 exec --no-startup-id xautolock -enable # Autostart applications -exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 # Password remembering -exec --no-startup-id gnome-keyring-daemon # Password remembering +#exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 # Password remembering +#exec --no-startup-id gnome-keyring-daemon # Password remembering exec --no-startup-id numlockx on # Activate Num lock -#exec --no-startup-id nm-applet # Network manager tray icon -#exec --no-startup-id compton -b # Compositing manager exec --no-startup-id unclutter # Hide mouse cursor after some time -exec --no-startup-id dunst # Notifications +#exec --no-startup-id dunst # Notifications (handled by systemd) exec --no-startup-id keynav # Keyboard cursor controller #exec --no-startup-id $HOME/.config/i3/clipmenud # Clipboard manager -exec --no-startup-id mpd # Music Player Daemon +#exec --no-startup-id mpd # Music Player Daemon (handled by systemd) exec --no-startup-id ~/.config/i3/ashuffle # MPD Auto-refill exec --no-startup-id autorandr --change # Screen configuration and everything that depends on it +exec --no-startup-id ~/.config/i3/batteryNotify -d # Battery state notification set $ignore #ff00000 diff --git a/config/khal/config b/config/khal/config index f923a51..f32ce2b 100644 --- a/config/khal/config +++ b/config/khal/config @@ -1,24 +1,7 @@ [calendars] -[[perso]] -path = ~/.vdirsyncer/calendars/perso/ -color = light green - -[[clubs]] -path = ~/.vdirsyncer/calendars/clubs/ -color = yellow - -[[cours]] -path = ~/.vdirsyncer/calendars/cours/ -color = light blue -readonly = True - -[[polytech]] -path = ~/.vdirsyncer/calendars/polytech/ -color = dark blue - -[[bnei]] -path = ~/.vdirsyncer/calendars/bnei/ -color = light cyan +[[calendars]] +path = ~/.vdirsyncer/calendars/* +type = discover # [[birthdays]] # type=birthdays @@ -34,5 +17,18 @@ longdatetimeformat = %d/%m/%Y %H:%M local_timezone = Europe/Paris [default] +default_calendar = "Personnel" +default_command = interactive highlight_event_days = True +show_all_days = True +timedelta = 7d +[highlight_days] + +[view] +agenda_day_format = "{bold}{name}, {date-long}{reset}" +agenda_event_format = "{calendar-color}{cancelled}{start-end-time-style} {title}{repeat-symbol} | {location}{reset}" +bold_for_light_color = False +event_format = "{calendar-color}{cancelled}{start}-{end} {title}{repeat-symbol} | {location}{reset}" +event_view_always_visible = True +frame = color diff --git a/config/offlineimap.py b/config/offlineimap.py new file mode 100644 index 0000000..3d80ac9 --- /dev/null +++ b/config/offlineimap.py @@ -0,0 +1,10 @@ +#! /usr/bin/env python2 +from subprocess import check_output + + +def get_pass(account): + return check_output("pass " + account, shell=True).splitlines()[0] + +def beep(): + check_output("play -n synth sine E4 sine A5 remix 1-2 fade 0.5 1.2 0.5 2", shell=True) + diff --git a/config/polybar/bbswitch b/config/polybar/bbswitch new file mode 100755 index 0000000..03507c6 --- /dev/null +++ b/config/polybar/bbswitch @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +state="$(grep -o '\w\+$' /proc/acpi/bbswitch)" +if [ "$state" == "ON" ] +then + echo "" +elif [ "$state" == "OFF" ] +then + echo "" +else + echo "?" +fi diff --git a/config/polybar/config b/config/polybar/config index e259ae7..9106d62 100644 --- a/config/polybar/config +++ b/config/polybar/config @@ -76,7 +76,7 @@ enable-ipc = true inherit = bar/base modules-center = mpd -modules-right = vpncheck eth wlan bbswitch xbacklight volume battery date +modules-right = mail todo vpncheck eth wlan bbswitch xbacklight volume battery shortdate tray-position = right tray-padding = 2 @@ -84,7 +84,7 @@ tray-transparent = false [bar/secondary] inherit = bar/base -modules-right = cpu memory temperature vpncheck ethMore wlanMore filesystem bbswitch xbacklight volume date +modules-right = cpu memory temperature vpncheck ethMore wlanMore filesystem linuxmismatch bbswitch xbacklight volume date [module/filesystem] @@ -176,12 +176,35 @@ toggle-off-foreground = #55 [module/bbswitch] type = custom/script -exec = grep -o '\w\+$' /proc/acpi/bbswitch +exec = ~/.config/polybar/bbswitch exec-if = test -f /proc/acpi/bbswitch interval = 5 -prefix = +format-prefix =  format-foreground = ${theme.redF} +[module/todo] +type = custom/script +exec = ~/.config/polybar/todo +interval = 30 +format-prefix =  +format-foreground = ${theme.yellowF} + +[module/mail] +type = custom/script +exec = cat ~/.cache/mutt/status +interval = 1 +format-prefix =  +format-foreground = ${theme.magentaF} +; format-background = ${theme.magentaB} + +[module/linuxmismatch] +type = custom/script +exec = echo  +exec-if = ~/.config/polybar/linuxmismatch +interval = 30 +format-foreground = ${theme.yellowF} +; format-background = ${theme.yellowF} + [module/xbacklight] type = internal/xbacklight output = ${env:display:LVDS1} @@ -201,7 +224,7 @@ card = intel_backlight [module/cpu] type = internal/cpu -interval = 0.5 +interval = 1 format = format-foreground = ${theme.redF} ramp-coreload-0 = ▁ @@ -215,7 +238,7 @@ ramp-coreload-7 = █ [module/memory] type = internal/memory -interval = 2 +interval = 1 format-foreground = ${theme.greenF} label =  %gb_free% @@ -229,7 +252,7 @@ format-foreground = ${theme.blueF} [module/eth] type = internal/network interface = ${env:ethI:eth0} -interval = 1 +interval = 5 format-connected =  label-connected = %local_ip% @@ -244,7 +267,7 @@ label-connected = ↑%upspeed% ↓%downspeed% [module/wlan] type = internal/network interface = ${env:wlanI:wlan0} -interval = 1 +interval = 5 format-connected =  label-connected = %local_ip% %essid% @@ -281,6 +304,11 @@ format-foreground = ${theme.cyanF} label = %date% %time% +[module/shortdate] +inherit = module/date +date = " %d/%m" + + [module/volume] type = internal/volume @@ -307,11 +335,12 @@ label-full =  format-charging = format-charging-foreground = ${theme.yellowF} +format-charging-prefix =  label-charging = %percentage%% (%time%) format-discharging = format-discharging-foreground = ${self.format-charging-foreground} -format-discharging-background = ${theme.redB} +; format-discharging-background = ${theme.redB} label-discharging = %percentage%% (%time%) format-full-prefix = " " diff --git a/config/polybar/linuxmismatch b/config/polybar/linuxmismatch new file mode 100755 index 0000000..a36e5fe --- /dev/null +++ b/config/polybar/linuxmismatch @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +if ! which pacman &> /dev/null +then + exit 1 +fi + +packageVersion=$(pacman -Q linux | cut -d' ' -f2) +runningVersion=$(uname -r) + +if echo "$runningVersion" | grep "^$packageVersion" &> /dev/null +then + exit 1 +else + exit 0 +fi + diff --git a/config/polybar/todo b/config/polybar/todo new file mode 100755 index 0000000..e739acd --- /dev/null +++ b/config/polybar/todo @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +CALDIR="$HOME/.vdirsyncer/currentCalendars" + +function status() { + ls "$CALDIR" | while read account + do + displayname="$(cat "$CALDIR/$account/displayname")" + color="$(cat "$CALDIR/$account/color")" + nb="$(todo list "$displayname" | grep -v "^$" | wc -l)" + + if [ $nb -gt 0 ] + then + echo -n " %{F$color}$nb%{F-}" + fi + done + # Newline to tell polybar to update in any case + echo +} + +status diff --git a/config/systemd/user/default.target.wants/dunst.service b/config/systemd/user/default.target.wants/dunst.service new file mode 120000 index 0000000..b24d3b1 --- /dev/null +++ b/config/systemd/user/default.target.wants/dunst.service @@ -0,0 +1 @@ +/usr/lib/systemd/user/dunst.service \ No newline at end of file diff --git a/config/systemd/user/default.target.wants/mpd.service b/config/systemd/user/default.target.wants/mpd.service new file mode 120000 index 0000000..0524f66 --- /dev/null +++ b/config/systemd/user/default.target.wants/mpd.service @@ -0,0 +1 @@ +/usr/lib/systemd/user/mpd.service \ No newline at end of file diff --git a/config/systemd/user/default.target.wants/offlineimap.service b/config/systemd/user/default.target.wants/offlineimap.service new file mode 120000 index 0000000..aacc641 --- /dev/null +++ b/config/systemd/user/default.target.wants/offlineimap.service @@ -0,0 +1 @@ +/usr/lib/systemd/user/offlineimap.service \ No newline at end of file diff --git a/config/systemd/user/default.target.wants/syncthing.service b/config/systemd/user/default.target.wants/syncthing.service index eae00f7..d55cc27 120000 --- a/config/systemd/user/default.target.wants/syncthing.service +++ b/config/systemd/user/default.target.wants/syncthing.service @@ -1 +1 @@ -/home/geoffrey/.local/share/systemd/user/syncthing.service \ No newline at end of file +/usr/lib/systemd/user/syncthing.service \ No newline at end of file diff --git a/config/systemd/user/timers.target.wants/vdirsyncer.timer b/config/systemd/user/timers.target.wants/vdirsyncer.timer index eed4fe0..cc84adf 120000 --- a/config/systemd/user/timers.target.wants/vdirsyncer.timer +++ b/config/systemd/user/timers.target.wants/vdirsyncer.timer @@ -1 +1 @@ -/home/geoffrey/.local/share/systemd/user/vdirsyncer.timer \ No newline at end of file +/usr/lib/systemd/user/vdirsyncer.timer \ No newline at end of file diff --git a/config/todoman/todoman.conf b/config/todoman/todoman.conf index 677aa91..74a4616 100644 --- a/config/todoman/todoman.conf +++ b/config/todoman/todoman.conf @@ -1,4 +1,4 @@ [main] -path = ~/.vdirsyncer/calendars/* -default_list = perso +path = ~/.vdirsyncer/currentCalendars/* +default_list = Personnel humanize = True diff --git a/scripts/install-prefs b/scripts/install-prefs index 365eab9..e718c0a 100755 --- a/scripts/install-prefs +++ b/scripts/install-prefs @@ -168,8 +168,8 @@ function altInst { } function systemdUserUnit { - mkdir -p ~/.local/share/systemd - ln -s /usr/lib/systemd/user/vdirsyncer.timer ~/.local/share/systemd/ + systemctl enable "$1" + systemctl start "$1" } # Common CLI @@ -325,9 +325,8 @@ if [ $EXTRA == 1 ]; then inst cmake clang llvm npm # Extra CLI - inst ffmpeg youtube-dl optipng syncthing ccache - systemdUserUnit syncthing.service - + inst ffmpeg youtube-dl optipng syncthing ccache mutt + systemdUserUnit syncthing.service if [ $ARCH == 1 ]; then inst jq altInst pdftk translate-shell git-lfs js-beautify insect visidata-git @@ -335,8 +334,7 @@ if [ $EXTRA == 1 ]; then # Orga # TODO For others inst vdirsyncer khard - altInst khal todoman - systemdUserUnit vdirsyncer.service + altInst khal todoman offlineimap systemdUserUnit vdirsyncer.timer else # translate-shell diff --git a/scripts/rep b/scripts/rep index a7b2d84..789f25f 100755 --- a/scripts/rep +++ b/scripts/rep @@ -2,7 +2,7 @@ # Moves a file to another place and put a symbolic link in place -function proxy_help { +function rep_help { echo "Usage: $0 SOURCE DEST" echo echo "Arguments:" @@ -17,9 +17,9 @@ ln -s "$2" "$1" # MAIN command="$1" shift -if type "proxy_$command" &> /dev/null; then - "proxy_$command" "$@" +if type "rep_$command" &> /dev/null; then + "rep_$command" "$@" else - proxy_help + rep_help fi diff --git a/vimrc b/vimrc index c709f72..487093a 100644 --- a/vimrc +++ b/vimrc @@ -36,6 +36,7 @@ Plugin 'tomtom/tcomment_vim' Plugin 'Shougo/denite.nvim' Plugin 'tomlion/vim-solidity' Plugin 'godlygeek/tabular' +Plugin 'jrozner/vim-antlr' call vundle#end() " required filetype plugin indent on " required From 7fceb52f1dd8482b8d5fe942c5662493797cad18 Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Sun, 15 Apr 2018 16:29:27 +0200 Subject: [PATCH 6/8] urxvt <3 --- Xresources | 1 + Xresources.d/urxvt | 56 +++++++++++++++++++++++++++++++++ bashrc | 1 + config/compton.conf | 53 ------------------------------- config/i3/config | 7 +++-- scripts/install-prefs | 2 +- scripts/pdfpages | 4 +++ terminfo/rxvt-unicode | Bin 0 -> 2213 bytes terminfo/rxvt-unicode-256color | Bin 0 -> 2239 bytes 9 files changed, 67 insertions(+), 57 deletions(-) create mode 100644 Xresources.d/urxvt delete mode 100644 config/compton.conf create mode 100755 scripts/pdfpages create mode 100644 terminfo/rxvt-unicode create mode 100644 terminfo/rxvt-unicode-256color diff --git a/Xresources b/Xresources index ebdba57..6a06d00 100644 --- a/Xresources +++ b/Xresources @@ -1,3 +1,4 @@ #include ".Xresources.d/xft" #include ".Xresources.d/theme" #include ".Xresources.d/xterm" +#include ".Xresources.d/urxvt" diff --git a/Xresources.d/urxvt b/Xresources.d/urxvt new file mode 100644 index 0000000..53f39b1 --- /dev/null +++ b/Xresources.d/urxvt @@ -0,0 +1,56 @@ +! Scrollback position +! TODO Do not work + +! do not scroll with output +URxvt*scrollTtyOutput: false + +! scroll in relation to buffer (with mouse scroll or Shift+Page Up) +URxvt*scrollWithBuffer: true + +! scroll back to the bottom on keypress +URxvt*scrollTtyKeypress: true + + +! Scrollback buffer in secondary screen +! TODO Do not work +URxvt.secondaryScreen: 1 +URxvt.secondaryScroll: 0 + + +! Font declaration +URxvt.font: xft:DejaVu Sans Mono for Powerline:size=12:antialias=true + +! Font spacing +URxvt.letterSpace: 0 + +! No scroll bar +URxvt*scrollBar: false + +! Disable Ctrl+Shift default bindings +URxvt.iso14755: false +URxvt.iso14755_52: false + +! Copy/Paste CLIPBOARD selection with Ctrl+Shift+C/V +URxvt.keysym.C-S-C: eval:selection_to_clipboard +URxvt.keysym.C-S-V: eval:paste_clipboard + + +! Extensions +URxvt.perl-ext-common: default,matcher,resize-font + +! Clickable URL (extension: matcher) +URxvt.url-launcher: /usr/bin/xdg-open +URxvt.matcher.button: 1 + +! Changing font size on the fly (extension: resize-font, package: urxvt-resize-font-git) +URxvt.keysym.C-KP_Subtract: resize-font:smaller +URxvt.keysym.C-KP_Add: resize-font:bigger + +! Fake transparency (without compositing manager) +urxvt*transparent: true +urxvt*shading: 30 + +! True transparency (with compositing manager) +!urxvt*depth: 32 +!urxvt*background: rgba:2700/2800/2200/c800 + diff --git a/bashrc b/bashrc index 371fe0f..37a045a 100644 --- a/bashrc +++ b/bashrc @@ -119,6 +119,7 @@ export PS1="\[\e]2;\u@\h \w\a\]\[\e[0;37m\][\[\e[0;${col}m\]\u\[\e[0;37m\]@\[\e[ export PS2="> " export PS3="+ " export PS4="- " +export PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}:${PWD}\007"' # CUSTOM SCRIPTS diff --git a/config/compton.conf b/config/compton.conf deleted file mode 100644 index 34eb7df..0000000 --- a/config/compton.conf +++ /dev/null @@ -1,53 +0,0 @@ -shadow = false; -no-dnd-shadow = true; -no-dock-shadow = true; -clear-shadow = true; - -menu-opacity = 0.9; -inactive-opacity = 0.93; -active-opacity = 1; -alpha-step = 0.01; -inactive-dim = 0.0; -blur-background = false; -blur-kern = "3x3box"; - -fading = false; -fade-delta = 1; -fade-in-step = 0.03; -fade-out-step = 0.03; -fade-exclude = [ ]; - -backend = "xrender"; -mark-wmwin-focused = true; -mark-ovredir-focused = true; -detect-rounded-corners = true; -detect-client-opacity = true; -unredir-if-possible = true; -refresh-rate = 0; -vsync = "none"; -dbe = false; -paint-on-overlay = true; -focus-exclude = [ "class_g = 'Cairo-clock'" ]; -detect-transient = true; -detect-client-leader = true; -invert-color-include = [ ]; -glx-copy-from-front = false; -glx-swap-method = "undefined"; - -wintypes : -{ - tooltip : - { - fade = true; - shadow = false; - opacity = 0.75; - focus = true; - }; - fullscreen : - { - fade = true; - shadow = false; - opacity = 1; - focus = true; - }; -}; diff --git a/config/i3/config b/config/i3/config index 77b5749..19298d7 100644 --- a/config/i3/config +++ b/config/i3/config @@ -46,7 +46,7 @@ bindsym $mod+dollar exec --no-startup-id ~/.config/i3/sshmenu root bindsym $mod+d exec --no-startup-id ~/.config/i3/dmenu_run # Start Applications -bindsym $mod+Return exec xterm +bindsym $mod+Return exec urxvtc bindsym $mod+p exec thunar bindsym $mod+m exec qutebrowser --override-restore --backend=webengine @@ -59,8 +59,8 @@ bindsym $mod+F7 exec pactl suspend-sink @DEFAULT_SINK@ 1; exec pactl suspend-sin bindsym $mod+F8 exec mpc prev bindsym $mod+F9 exec mpc toggle bindsym $mod+F10 exec mpc next -bindsym $mod+F11 exec xterm -e 'pacmixer' -bindsym $mod+F12 exec xterm -e 'pacmixer' +bindsym $mod+F11 exec urxvtc -e 'pacmixer' +bindsym $mod+F12 exec urxvtc -e 'pacmixer' #Brightness control bindsym XF86MonBrightnessDown exec xbacklight -dec 20 @@ -362,6 +362,7 @@ bindsym $mod+F5 exec --no-startup-id xautolock -enable # Autostart applications #exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 # Password remembering #exec --no-startup-id gnome-keyring-daemon # Password remembering +exec --no-startup-id urxvtd -q -f # urxvt daemon exec --no-startup-id numlockx on # Activate Num lock exec --no-startup-id unclutter # Hide mouse cursor after some time #exec --no-startup-id dunst # Notifications (handled by systemd) diff --git a/scripts/install-prefs b/scripts/install-prefs index e718c0a..314a063 100755 --- a/scripts/install-prefs +++ b/scripts/install-prefs @@ -252,7 +252,7 @@ fi if [ $GUI == 1 ]; then # Desktop manager - inst i3 i3lock dunst unclutter xautolock feh numlockx scrot xterm xclip + inst i3 i3lock dunst unclutter xautolock feh numlockx scrot rxvt-unicode xclip curl "https://raw.githubusercontent.com/FortAwesome/Font-Awesome/a8386aae19e200ddb0f6845b5feeee5eb7013687/fonts/fontawesome-webfont.ttf" > ~/.local/share/fonts/fontawesome-webfont.ttf if [ $ARCH == 1 ]; then inst xorg-xinit diff --git a/scripts/pdfpages b/scripts/pdfpages new file mode 100755 index 0000000..e805435 --- /dev/null +++ b/scripts/pdfpages @@ -0,0 +1,4 @@ +#!/usr/bin/bash + +# From https://stackoverflow.com/a/14736593 +pdftk "$1" dump_data | grep NumberOfPages | awk '{print $2}' diff --git a/terminfo/rxvt-unicode b/terminfo/rxvt-unicode new file mode 100644 index 0000000000000000000000000000000000000000..7650d3cfe25183d4d8a251406a8fdee3b5f3f96d GIT binary patch literal 2213 zcmb_cO=w(I6h8O8j8#iP5m7s&rrKNEv`yyy&5zIgwoOA!ZD}kHO;eh5@-ykoWHOoj z&qV2>f_6~^!3uVv2-#F9qG)m9-@--R2!g9_-T8wcbRp00oHt{WCPgZ~;e7Y|&OPVe z`|de!wkwYs>1isey^+$wT=~FkA$x8rGg?_In#!Z4e6}#0Yub};dL>)POwBh9EY6fi z^Lt4t`p1M2G=2=~I6X*D!VzqE($u+QGyk2y2(pL_YM{qyJ3T|YsTm%RdZ?HBX#o5r zjR41JlFGC|74Qpmk=~@sU_o$2@G5;kt8|S%r5p4WJm1p~^b_3z`;~sDKP9F`*(wO) zFn*F4+hARydsM$Vq0;J%%BV?IRCB7LE~wWrcL{b`y{+DrxFEQy-d7*ic(~F=TvgZA z4fTz>seV+q)X(ZSb-R{f7!Md*jUaf$cnlZ>M~pt>q>(mG8AHZL@LV@O7Jm?YW_)3M zX?$yZC;BFEo5>lEnor2sD9E1rv%`EAzUMah>+_qB`w?%Mamn(5o#tV)Pt;4m0bxOq zu8q9LX>-J!FbihcTryuXFPfLkx7N&VzRQ2}zH^`JzGtqQ*UV4M&yn}F$Cn{-L9?iSHspw82wbFF|sqFBU@-2MF(|O7cHIfbFc^wPs{^};%AFNeV8>e95rng0yTP4B z0Fv_jdT=NBP`rlk_^$8yaX;n93BjabiqVcSid%9HLB-i6@wIzvr)V2o^6GqXLXOr6pFli(G9d$X(qAXM ztW5EWLSC*Du1gl?GI)S<7{klCuZu|{t=1nIiYB-tH-7Iq_g-_+)5Mjq^m3xA+fk1}CyCEQ_ROO)gHCPQs_HgfcJ-(P zJEGz><%+UuDlWG5*#l?Ag`q5rT-7yi0<~t(@Gpk{nws&2?dzt$ E0c9C}>i_@% literal 0 HcmV?d00001 diff --git a/terminfo/rxvt-unicode-256color b/terminfo/rxvt-unicode-256color new file mode 100644 index 0000000000000000000000000000000000000000..3f43d0d567f4bc450e2354e00fde5760e82074a3 GIT binary patch literal 2239 zcmb_cO=w(I6h8O8j8#iPDWZ0WPPMl`X_L&m?`LLwCex&C8e;lGV{vGj(j+rUCY`^` zy!_9k(nSUBq6mTtcA*H_R4AfoapB*>McoL3t8U%-gCKMv&vVXuW0NLDD!$=-_dDM` z=idA7Id67|OV1v=E!mds8ut ziE&UZwl@=dC11*x=VL>QH7{4(2SUI<#stvEAAx|A@Gv}uiof9j;a}WLzZ)3AEC3B! z;0f3P&%thJL&b(Z=!ZcVLVg;?5GP<7JXnA_@=I_T-hivfeE%KBYw!WA!gcr*Zo*fn zd=EdsPjDOAukbtk$uS*53Ey|n=t<((h1SDCGi^0T|v7l z-V*O}obO)~?~4yZ9;~zxSH%r+Q+y+Ci66yn@w50%+zB%@?ICTe=KGIn+Yx>Ls5YRT z)-u`|ZAAMBl^fc}to#0F+85fF+PB(w?B7D%rc=h_`jb4iGLq7Kp3$F2ZO;b1IluXM z0OJka;Vc*NpngOjVDC8M5HsJ;gd?qSRv*)+^pfuBOZuz&W&Mi&=9<~fclmGX+Yh+z zd-|$=UH?S?9P_^B+}$m&x2)g$mwSAg{bLhteb&EwcfvLPYS|hIqMwemMs`MIWD9JA z=&;PoiXpSEtSFhSqF_!U^hbx)0FE!A(HKS@y-S0Hes~n6ezdf*3;4MqF;s!wDRd5@ z^#r1;Y*J359fRnIa<@QqZyY_lh+q(;jkuMfAd4VD5`#sIkD0-oUUZ7VPz`emC|LxG z;}s{Q?WtWas(5EN2I1LoyWyP`1WYQ@>!F;WL(v+p=~}MsI&R8!9M_1);{*nRmBP2- zwGU$MAY4Q=R}knJ$#V#XL9Svn6mf$C42!wVm|#pYrU+G>kY&y}jGjXh$A|aU4bd)? z_|@s+m>g>oIsq$mGA2V!GT0=vEKkvjOkQphs!JZtBCrw0aSSf!fi5PAX<>h4A)26$ z;3KAG#gU$CNLM0NNUeYxvSP|Q`ia1|klF!FAWcfQNEs>VVS~sVmRhxKJn*i=|SzT&c{=RI9a`=grQ}&CSm*EG#ZAEiEtC z>y5_BN_$U7@BTvv4#$s7_2sFr&!D9f)OhJc0dSyVouD`2%9^{7aYd8F41xrKBFLgS zL~H`ONX0#%I74ww6_;0W4=C;dGgz7HZ*sgD^bCD=c%}GNW=|n?N(k7biWVj_Q?8Z5 zk7C4fxu$M)a_j}V<7LOTO}io6X8T`f2UsD@?Vf%aGZv^{@0RR91 literal 0 HcmV?d00001 From df61fbfd3a9ff0fd507f82c0bdbe0ab4851e2136 Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Sun, 15 Apr 2018 16:31:27 +0200 Subject: [PATCH 7/8] r --- terminfo/{ => r}/rxvt-unicode | Bin terminfo/{ => r}/rxvt-unicode-256color | Bin 2 files changed, 0 insertions(+), 0 deletions(-) rename terminfo/{ => r}/rxvt-unicode (100%) rename terminfo/{ => r}/rxvt-unicode-256color (100%) diff --git a/terminfo/rxvt-unicode b/terminfo/r/rxvt-unicode similarity index 100% rename from terminfo/rxvt-unicode rename to terminfo/r/rxvt-unicode diff --git a/terminfo/rxvt-unicode-256color b/terminfo/r/rxvt-unicode-256color similarity index 100% rename from terminfo/rxvt-unicode-256color rename to terminfo/r/rxvt-unicode-256color From 4a7b5985a61081fd973e91e22828e1ae5eb5c843 Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Sun, 15 Apr 2018 18:28:26 +0200 Subject: [PATCH 8/8] Just in case --- terminfo/a/alacritty | Bin 0 -> 2376 bytes terminfo/a/alacritty-256color | Bin 0 -> 2402 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 terminfo/a/alacritty create mode 100644 terminfo/a/alacritty-256color diff --git a/terminfo/a/alacritty b/terminfo/a/alacritty new file mode 100644 index 0000000000000000000000000000000000000000..d02394cd0f368493f0388e36e8b1105b1a78fe64 GIT binary patch literal 2376 zcma)6U1(fI6rQ;=Ym8zQrC_+WR_xePwYhih+}*vsF{@3hF-_QLw8m}&NwfLcWV78Q z+a~E|qo5*1P{aoj9~4Cd`%sXIRS{OopTE7?ZwBn7&f7%7g7&J`+^rR5z>N(j~e2tag3g8!8E1HBdEUWoc8|Ev>K zaB>S&w~_7SA+m?;1&4_AkY3VHUI6|g8HYSYN@S5NYxkGQtK>9!6ZnVZ6Y?40S#pk? zCl|;i@&ow^+E>U`a*h10N7w5u)GVnDaGT}#1MalEUf)e0p^_%)KH5nS&>q@P57VP` z82ZN`3baJ$=>lB={u(_^-)`2e|J3*BN4n<>Jx9N#7wKjCEB%B1MX%FUTaj>Doh{Bi z&MwDuuy((5(CK#uoadcE=L=B2(rUx?>t^c$uY!}+JFHpUrbtc9&tHq*LY*WBH# zY-2mvF5TJ-Ikb95v%g;NVo$RyJIsbyo=vlPR%NfSH`qJuefBXs!#-!{+4t-cyUc!J zzq3EtHFks5SqtC7xAOb=gZyD0@R)b;Lwtbe_$Z&^vwV@i#9!xc@pt(L{8N6Gf62e& z7x|C;XTF&)SR3;jzrwHbRZbGEiMtYO`pvAgfj+;1c5}^U_>%RgCB8|xxg(^7+(F!& zD2TEz^06pOk)H!0n1Iyn=421xAqYe}>Zvtq3cAT{Aaz4zWLShJ0>qa^-JFC*7sL}r zjAe*QKSUpKcYA>03?v^@#`jb-36sj$i@gdc5@m%IX=JHpQpoh02f=1PhMPl8d%)B( zXn3e1$WoU|U6u(acXs%m*WL-kVZCndfikclR!|4g2}-a2ieQDfSuoGydZmx8XCR)1 z7y!i&LCN_kozpr;n573f+l>s#0U$}#ad;Lt!;dAnBEYs}&DNNCGybIe7<9pB1bX3` z;0EZA#dT=X*C6PlmB$+dSEiNT2Eher1?Se}xdy?x3lIuZSRmLtii4!6`Ze*W$R8u_ zs5=BF(*h&@vr%af?X}1gH-#6WkBE#YN1_79E5_hpMC|4~)RLkS`yxgf0+ohJpvq8R zlmoF0?UZRNprN5DplK1q5qFbT*tCOWcz9%Fe0*Y}P?(yUo-P(=W=f^w$IIo}*}1v- z`AX%)iIXQ678VzmmQJ0jR+pD+wG}*sBM_Ms?r0_jXP~g*KNTBHTZ{~Xx7NYiU|>-h^y9#I z2gW-v-huVjy9eF|(-tFx;B9snOzfT*RCZjfjJGo0N_*qa72HYqHOpf=S%Q=ix!Ch% zpu%J-9Sx0wgb_rsir`M!`#q#${XF8iiDUcp8<1gG6MNt-c%D}i?LzLAgY9@rtN+uZ zHtunc;%qPz+!xFp5cm#!QBBuGho}U4Vlk#AKdH5-(GSm1j0JG0W_kJ6Sg IdbO_pUk}w;Gynhq literal 0 HcmV?d00001 diff --git a/terminfo/a/alacritty-256color b/terminfo/a/alacritty-256color new file mode 100644 index 0000000000000000000000000000000000000000..a76418fddfc1a3f7ee6bbfa1cf648641e2730c33 GIT binary patch literal 2402 zcma)6U1(fI6rQ;=Yph}wMKD}jBX(@5Ho151y}NsRV^*71W16thXpP+llJ4eblg(zc zyKRzgHVP_I1Vwxh@j+2Uunz^PXho|}?Sn``1ocUTg4CBj6zNN3J!fWi(_n;zob!G2 z&75!M&d=_&I>`=lC&|;b*mz+)Th3Rj%ll*y&(0U-%PSo%tz$7?o$i2+4%Jg3gsOi8 zASxrle`pN>zZK#>h{hKGj1^RHatlVzB^y}Q-lX!NqDS(+VTqb$c}S%uZuE9?#S z4tt+{%+9dS*?IOoyTmTDU)b;LPj-#nU=7yBxAS}X{rn;R2={ozd--8L%riX8XZQkN z;xF;n`CI&5{sI4#pXFcj@AyUjBmbFizX(M+KJ0tR<b#?Ab3-d`s|GC2RsacXhuD?PIW;axecT~ zh?EQp@I-*PvY?vN(CCGDLW_|MP#J<4B=#N$FqnhnVoJG=A5O!hGIAoP3W`M8$BHDf zL@W8o)S5@Y<^YDBK}~tU)Y5Bu_yv%qDwV1%6-@8yb{(gy2ZqCX?aYHEU|!@y9YhZ( z1L`ZhRbr>XJdNv>F1DV5cot$96gL1R<0e#2svKgL4&-znG9(9q#8JoLY1|AqlHiH} z+mhB>qvuVz)AnP~1)t%mg)4#^pgtDYp~zs9ppQ}>ZxURYQU;m?7oZfJTao9Q1n15} z_?Ut`!QLzmlA`9;#XgZcPVB5b3MbPBBmT2dNf6Do$Pqh%7h#ZylqiLw3dbuZ;9x{# zXB^bxq8hm(LK*;-no6L)rmiS?Vg=d>-S&Y7nkIlIMFdCON4CMH9U^06}DQ?=U4O1-{{hj0`kmB1ZMCE)DS zPeR~sdJ!HLo(U)j>ik-wIz-(HS|aYJ#7mNqzA45Nf?~KP2yjyn^kp$+34=+4p+@N# zgz?JJEJ*rhToh>UKzj$;J22knDn=TU21AYDt#s)c^bGnM-6*cT%x2L^5UWDwNF zUU&q9z5`d(l6BE7s-BuyOeo2XD=lpH b!!r~U9vrG(o_Yow%l%EtU1vkRzoGtLgl%Dg literal 0 HcmV?d00001