diff --git a/ranger.org b/ranger.org deleted file mode 100644 index c87320e..0000000 --- a/ranger.org +++ /dev/null @@ -1,856 +0,0 @@ -#+TITLE: Ranger -#+SETUPFILE: ./setup/org-setup-file.org - -* Documentation -#+begin_quote -%f the highlighted file -%d the path of the current directory -%s the selected files in the current directory -%t all tagged files in the current directory -%c the full paths of the currently copied/cut files -%p the full paths of selected files -#+end_quote - -After install, run: -#+begin_src bash :tangle no -ranger --copy-config=scope -#+end_src - -To add =scope.sh=. - -The following has been added to preview =xournalpp= file: -#+begin_src bash - case "${FILE_EXTENSION_LOWER}" in - ## xournall file - xopp) - xournalpp-thumbnailer "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6 - ;; - esac -#+end_src - -To have image preview: -#+begin_src bash :tangle no -sudo pip3 install ueberzug -#+end_src - -* Config -:PROPERTIES: -:header-args: :tangle ~/.config/ranger/rc.conf -:header-args+: :comments both :mkdirp yes -:END: - -** Options -#+BEGIN_SRC conf -# Which viewmode should be used? Possible values are: -# miller: Use miller columns which show multiple levels of the hierarchy -# multipane: Midnight-commander like multipane view showing all tabs next -# to each other -set viewmode miller - -# How many columns are there, and what are their relative widths? -set column_ratios 1,1 - -# Which files should be hidden? (regular expression) -set hidden_filter ^\.|\.(?:pyc|vrb|pyo|lof|bak|swp|aux|log|nav|out|snm|toc|bcf|run\.xml|synctex\.gz|blg|bbl|xopp~)$|^lost\+found$|^__(py)?cache__$ - -# Show hidden files? You can toggle this by typing 'zh' -set show_hidden false - -# Ask for a confirmation when running the "delete" command? -# Valid values are "always", "never", "multiple" (default) -# With "multiple", ranger will ask only if you delete multiple files at once. -set confirm_on_delete multiple - -# Which script is used to generate file previews? -# ranger ships with scope.sh, a script that calls external programs (see -# README.md for dependencies) to preview images, archives, etc. -set preview_script /home/thomas/.config/ranger/scope.sh - -# Use the external preview script or display simple plain text or image previews? -set use_preview_script true - -# Automatically count files in the directory, even before entering them? -set automatically_count_files true - -# Open all images in this directory when running certain image viewers -set open_all_images true - -# Be aware of version control systems and display information. -set vcs_aware false - -# Use one of the supported image preview protocols -set preview_images true - -# Set the preview image method -set preview_images_method ueberzug - -set colorscheme default - -# Preview files on the rightmost column? -# And collapse (shrink) the last column if there is nothing to preview? -set preview_files true -set preview_directories true -set collapse_preview true - -# Draw the status bar on top of the browser window (default: bottom) -set status_bar_on_top false - -# Draw a progress bar in the status bar which displays the average state of all -# currently running tasks which support progress bars? -set draw_progress_bar_in_status_bar true - -# Draw borders around columns? -set draw_borders true - -# Display the directory name in tabs? -set dirname_in_tabs false - -# Enable the mouse support? -set mouse_enabled true - -# Display the file size in the main column or status bar? -set display_size_in_main_column true -set display_size_in_status_bar false - -# Display files tags in all columns or only in main column? -set display_tags_in_all_columns false - -# Set a title for the window? -set update_title false - -# Set the title to "ranger" in the tmux program? -set update_tmux_title true - -# Shorten the title if it gets long? The number defines how many -# directories are displayed at once, 0 turns off this feature. -set shorten_title 3 - -# Abbreviate $HOME with ~ in the titlebar (first line) of ranger? -set tilde_in_titlebar true - -# How many directory-changes or console-commands should be kept in history? -set max_history_size 20 -set max_console_history_size 50 - -# Try to keep so much space between the top/bottom border when scrolling: -set scroll_offset 8 - -# Flush the input after each key hit? (Noticeable when ranger lags) -set flushinput true - -# Padding on the right when there's no preview? -# This allows you to click into the space to run the file. -set padding_right true - -set autosave_bookmarks false -set autoupdate_cumulative_size false - -# Turning this on makes sense for screen readers: -set show_cursor false - -# One of: size, natural, basename, atime, ctime, mtime, type, random -set sort natural - -# Additional sorting options -set sort_reverse false -set sort_case_insensitive true -set sort_directories_first true -set sort_unicode false - -# Enable this if key combinations with the Alt Key don't work for you. -# (Especially on xterm) -set xterm_alt_key false - -# Whether to include bookmarks in cd command -set cd_bookmarks false - -# Avoid previewing files larger than this size, in bytes. Use a value of 0 to -# disable this feature. -set preview_max_size 5000000 - -# Add the highlighted file to the path in the titlebar -set show_selection_in_titlebar true - -# The delay that ranger idly waits for user input, in milliseconds, with a -# resolution of 100ms. Lower delay reduces lag between directory updates but -# increases CPU load. -set idle_delay 2000 - -# When the metadata manager module looks for metadata, should it only look for -# a ".metadata.json" file in the current directory, or do a deep search and -# check all directories above the current one as well? -set metadata_deep_search false - -# Clear all existing filters when leaving a directory -set clear_filters_on_dir_change false - -# Disable displaying line numbers in main column -set line_numbers false -#+END_SRC - -** Command Aliases in the Console -#+BEGIN_SRC conf -alias q quit - -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 -#+END_SRC - -** Some Custom Keybindings -Extract: -#+BEGIN_SRC conf -map ,x shell ~/.config/ranger/scripts/extract.sh %f -#+END_SRC - -Compress: -#+BEGIN_SRC conf -map ,z shell ~/.config/ranger/scripts/compress.sh %f -#+END_SRC - -Convert images/pdf/...: -#+BEGIN_SRC conf -map ,c shell convert-file %f -#+END_SRC - -Extract BibTeX: -#+begin_src conf -map ,b shell ~/.config/ranger/scripts/add-reference.sh %d/%f -#+end_src - -Open SXIV on current directory: -#+BEGIN_SRC conf -map ,s shell nohup sxiv -t %d & -#+END_SRC - -Upload to https://0x0.st/: -#+BEGIN_SRC conf -map ,t shell upload %f -#+END_SRC - -Open current folder with PCManFM: -#+begin_src conf -map ,o shell nohup pcmanfm %d & -#+end_src - -Print on Rnice: -#+BEGIN_SRC conf -map ,p shell print-esrf %f & -#+END_SRC - -Backup to NAS: -#+BEGIN_SRC conf -map ,B shell ~/.config/ranger/scripts/backup-to-nas.sh %s & -#+END_SRC - -#+begin_src conf -map ,y shell ~/.config/ranger/scripts/copy-content.sh %s & -#+end_src - -** Scripts -*** Extract DOI, create BibTeX and rename file -:PROPERTIES: -:header-args: :tangle ~/.config/ranger/scripts/add-reference.sh -:header-args+: :comments both :mkdirp yes -:header-args+: :shebang "#!/usr/bin/env bash" -:END: -#+begin_src bash -add_reference () { - doi=$(pdf2doi $1 | sed 's/^DOI *//' | sed 's/ \+.*//') - - # If empty DOI, ask manually - if [ -z $doi ]; then - doi=$(rofi -dmenu -p "DOI") - fi - - # If DOI, add it to Emacs - if [ ! -z $doi ]; then - emacsclient --eval "(tdh-org-ref-import-pdf \"$doi\" \"$1\")" && \ - dunstify --replace=49496 "BibTeX" "File copied." - else - dunstify --replace=49496 "BibTeX" "Failed to get DOI" - fi -} -add_reference "$1" -#+end_src - -*** Extract Script -:PROPERTIES: -:header-args: :tangle ~/.config/ranger/scripts/extract.sh -:header-args+: :comments both :mkdirp yes -:header-args+: :shebang "#!/usr/bin/env bash" -:END: -#+begin_src bash -if [ $TMUX ]; then - tmux split -v -l 2 atool -x "$1" && tmux select-pane -U -else - atool -x "$1" -fi -#+end_src - -*** Compress Script -:PROPERTIES: -:header-args: :tangle ~/.config/ranger/scripts/compress.sh -:header-args+: :comments both :mkdirp yes -:header-args+: :shebang "#!/usr/bin/env bash" -:END: -#+begin_src bash -if [ $TMUX ]; then - tmux split -v -l 2 apack "${1%.*}.zip" "$1" && tmux select-pane -U -else - apack "${1%.*}.zip" "$1" -fi -#+end_src - -*** Copy File Content -:PROPERTIES: -:header-args: :tangle ~/.config/ranger/scripts/copy-content.sh -:header-args+: :comments both :mkdirp yes -:header-args+: :shebang "#!/usr/bin/env bash" -:END: -#+begin_src bash -xclip -sel c < "$1" && notify-send "Ranger" "Copied to clipboard" -#+end_src - -*** Paste with Rsync -:PROPERTIES: -:header-args: :tangle ~/.config/ranger/scripts/paste-rsync.sh -:header-args+: :comments both :mkdirp yes -:header-args+: :shebang "#!/usr/bin/env bash" -:END: - -- First argument is the directory where to copy files -- All other arguments are files that are to be copied - -#+begin_src bash -if [ $TMUX ]; then - tmux split -v -l 1 rsync -a --info=progress2 --no-inc-recursive "${@:2}" "$1" && tmux select-pane -U -else - rsync -a --info=progress2 --no-inc-recursive "${@:2}" "$1" -fi -#+end_src - -** Define keys for the browser -*** Basic -#+BEGIN_SRC conf -map Q quit! -map q eval fm.execute_console("shell tmux detach") if 'TMUX' in os.environ.keys() else fm.execute_console("quit") -#+END_SRC - -#+BEGIN_SRC conf -map abort -map change_mode normal -map ~ set viewmode! -#+END_SRC - -#+BEGIN_SRC conf -map ? help -#+END_SRC - -#+BEGIN_SRC conf -map : console -map ; console -#+END_SRC - -#+BEGIN_SRC conf -map ! console shell%space -#+END_SRC - -#+BEGIN_SRC conf -map @ console -p6 shell %%s -#+END_SRC - -*** Open Shell in current directory -#+BEGIN_SRC conf -map s shell $SHELL -map S shell nohup $TERMINAL & -#+END_SRC - -*** Open With -#+BEGIN_SRC conf -map O chain draw_possible_programs; console open_with%space -#+END_SRC - -*** Filter -#+BEGIN_SRC conf -map f console filter%space -# Reset filter -map F filter -#+END_SRC - -*** Tagging / Marking -#+BEGIN_SRC conf -map mark_files toggle=True -map v mark_files all=True toggle=True -#+END_SRC - -*** VIM-like -#+BEGIN_SRC conf -copymap k -copymap j -copymap h -copymap l -copymap gg -copymap G -#+END_SRC - -*** Jumping around -#+BEGIN_SRC conf -map H history_go -1 -map L history_go 1 -#+END_SRC - -#+BEGIN_SRC conf -map ] move_parent 1 -map [ move_parent -1 -#+END_SRC - -#+BEGIN_SRC conf -map } traverse -#+END_SRC - -#+BEGIN_SRC conf -map cd console cd%space -#+END_SRC - -*** Go to special folders -#+BEGIN_SRC conf -map gh cd ~/ -map gw cd ~/Cloud/work-projects -map gp cd ~/Cloud/personnal -map gP cd ~/Cloud/pictures/phone -map gs cd ~/Cloud/pictures/screenshots -map gT cd ~/.local/share/Trash/files -map gd cd ~/Downloads -map gD cd ~/Cloud/documents -map gc cd ~/Cloud -map gV cd ~/.config/literate-dotfiles -map gm cd ~/Cloud/meetings -#+END_SRC - -*** Get size of folders -#+BEGIN_SRC conf -# Get size of all folders -map du shell -p du --max-depth=1 -h --apparent-size -# Get size of all folders and sort them -map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh -#+END_SRC - -*** Yank path of directory/file -#+BEGIN_SRC conf -# Yank path of current directory/file -map yp shell -f echo -n %d/%f | xsel -i; xsel -o | xsel -i -b -# Yank path of directory -map yd shell -f echo -n %d | xsel -i; xsel -o | xsel -i -b -# Yank filename -map yn shell -f echo -n %f | xsel -i; xsel -o | xsel -i -b -#+END_SRC - -*** Drag and Drop -#+BEGIN_SRC conf -map D shell dragon-drop -a -x %p -#+END_SRC - -*** Rename files -#+BEGIN_SRC conf -map a rename_append -map C eval fm.execute_console("bulkrename") if fm.thisdir.marked_items else fm.open_console("rename ") -map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%")) -map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7) -#+END_SRC - -*** Paste files -#+BEGIN_SRC conf -map pp paste -map po paste overwrite=True -map pP paste append=True -map pO paste overwrite=True append=True -map pl paste_symlink relative=False -map pL paste_symlink relative=True -map phl paste_hardlink -map pht paste_hardlinked_subtree -#+END_SRC - -Paste with Rsync -#+BEGIN_SRC conf -map pr shell ~/.config/ranger/scripts/paste-rsync.sh %d %c -#+END_SRC - -*** Delete and move files -#+BEGIN_SRC conf -map dD shell -s trash-put %s -map dd cut -map du uncut -#+END_SRC - -*** Copy files -#+BEGIN_SRC conf -map yy copy -map yu uncut -#+END_SRC - -*** Searching -#+BEGIN_SRC conf -map / console search%space -map n search_next -map N search_next forward=False -#+END_SRC - -*** Tabs -#+BEGIN_SRC conf -map tab_new ~ -map tab_close - -map tab_move 1 -map tab_move -1 - -map gn tab_new ~ -map gt tab_move 1 -#+END_SRC - -*** Settings -#+BEGIN_SRC conf -map zh set show_hidden! - -map zi set preview_images! -map zv set use_preview_script! -#+END_SRC - -*** Bookmarks -#+BEGIN_SRC conf -map ` enter_bookmark %any -map ' enter_bookmark %any -map m set_bookmark %any -map um unset_bookmark %any - -map m draw_bookmarks -copymap m um ` ' -#+END_SRC - -*** FZF -#+BEGIN_SRC conf -map fzf_select -#+END_SRC - -** Define keys for the console -*** Basic -#+BEGIN_SRC conf -cmap eval fm.ui.console.tab() -cmap eval fm.ui.console.tab(-1) - -cmap eval fm.ui.console.close() - -cmap eval fm.ui.console.execute() - -cmap redraw_window - -copycmap -copycmap -#+END_SRC - -*** Move around -#+BEGIN_SRC conf -cmap eval fm.ui.console.history_move(-1) -cmap eval fm.ui.console.history_move(1) -cmap eval fm.ui.console.move(left=1) -cmap eval fm.ui.console.move(right=1) -#+END_SRC - -*** Line Editing -#+BEGIN_SRC conf -cmap eval fm.ui.console.delete(-1) -cmap eval fm.ui.console.delete(0) -cmap eval fm.ui.console.delete_word() -cmap eval fm.ui.console.paste() -copycmap -copycmap -#+END_SRC - -* Rifle -:PROPERTIES: -:CUSTOM_ID: rifle -:header-args: :tangle ~/.config/ranger/rifle.conf -:header-args+: :comments both :mkdirp yes -:END: - -** Documentation -#+BEGIN_SRC conf :tangle no -# 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: -# , , ... = 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 | The regexp matches $1 -# ext | The regexp matches the extension of $1 -# mime | The regexp matches the mime type of $1 -# name | The regexp matches the basename of $1 -# path | The regexp matches the absolute path of $1 -# has | The program is installed (i.e. located in $PATH) -# env | The environment variable "variable" is non-empty -# file | $1 is a file -# directory | $1 is a directory -# number | 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 | Change how the program is run. See below. -# label