dotfiles

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 05f46122b5496e43c3725558c606df83530a6daf
parent 4d6173de466bcc466eb7acf8aeb091d5f88fe925
Author: Luke Smith <luke@lukesmith.xyz>
Date:   Fri, 29 Mar 2019 17:50:38 -0400

🦀 ranger is gone! 🦀

Diffstat:
M.config/bmfiles | 1-
D.config/getkeys/ranger | 35-----------------------------------
M.config/nvim/init.vim | 2+-
D.config/ranger/commands.py | 216-------------------------------------------------------------------------------
D.config/ranger/luke_ranger_readme.md | 85-------------------------------------------------------------------------------
D.config/ranger/rc.conf | 508-------------------------------------------------------------------------------
D.config/ranger/rifle.conf | 236-------------------------------------------------------------------------------
D.config/ranger/scope.sh | 120-------------------------------------------------------------------------------
D.config/ranger/shortcuts.conf | 0
M.scripts/i3cmds/tutorialvids | 1-
M.scripts/tools/shortcuts | 2+-
11 files changed, 2 insertions(+), 1204 deletions(-)

diff --git a/.config/bmfiles b/.config/bmfiles @@ -4,7 +4,6 @@ cfb ~/.bashrc cfa ~/.config/aliasrc cfz ~/.zshrc cfv ~/.config/nvim/init.vim -cfr ~/.config/ranger/rc.conf cfi ~/.config/i3/config cfm ~/.config/mutt/muttrc eb ~/Documents/LaTeX/uni.bib diff --git a/.config/getkeys/ranger b/.config/getkeys/ranger @@ -1,35 +0,0 @@ - _ __ __ _ _ __ __ _ ___ _ __ -| '__/ _` | '_ \ / _` |/ _ \ '__| -| | | (_| | | | | (_| | __/ | -|_| \__,_|_| |_|\__, |\___|_| - |___/ - -ranger is the file manager. - j/k - Down/up - h - Left/higher in directory structure - l - Right/open/lower in directory structure - gg - Go to top - G - Go to bottom - cw - Rename file - I - Rename file, with cursor at beginning - A - Rename file, with cursor at end - aa - Rename file, with cursor right before extension - mkd - Make directory - bg - Change background/wallpaper to selected file - X - Extract archive - Z - Compress into tar.gz - Space - Highlight/select file - va - Highlight/(de)select all - vs - Toggle visual selection mode - uv - Deselect all - dd - Cut file(s) - yy - Yank/copy file(s) - pp - Paste cut/copied file(s) - po - Paste cut/copied file(s), overwriting originals - cW - Rename all selected files in text editor - D - Delete file(s) (press enter to confirm) - dD - Delete file(s) (press enter to confirm) - ctrl-f - Fuzzy find (fzf) - ctrl-l - Search via mlocate - q - Quit - Q - Immediate quit diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim @@ -101,7 +101,7 @@ set clipboard=unnamedplus " Automatically deletes all trailing whitespace on save. autocmd BufWritePre * %s/\s\+$//e -" When shortcut files are updated, renew bash and ranger configs with new material: +" When shortcut files are updated, renew bash and vifm configs with new material: autocmd BufWritePost ~/.config/bmdirs,~/.config/bmfiles !shortcuts " Run xrdb whenever Xdefaults or Xresources are updated. diff --git a/.config/ranger/commands.py b/.config/ranger/commands.py @@ -1,216 +0,0 @@ -# This is a sample commands.py. You can add your own commands here. -# -# Please refer to commands_full.py for all the default commands and a complete -# documentation. Do NOT add them all here, or you may end up with defunct -# commands when upgrading ranger. - -# You always need to import ranger.api.commands here to get the Command class: -from ranger.api.commands import * - -# A simple command for demonstration purposes follows. -#------------------------------------------------------------------------------ - -# You can import any python module as needed. -import os - -# Any class that is a subclass of "Command" will be integrated into ranger as a -# command. Try typing ":my_edit<ENTER>" in ranger! -class my_edit(Command): - # The so-called doc-string of the class will be visible in the built-in - # help that is accessible by typing "?c" inside ranger. - """:my_edit <filename> - - A sample command for demonstration purposes that opens a file in an editor. - """ - - # The execute method is called when you run this command in ranger. - def execute(self): - # self.arg(1) is the first (space-separated) argument to the function. - # This way you can write ":my_edit somefilename<ENTER>". - if self.arg(1): - # self.rest(1) contains self.arg(1) and everything that follows - target_filename = self.rest(1) - else: - # self.fm is a ranger.core.filemanager.FileManager object and gives - # you access to internals of ranger. - # self.fm.thisfile is a ranger.container.file.File object and is a - # reference to the currently selected file. - target_filename = self.fm.thisfile.path - - # This is a generic function to print text in ranger. - self.fm.notify("Let's edit the file " + target_filename + "!") - - # Using bad=True in fm.notify allows you to print error messages: - if not os.path.exists(target_filename): - self.fm.notify("The given file does not exist!", bad=True) - return - - # This executes a function from ranger.core.acitons, a module with a - # variety of subroutines that can help you construct commands. - # Check out the source, or run "pydoc ranger.core.actions" for a list. - self.fm.edit_file(target_filename) - - # The tab method is called when you press tab, and should return a list of - # suggestions that the user will tab through. - def tab(self): - # This is a generic tab-completion function that iterates through the - # content of the current directory. - return self._tab_directory_content() - - -# https://github.com/ranger/ranger/wiki/Integrating-File-Search-with-fzf -# Now, simply bind this function to a key, by adding this to your ~/.config/ranger/rc.conf: map <C-f> fzf_select -class fzf_select(Command): - """ - :fzf_select - - Find a file using fzf. - - With a prefix argument select only directories. - - See: https://github.com/junegunn/fzf - """ - def execute(self): - import subprocess - if self.quantifier: - # match only directories - command="find -L . \( -path '*/\.*' -o -fstype 'dev' -o -fstype 'proc' \) -prune \ - -o -type d -print 2> /dev/null | sed 1d | cut -b3- | fzf +m" - else: - # match files and directories - command="find -L . \( -path '*/\.*' -o -fstype 'dev' -o -fstype 'proc' \) -prune \ - -o -print 2> /dev/null | sed 1d | cut -b3- | fzf +m" - fzf = self.fm.execute_command(command, stdout=subprocess.PIPE) - stdout, stderr = fzf.communicate() - if fzf.returncode == 0: - fzf_file = os.path.abspath(stdout.decode('utf-8').rstrip('\n')) - if os.path.isdir(fzf_file): - self.fm.cd(fzf_file) - else: - self.fm.select_file(fzf_file) -# fzf_locate -class fzf_locate(Command): - """ - :fzf_locate - - Find a file using fzf. - - With a prefix argument select only directories. - - See: https://github.com/junegunn/fzf - """ - def execute(self): - import subprocess - if self.quantifier: - command="locate home media | fzf -e -i" - else: - command="locate home media | fzf -e -i" - fzf = self.fm.execute_command(command, stdout=subprocess.PIPE) - stdout, stderr = fzf.communicate() - if fzf.returncode == 0: - fzf_file = os.path.abspath(stdout.decode('utf-8').rstrip('\n')) - if os.path.isdir(fzf_file): - self.fm.cd(fzf_file) - else: - self.fm.select_file(fzf_file) - -class fzf_bring(Command): - """ - :fzf_bring - - Find a file using fzf and bring it to the current directory. - - See: https://github.com/junegunn/fzf - """ - def execute(self): - import subprocess - if self.quantifier: - # match only directories - command="find -L . \( -path '*/\.*' -o -fstype 'dev' -o -fstype 'proc' \) -prune \ - -o -type d -print 2> /dev/null | sed 1d | cut -b3- | fzf +m" - else: - # match files and directories - command="find -L . \( -path '*/\.*' -o -fstype 'dev' -o -fstype 'proc' \) -prune \ - -o -print 2> /dev/null | sed 1d | cut -b3- | fzf +m" - fzf = self.fm.execute_command(command, stdout=subprocess.PIPE) - stdout, stderr = fzf.communicate() - if fzf.returncode == 0: - fzf_file = os.path.abspath(stdout.decode('utf-8').rstrip('\n')) - if os.path.isdir(fzf_file): - self.fm.cd(fzf_file) - else: - self.fm.select_file(fzf_file) - - -import os -from ranger.core.loader import CommandLoader - -class compress(Command): - def execute(self): - """ Compress marked files to current directory """ - cwd = self.fm.thisdir - marked_files = cwd.get_selection() - - if not marked_files: - return - - def refresh(_): - cwd = self.fm.get_directory(original_path) - cwd.load_content() - - original_path = cwd.path - parts = self.line.split() - au_flags = parts[1:] - - descr = "compressing files in: " + os.path.basename(parts[1]) - obj = CommandLoader(args=['apack'] + au_flags + \ - [os.path.relpath(f.path, cwd.path) for f in marked_files], descr=descr) - - obj.signal_bind('after', refresh) - self.fm.loader.add(obj) - - def tab(self): - """ Complete with current folder name """ - - extension = ['.zip', '.tar.gz', '.rar', '.7z'] - return ['compress ' + os.path.basename(self.fm.thisdir.path) + ext for ext in extension] - - - - -import os -from ranger.core.loader import CommandLoader - -class extracthere(Command): - def execute(self): - """ Extract copied files to current directory """ - copied_files = tuple(self.fm.copy_buffer) - - if not copied_files: - return - - def refresh(_): - cwd = self.fm.get_directory(original_path) - cwd.load_content() - - one_file = copied_files[0] - cwd = self.fm.thisdir - original_path = cwd.path - au_flags = ['-X', cwd.path] - au_flags += self.line.split()[1:] - au_flags += ['-e'] - - self.fm.copy_buffer.clear() - self.fm.cut_buffer = False - if len(copied_files) == 1: - descr = "extracting: " + os.path.basename(one_file.path) - else: - descr = "extracting files from: " + os.path.basename(one_file.dirname) - obj = CommandLoader(args=['aunpack'] + au_flags \ - + [f.path for f in copied_files], descr=descr) - - obj.signal_bind('after', refresh) - self.fm.loader.add(obj) - - - diff --git a/.config/ranger/luke_ranger_readme.md b/.config/ranger/luke_ranger_readme.md @@ -1,85 +0,0 @@ -# Luke's ranger setup - -## Basic Ranger shortcuts - -These are the basic key binds in ranger, even outside of my configs. Note that they are mostly vim-based. - -+ h/j/k/l -- Move left/down/up/right (where left moves up in the directory structure, right moves into a folder) -+ Space -- select/highlight file -+ dd -- cut selected files -+ yy -- copy/yank selected files -+ pp -- paste/move cut/copied files -+ / -- search, when (n/N) next/previos result -+ zh or CTRL-h -- show hidden files -+ Renaming files: - + cw -- rename file from scratch - + A -- rename file adding to the end - + aa -- rename file appending before the extension - + I -- rename file adding at the beginning - -## Shortcuts - -As I say in the main readme, there are shortcut commands generated for ranger -based on what bookmarked directories and files you give it. For directory -shortcuts, here are the "verbs": - -+ g -- "go or cd" -+ t -- "new tab" -+ m -- "move file" -+ Y -- "yank or copy file" - -These "verbs" take "nouns" or "arguments," like these: - -+ d -- "~/Documents" -+ D -- "~/Downloads" -+ cf -- "~/.config" -+ And many others, including those you add to `~/.bmdirs`. - -Press any "verb" followed by any "argument" to perform a folder operation. "gd" will cd to ~/Documents, for example. "mD" will move the selected file(s) to ~/Downloads. "tcf" will create a new tab in ~/.config, etc. etc. - -## Many little additions! - -+ Basic additions: - + V -- Make a new file and edit it in vim - + cW -- rename *all* selected files, editing in your text editor - + mkd -- Make a directory/folder - + sc -- Makes a link/shortcut (ln -sT) - + D -- delete selected file - + X -- Extract a zip/rar/tar.gz, whatever. Runs a script that picks the right command for the right archive. - + Z -- zips a folder up into a .tar.gz archive. - + CTRL-f -- Fuzzy find a file - + CTRL-l -- Fuzzy locate a file -+ Document manipulation: - + p1s -- print this file on the default printer, one-sided (lpr) - + p2s -- print this file on the default printer, double-sided (lpr) - + MP -- convert to a .pdf with pandoc (I use this to convert markdown, etc.) - + MX -- compile selected document in XeLaTeX - + ML -- compile selected document in LaTeX - + TC -- clear all non-visible TeX build files in this directory - + Txa -- copy article template to new file - + Txs -- copy slideshow/beamer template to new file - + Txh -- copy handout template to new file -+ Image commands: - + bg -- (for i3 users) makes an image your background (assuming i3 is looking at ~/.config/wall.png for your background) - + bw -- runs Pywal on the selected image, making it your background and generating a color scheme based off of it. - + C -- rotates an image (requires imagemagick) - + F -- flips an image (requires imagemagick) - + TR -- add transparency to image file -+ mpd/mpc shortcuts - + MS -- Start mpd - + MK -- kill mpd - + MN -- Start playing selected song/folder now - + Ma -- Enqueue selected song/folder - + Mp -- Pause - + Mn -- Next track - + Mb -- Previous track - + Mo -- Restart track -+ Audio tagging with eye3D: - + Ta -- change artist name - + TA -- change album name - + Tb -- change album artist - + Tt -- change title - + Tn -- change track number -+ Downloading: - + ytv -- Download online video (paste in url) (requires youtube-dl) - + yta -- Download audio of online video (paste in url) (requires youtube-dl) diff --git a/.config/ranger/rc.conf b/.config/ranger/rc.conf @@ -1,508 +0,0 @@ -###SETTINGS### - -set column_ratios 1,3,4 -#set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$ -set hidden_filter ^\.|\.(?:pyc|vrb|pyo|lof|bak|swp|aux|log|nav|out|snm|toc|bcf|run\.xml|synctex\.gz|blg|bbl)$|^lost\+found$|^__(py)?cache__$ -set show_hidden false -set confirm_on_delete multiple -set preview_script ~/.config/ranger/scope.sh -set use_preview_script true -set automatically_count_files true -set open_all_images true -set vcs_aware false -set vcs_backend_git enabled -set vcs_backend_hg disabled -set vcs_backend_bzr disabled -set preview_images true -set preview_images_method w3m -set unicode_ellipsis false -set show_hidden_bookmarks false -set colorscheme default -set preview_files true -set preview_directories true -set collapse_preview true -set save_console_history false -set status_bar_on_top false -set draw_progress_bar_in_status_bar true -set draw_borders true -set dirname_in_tabs true -set mouse_enabled true -set display_size_in_main_column true -set display_size_in_status_bar true -set display_tags_in_all_columns true -set update_title false -set update_tmux_title true -set shorten_title 3 -set tilde_in_titlebar true -set max_history_size 20 -set max_console_history_size 50 -set scroll_offset 8 -set flushinput true -set padding_right true -set autosave_bookmarks false -set autoupdate_cumulative_size false -set show_cursor false -set sort natural -set sort_reverse false -set sort_case_insensitive true -set sort_directories_first true -set sort_unicode false -set xterm_alt_key false -set cd_bookmarks false -set preview_max_size 0 -set show_selection_in_titlebar true -set idle_delay 2000 -set metadata_deep_search false - -###ALIASES### -alias e edit -alias q quit -alias q! quitall -alias qa quitall -alias qall quitall -alias setl setlocal - -alias filter scout -prt -alias find scout -aeit -alias mark scout -mr -alias unmark scout -Mr -alias search scout -rs -alias search_inc scout -rts -alias travel scout -aefiklst - -###BASIC KEYS### - -#BASIC -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 i display_file -map ? help -#map W display_log -map w taskview_open -map S shell $SHELL - -map : console -map ; console -map ! console shell%space -map @ console -p6 shell %s -map # console shell -p%space -#map s console shell%space -map r chain draw_possible_programs; console open_with%%space -map f console find%space -map cd console cd%space - -# Change the line mode -#map Mf linemode filename -#map Mi linemode fileinfo -#map Mp linemode permissions -#map Mt linemode metatitle - -#moc -#map Mc shell mocp -c -#map Ma shell mocp -a %s -#map Ms shell mocp -p -#map MS shell mocp -S -#map Mp shell mocp -G -#map Mn shell mocp -f -#map Mb shell mocp -r -#map MN shell mocp -s && mocp -c && mocp -a %s && mocp -p -#map Mo shell mocp -j 0%% -#map MK shell killall mocp - -# Tagging / Marking -map at tag_toggle -map ut tag_remove -map "<any> tag_toggle tag=%any -map <Space> mark_files toggle=True -map va mark_files all=True toggle=True -map uv mark_files all=True val=False -map vs toggle_visual_mode -map uV toggle_visual_mode reverse=True - -# For the nostalgics: Midnight Commander bindings -map <F1> help -map <F3> display_file -map <F4> edit -map <F5> copy -map <F5> console shell echo "require(rmarkdown); render_site()" | R --vanilla -map <F6> cut -map <F7> console mkdir%space -map <F8> console delete -map <F10> exit - -# In case you work on a keyboard with dvorak layout -map <UP> move up=1 -map <DOWN> move down=1 -map <LEFT> move left=1 -map <RIGHT> move right=1 -map <HOME> move to=0 -map <END> move to=-1 -map <PAGEDOWN> move down=1 pages=True -map <PAGEUP> move up=1 pages=True -map <CR> move right=1 -map <DELETE> console delete -map <INSERT> console touch%space - -# VIM-like -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> - -map J move down=0.5 pages=True -map K move up=0.5 pages=True -copymap J <C-D> -copymap K <C-U> - -# Jumping around -map H history_go -1 -map L history_go 1 -map ] move_parent 1 -map [ move_parent -1 -map } traverse - -#DEFAULT MOVEMENT -map ge cd /etc -map gu cd /usr -#map gl cd -r . -map gL cd -r %f -#map gv cd /var -map gM cd /mnt -map gr cd / -map gR eval fm.cd(ranger.RANGERDIR) -map g? cd /usr/share/doc/ranger - -# Tabs -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 tt 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 - - -# External Programs -map E edit -map du shell -p du --max-depth=1 -h --apparent-size -map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh -map yp shell -f echo -n %%d/%%f | xsel -i; xsel -o | xsel -i -b -map yd shell -f echo -n %%d | xsel -i; xsel -o | xsel -i -b -map yn shell -f echo -n %%f | xsel -i; xsel -o | xsel -i -b - - -# Filesystem Operations -map = chmod -map cw console rename%space -map aa rename_append -map A eval fm.open_console('rename ' + fm.thisfile.relative_path) -map I eval fm.open_console('rename ' + fm.thisfile.relative_path, position=7) -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 dD console delete - -map dd cut -map ud uncut -map da cut mode=add -map dr cut mode=remove - -map yy copy -map uy uncut -map ya copy mode=add -map yr copy mode=remove - - -# Temporary workarounds -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) - - -# Searching -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 - - -# Sorting -map or toggle_option 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 dc get_cumulative_size - - -# Settings -map zc toggle_option collapse_preview -map zd toggle_option sort_directories_first -map zh toggle_option show_hidden -map <C-h> toggle_option show_hidden -map zi toggle_option flushinput -map zm toggle_option mouse_enabled -map zp toggle_option preview_files -map zP toggle_option preview_directories -map zs toggle_option sort_case_insensitive -map zu toggle_option autoupdate_cumulative_size -map zv toggle_option use_preview_script -map zf console filter%space - - -# Bookmarks -#map `<any> enter_bookmark %any -#map '<any> enter_bookmark %any -#map mm<any> set_bookmark %any -#map um<any> unset_bookmark %any - -#map m<bg> draw_bookmarks -#copymap m<bg> um<bg> `<bg> '<bg> - - -# Generate all the chmod bindings with some python help: -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)) - - -###CONSOLE KEYS### -# Basic -cmap <tab> eval fm.ui.console.tab() -cmap <s-tab> eval fm.ui.console.tab(-1) -cmap <ESC> eval fm.ui.console.close() -cmap <CR> eval fm.ui.console.execute() -#cmap <C-l> redraw_window - -copycmap <ESC> <C-c> -copycmap <CR> <C-j> - - -# Move around -cmap <up> eval fm.ui.console.history_move(-1) -cmap <down> eval fm.ui.console.history_move(1) -cmap <left> eval fm.ui.console.move(left=1) -cmap <right> eval fm.ui.console.move(right=1) -cmap <home> eval fm.ui.console.move(right=0, absolute=True) -cmap <end> eval fm.ui.console.move(right=-1, absolute=True) - - -# Line Editing -cmap <backspace> eval fm.ui.console.delete(-1) -cmap <delete> eval fm.ui.console.delete(0) -cmap <C-w> eval fm.ui.console.delete_word() -cmap <A-d> eval fm.ui.console.delete_word(backward=False) -cmap <C-k> eval fm.ui.console.delete_rest(1) -cmap <C-u> eval fm.ui.console.delete_rest(-1) -cmap <C-y> eval fm.ui.console.paste() - -# And of course the emacs way -#copycmap <up> <C-p> -#copycmap <down> <C-n> -#copycmap <left> <C-b> -#copycmap <right> <C-f> -#copycmap <home> <C-a> -#copycmap <end> <C-e> -#copycmap <delete> <C-d> -#copycmap <backspace> <C-h> - - -# Note: There are multiple ways to express backspaces. <backspace> (code 263) -# and <backspace2> (code 127). To be sure, use both. -copycmap <backspace> <backspace2> - -# This special expression allows typing in numerals: -cmap <allow_quantifiers> false - - - -###PAGER KEYS### -# Movement -pmap <down> pager_move down=1 -pmap <up> pager_move up=1 -pmap <left> pager_move left=4 -pmap <right> pager_move right=4 -pmap <home> pager_move to=0 -pmap <end> pager_move to=-1 -pmap <pagedown> pager_move down=1.0 pages=True -pmap <pageup> pager_move up=1.0 pages=True -pmap <C-d> pager_move down=0.5 pages=True -pmap <C-u> pager_move up=0.5 pages=True - -copypmap <UP> k <C-p> -copypmap <DOWN> j <C-n> <CR> -copypmap <LEFT> h -copypmap <RIGHT> l -copypmap <HOME> g -copypmap <END> G -copypmap <C-d> d -copypmap <C-u> u -copypmap <PAGEDOWN> n f <C-F> <Space> -copypmap <PAGEUP> p b <C-B> - - -# Basic -#pmap <C-l> redraw_window -pmap <ESC> pager_close -copypmap <ESC> q Q i <F3> -pmap E edit_file - -# =================================================================== -# == Taskview Keybindings -# =================================================================== - -# Movement -tmap <up> taskview_move up=1 -tmap <down> taskview_move down=1 -tmap <home> taskview_move to=0 -tmap <end> taskview_move to=-1 -tmap <pagedown> taskview_move down=1.0 pages=True -tmap <pageup> taskview_move up=1.0 pages=True -tmap <C-d> taskview_move down=0.5 pages=True -tmap <C-u> taskview_move up=0.5 pages=True - -copytmap <UP> k <C-p> -copytmap <DOWN> j <C-n> <CR> -copytmap <HOME> g -copytmap <END> G -copytmap <C-u> u -copytmap <PAGEDOWN> n f <C-F> <Space> -copytmap <PAGEUP> p b <C-B> - -# Changing priority and deleting tasks -tmap J eval -q fm.ui.taskview.task_move(-1) -tmap K eval -q fm.ui.taskview.task_move(0) -tmap dd eval -q fm.ui.taskview.task_remove() -tmap <pagedown> eval -q fm.ui.taskview.task_move(-1) -tmap <pageup> eval -q fm.ui.taskview.task_move(0) -tmap <delete> eval -q fm.ui.taskview.task_remove() - -# Basic -#tmap <C-l> redraw_window -tmap <ESC> taskview_close -copytmap <ESC> q Q w <C-c> - - -map sp console shell bash speedvid.sh %f%space -map x shell chmod -x %s - -#General -map V console shell vim%space -map cW bulkrename %s -map mkd console mkdir%space -map sc console shell ln -sT%space -map D console delete -map X shell extract %f -map Z shell tar -cvzf %f.tar.gz %s -map <C-f> fzf_select -map <C-l> fzf_locate - -#Document Manipulation -map p1s shell lpr -o sides=one-sided %f -map p2s shell lpr -o sides=two-sided-long-edge %f -map MP shell pandoc %f -o %f.pdf -map MX shell xelatex %f -map ML shell latex %f -map TC shell texclear -map Txa console shell cp ~/Documents/LaTeX/article.tex%space -map Txs console shell cp ~/Documents/LaTeX/beamer.tex%space -map Txh console shell cp ~/Documents/LaTeX/handout.tex%space - -#Image commands -map bg shell setbg %f -map bw shell wal -i %f && setbg %f -map C shell killall w3mimgdisplay && convert -rotate 90 %s %s -map F shell killall w3mimgdisplay && convert -flop %s %s -map bl shell killall w3mimgdisplay && convert %s -resize 1440x1080\> bl_%s -map TR shell convert %s -transparent white %s - -#Music (mpd) shortcuts -map MS shell mpd -map MK shell killall mpd -map Ma shell mpc add "%s" -map Ms shell mpc play -map Mp shell mpc toggle -map Mn shell mpc next -map Mb shell mpc prev -map MN shell mpc stop && mpc clear && mpc add "%s" -map Mo shell mpc seek 0% - -#Audio tagging (Requires eyeD3) -map Ta eval fm.open_console('shell eyeD3 -a ' + fm.thisfile.relative_path, position=15) -#Artist -map TA eval fm.open_console('shell eyeD3 -A ' + fm.thisfile.relative_path, position=15) -#Album -map Tb eval fm.open_console('shell eyeD3 -b ' + fm.thisfile.relative_path, position=15) -#Album artist -map Tt eval fm.open_console('shell eyeD3 -t "" ' + fm.thisfile.relative_path, position=16) -map Tn eval fm.open_console('shell eyeD3 -n "" ' + fm.thisfile.relative_path, position=16) - -#Downloading -map ytv console shell youtube-dl -ic%space -map yta console shell youtube-dl -xic%space -source ~/.config/ranger/shortcuts.conf diff --git a/.config/ranger/rifle.conf b/.config/ranger/rifle.conf @@ -1,236 +0,0 @@ -# vim: ft=cfg -# -# This is the configuration file of "rifle", ranger's file executor/opener. -# Each line consists of conditions and a command. For each line the conditions -# are checked and if they are met, the respective command is run. -# -# Syntax: -# <condition1> , <condition2> , ... = command -# -# The command can contain these environment variables: -# $1-$9 | The n-th selected file -# $@ | All selected files -# -# If you use the special command "ask", rifle will ask you what program to run. -# -# Prefixing a condition with "!" will negate its result. -# These conditions are currently supported: -# match <regexp> | The regexp matches $1 -# ext <regexp> | The regexp matches the extension of $1 -# mime <regexp> | The regexp matches the mime type of $1 -# name <regexp> | The regexp matches the basename of $1 -# path <regexp> | The regexp matches the absolute path of $1 -# has <program> | The program is installed (i.e. located in $PATH) -# env <variable> | The environment variable "variable" is non-empty -# file | $1 is a file -# directory | $1 is a directory -# number <n> | change the number of this command to n -# terminal | stdin, stderr and stdout are connected to a terminal -# X | $DISPLAY is not empty (i.e. Xorg runs) -# -# There are also pseudo-conditions which have a "side effect": -# flag <flags> | Change how the program is run. See below. -# label <label> | Assign a label or name to the command so it can -# | be started with :open_with <label> in ranger -# | or `rifle -p <label>` in the standalone executable. -# else | Always true. -# -# Flags are single characters which slightly transform the command: -# f | Fork the program, make it run in the background. -# | New command = setsid $command >& /dev/null & -# r | Execute the command with root permissions -# | New command = sudo $command -# t | Run the program in a new terminal. If $TERMCMD is not defined, -# | rifle will attempt to extract it from $TERM. -# | New command = $TERMCMD -e $command -# Note: The "New command" serves only as an illustration, the exact -# implementation may differ. -# Note: When using rifle in ranger, there is an additional flag "c" for -# only running the current file even if you have marked multiple files. - -#------------------------------------------- -# Websites -#------------------------------------------- -# Rarely installed browsers get higher priority; It is assumed that if you -# install a rare browser, you probably use it. Firefox/konqueror/w3m on the -# other hand are often only installed as fallback browsers. - -ext x?html?, has waterfox, X, flag f = waterfox -- "$@" -ext x?html?, has surf, X, flag f = surf -- file://"$1" -ext x?html?, has vimprobable, X, flag f = vimprobable -- "$@" -ext x?html?, has vimprobable2, X, flag f = vimprobable2 -- "$@" -ext x?html?, has qutebrowser, X, flag f = qutebrowser -- "$@" -ext x?html?, has dwb, X, flag f = dwb -- "$@" -ext x?html?, has jumanji, X, flag f = jumanji -- "$@" -ext x?html?, has luakit, X, flag f = luakit -- "$@" -ext x?html?, has uzbl, X, flag f = uzbl -- "$@" -ext x?html?, has uzbl-tabbed, X, flag f = uzbl-tabbed -- "$@" -ext x?html?, has uzbl-browser, X, flag f = uzbl-browser -- "$@" -ext x?html?, has uzbl-core, X, flag f = uzbl-core -- "$@" -ext x?html?, has midori, X, flag f = midori -- "$@" -ext x?html?, has chromium, X, flag f = chromium -- "$@" -ext x?html?, has opera, X, flag f = opera -- "$@" -ext x?html?, has firefox, X, flag f = firefox -- "$@" -ext x?html?, has dillo, X, flag f = dillo -- "$@" -ext x?html?, has seamonkey, X, flag f = seamonkey -- "$@" -ext x?html?, has iceweasel, X, flag f = iceweasel -- "$@" -ext x?html?, has epiphany, X, flag f = epiphany -- "$@" -ext x?html?, has konqueror, X, flag f = konqueror -- "$@" -ext x?html?, has elinks, terminal = elinks "$@" -ext x?html?, has links2, terminal = links2 "$@" -ext x?html?, has links, terminal = links "$@" -ext x?html?, has lynx, terminal = lynx -- "$@" -ext x?html?, has w3m, terminal = w3m "$@" - - -#Spreadsheets for scim -ext sc|csv|sxc|xlsx?|xlt|xlw|gnm|gnumeric, = sc-im -- "$@" - -#------------------------------------------- -# Misc -#------------------------------------------- -# Define the "editor" for text files as first action -mime ^text, label editor = $EDITOR -- "$@" -mime ^text, label pager = "$PAGER" -- "$@" -!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php = $EDITOR -- "$@" -!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@" - -ext 1 = man "$1" -ext s[wmf]c, has zsnes, X = zsnes "$1" -ext s[wmf]c, has snes9x-gtk,X = snes9x-gtk "$1" -ext nes, has fceux, X = fceux "$1" -ext exe = wine "$1" -name ^[mM]akefile$ = make -ext asf, has mpv, X, flag f = mpv --input-ipc-server=/tmp/mpvsoc$(date +%s) -- "$@" - -#-------------------------------------------- -# Code -#------------------------------------------- -ext py = python -- "$1" -ext pl = perl -- "$1" -ext rb = ruby -- "$1" -ext js = node -- "$1" -ext sh = sh -- "$1" -ext php = php -- "$1" - -#-------------------------------------------- -# Video/Audio with a GUI -#------------------------------------------- -mime ^video|audio, has gmplayer, X, flag f = gmplayer -- "$@" -mime ^video|audio, has smplayer, X, flag f = smplayer "$@" -mime ^video, has mpv, X, flag f = mpv --input-ipc-server=/tmp/mpvsoc$(date +%s) -- "$@" -mime ^video, has mpv, X, flag f = mpv --input-ipc-server=/tmp/mpvsoc$(date +%s) --no-video -- "$@" -mime ^video, has mpv, X, flag f = mpv --input-ipc-server=/tmp/mpvsoc$(date +%s) --fs -- "$@" -mime ^video, has mpv, X, flag f = mpv --input-ipc-server=/tmp/mpvsoc$(date +%s) --loop -- "$@" -mime ^video, has mpv, X, flag f = mpv --input-ipc-server=/tmp/mpvsoc$(date +%s) --title="obs" --autofit=1050x700 -- "$@" -mime ^video, has mplayer2, X, flag f = mplayer2 -- "$@" -mime ^video, has mplayer2, X, flag f = mplayer2 -fs -- "$@" -mime ^video, has mplayer, X, flag f = mplayer -- "$@" -mime ^video, has mplayer, X, flag f = mplayer -fs -- "$@" -# mime ^video|audio, has vlc, X, flag f = vlc -- "$@" -mime ^video|audio, has totem, X, flag f = totem -- "$@" -mime ^video|audio, has totem, X, flag f = totem --fullscreen -- "$@" -#-------------------------------------------- -# Audio without X -#------------------------------------------- -mime ^audio|ogg$, terminal, has mplayer = mplayer -- "$@" -mime ^audio|ogg$, terminal, has mplayer2 = mplayer2 -- "$@" -mime ^audio|ogg$, terminal, has mpv = mpv --input-ipc-server=/tmp/mpvsoc$(date +%s) --no-audio-display -- "$@" -mime ^audio|ogg$ = tag "$@" -mime ^audio|ogg$, terminal, has mpv = mpv --input-ipc-server=/tmp/mpvsoc$(date +%s) -- "$@" -ext midi?, terminal, has wildmidi = wildmidi -- "$@" - - -#-------------------------------------------- -# Video without X: -#------------------------------------------- -mime ^video, terminal, !X, has mpv = mpv --input-ipc-server=/tmp/mpvsoc$(date +%s) -- "$@" -mime ^video, terminal, !X, has mplayer2 = mplayer2 -- "$@" -mime ^video, terminal, !X, has mplayer = mplayer -- "$@" - -#------------------------------------------- -# Documents -#------------------------------------------- -ext pdf, has llpp, X, flag f = llpp "$@" -ext pdf, has zathura, X, flag f = zathura -- "$@" -ext pdf, has mupdf, X, flag f = mupdf "$@" -ext pdf, has mupdf, X, flag f = mupdf -I "$@" -ext pdf, has mupdf-x11,X, flag f = mupdf-x11 "$@" -ext pdf, has apvlv, X, flag f = apvlv -- "$@" -ext pdf, has xpdf, X, flag f = xpdf -- "$@" -ext pdf, has evince, X, flag f = evince -- "$@" -ext pdf, has atril, X, flag f = atril -- "$@" -ext pdf, has okular, X, flag f = okular -- "$@" -ext pdf, has epdfview, X, flag f = epdfview -- "$@" -ext pdf, has qpdfview, X, flag f = qpdfview "$@" - -ext epub, has zathura, X, flag f = zathura -- "$@" -ext epub, has mupdf, X, flag f = mupdf "$@" - -ext ps, has zathura, X, flag f = zathura -- "$@" - -ext docx, has abiword, X, flag f = abiword "$@" - -ext docx?, has catdoc, terminal = catdoc -- "$@" | "$PAGER" - -ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has gnumeric, X, flag f = gnumeric -- "$@" -ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has kspread, X, flag f = kspread -- "$@" -ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@" -ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has soffice, X, flag f = soffice "$@" -ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f = ooffice "$@" - -ext djvu, has zathura,X, flag f = zathura -- "$@" -ext djvu, has evince, X, flag f = evince -- "$@" -ext djvu, has atril, X, flag f = atril -- "$@" - -#------------------------------------------- -# Image Viewing: -#------------------------------------------- -mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@" -mime ^image/svg, has display, X, flag f = display -- "$@" -mime ^image/gif, has viewnior, X, flag f = viewnior -- "$@" -mime ^image/gif, has qutebrowser, X, flag f = qutebrowser -- "$@" - -ext xcf, X, flag f = gimp -- "$@" -mime ^image, has sxiv, X, flag f = sxiv -a -- "$@" -mime ^image, has feh, X, flag f = feh --scale-down --auto-zoom --image-bg black -- "$@" -mime ^image, has feh, X, flag f = feh --scale-down --auto-zoom -- "$@" -mime ^image, has mirage, X, flag f = mirage -- "$@" -mime ^image, has ristretto, X, flag f = ristretto "$@" -mime ^image, has eog, X, flag f = eog -- "$@" -mime ^image, has eom, X, flag f = eom -- "$@" -mime ^image, has gimp, X, flag f = gimp -- "$@" -mime ^image, has pinta, X, flag f = pinta -- "$@" -mime ^image, has mypaint, X, flag f = mypaint -- "$@" -mime ^image, has kolourpaint, X, flag f = kolourpaint -- "$@" - -#------------------------------------------- -# Archives -#------------------------------------------- -# This requires atool -ext jar = java -jar "$@" - -ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has als = als -- "$@" | "$PAGER" -ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has als = als -- "$@" | "$PAGER" -ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has aunpack = aunpack -- "$@" -ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has aunpack = aunpack -- "$@" - -# Fallback: -ext tar|gz, has tar = tar vvtf "$@" | "$PAGER" -ext tar|gz, has tar = tar vvxf "$@" - -#------------------------------------------- -# Misc -#------------------------------------------- -label wallpaper, number 11, mime ^image, has feh, X = feh --bg-scale "$1" -label wallpaper, number 12, mime ^image, has feh, X = feh --bg-tile "$1" -label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1" -label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1" - -# Define the editor for non-text files + pager as last action - !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php|ms = ask -label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php|ms = $EDITOR -- "$@" -label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php|ms = "$PAGER" -- "$@" - -ext blend, has blender, X, flag f = blender -- "$@" -ext ms = $EDITOR -- "$@" diff --git a/.config/ranger/scope.sh b/.config/ranger/scope.sh @@ -1,120 +0,0 @@ -#!/usr/bin/env bash -# ranger supports enhanced previews. If the option "use_preview_script" -# is set to True and this file exists, this script will be called and its -# output is displayed in ranger. ANSI color codes are supported. - -# NOTES: This script is considered a configuration file. If you upgrade -# ranger, it will be left untouched. (You must update it yourself.) -# Also, ranger disables STDIN here, so interactive scripts won't work properly - -# Meanings of exit codes: -# code | meaning | action of ranger -# -----+------------+------------------------------------------- -# 0 | success | success. display stdout as preview -# 1 | no preview | failure. display no preview at all -# 2 | plain text | display the plain content of the file -# 3 | fix width | success. Don't reload when width changes -# 4 | fix height | success. Don't reload when height changes -# 5 | fix both | success. Don't ever reload -# 6 | image | success. display the image $cached points to as an image preview -# 7 | image | success. display the file directly as an image - -# Meaningful aliases for arguments: -path="$1" # Full path of the selected file -width="$2" # Width of the preview pane (number of fitting characters) -height="$3" # Height of the preview pane (number of fitting characters) -cached="$4" # Path that should be used to cache image previews -preview_images="$5" # "True" if image previews are enabled, "False" otherwise. - -maxln=200 # Stop after $maxln lines. Can be used like ls | head -n $maxln - -# Find out something about the file: -mimetype=$(file --mime-type -Lb "$path") -extension=$(/bin/echo "${path##*.}" | awk '{print tolower($0)}') - -# Functions: -# runs a command and saves its output into $output. Useful if you need -# the return value AND want to use the output in a pipe -try() { output=$(eval '"$@"'); } - -# writes the output of the previously used "try" command -dump() { /bin/echo "$output"; } - -# a common post-processing function used after most commands -trim() { head -n "$maxln"; } - -# wraps highlight to treat exit code 141 (killed by SIGPIPE) as success -safepipe() { "$@"; test $? = 0 -o $? = 141; } - -# Image previews, if enabled in ranger. -if [ "$preview_images" = "True" ]; then - case "$mimetype" in - image/svg+xml) - convert "$path" "$cached" && exit 6 || exit 1;; - image/*) - exit 7;; - # Image preview for video, disabled by default.: - ###video/*) - ### ffmpegthumbnailer -i "$path" -o "$cached" -s 0 && exit 6 || exit 1;; - esac -fi - -case "$extension" in - # Archive extensions: - a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\ - rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip) - try als "$path" && { dump | trim; exit 0; } - try acat "$path" && { dump | trim; exit 3; } - try bsdtar -lf "$path" && { dump | trim; exit 0; } - exit 1;; - csv) - sed "s/\(.*\".*\),\(.*\".*\)/\1~\2/;s/,/\t/g;s/~/,/g;s/\t\"/\t/g;s/\"\t/\t/g" "$path" && { dump| trim; exit 0; } || exit 1;; - rar) - # avoid password prompt by providing empty password - try unrar -p- lt "$path" && { dump | trim; exit 0; } || exit 1;; - 7z) - # avoid password prompt by providing empty password - try 7z -p l "$path" && { dump | trim; exit 0; } || exit 1;; - # PDF documents: - pdf) - try pdftoppm -jpeg -singlefile "$path" "${cached//.jpg}" && exit 6 || exit 1;; - #try pdftotext -l 10 -nopgbrk -q "$path" - && \ - #{ dump | trim | fmt -s -w $width; exit 0; } || exit 1;; - # BitTorrent Files - torrent) - try transmission-show "$path" && { dump | trim; exit 5; } || exit 1;; - # ODT Files - odt|ods|odp|sxw) - try odt2txt "$path" && { dump | trim; exit 5; } || exit 1;; - # HTML Pages: - htm|html|xhtml) - try w3m -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; } - try lynx -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; } - try elinks -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; } - ;; # fall back to highlight/cat if the text browsers fail -esac - -case "$mimetype" in - # Syntax highlight for text files: - text/* | */xml) - if [ "$(tput colors)" -ge 256 ]; then - pygmentize_format=terminal256 - highlight_format=ansi - else - pygmentize_format=terminal - highlight_format=ansi - fi - try safepipe highlight --out-format=${highlight_format} "$path" && { dump | trim; exit 5; } - try safepipe pygmentize -f ${pygmentize_format} "$path" && { dump | trim; exit 5; } - exit 2;; - # Ascii-previews of images: - image/*) - img2txt --gamma=0.6 --width="$width" "$path" && exit 4 || exit 1;; - # Display information about media files: - video/* | audio/*) - exiftool "$path" && exit 5 - # Use sed to remove spaces so the output fits into the narrow window - try mediainfo "$path" && { dump | trim | sed 's/ \+:/: /;'; exit 5; } || exit 1;; -esac - -exit 1 diff --git a/.config/ranger/shortcuts.conf b/.config/ranger/shortcuts.conf diff --git a/.scripts/i3cmds/tutorialvids b/.scripts/i3cmds/tutorialvids @@ -8,7 +8,6 @@ pacman (installing/managing programs) https://www.youtube.com/watch?v=-dEuXTMzRK mutt (email) https://www.youtube.com/watch?v=2U3vRbF7v5A ncmpcpp (music player) https://www.youtube.com/watch?v=sZIEdI9TS2U newsboat (RSS reader) https://www.youtube.com/watch?v=dUFCRqs822w -ranger (file manager) https://www.youtube.com/watch?v=L6Vu7WPkoJo zathura (pdf viewer) https://www.youtube.com/watch?v=V_Iz4zdyRM4 gpg keys https://www.youtube.com/watch?v=DMGIlj7u7Eo calcurse (calendar) https://www.youtube.com/watch?v=hvc-pHjbhdE diff --git a/.scripts/tools/shortcuts b/.scripts/tools/shortcuts @@ -1,7 +1,7 @@ #!/bin/bash # Output locations. Unactivated progs should go to /dev/null. shell_shortcuts="$HOME/.config/shortcutrc" -ranger_shortcuts="$HOME/.config/ranger/shortcuts.conf" +ranger_shortcuts="/dev/null" qute_shortcuts="/dev/null" fish_shortcuts="/dev/null" vifm_shortcuts="$HOME/.config/vifm/vifmshortcuts"