dotfiles

configuration files for shell, text editor, graphical environment, etc.
git clone git://src.adamsgaard.dk/dotfiles
Log | Files | Refs | README | LICENSE Back to index

commit d976dab455762780b893c6d3ca5cd62f918f6acf
parent c843c48fed866295b74896c837911a0f423e5667
Author: Anders Damsgaard <anders@adamsgaard.dk>
Date:   Mon, 10 Sep 2018 14:44:22 +0200

Swap keys for syncing all inboxes and current account, fix tmux conflict

Diffstat:
Mlinks/.Xresources | 8++++----
Mlinks/.i3/config | 12++++++------
Mlinks/.mutt/muttrc | 14+++++++-------
Alinks/.ncmpcpp/bindings | 582++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mlinks/.ncmpcpp/config | 30+-----------------------------
Mlinks/.tmux.conf | 1+
Mlinks/.xinitrc | 2+-
Alinks/bin/jupiter-order-download.sh | 7+++++++
Mlinks/bin/sync-music-idkfa.sh | 6+++++-
9 files changed, 614 insertions(+), 48 deletions(-)

diff --git a/links/.Xresources b/links/.Xresources @@ -90,8 +90,8 @@ URxvt.keysym.C-0: command:\033]710;xft:PragmataPro:size=20\007\033]711;xft:Pragm ! looks good with PragmataPro !URxvt.letterSpace: -2 -!URxvt.letterSpace: -1 -URxvt.letterSpace: 0 +URxvt.letterSpace: -1 +!URxvt.letterSpace: 0 !urxvt*font: -*-lemon-*-*-*-*-*-*-*-*-*-*-*-* !urxvt*boldFont: -*-lemon-*-*-*-*-*-*-*-*-*-*-*-* @@ -107,8 +107,8 @@ URxvt.letterSpace: 0 !urxvt*boldfont: -*-termsynu-bold-r-*-*-13-*-*-*-*-*-*-* !urxvt*font: xft:DejaVu Sans Mono for Powerline:size=8 !urxvt*boldfont: xft:DejaVu Sans Mono for Powerline:size=8 -URxvt*font: xft:PragmataPro:size=13 -URxvt*boldFont: xft:PragmataPro:size=13:style=Bold +URxvt*font: xft:PragmataPro:size=10 +URxvt*boldFont: xft:PragmataPro:size=10:style=Bold !urxvt*boldfont: xft:DejaVu Sans Mono Bold for Powerline:size=8 ! shading: 0-99 darkens, 101-200 lightens diff --git a/links/.i3/config b/links/.i3/config @@ -10,12 +10,12 @@ # Please see http://i3wm.org/docs/userguide.html for a complete reference! # Super as modifier -set $mod Mod4 -set $alt Mod1 +#set $mod Mod4 +#set $alt Mod1 # Alt as modifier -#set $mod Mod1 -#set $alt Control +set $mod Mod1 +set $alt Control # Font for window titles. Will also be used by the bar unless a different font # is used in the bar {} block below. ISO 10646 = Unicode @@ -160,8 +160,8 @@ bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right # split in horizontal orientation -#bindsym $alt+l split h -bindsym $mod+Control+l split h +bindsym $alt+l split h +#bindsym $mod+Control+l split h # split in vertical orientation #bindsym $alt+j split v diff --git a/links/.mutt/muttrc b/links/.mutt/muttrc @@ -222,7 +222,7 @@ macro index,pager S "<enter-command>unset wait_key<enter>\ <save-message>=adamsgaard/Spam<enter>" "mark as spam" # sync all accounts -macro index <Esc>o "<enter-command>unset wait_key<enter><shell-escape>tmux split-window -p 25 \"offlineimap -qf INBOX\"; tmux select-pane -l<enter><enter-command>set wait_key<enter>" +macro index O "<enter-command>unset wait_key<enter><shell-escape>tmux split-window -p 25 \"offlineimap -qf INBOX\"; tmux select-pane -l<enter><enter-command>set wait_key<enter>" macro index <Esc>O "<enter-command>unset wait_key<enter><shell-escape>tmux split-window -p 25 \"offlineimap\"; tmux select-pane -l<enter><enter-command>set wait_key<enter>" # sync current inbox @@ -234,12 +234,12 @@ folder-hook gmail 'macro index o "<enter-command>unset wait_key<enter><shell-esc folder-hook geomail 'macro index o "<enter-command>unset wait_key<enter><shell-escape>tmux split-window -p 25 \"offlineimap -a geomail -qf INBOX\"; tmux select-pane -l<enter><enter-command>set wait_key<enter>"' # sync current account -folder-hook adamsgaard 'macro index O "<enter-command>unset wait_key<enter><shell-escape>tmux split-window -p 25 \"offlineimap -a adamsgaard\"; tmux select-pane -l<enter><enter-command>set wait_key<enter>"' -folder-hook riseup 'macro index O "<enter-command>unset wait_key<enter><shell-escape>tmux split-window -p 25 \"offlineimap -a riseup\"; tmux select-pane -l<enter><enter-command>set wait_key<enter>"' -folder-hook princeton 'macro index O "<enter-command>unset wait_key<enter><shell-escape>tmux split-window -p 25 \"offlineimap -a princeton\"; tmux select-pane -l<enter><enter-command>set wait_key<enter>"' -folder-hook noaa 'macro index O "<enter-command>unset wait_key<enter><shell-escape>tmux split-window -p 25 \"offlineimap -a noaa\"; tmux select-pane -l<enter><enter-command>set wait_key<enter>"' -folder-hook gmail 'macro index O "<enter-command>unset wait_key<enter><shell-escape>tmux split-window -p 25 \"offlineimap -a gmail\"; tmux select-pane -l<enter><enter-command>set wait_key<enter>"' -folder-hook geomail 'macro index O "<enter-command>unset wait_key<enter><shell-escape>tmux split-window -p 25 \"offlineimap -a geomail\"; tmux select-pane -l<enter><enter-command>set wait_key<enter>"' +folder-hook adamsgaard 'macro index <Esc>o "<enter-command>unset wait_key<enter><shell-escape>tmux split-window -p 25 \"offlineimap -a adamsgaard\"; tmux select-pane -l<enter><enter-command>set wait_key<enter>"' +folder-hook riseup 'macro index <Esc>o "<enter-command>unset wait_key<enter><shell-escape>tmux split-window -p 25 \"offlineimap -a riseup\"; tmux select-pane -l<enter><enter-command>set wait_key<enter>"' +folder-hook princeton 'macro index <Esc>o "<enter-command>unset wait_key<enter><shell-escape>tmux split-window -p 25 \"offlineimap -a princeton\"; tmux select-pane -l<enter><enter-command>set wait_key<enter>"' +folder-hook noaa 'macro index <Esc>o "<enter-command>unset wait_key<enter><shell-escape>tmux split-window -p 25 \"offlineimap -a noaa\"; tmux select-pane -l<enter><enter-command>set wait_key<enter>"' +folder-hook gmail 'macro index <Esc>o "<enter-command>unset wait_key<enter><shell-escape>tmux split-window -p 25 \"offlineimap -a gmail\"; tmux select-pane -l<enter><enter-command>set wait_key<enter>"' +folder-hook geomail 'macro index <Esc>o "<enter-command>unset wait_key<enter><shell-escape>tmux split-window -p 25 \"offlineimap -a geomail\"; tmux select-pane -l<enter><enter-command>set wait_key<enter>"' macro index K "<enter-command>unset wait_key<enter>\ <shell-escape>kill -9 $(ps aux|grep offlineimap|grep python|awk ' {print $2} ')<enter>" "kill all offlineimap processes" diff --git a/links/.ncmpcpp/bindings b/links/.ncmpcpp/bindings @@ -0,0 +1,582 @@ +########################################################## +## this is example bindings configuration file, copy it ## +## to ~/.ncmpcpp/bindings and set up your preferences ## +########################################################## +## +##### General rules ##### +## +## 1) Because each action has runtime checks whether it's +## ok to run it, a few actions can be bound to one key. +## Actions will be bound in order given in configuration +## file. When a key is pressed, first action in order +## will test itself whether it's possible to run it. If +## test succeeds, action is executed and other actions +## bound to this key are ignored. If it doesn't, next +## action in order tests itself etc. +## +## 2) It's possible to bind more that one action at once +## to a key. It can be done using the following syntax: +## +## def_key "key" +## action1 +## action2 +## ... +## +## This creates a chain of actions. When such chain is +## executed, each action in chain is run until the end of +## chain is reached or one of its actions fails to execute +## due to its requirements not being met. If multiple actions +## and/or chains are bound to the same key, they will be +## consecutively run until one of them gets fully executed. +## +## 3) When ncmpcpp starts, bindings configuration file is +## parsed and then ncmpcpp provides "missing pieces" +## of default keybindings. If you want to disable some +## bindings, there is a special action called 'dummy' +## for that purpose. Eg. if you want to disable ability +## to crop playlists, you need to put the following +## into configuration file: +## +## def_key "C" +## dummy +## +## After that ncmpcpp will not bind any default action +## to this key. +## +## 4) To let you write simple macros, the following special +## actions are provided: +## +## - push_character "character" - pushes given special +## character into input queue, so it will be immediately +## picked by ncmpcpp upon next call to readKey function. +## Accepted values: mouse, up, down, page_up, page_down, +## home, end, space, enter, insert, delete, left, right, +## tab, ctrl-a, ctrl-b, ..., ctrl-z, ctrl-[, ctrl-\\, +## ctrl-], ctrl-^, ctrl-_, f1, f2, ..., f12, backspace. +## In addition, most of these names can be prefixed with +## alt-/ctrl-/shift- to be recognized with the appropriate +## modifier key(s). +## +## - push_characters "string" - pushes given string into +## input queue. +## +## - require_runnable "action" - checks whether given action +## is runnable and fails if it isn't. This is especially +## useful when mixed with previous two functions. Consider +## the following macro definition: +## +## def_key "key" +## push_characters "custom_filter" +## apply_filter +## +## If apply_filter can't be currently run, we end up with +## sequence of characters in input queue which will be +## treated just as we typed them. This may lead to unexpected +## results (in this case 'c' will most likely clear current +## playlist, 'u' will trigger database update, 's' will stop +## playback etc.). To prevent such thing from happening, we +## need to change above definition to this one: +## +## def_key "key" +## require_runnable "apply_filter" +## push_characters "custom_filter" +## apply_filter +## +## Here, first we test whether apply_filter can be actually run +## before we stuff characters into input queue, so if condition +## is not met, whole chain is aborted and we're fine. +## +## - require_screen "screen" - checks whether given screen is +## currently active. accepted values: browser, clock, help, +## media_library, outputs, playlist, playlist_editor, +## search_engine, tag_editor, visualizer, last_fm, lyrics, +## selected_items_adder, server_info, song_info, +## sort_playlist_dialog, tiny_tag_editor. +## +## - run_external_command "command" - runs given command using +## system() function. +## +## 5) In addition to binding to a key, you can also bind actions +## or chains of actions to a command. If it comes to commands, +## syntax is very similar to defining keys. Here goes example +## definition of a command: +## +## def_command "quit" [deferred] +## stop +## quit +## +## If you execute the above command (which can be done by +## invoking action execute_command, typing 'quit' and pressing +## enter), ncmpcpp will stop the player and then quit. Note the +## presence of word 'deferred' enclosed in square brackets. It +## tells ncmpcpp to wait for confirmation (ie. pressing enter) +## after you typed quit. Instead of 'deferred', 'immediate' +## could be used. Then ncmpcpp will not wait for confirmation +## (enter) and will execute the command the moment it sees it. +## +## Note: while command chains are executed, internal environment +## update (which includes current window refresh and mpd status +## update) is not performed for performance reasons. However, it +## may be desirable to do so in some situration. Therefore it's +## possible to invoke by hand by performing 'update enviroment' +## action. +## +## Note: There is a difference between: +## +## def_key "key" +## action1 +## +## def_key "key" +## action2 +## +## and +## +## def_key "key" +## action1 +## action2 +## +## First one binds two single actions to the same key whilst +## second one defines a chain of actions. The behavior of +## these two is different and is described in (1) and (2). +## +## Note: Function def_key accepts non-ascii characters. +## +##### List of unbound actions ##### +## +## The following actions are not bound to any key/command: +## +## - set_volume +## +# +#def_key "mouse" +# mouse_event +# +#def_key "up" +# scroll_up +def_key "k" + scroll_up +# +#def_key "shift-up" +# select_item +# scroll_up +def_key "K" + select_item + scroll_up +# +#def_key "down" +# scroll_down +def_key "j" + scroll_down +# +#def_key "shift-down" +# select_item +# scroll_down +def_key "J" + select_item + scroll_down +# +#def_key "[" +# scroll_up_album +# +#def_key "]" +# scroll_down_album +# +#def_key "{" +# scroll_up_artist +# +#def_key "}" +# scroll_down_artist +# +#def_key "page_up" +# page_up +# +#def_key "page_down" +# page_down +def_key "ctrl-u" + page_up +def_key "ctrl-d" + page_down +# +#def_key "home" +# move_home +def_key "g" + move_home +# +#def_key "end" +# move_end +def_key "G" + move_end +# +#def_key "insert" +# select_item +# +#def_key "enter" +# enter_directory +def_key "l" + enter_directory +# +#def_key "enter" +# toggle_output +# +#def_key "enter" +# run_action +# +#def_key "enter" +# play_item +# +#def_key "space" +# add_item_to_playlist +# +#def_key "space" +# toggle_lyrics_update_on_song_change +# +#def_key "space" +# toggle_visualization_type +# +#def_key "delete" +# delete_playlist_items +def_key "d" + delete_playlist_items +# +#def_key "delete" +# delete_browser_items +def_key "d" + delete_browser_items +# +#def_key "delete" +# delete_stored_playlist +def_key "d" + delete_stored_playlist +# +#def_key "right" +# next_column +# +#def_key "right" +# slave_screen +# +#def_key "right" +# volume_up +def_key "l" + next_column +def_key "l" + slave_screen + +#def_key "+" +# volume_up +# +#def_key "left" +# previous_column +# +#def_key "left" +# master_screen +# +#def_key "left" +# volume_down +def_key "h" + previous_column +def_key "h" + master_screen +#def_key "-" +# volume_down +# +#def_key ":" +# execute_command +# +#def_key "tab" +# next_screen +# +#def_key "shift-tab" +# previous_screen +# +#def_key "f1" +# show_help +# +#def_key "1" +# show_playlist +# +#def_key "2" +# show_browser +# +#def_key "2" +# change_browse_mode +# +#def_key "3" +# show_search_engine +# +#def_key "3" +# reset_search_engine +# +#def_key "4" +# show_media_library +# +#def_key "4" +# toggle_media_library_columns_mode +# +#def_key "5" +# show_playlist_editor +# +#def_key "6" +# show_tag_editor +# +#def_key "7" +# show_outputs +# +#def_key "8" +# show_visualizer +# +#def_key "=" +# show_clock +# +#def_key "@" +# show_server_info +# +#def_key "s" +# stop +# +#def_key "p" +# pause +# +#def_key ">" +# next +# +#def_key "<" +# previous +def_key "n" + next +def_key "b" + previous + +#def_key "ctrl-h" +# jump_to_parent_directory +def_key "h" + jump_to_parent_directory +# +#def_key "ctrl-h" +# replay_song +# +#def_key "backspace" +# jump_to_parent_directory +# +#def_key "backspace" +# replay_song +# +#def_key "f" +# seek_forward +# +#def_key "b" +# seek_backward +# +#def_key "r" +# toggle_repeat +# +#def_key "z" +# toggle_random +# +#def_key "y" +# save_tag_changes +# +#def_key "y" +# start_searching +# +#def_key "y" +# toggle_single +# +#def_key "R" +# toggle_consume +# +#def_key "Y" +# toggle_replay_gain_mode +# +#def_key "T" +# toggle_add_mode +# +#def_key "|" +# toggle_mouse +# +#def_key "#" +# toggle_bitrate_visibility +# +#def_key "Z" +# shuffle +# +#def_key "x" +# toggle_crossfade +# +#def_key "X" +# set_crossfade +# +#def_key "u" +# update_database +# +#def_key "ctrl-s" +# sort_playlist +# +#def_key "ctrl-s" +# toggle_browser_sort_mode +# +#def_key "ctrl-s" +# toggle_media_library_sort_mode +# +#def_key "ctrl-r" +# reverse_playlist +# +#def_key "ctrl-_" +# select_found_items +# +#def_key "/" +# find +# +#def_key "/" +# find_item_forward +# +#def_key "?" +# find +# +#def_key "?" +# find_item_backward +# +#def_key "." +# next_found_item +# +#def_key "," +# previous_found_item +# +#def_key "w" +# toggle_find_mode +# +#def_key "e" +# edit_song +# +#def_key "e" +# edit_library_tag +# +#def_key "e" +# edit_library_album +# +#def_key "e" +# edit_directory_name +# +#def_key "e" +# edit_playlist_name +# +#def_key "e" +# edit_lyrics +# +#def_key "i" +# show_song_info +# +#def_key "I" +# show_artist_info +# +#def_key "g" +# jump_to_position_in_song +# +#def_key "l" +# show_lyrics +# +#def_key "ctrl-v" +# select_range +# +#def_key "v" +# reverse_selection +# +#def_key "V" +# remove_selection +# +#def_key "B" +# select_album +# +#def_key "a" +# add_selected_items +# +#def_key "c" +# clear_playlist +def_key "D" + clear_playlist +# +#def_key "c" +# clear_main_playlist +def_key "D" + clear_main_playlist +# +#def_key "C" +# crop_playlist +# +#def_key "C" +# crop_main_playlist +# +#def_key "m" +# move_sort_order_up +# +#def_key "m" +# move_selected_items_up +# +#def_key "m" +# set_visualizer_sample_multiplier +# +#def_key "n" +# move_sort_order_down +# +#def_key "n" +# move_selected_items_down +# +#def_key "M" +# move_selected_items_to +# +#def_key "A" +# add +# +#def_key "S" +# save_playlist +# +#def_key "o" +# jump_to_playing_song +# +#def_key "G" +# jump_to_browser +# +#def_key "G" +# jump_to_playlist_editor +# +#def_key "~" +# jump_to_media_library +# +#def_key "E" +# jump_to_tag_editor +# +#def_key "U" +# toggle_playing_song_centering +# +#def_key "P" +# toggle_display_mode +# +#def_key "\\" +# toggle_interface +# +#def_key "!" +# toggle_separators_between_albums +# +#def_key "L" +# toggle_lyrics_fetcher +# +#def_key "F" +# toggle_fetching_lyrics_in_background +# +#def_key "ctrl-l" +# toggle_screen_lock +# +#def_key "`" +# toggle_library_tag_type +# +#def_key "`" +# refetch_lyrics +# +#def_key "`" +# add_random_items +# +#def_key "ctrl-p" +# set_selected_items_priority +# +#def_key "q" +# quit +# diff --git a/links/.ncmpcpp/config b/links/.ncmpcpp/config @@ -5,37 +5,9 @@ mpd_host = "localhost" #mpd_host = "etlangtkodeord@192.168.2.7" mpd_port = "6600" -mpd_music_dir = "/home/music" +#mpd_music_dir = "/home/music" mpd_crossfade_time = "1" visualizer_in_stereo = "yes" #visualizer_in_stereo = "no" visualizer_fifo_path = "/tmp/mpd.fifo" visualizer_output_name = "my_fifo" -visualizer_type = "spectrum" # spectrum/wave -#visualizer_type = "wave" # spectrum/wave -song_list_format = "$3{%A }|{%a }$7{%b }$0{%t}| $4$R{%7l}$9" -now_playing_prefix = "$r" -now_playing_suffix = "$/r" -song_columns_list_format = "(30)[green]{a} (40)[]{t|f} (30)[cyan]{b}" -playlist_display_mode = "columns" -browser_display_mode = "columns" -search_engine_display_mode = "columns" -autocenter_mode = "yes" -centered_cursor = "yes" -progressbar_look = " " -user_interface = "alternative" -default_space_mode = "select" -header_visibility = "no" -statusbar_visibility = "no" -titles_visibility = "no" -follow_now_playing_lyrics = "yes" -store_lyrics_in_song_dir = "yes" -screen_switcher_mode = "sequence: 2 -> 3" -ignore_leading_the = "yes" -mouse_support = "no" -empty_tag_marker = "[empty]" -allow_physical_files_deletion = "yes" -allow_physical_directories_deletion = "yes" -main_window_color = "default" -main_window_highlight_color = "default" -visualizer_color = "blue" diff --git a/links/.tmux.conf b/links/.tmux.conf @@ -109,6 +109,7 @@ bind C-a last-pane # go to last pane with <C-a><C-a> bind -n M-s last-window # go to last pane with M-s bind -n M-a last-pane # go to last pane with M-a bind -r n next-window # next window with <C-a>n +bind -r b previous-window # next window with <C-a>p bind -n -r M-n next-window # next window with <M-n> bind -n -r M-b previous-window # previous window with <M-n> diff --git a/links/.xinitrc b/links/.xinitrc @@ -78,7 +78,7 @@ dunst & #eval `gnome-keyring-daemon --start --components=secrets` # possible components: gpg,pkcs11,secrets,ssh eval $(/usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh) export GPG_AGENT_INFO SSH_AUTH_SOCK -#eval $(ssh-agent) +eval $(ssh-agent) # Enable tap-to-click on touchpad synclient TapButton1=1 TapButton2=2 TapButton3=3 diff --git a/links/bin/jupiter-order-download.sh b/links/bin/jupiter-order-download.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -e +url="http://gerda.geus.dk/Gerda/PCJupiterXL/export?email=andam@mst.dk&filetype=POSTGRES&geusdbtype=PCJupiterXL&sqlwhere=(1=1)&dbfilename=PCJUPITERXLPLUS_full_$(date +%Y%m%d)&datum=euref89&utmzone=32&kote=dvr90&isPlusVersion=true" + +echo "$url" +echo +curl "$url" diff --git a/links/bin/sync-music-idkfa.sh b/links/bin/sync-music-idkfa.sh @@ -1,6 +1,10 @@ #!/bin/bash host=ad@idkfa.ucsd.edu:/home/ad/music/ -musicdir="$HOME/Music/iTunes/iTunes Media/Music/" +if [ "$(uname)" = "Darwin" ]; then + musicdir="$HOME/Music/iTunes/iTunes Media/Music/" +else + musicdir="$HOME/music/" +fi echo "syncing new music from $host" rsync -rav --progress -e "ssh" $host "$musicdir"