summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bookmarks4
-rw-r--r--colorschemes/eupho.py107
-rw-r--r--colorschemes/simple.py156
-rwxr-xr-xrc.conf20
-rw-r--r--rc.config1
-rwxr-xr-xrifle.conf31
-rwxr-xr-xscope.sh11
-rw-r--r--tagged62
8 files changed, 313 insertions, 79 deletions
diff --git a/bookmarks b/bookmarks
deleted file mode 100644
index dc8b9a3..0000000
--- a/bookmarks
+++ /dev/null
@@ -1,4 +0,0 @@
-m:/media
-M:/home/ache
-k:/home/ache/Téléchargements
-':/home/ache/Téléchargements
diff --git a/colorschemes/eupho.py b/colorschemes/eupho.py
new file mode 100644
index 0000000..a29a0b9
--- /dev/null
+++ b/colorschemes/eupho.py
@@ -0,0 +1,107 @@
+from ranger.gui.colorscheme import ColorScheme
+from ranger.gui.color import *
+
+class Default(ColorScheme):
+ def use(self, context):
+ fg, bg, attr = default_colors
+
+ if context.reset:
+ return default_colors
+
+ elif context.in_browser:
+ if context.selected:
+ fg = white
+ attr = bold
+ else:
+ attr = normal
+ if context.empty or context.error:
+ fg = black
+ if context.border:
+ attr = normal
+ fg = default
+ if context.media:
+ if context.image:
+ fg = red
+ else:
+ fg = yellow
+ if context.container:
+ attr |= normal
+ fg = green
+ if context.directory:
+ attr |= normal
+ fg = magenta
+ elif context.executable and not \
+ any((context.media, context.container,
+ context.fifo, context.socket)):
+ attr |= bold
+ fg = red
+ if context.socket:
+ fg = black
+ if context.fifo or context.device:
+ fg = blue
+ if context.device:
+ attr |= bold
+ if context.link:
+ fg = context.good and white or red
+ if context.tag_marker and not context.selected:
+ attr |= bold
+ if fg in (red, white):
+ fg = black
+ else:
+ fg = green
+ if not context.selected and (context.cut or context.copied):
+ fg = black
+ attr |= bold
+ if context.main_column:
+ if context.selected:
+ attr |= reverse
+ if context.marked:
+ attr |= underline
+ fg = white
+ if context.badinfo:
+ if attr & reverse:
+ bg = red
+ else:
+ fg = red
+
+ elif context.in_titlebar:
+ attr |= normal
+ if context.hostname:
+ attr |= normal
+ fg = red
+ elif context.directory:
+ fg = red
+ elif context.tab:
+ if context.good:
+ bg = white
+ elif context.link:
+ fg = green
+
+ elif context.in_statusbar:
+ if context.permissions:
+ if context.good:
+ fg = white
+ elif context.bad:
+ fg = red
+ if context.marked:
+ attr |= bold | reverse
+ fg = yellow
+ if context.message:
+ if context.bad:
+ attr |= bold
+ fg = red
+
+ if context.text:
+ if context.highlight:
+ attr |= bold
+
+ if context.in_taskview:
+ if context.title:
+ fg = red
+
+ if context.selected:
+ attr |= normal
+
+ return fg, bg, attr
+
+
diff --git a/colorschemes/simple.py b/colorschemes/simple.py
new file mode 100644
index 0000000..a1eb63c
--- /dev/null
+++ b/colorschemes/simple.py
@@ -0,0 +1,156 @@
+from ranger.gui.colorscheme import ColorScheme
+from ranger.gui.color import *
+
+class candycane(ColorScheme):
+ progress_bar_color = 1
+
+ def use(self, context):
+ fg, bg, attr = default_colors
+
+ if context.reset:
+ return default_colors
+
+ elif context.in_browser:
+ if context.selected:
+ attr = reverse
+ else:
+ attr = normal
+ if context.empty or context.error:
+ fg = 7
+ bg = 1
+ if context.border:
+ fg = 7
+ if context.image:
+ fg = 7
+ if context.video:
+ fg = 7
+ if context.audio:
+ fg = 7
+ if context.document:
+ fg = 1
+ if context.container:
+ attr |= bold
+ fg = 1
+ if context.directory:
+ attr |= bold
+ fg = 8
+ elif context.executable and not \
+ any((context.media, context.container,
+ context.fifo, context.socket)):
+ attr |= bold
+ fg = 4
+ if context.socket:
+ fg = 3
+ attr |= bold
+ if context.fifo or context.device:
+ fg = 10
+ if context.device:
+ attr |= bold
+ if context.link:
+ fg = context.good and 7 or 8
+ bg = 8
+ if context.bad:
+ fg = 1
+ if context.tag_marker and not context.selected:
+ attr |= bold
+ if fg in (7, 8):
+ fg = 1
+ else:
+ fg = 1
+ if not context.selected and (context.cut or context.copied):
+ fg = 15
+ bg = 8
+ if context.main_column:
+ if context.selected:
+ attr |= bold
+ if context.marked:
+ attr |= bold
+ fg = 8
+ if context.badinfo:
+ if attr & reverse:
+ bg = 1
+ else:
+ fg = 7
+
+ elif context.in_titlebar:
+ attr |= bold
+ if context.hostname:
+ fg = context.bad and 8 or 1
+ elif context.directory:
+ fg = 8
+ elif context.tab:
+ if context.good:
+ fg = 1
+ elif context.link:
+ fg = 8
+
+ elif context.in_statusbar:
+ if context.permissions:
+ if context.good:
+ fg = 1
+ elif context.bad:
+ fg = 8
+ if context.marked:
+ attr |= bold | reverse
+ fg = 8
+ if context.message:
+ if context.bad:
+ attr |= bold
+ fg = 10
+ if context.loaded:
+ bg = self.progress_bar_color
+ if context.vcsinfo:
+ fg = 10
+ attr &= ~bold
+ if context.vcscommit:
+ fg = 5
+ attr &= ~bold
+
+
+ if context.text:
+ if context.highlight:
+ attr |= reverse
+
+ if context.in_taskview:
+ if context.title:
+ fg = 8
+
+ if context.selected:
+ attr |= reverse
+
+ if context.loaded:
+ if context.selected:
+ fg = self.progress_bar_color
+ else:
+ bg = self.progress_bar_color
+
+
+ if context.vcsfile and not context.selected:
+ attr &= ~bold
+ if context.vcsconflict:
+ fg = 1
+ elif context.vcschanged:
+ fg = 2
+ elif context.vcsunknown:
+ fg = 3
+ elif context.vcsstaged:
+ fg = 4
+ elif context.vcssync:
+ fg = 5
+ elif context.vcsignored:
+ fg = 6
+
+ elif context.vcsremote and not context.selected:
+ attr &= ~bold
+ if context.vcssync:
+ fg = 12
+ elif context.vcsbehind:
+ fg = 13
+ elif context.vcsahead:
+ fg = 9
+ elif context.vcsdiverged:
+ fg = 10
+ elif context.vcsunknown:
+ fg = 11
+
+ return fg, bg, attr
diff --git a/rc.conf b/rc.conf
index d852824..8e608fb 100755
--- a/rc.conf
+++ b/rc.conf
@@ -57,6 +57,10 @@ set vcs_aware false
set vcs_backend_git enabled
set vcs_backend_hg disabled
set vcs_backend_bzr disabled
+set vcs_backend_svn disabled
+
+# Truncate the long commit messages to this length when shown in the statusbar.
+set vcs_msg_length 50
# Use one of the supported image preview protocols
set preview_images true
@@ -73,6 +77,7 @@ set preview_images true
# (http://iterm2.com/images.html). This requires using iTerm2 compiled
# with image preview support.
set preview_images_method w3m
+set preview_images_method kitty
# Use a unicode "..." character to mark cut-off filenames?
set unicode_ellipsis false
@@ -82,7 +87,7 @@ set show_hidden_bookmarks true
# Which colorscheme to use? These colorschemes are available by default:
# default, jungle, snow, solarized
-set colorscheme try
+set colorscheme eupho
# Preview files on the rightmost column?
# And collapse (shrink) the last column if there is nothing to preview?
@@ -327,12 +332,15 @@ map g/ cd /
map g? cd /usr/share/doc/ranger
# External Programs
-map E edit
+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
+# Copy filepath
+map yp shell -f echo -n %d/%f | xsel -i; xsel -o | xsel -i -b
+# Copy current directory
+map yd shell -f echo -n %d | xsel -i; xsel -o | xsel -i -b
+# Copy filename (basename)
+map yn shell -f echo -n %f | xsel -i; xsel -o | xsel -i -b
# Filesystem Operations
map = chmod
@@ -545,7 +553,7 @@ copypmap <PAGEUP> p b <C-B>
pmap <C-l> redraw_window
pmap <ESC> pager_close
copypmap <ESC> q Q i <F3>
-pmap E edit_file
+pmap e edit_file
# ===================================================================
# == Taskview Keybindings
diff --git a/rc.config b/rc.config
deleted file mode 100644
index 96c6c49..0000000
--- a/rc.config
+++ /dev/null
@@ -1 +0,0 @@
-set draw_borders true
diff --git a/rifle.conf b/rifle.conf
index 9fae9e3..a4ce6de 100755
--- a/rifle.conf
+++ b/rifle.conf
@@ -122,13 +122,14 @@ ext php = php -- "$1"
# Video/Audio with a GUI
#-------------------------------------------
+mime ^audio, has vlc, X, flag f = vlc --key-quit "Ctrl-v" --started-from-file -- "$@"
mime ^audio, has mpd, X, flag f = if ! mpc ; then mpd; fi; mpc add "file://$1"; mpc play
mime ^audio, has moc, X, flag f = infoMOC=`mocp -i`; if [ -n "$infoMOC" ]; then if [ "${infoMOC:7:4}" = "PLAY" ] ; then mocp -q "$@"; else mocp -l "$@";mocp -c; mocp -l "$@"; fi else mocp -S; mocp -l "$@";mocp -c;mocp -l "$@"; fi;
-mime ^audio, has vlc, X, flag f = vlc --key-quit "Ctrl-v" --started-from-file -- "$@"
mime ^video, has vlc, X, flag f = cvlc --key-quit "Ctrl-v" --started-from-file -- "$@"
+mime ^video, has vlc, X, flag f = cvlc --no-one-instance --key-quit "Ctrl-v" "$@"
+mime ^video, has vlc, X, flag f = vlc --no-one-instance --key-quit "Ctrl-v" "$@"
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 -- "$@"
mime ^video, has mpv, X, flag f = mpv --fs -- "$@"
mime ^video, has mplayer2, X, flag f = mplayer2 -- "$@"
mime ^video, has mplayer2, X, flag f = mplayer2 -fs -- "$@"
@@ -163,6 +164,12 @@ ext pdf, has atril, X, flag f = atril -- "$@"
ext pdf, has okular, X, flag f = okular -- "$@"
ext pdf, has qpdfview, X, flag f = qpdfview "$@"
+
+ext epub, has okular, X, flag f = okular -- "$@"
+ext epub, has foliate, X, flag f = foliate "$@"
+ext epub, has mupdf, X, flag f = mupdf "$@"
+ext epub, has zathura, X, flag f = zathura -- "$@"
+
ext docx?, has catdoc, terminal = catdoc -- "$@" | "$PAGER"
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has gnumeric, X, flag f = gnumeric -- "$@"
@@ -188,20 +195,30 @@ ext gif, has gifview, X, flag f = gifview -a -- "$@"
#-------------------------------------------
# Image Viewing:
#-------------------------------------------
+
+# SVG
mime ^image/svg, , , = $EDITOR -- "$@"
mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@"
mime ^image/svg, has display, X, flag f = display -- "$@"
+# Fallback
+mime ^image, has nomacs, X, flag f = nomacs -- "$@"
+mime ^image, has vimiv, X, flag f = vimiv -- "$@"
+mime ^image, has qimgv, X, flag f = qimgv -- "$@"
+mime ^image, has gpicview, X, flag f = gpicview -- "$@"
+mime ^image, has eog, X, flag f = eog -- "$@"
+mime ^image, has eom, X, flag f = eom -- "$@"
mime ^image, has ristretto, X, flag f = ristretto "$@"
mime ^image, has sxiv, X, flag f = sxiv -- "$@"
mime ^image, has feh, X, flag f = feh -- "$@"
-mime ^image, has mirage, X, flag f = mirage -- "$@"
-mime ^image, has eog, X, flag f = eog -- "$@"
-mime ^image, has eom, X, flag f = eom -- "$@"
mime ^image, has gimp, X, flag f = gimp -- "$@"
ext xcf, X, flag f = gimp -- "$@"
+# WEBP
+mime ^image/webp, has gthumb, X, flag f = gthumb -- "$@"
+ext webp, has gthumb, X, flag f = gthumb -- "$@"
+
#-------------------------------------------
# Archives
@@ -212,6 +229,10 @@ ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has als = als -- "$@" |
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 -- "$@"
+
+# 3D printing
+ext stl, has cura, X, flag f = cura -- "$@"
+
# Fallback:
ext tar|gz, has tar = tar vvtf "$@" | "$PAGER"
ext tar|gz, has tar = tar vvxf "$@"
diff --git a/scope.sh b/scope.sh
index c4cf37d..38578db 100755
--- a/scope.sh
+++ b/scope.sh
@@ -32,6 +32,7 @@ maxln=200 # Stop after $maxln lines. Can be used like ls | head -n $maxln
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
@@ -55,8 +56,14 @@ if [ "$preview_images" = "True" ]; then
# Image previews for image files. w3mimgdisplay will be called for all
# image files (unless overriden as above), but might fail for
# unsupported types.
+
+ application/epub+zip|application/x-mobipocket-ebook|\
+ application/x-fictionbook+xml)
+ gnome-epub-thumbnailer "$path" /tmp/thbn -s 600 && mv /tmp/thbn "$cached" && exit 6 || exit 1;;
application/pdf)
- pdftoppm -f 1 -singlefile -jpeg "$path" .thbn && mv .thbn.jpg "$cached" && exit 6 || exit 1;;
+ pdftoppm -f 1 -singlefile -jpeg "$path" /tmp/.thbn && mv /tmp/.thbn.jpg "$cached" && exit 6 || exit 1;;
+ image/avif)
+ convert "$path" "$cached" && exit 6 ||exit 1;;
image/svg+xml)
rsvg-convert "$path" -d 1 -p 2 > "$cached" && exit 6 ||exit 1;;
image/*)
@@ -85,6 +92,8 @@ case "$extension" in
pdf)
try pdftotext -l 10 -nopgbrk -q "$path" - && \
{ dump | trim | fmt -s -w $width; exit 0; } || exit 1;;
+ avif)
+ try convert "$path" "$cached" && exit 6 || exit 1;;
# BitTorrent Files
torrent)
try transmission-show "$path" && { dump | trim; exit 5; } || exit 1;;
diff --git a/tagged b/tagged
deleted file mode 100644
index 1c6890d..0000000
--- a/tagged
+++ /dev/null
@@ -1,62 +0,0 @@
-/mnt/Archive/Multimédia/Séries/[wakaRiP]Nekomonogatari/[wakaRIP]Neko02.mp4
-/mnt/Archive/Multimédia/Séries/Bakemonogatari/Bakemonogatari_VF_Ep04_Mayoi_Snail_partie2.avi
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari11_720f.mp4
-/mnt/Archive/Multimédia/Séries/Bakemonogatari/Bakemonogatari_VF_Ep10_Nadeko_Snake_partie2.avi
-/mnt/Archive/Multimédia/Séries/Eve no Jikan (6 OAV)
-/mnt/Archive/Multimédia/Séries/Nisemonogatari/Nisemonogatari 08 vostfr.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari23_720f.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRiP]Nekomonogatari/[wakaRIP]Neko03.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari21_720f.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari08_720f.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari
-/mnt/Archive/Multimédia/Séries/Bakemonogatari/Bakemonogatari_VF_Ep03_Mayoi_Snail_partie1.avi
-/mnt/Archive/Multimédia/Séries/Nisemonogatari/Nisemonogatari 11 vostfr.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari03_720f.mp4
-/mnt/Archive/Multimédia/Séries/Bakemonogatari/Bakemonogatari_VF_Ep12_Tsubasa_Cat_partie2.avi
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari09_720f.mp4
-/mnt/Archive/Multimédia/Séries/Nisemonogatari
-/mnt/Archive/Multimédia/Séries/Nisemonogatari/Nisemonogatari 02 vostfr.mp4
-/mnt/Archive/Multimédia/Séries/GTO
-/mnt/Archive/Multimédia/Séries/Nichijou/Nichijou Episode1.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari22_720f.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRiP]Nekomonogatari/[wakaRIP]Neko04.mp4
-/mnt/Archive/Multimédia/Séries/Bakemonogatari/Bakemonogatari_VF_Ep14_Tsubasa_Cat_partie_4.avi
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari13_720f.mp4
-/mnt/Archive/Multimédia/Séries/Nisemonogatari/Nisemonogatari 09 vostfr.mp4
-/mnt/Archive/Multimédia/Séries/Bakemonogatari/Bakemonogatari_VF_Ep02_Hitagi_Crab_Partie2.avi
-/mnt/Archive/Multimédia/Séries/Nisemonogatari/Nisemonogatari 07 vostfr.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari18_720f.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari05_720f.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari02_720f.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari07_720f.mp4
-/mnt/Archive/Multimédia/Séries/Bakemonogatari/Bakemonogatari_VF_Ep09_Nadeko_Snake_partie1.avi
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari17_720f.mp4
-/home/ache/Vidéos/Bill Medley, Jennifer Warnes - (I've Had) The Time Of My Life-4BQLE_RrTSU.mp4
-/mnt/Archive/Multimédia/Séries/Nisemonogatari/Nisemonogatari 06 vostfr.mp4
-/mnt/Archive/Multimédia/Séries/Nisemonogatari/Nisemonogatari 04 vostfr.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari01_720f.mp4
-/mnt/Archive/Multimédia/Séries/Bakemonogatari
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari20_720f.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRiP]Nekomonogatari/[wakaRIP]Neko01.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRiP]Nekomonogatari
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari16_720f.mp4
-/mnt/Archive/Multimédia/Séries/Bakemonogatari/Bakemonogatari_VF_Ep08_Suruga_Monkey_partie3.avi
-/mnt/Archive/Multimédia/Séries/Bakemonogatari/Bakemonogatari_VF_Ep07_Suruga_Monkey_partie2.avi
-/mnt/Archive/Multimédia/Séries/Nisemonogatari/Nisemonogatari 03 vostfr.mp4
-/mnt/Archive/Multimédia/Séries/Bakemonogatari/Bakemonogatari_VF_Ep05_Mayol_Snail_partie3.avi
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari15_720f.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari14_720f.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari19_720f.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari12_720f.mp4
-/mnt/Archive/Multimédia/Séries/Nisemonogatari/Nisemonogatari 01 vostfr.mp4
-/mnt/Archive/Multimédia/Séries/Bakemonogatari/Bakemonogatari_VF_Ep11_Tsubasa_Cat_partie1.avi
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari06_720f.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari10_720f.mp4
-/mnt/Archive/Multimédia/Séries/[wakaRIP]Monogatari/[wakaRIP]Monogatari04_720f.mp4
-/mnt/Archive/Multimédia/Séries/Nisemonogatari/Nisemonogatari 05 vostfr.mp4
-/mnt/Archive/Multimédia/Séries/Nichijou/Nichijou Episode2.mp4
-/mnt/Archive/Multimédia/Séries/Bakemonogatari/Bakemonogatari_VF_Ep01_Hitagi_Crab_partie1.avi
-/mnt/Archive/Multimédia/Séries/Bakemonogatari/Bakemonogatari_VF_Ep06_Suruga_Monkey_partie1_.avi
-/mnt/Archive/Multimédia/Séries/Bakemonogatari/Bakemonogatari_VF_Ep13_Tsubasa_Cat_partie3.avi
-/mnt/Archive/Multimédia/Séries/Nisemonogatari/Nisemonogatari 10 vostfr.mp4
-/mnt/Archive/Multimédia/Séries/Bakemonogatari/Bakemonogatari_VF_Ep15_FINAL_Tsubasa_Cat_partie5.avi