diff options
Diffstat (limited to '')
| -rw-r--r-- | polybar/.config/polybar/config | 377 | ||||
| -rwxr-xr-x | polybar/.local/bin/polybar-launch | 12 | ||||
| -rw-r--r-- | ranger/.config/ranger/rc.conf | 530 | ||||
| -rwxr-xr-x | ranger/.config/ranger/scope.sh | 84 | ||||
| -rw-r--r-- | rc.org | 1036 | 
5 files changed, 1036 insertions, 1003 deletions
| diff --git a/polybar/.config/polybar/config b/polybar/.config/polybar/config deleted file mode 100644 index 1c99b8e..0000000 --- a/polybar/.config/polybar/config +++ /dev/null @@ -1,377 +0,0 @@ -;===================================================== -; -;   To learn more about how to configure Polybar -;   go to https://github.com/jaagr/polybar -; -;   The README contains alot of information -; -;===================================================== - -[colors] -;background = ${xrdb:color0:#222} -background = #222 -background-alt = #444 -;foreground = ${xrdb:color7:#222} -foreground = #eee -foreground-alt = #888 -primary = #ffb52a -secondary = #e60053 -alert = #bd2c40 - -[bar/main] -;monitor = ${env:MONITOR:HDMI-1} -width = 100% -height = 27 -;offset-x = 1% -;offset-y = 1% -radius = 3.0 -fixed-center = true - -background = ${colors.background} -foreground = ${colors.foreground} - -line-size = 3 -line-color = #f00 - -border-size = 4 -border-color = #00000000 - -padding-left = 0 -padding-right = 2 - -module-margin-left = 2 -module-margin-right = 2 - -font-0 = Ubuntu:fontformat=truetype:antialias=true:pixelsize=9;1 -font-1 = unifont:fontformat=truetype:size=8:antialias=false;0 -font-2 = Wuncon Siji:pixelsize=10;1 -font-3 = FontAwesome:pixelsize=10;1 - -modules-left = bspwm xwindow -modules-center =  -modules-right = volume filesystem mail xkeyboard memory cpu temperature date powermenu - -tray-position = right -tray-padding = 1 -;tray-transparent = true -;tray-background = #0063ff -tray-maxsize = 18 - -wm-restack = bspwm - -;override-redirect = true - -scroll-up = bspwm-desknext -scroll-down = bspwm-deskprev - -[module/xwindow] -type = internal/xwindow -label = %title:0:50:...% - -[module/xkeyboard] -type = internal/xkeyboard -blacklist-0 = num lock - -format-prefix = " " -format-prefix-foreground = ${colors.foreground-alt} -format-prefix-underline = ${colors.secondary} - -label-layout = %layout% -label-layout-underline = ${colors.secondary} - -label-indicator-padding = 2 -label-indicator-margin = 1 -label-indicator-background = ${colors.secondary} -label-indicator-underline = ${colors.secondary} - -[module/filesystem] -type = internal/fs -interval = 25 - -mount-0 = / - -label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%% -label-unmounted = %mountpoint% not mounted -label-unmounted-foreground = ${colors.foreground-alt} - -[module/bspwm] -type = internal/bspwm - -label-focused = %index% -label-focused-background = ${colors.background-alt} -label-focused-underline= ${colors.primary} -label-focused-padding = 2 - -label-occupied = %index% -label-occupied-padding = 2 - -label-urgent = %index%! -label-urgent-background = ${colors.alert} -label-urgent-padding = 2 - -label-empty = %index% -label-empty-foreground = ${colors.foreground-alt} -label-empty-padding = 2 - -[module/i3] -type = internal/i3 -format = <label-state> <label-mode> -index-sort = true -wrapping-scroll = false - -; Only show workspaces on the same output as the bar -;pin-workspaces = true - -label-mode-padding = 2 -label-mode-foreground = #000 -label-mode-background = ${colors.primary} - -; focused = Active workspace on focused monitor -label-focused = %index% -label-focused-background = ${module/bspwm.label-focused-background} -label-focused-underline = ${module/bspwm.label-focused-underline} -label-focused-padding = ${module/bspwm.label-focused-padding} - -; unfocused = Inactive workspace on any monitor -label-unfocused = %index% -label-unfocused-padding = ${module/bspwm.label-occupied-padding} - -; visible = Active workspace on unfocused monitor -label-visible = %index% -label-visible-background = ${self.label-focused-background} -label-visible-underline = ${self.label-focused-underline} -label-visible-padding = ${self.label-focused-padding} - -; urgent = Workspace with urgency hint set -label-urgent = %index% -label-urgent-background = ${module/bspwm.label-urgent-background} -label-urgent-padding = ${module/bspwm.label-urgent-padding} - -[module/mpd] -type = internal/mpd -format-online = <label-song>  <icon-prev> <icon-stop> <toggle> <icon-next> - -icon-prev =  -icon-stop =  -icon-play =  -icon-pause =  -icon-next =  - -label-song-maxlen = 25 -label-song-ellipsis = true - -[module/xbacklight] -type = internal/xbacklight - -format = <label> <bar> -label = BL - -bar-width = 10 -bar-indicator = | -bar-indicator-foreground = #ff -bar-indicator-font = 2 -bar-fill = ─ -bar-fill-font = 2 -bar-fill-foreground = #9f78e1 -bar-empty = ─ -bar-empty-font = 2 -bar-empty-foreground = ${colors.foreground-alt} - -[module/backlight-acpi] -inherit = module/xbacklight -type = internal/backlight -;card = intel_backlight -card = mba6x_backlight - -[module/cpu] -type = internal/cpu -interval = 2 -format-prefix = " " -format-prefix-foreground = ${colors.foreground-alt} -format-underline = #f90000 -label = %percentage%% - -[module/memory] -type = internal/memory -interval = 2 -format-prefix = " " -format-prefix-foreground = ${colors.foreground-alt} -format-underline = #4bffdc -label = %percentage_used%% - -[module/wlan] -type = internal/network -interface =  -interval = 3.0 - -format-connected = <ramp-signal> <label-connected> -format-connected-underline = #9f78e1 -label-connected = %essid% - -format-disconnected = -;format-disconnected = <label-disconnected> -;format-disconnected-underline = ${self.format-connected-underline} -;label-disconnected = %ifname% disconnected -;label-disconnected-foreground = ${colors.foreground-alt} - -ramp-signal-0 =  -ramp-signal-1 =  -ramp-signal-2 =  -ramp-signal-3 =  -ramp-signal-4 =  -ramp-signal-foreground = ${colors.foreground-alt} - -[module/eth] -type = internal/network -interface =  -interval = 3.0 - -format-connected-underline = #55aa55 -format-connected-prefix = " " -format-connected-prefix-foreground = ${colors.foreground-alt} -label-connected = %local_ip% - -format-disconnected = -;format-disconnected = <label-disconnected> -;format-disconnected-underline = ${self.format-connected-underline} -;label-disconnected = %ifname% disconnected -;label-disconnected-foreground = ${colors.foreground-alt} - -[module/date] -type = internal/date -interval = 5 - -date = -date-alt = " %Y-%m-%d" - -time = %H:%M -time-alt = %H:%M:%S - -format-prefix =  -format-prefix-foreground = ${colors.foreground-alt} -format-underline = #0a6cf5 - -label = %date% %time% - -[module/volume] -type = internal/volume - -format-volume = <label-volume> <bar-volume> -label-volume = vol -label-volume-foreground = ${root.foreground} - -format-muted-prefix = " " -format-muted-foreground = ${colors.foreground-alt} -label-muted = mute - -bar-volume-width = 10 -bar-volume-foreground-0 = #55aa55 -bar-volume-foreground-1 = #55aa55 -bar-volume-foreground-2 = #55aa55 -bar-volume-foreground-3 = #55aa55 -bar-volume-foreground-4 = #55aa55 -bar-volume-foreground-5 = #f5a70a -bar-volume-foreground-6 = #ff5555 -bar-volume-gradient = false -bar-volume-indicator = | -bar-volume-indicator-font = 2 -bar-volume-fill = ─ -bar-volume-fill-font = 2 -bar-volume-empty = ─ -bar-volume-empty-font = 2 -bar-volume-empty-foreground = ${colors.foreground-alt} - -[module/battery] -type = internal/battery -battery = BAT0 -adapter = ADP1 -full-at = 64 - -format-charging = <animation-charging> <label-charging> -format-charging-underline = #ffb52a - -format-discharging = <ramp-capacity> <label-discharging> -format-discharging-underline = ${self.format-charging-underline} - -format-full-prefix = " " -format-full-prefix-foreground = ${colors.foreground-alt} -format-full-underline = ${self.format-charging-underline} - -ramp-capacity-0 =  -ramp-capacity-1 =  -ramp-capacity-2 =  -ramp-capacity-foreground = ${colors.foreground-alt} - -animation-charging-0 =  -animation-charging-1 =  -animation-charging-2 =  -animation-charging-foreground = ${colors.foreground-alt} -animation-charging-framerate = 750 - -[module/temperature] -type = internal/temperature -thermal-zone = 1 -warn-temperature = 66 - -format = <ramp> <label> -format-underline = #f50a4d -format-warn = <ramp> <label-warn> -format-warn-underline = ${self.format-underline} - -label = %temperature% -label-warn = %temperature% -label-warn-foreground = ${colors.secondary} - -ramp-0 =  -ramp-1 =  -ramp-2 =  -ramp-foreground = ${colors.foreground-alt} - -[module/powermenu] -type = custom/menu - -format-spacing = 1 - -label-open =  -label-open-foreground = ${colors.secondary} -label-close =  cancel -label-close-foreground = ${colors.secondary} -label-separator = | -label-separator-foreground = ${colors.foreground-alt} - -menu-0-0 = reboot -menu-0-0-exec = menu-open-1 -menu-0-1 = power off -menu-0-1-exec = menu-open-2 - -menu-1-0 = cancel -menu-1-0-exec = menu-open-0 -menu-1-1 = reboot -menu-1-1-exec = sudo reboot - -menu-2-0 = power off -menu-2-0-exec = sudo poweroff -menu-2-1 = cancel -menu-2-1-exec = menu-open-0 - -[module/mail] -type = custom/script -interval = 60 -format = <label> -format-prefix = " " -format-prefix-foreground = ${colors.foreground-alt} -format-underline = #0a6cf5 -exec = notmuch count tag:unread - -[settings] -screenchange-reload = true -;compositing-background = xor -;compositing-background = screen -;compositing-foreground = source -;compositing-border = over - -[global/wm] -margin-top = 0 -margin-bottom = 0 - -; vim:ft=dosini diff --git a/polybar/.local/bin/polybar-launch b/polybar/.local/bin/polybar-launch deleted file mode 100755 index 4fcd323..0000000 --- a/polybar/.local/bin/polybar-launch +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env sh - -# Terminate already running bar instances -killall -q polybar - -# Wait until the processes have been shut down -while pgrep -x polybar >/dev/null; do sleep 1; done - -# Launch main bar -polybar main & - -echo "Bars launched..." diff --git a/ranger/.config/ranger/rc.conf b/ranger/.config/ranger/rc.conf deleted file mode 100644 index 36cb768..0000000 --- a/ranger/.config/ranger/rc.conf +++ /dev/null @@ -1,530 +0,0 @@ -# =================================================================== -# This file contains the default startup commands for ranger. -# To change them, it is recommended to create the file -# ~/.config/ranger/rc.conf and add your custom commands there. -# -# If you copy this whole file there, you may want to set the environment -# variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice. -# -# The purpose of this file is mainly to define keybindings and settings. -# For running more complex python code, please create a plugin in "plugins/" or -# a command in "commands.py". -# -# Each line is a command that will be run before the user interface -# is initialized.  As a result, you can not use commands which rely -# on the UI such as :delete or :mark. -# =================================================================== - -# =================================================================== -# == Options -# =================================================================== - -# How many columns are there, and what are their relative widths? -set column_ratios 1,3,4 - -# Which files should be hidden? (regular expression) -set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^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" (default), "never", "multiple" -# 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 for dependencies) to preview images, archives, etc. -set preview_script ~/.config/ranger/scope.sh - -# Use the external preview script or display simple plain text previews? -set use_preview_script true - -# Open all images in this directory when running certain image viewers -# like feh or sxiv?  You can still open selected files by marking them. -set open_all_images true - -# Be aware of version control systems and display information. -set vcs_aware false - -# State of the three backends git, hg, bzr. The possible states are -# disabled, local (only show local info), enabled (show local and remote -# information). -set vcs_backend_git enabled -set vcs_backend_hg disabled -set vcs_backend_bzr disabled - -# Preview images in full color with the external command "w3mimgpreview"? -# This requires the console web browser "w3m" and a supported terminal. -# It has been successfully tested with "xterm" and "urxvt" without tmux. -set preview_images true - -# Use a unicode "..." character to mark cut-off filenames? -set unicode_ellipsis false - -# Show dotfiles in the bookmark preview box? -set show_hidden_bookmarks true - -# Which colorscheme to use?  These colorschemes are available by default: -# default, jungle, snow -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 - -# Save the console history on exit? -set save_console_history 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 true - -# Display files tags in all columns or only in main column? -set display_tags_in_all_columns true - -# Set a title for the window? -set update_title false - -# Set the title to "ranger" in the tmux program? -set update_tmux_title false - -# 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 false - -# 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?  (Noticable 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 - -# Save bookmarks (used with mX and `X) instantly? -# This helps to synchronize bookmarks between multiple ranger -# instances but leads to *slight* performance loss. -# When false, bookmarks are saved when ranger is exited. -set autosave_bookmarks true - -# You can display the "real" cumulative size of directories by using the -# command :get_cumulative_size or typing "dc".  The size is expensive to -# calculate and will not be updated automatically.  You can choose -# to update it automatically though by turning on this option: -set autoupdate_cumulative_size false - -# Turning this on makes sense for screen readers: -set show_cursor false - -# One of: size, basename, mtime, type -set sort natural - -# Additional sorting options -set sort_reverse false -set sort_case_insensitive true -set sort_directories_first true - -# Enable this if key combinations with the Alt Key don't work for you. -# (Especially on xterm) -set xterm_alt_key false - -# =================================================================== -# == Local Options -# =================================================================== -# You can set local options that only affect a single directory. - -# Examples: -# setlocal path=~/downloads sort mtime - -# =================================================================== -# == Command Aliases in the Console -# =================================================================== - -alias e    edit -alias q    quit -alias q!   quitall -alias qall quitall -alias setl setlocal - -alias filter     scout -prt -alias find       scout -aet -alias mark       scout -mr -alias unmark     scout -Mr -alias search     scout -rs -alias search_inc scout -rts -alias travel     scout -aefiklst - -# =================================================================== -# == Define keys for the browser -# =================================================================== - -# 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  -map @  console -p6 shell  %%s -map #  console shell -p  -map s  console shell  -map r  chain draw_possible_programs; console open_with  -map f  console find  -map cd console cd  - -# Tagging / Marking -map t       tag_toggle -map ut      tag_remove -map "<any>  tag_toggle tag=%any -map <Space> mark_files toggle=True -map v       mark_files all=True toggle=True -map uv      mark_files all=True val=False -map V       toggle_visual_mode -map uV      toggle_visual_mode reverse=True - -# For the nostalgics: Midnight Commander bindings -map <F1> help -map <F3> display_file -map <F4> edit -map <F5> copy -map <F6> cut -map <F7> console mkdir  -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  - -# 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 - -map gh cd ~ -map ge cd /etc -map gu cd /usr -map gd cd /dev -map gl cd -r . -map gL cd -r %f -map go cd /opt -map gv cd /var -map gm cd /media -map gM cd /mnt -map gs cd /srv -map gr cd / -map gR eval fm.cd(ranger.RANGERDIR) -map g/ cd / -map g? cd /usr/share/doc/ranger - -# 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 -d echo -n %d/%f | xsel -i -map yd shell -d echo -n %d    | xsel -i -map yn shell -d echo -n %f    | xsel -i - -# Filesystem Operations -map =  chmod - -map cw console rename  -map A  eval fm.open_console('rename ' + fm.thisfile.basename) -map I  eval fm.open_console('rename ' + fm.thisfile.basename, position=7) - -map pp paste -map po paste overwrite=True -map pl paste_symlink relative=False -map pL paste_symlink relative=True -map phl paste_hardlink -map pht paste_hardlinked_subtree - -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  -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 - -# 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 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 - -# Sorting -map or toggle_option sort_reverse -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 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 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  - -# Bookmarks -map `<any>  enter_bookmark %any -map '<any>  enter_bookmark %any -map m<any>  set_bookmark %any -map um<any> unset_bookmark %any - -map m<bg>   draw_bookmarks -copymap m<bg>  um<bg> `<bg> '<bg> - -# Generate all the chmod bindings with some python help: -eval for arg in "rwxXst": cmd("map +u{0} shell -d chmod u+{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map +g{0} shell -d chmod g+{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map +o{0} shell -d chmod o+{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map +a{0} shell -d chmod a+{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map +{0}  shell -d chmod u+{0} %s".format(arg)) - -eval for arg in "rwxXst": cmd("map -u{0} shell -d chmod u-{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map -g{0} shell -d chmod g-{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map -o{0} shell -d chmod o-{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map -a{0} shell -d chmod a-{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map -{0}  shell -d chmod u-{0} %s".format(arg)) - -# =================================================================== -# == Define keys for the console -# =================================================================== -# Note: Unmapped keys are passed directly to the console. - -# 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 <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 Keybindings -# =================================================================== - -# 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     <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 <ESC> taskview_close -copytmap <ESC> q Q w <C-c> diff --git a/ranger/.config/ranger/scope.sh b/ranger/.config/ranger/scope.sh deleted file mode 100755 index 64bab71..0000000 --- a/ranger/.config/ranger/scope.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env sh -# 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 - -# 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) - -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=${path##*.} - -# 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 previouosly used "try" command -dump() { 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 -highlight() { command highlight "$@"; test $? = 0 -o $? = 141; } - -case "$extension" in -    # Archive extensions: -    7z|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;; -    rar) -        try unrar -p- lt "$path" && { dump | trim; exit 0; } || exit 1;; -    # PDF documents: -    pdf) -        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;; -    # 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) -        try highlight --out-format=ansi "$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 @@ -2280,6 +2280,1042 @@ def prime_gpg_agent():  prime_gpg_agent()  #+end_src +** polybar + +*** config +:PROPERTIES: +:header-args+: :tangle ~/.config/polybar/config +:END: + +#+begin_src conf :tangle no +;===================================================== +; +;   To learn more about how to configure Polybar +;   go to https://github.com/jaagr/polybar +; +;   The README contains alot of information +; +;===================================================== + +[colors] +;background = ${xrdb:color0:#222} +background = #222 +background-alt = #444 +;foreground = ${xrdb:color7:#222} +foreground = #eee +foreground-alt = #888 +primary = #ffb52a +secondary = #e60053 +alert = #bd2c40 + +[bar/main] +;monitor = ${env:MONITOR:HDMI-1} +width = 100% +height = 27 +;offset-x = 1% +;offset-y = 1% +radius = 3.0 +fixed-center = true + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 3 +line-color = #f00 + +border-size = 4 +border-color = #00000000 + +padding-left = 0 +padding-right = 2 + +module-margin-left = 2 +module-margin-right = 2 + +font-0 = Ubuntu:fontformat=truetype:antialias=true:pixelsize=9;1 +font-1 = unifont:fontformat=truetype:size=8:antialias=false;0 +font-2 = Wuncon Siji:pixelsize=10;1 +font-3 = FontAwesome:pixelsize=10;1 + +modules-left = bspwm xwindow +modules-center =  +modules-right = volume filesystem mail xkeyboard memory cpu temperature date powermenu + +tray-position = right +tray-padding = 1 +;tray-transparent = true +;tray-background = #0063ff +tray-maxsize = 18 + +wm-restack = bspwm + +;override-redirect = true + +scroll-up = bspwm-desknext +scroll-down = bspwm-deskprev + +[module/xwindow] +type = internal/xwindow +label = %title:0:50:...% + +[module/xkeyboard] +type = internal/xkeyboard +blacklist-0 = num lock + +format-prefix = " " +format-prefix-foreground = ${colors.foreground-alt} +format-prefix-underline = ${colors.secondary} + +label-layout = %layout% +label-layout-underline = ${colors.secondary} + +label-indicator-padding = 2 +label-indicator-margin = 1 +label-indicator-background = ${colors.secondary} +label-indicator-underline = ${colors.secondary} + +[module/filesystem] +type = internal/fs +interval = 25 + +mount-0 = / + +label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%% +label-unmounted = %mountpoint% not mounted +label-unmounted-foreground = ${colors.foreground-alt} + +[module/bspwm] +type = internal/bspwm + +label-focused = %index% +label-focused-background = ${colors.background-alt} +label-focused-underline= ${colors.primary} +label-focused-padding = 2 + +label-occupied = %index% +label-occupied-padding = 2 + +label-urgent = %index%! +label-urgent-background = ${colors.alert} +label-urgent-padding = 2 + +label-empty = %index% +label-empty-foreground = ${colors.foreground-alt} +label-empty-padding = 2 + +[module/i3] +type = internal/i3 +format = <label-state> <label-mode> +index-sort = true +wrapping-scroll = false + +; Only show workspaces on the same output as the bar +;pin-workspaces = true + +label-mode-padding = 2 +label-mode-foreground = #000 +label-mode-background = ${colors.primary} + +; focused = Active workspace on focused monitor +label-focused = %index% +label-focused-background = ${module/bspwm.label-focused-background} +label-focused-underline = ${module/bspwm.label-focused-underline} +label-focused-padding = ${module/bspwm.label-focused-padding} + +; unfocused = Inactive workspace on any monitor +label-unfocused = %index% +label-unfocused-padding = ${module/bspwm.label-occupied-padding} + +; visible = Active workspace on unfocused monitor +label-visible = %index% +label-visible-background = ${self.label-focused-background} +label-visible-underline = ${self.label-focused-underline} +label-visible-padding = ${self.label-focused-padding} + +; urgent = Workspace with urgency hint set +label-urgent = %index% +label-urgent-background = ${module/bspwm.label-urgent-background} +label-urgent-padding = ${module/bspwm.label-urgent-padding} + +[module/mpd] +type = internal/mpd +format-online = <label-song>  <icon-prev> <icon-stop> <toggle> <icon-next> + +icon-prev =  +icon-stop =  +icon-play =  +icon-pause =  +icon-next =  + +label-song-maxlen = 25 +label-song-ellipsis = true + +[module/xbacklight] +type = internal/xbacklight + +format = <label> <bar> +label = BL + +bar-width = 10 +bar-indicator = | +bar-indicator-foreground = #ff +bar-indicator-font = 2 +bar-fill = ─ +bar-fill-font = 2 +bar-fill-foreground = #9f78e1 +bar-empty = ─ +bar-empty-font = 2 +bar-empty-foreground = ${colors.foreground-alt} + +[module/backlight-acpi] +inherit = module/xbacklight +type = internal/backlight +;card = intel_backlight +card = mba6x_backlight + +[module/cpu] +type = internal/cpu +interval = 2 +format-prefix = " " +format-prefix-foreground = ${colors.foreground-alt} +format-underline = #f90000 +label = %percentage%% + +[module/memory] +type = internal/memory +interval = 2 +format-prefix = " " +format-prefix-foreground = ${colors.foreground-alt} +format-underline = #4bffdc +label = %percentage_used%% + +[module/wlan] +type = internal/network +interface =  +interval = 3.0 + +format-connected = <ramp-signal> <label-connected> +format-connected-underline = #9f78e1 +label-connected = %essid% + +format-disconnected = +;format-disconnected = <label-disconnected> +;format-disconnected-underline = ${self.format-connected-underline} +;label-disconnected = %ifname% disconnected +;label-disconnected-foreground = ${colors.foreground-alt} + +ramp-signal-0 =  +ramp-signal-1 =  +ramp-signal-2 =  +ramp-signal-3 =  +ramp-signal-4 =  +ramp-signal-foreground = ${colors.foreground-alt} + +[module/eth] +type = internal/network +interface =  +interval = 3.0 + +format-connected-underline = #55aa55 +format-connected-prefix = " " +format-connected-prefix-foreground = ${colors.foreground-alt} +label-connected = %local_ip% + +format-disconnected = +;format-disconnected = <label-disconnected> +;format-disconnected-underline = ${self.format-connected-underline} +;label-disconnected = %ifname% disconnected +;label-disconnected-foreground = ${colors.foreground-alt} + +[module/date] +type = internal/date +interval = 5 + +date = +date-alt = " %Y-%m-%d" + +time = %H:%M +time-alt = %H:%M:%S + +format-prefix =  +format-prefix-foreground = ${colors.foreground-alt} +format-underline = #0a6cf5 + +label = %date% %time% + +[module/volume] +type = internal/volume + +format-volume = <label-volume> <bar-volume> +label-volume = vol +label-volume-foreground = ${root.foreground} + +format-muted-prefix = " " +format-muted-foreground = ${colors.foreground-alt} +label-muted = mute + +bar-volume-width = 10 +bar-volume-foreground-0 = #55aa55 +bar-volume-foreground-1 = #55aa55 +bar-volume-foreground-2 = #55aa55 +bar-volume-foreground-3 = #55aa55 +bar-volume-foreground-4 = #55aa55 +bar-volume-foreground-5 = #f5a70a +bar-volume-foreground-6 = #ff5555 +bar-volume-gradient = false +bar-volume-indicator = | +bar-volume-indicator-font = 2 +bar-volume-fill = ─ +bar-volume-fill-font = 2 +bar-volume-empty = ─ +bar-volume-empty-font = 2 +bar-volume-empty-foreground = ${colors.foreground-alt} + +[module/battery] +type = internal/battery +battery = BAT0 +adapter = ADP1 +full-at = 64 + +format-charging = <animation-charging> <label-charging> +format-charging-underline = #ffb52a + +format-discharging = <ramp-capacity> <label-discharging> +format-discharging-underline = ${self.format-charging-underline} + +format-full-prefix = " " +format-full-prefix-foreground = ${colors.foreground-alt} +format-full-underline = ${self.format-charging-underline} + +ramp-capacity-0 =  +ramp-capacity-1 =  +ramp-capacity-2 =  +ramp-capacity-foreground = ${colors.foreground-alt} + +animation-charging-0 =  +animation-charging-1 =  +animation-charging-2 =  +animation-charging-foreground = ${colors.foreground-alt} +animation-charging-framerate = 750 + +[module/temperature] +type = internal/temperature +thermal-zone = 1 +warn-temperature = 66 + +format = <ramp> <label> +format-underline = #f50a4d +format-warn = <ramp> <label-warn> +format-warn-underline = ${self.format-underline} + +label = %temperature% +label-warn = %temperature% +label-warn-foreground = ${colors.secondary} + +ramp-0 =  +ramp-1 =  +ramp-2 =  +ramp-foreground = ${colors.foreground-alt} + +[module/powermenu] +type = custom/menu + +format-spacing = 1 + +label-open =  +label-open-foreground = ${colors.secondary} +label-close =  cancel +label-close-foreground = ${colors.secondary} +label-separator = | +label-separator-foreground = ${colors.foreground-alt} + +menu-0-0 = reboot +menu-0-0-exec = menu-open-1 +menu-0-1 = power off +menu-0-1-exec = menu-open-2 + +menu-1-0 = cancel +menu-1-0-exec = menu-open-0 +menu-1-1 = reboot +menu-1-1-exec = sudo reboot + +menu-2-0 = power off +menu-2-0-exec = sudo poweroff +menu-2-1 = cancel +menu-2-1-exec = menu-open-0 + +[module/mail] +type = custom/script +interval = 60 +format = <label> +format-prefix = " " +format-prefix-foreground = ${colors.foreground-alt} +format-underline = #0a6cf5 +exec = notmuch count tag:unread + +[settings] +screenchange-reload = true +;compositing-background = xor +;compositing-background = screen +;compositing-foreground = source +;compositing-border = over + +[global/wm] +margin-top = 0 +margin-bottom = 0 + +; vim:ft=dosini +#+end_src + +*** polybar-launch +:PROPERTIES: +:header-args+: :tangle ~/.local/bin/polybar-launch +:END: + +#+begin_src sh :shebang "#!/bin/sh" :tangle no +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -x polybar >/dev/null; do sleep 1; done + +# Launch main bar +polybar main & + +echo "Bars launched..." +#+end_src + +** ranger + +*** rc.conf +:PROPERTIES: +:header-args+: :tangle ~/.config/ranger/rc.conf +:END: + +#+begin_src conf :tangle no +# =================================================================== +# This file contains the default startup commands for ranger. +# To change them, it is recommended to create the file +# ~/.config/ranger/rc.conf and add your custom commands there. +# +# If you copy this whole file there, you may want to set the environment +# variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice. +# +# The purpose of this file is mainly to define keybindings and settings. +# For running more complex python code, please create a plugin in "plugins/" or +# a command in "commands.py". +# +# Each line is a command that will be run before the user interface +# is initialized.  As a result, you can not use commands which rely +# on the UI such as :delete or :mark. +# =================================================================== + +# =================================================================== +# == Options +# =================================================================== + +# How many columns are there, and what are their relative widths? +set column_ratios 1,3,4 + +# Which files should be hidden? (regular expression) +set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^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" (default), "never", "multiple" +# 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 for dependencies) to preview images, archives, etc. +set preview_script ~/.config/ranger/scope.sh + +# Use the external preview script or display simple plain text previews? +set use_preview_script true + +# Open all images in this directory when running certain image viewers +# like feh or sxiv?  You can still open selected files by marking them. +set open_all_images true + +# Be aware of version control systems and display information. +set vcs_aware false + +# State of the three backends git, hg, bzr. The possible states are +# disabled, local (only show local info), enabled (show local and remote +# information). +set vcs_backend_git enabled +set vcs_backend_hg disabled +set vcs_backend_bzr disabled + +# Preview images in full color with the external command "w3mimgpreview"? +# This requires the console web browser "w3m" and a supported terminal. +# It has been successfully tested with "xterm" and "urxvt" without tmux. +set preview_images true + +# Use a unicode "..." character to mark cut-off filenames? +set unicode_ellipsis false + +# Show dotfiles in the bookmark preview box? +set show_hidden_bookmarks true + +# Which colorscheme to use?  These colorschemes are available by default: +# default, jungle, snow +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 + +# Save the console history on exit? +set save_console_history 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 true + +# Display files tags in all columns or only in main column? +set display_tags_in_all_columns true + +# Set a title for the window? +set update_title false + +# Set the title to "ranger" in the tmux program? +set update_tmux_title false + +# 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 false + +# 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?  (Noticable 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 + +# Save bookmarks (used with mX and `X) instantly? +# This helps to synchronize bookmarks between multiple ranger +# instances but leads to *slight* performance loss. +# When false, bookmarks are saved when ranger is exited. +set autosave_bookmarks true + +# You can display the "real" cumulative size of directories by using the +# command :get_cumulative_size or typing "dc".  The size is expensive to +# calculate and will not be updated automatically.  You can choose +# to update it automatically though by turning on this option: +set autoupdate_cumulative_size false + +# Turning this on makes sense for screen readers: +set show_cursor false + +# One of: size, basename, mtime, type +set sort natural + +# Additional sorting options +set sort_reverse false +set sort_case_insensitive true +set sort_directories_first true + +# Enable this if key combinations with the Alt Key don't work for you. +# (Especially on xterm) +set xterm_alt_key false + +# =================================================================== +# == Local Options +# =================================================================== +# You can set local options that only affect a single directory. + +# Examples: +# setlocal path=~/downloads sort mtime + +# =================================================================== +# == Command Aliases in the Console +# =================================================================== + +alias e    edit +alias q    quit +alias q!   quitall +alias qall quitall +alias setl setlocal + +alias filter     scout -prt +alias find       scout -aet +alias mark       scout -mr +alias unmark     scout -Mr +alias search     scout -rs +alias search_inc scout -rts +alias travel     scout -aefiklst + +# =================================================================== +# == Define keys for the browser +# =================================================================== + +# 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  +map @  console -p6 shell  %%s +map #  console shell -p  +map s  console shell  +map r  chain draw_possible_programs; console open_with  +map f  console find  +map cd console cd  + +# Tagging / Marking +map t       tag_toggle +map ut      tag_remove +map "<any>  tag_toggle tag=%any +map <Space> mark_files toggle=True +map v       mark_files all=True toggle=True +map uv      mark_files all=True val=False +map V       toggle_visual_mode +map uV      toggle_visual_mode reverse=True + +# For the nostalgics: Midnight Commander bindings +map <F1> help +map <F3> display_file +map <F4> edit +map <F5> copy +map <F6> cut +map <F7> console mkdir  +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  + +# 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 + +map gh cd ~ +map ge cd /etc +map gu cd /usr +map gd cd /dev +map gl cd -r . +map gL cd -r %f +map go cd /opt +map gv cd /var +map gm cd /media +map gM cd /mnt +map gs cd /srv +map gr cd / +map gR eval fm.cd(ranger.RANGERDIR) +map g/ cd / +map g? cd /usr/share/doc/ranger + +# 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 -d echo -n %d/%f | xsel -i +map yd shell -d echo -n %d    | xsel -i +map yn shell -d echo -n %f    | xsel -i + +# Filesystem Operations +map =  chmod + +map cw console rename  +map A  eval fm.open_console('rename ' + fm.thisfile.basename) +map I  eval fm.open_console('rename ' + fm.thisfile.basename, position=7) + +map pp paste +map po paste overwrite=True +map pl paste_symlink relative=False +map pL paste_symlink relative=True +map phl paste_hardlink +map pht paste_hardlinked_subtree + +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  +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 + +# 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 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 + +# Sorting +map or toggle_option sort_reverse +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 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 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  + +# Bookmarks +map `<any>  enter_bookmark %any +map '<any>  enter_bookmark %any +map m<any>  set_bookmark %any +map um<any> unset_bookmark %any + +map m<bg>   draw_bookmarks +copymap m<bg>  um<bg> `<bg> '<bg> + +# Generate all the chmod bindings with some python help: +eval for arg in "rwxXst": cmd("map +u{0} shell -d chmod u+{0} %s".format(arg)) +eval for arg in "rwxXst": cmd("map +g{0} shell -d chmod g+{0} %s".format(arg)) +eval for arg in "rwxXst": cmd("map +o{0} shell -d chmod o+{0} %s".format(arg)) +eval for arg in "rwxXst": cmd("map +a{0} shell -d chmod a+{0} %s".format(arg)) +eval for arg in "rwxXst": cmd("map +{0}  shell -d chmod u+{0} %s".format(arg)) + +eval for arg in "rwxXst": cmd("map -u{0} shell -d chmod u-{0} %s".format(arg)) +eval for arg in "rwxXst": cmd("map -g{0} shell -d chmod g-{0} %s".format(arg)) +eval for arg in "rwxXst": cmd("map -o{0} shell -d chmod o-{0} %s".format(arg)) +eval for arg in "rwxXst": cmd("map -a{0} shell -d chmod a-{0} %s".format(arg)) +eval for arg in "rwxXst": cmd("map -{0}  shell -d chmod u-{0} %s".format(arg)) + +# =================================================================== +# == Define keys for the console +# =================================================================== +# Note: Unmapped keys are passed directly to the console. + +# 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 <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 Keybindings +# =================================================================== + +# 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     <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 <ESC> taskview_close +copytmap <ESC> q Q w <C-c> +#+end_src + +*** scope.sh +:PROPERTIES: +:header-args+: :tangle ~/.config/ranger/scope.sh +:END: + +#+begin_src sh :shebang "#!/bin/sh" :tangle no +# 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 + +# 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) + +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=${path##*.} + +# 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 previouosly used "try" command +dump() { 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 +highlight() { command highlight "$@"; test $? = 0 -o $? = 141; } + +case "$extension" in +    # Archive extensions: +    7z|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;; +    rar) +        try unrar -p- lt "$path" && { dump | trim; exit 0; } || exit 1;; +    # PDF documents: +    pdf) +        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;; +    # 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) +        try highlight --out-format=ansi "$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 +#+end_src +  * Scripts  This section contains various useful scripts and the ones used by the | 
