summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md186
-rw-r--r--ranger/config/rc.conf7
-rw-r--r--ranger/core/actions.py4
-rw-r--r--ranger/gui/widgets/browsercolumn.py15
4 files changed, 55 insertions, 157 deletions
diff --git a/README.md b/README.md
index f18d320e..18922301 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-ranger 1.9.3
-============
+ranger 2.0.4-1
+==============
<img src="https://ranger.github.io/ranger_logo.png" width="150">
@@ -8,163 +8,41 @@ ranger 1.9.3
<img src="https://repology.org/badge/latest-versions/ranger.svg" alt="latest packaged version(s)">
</a>
-ranger is a console file manager with VI key bindings. It provides a
-minimalistic and nice curses interface with a view on the directory hierarchy.
-It ships with `rifle`, a file launcher that is good at automatically finding
-out which program to use for what file type.
+ranger ~~is~~ *was* :sob: a console file manager with VI key bindings. ~~It
+provides a minimalistic and nice curses interface with a view on the directory
+hierarchy. It ships with `rifle`, a file launcher that is good at
+automatically finding out which program to use for what file type.~~
-![screenshot](https://raw.githubusercontent.com/ranger/ranger-assets/master/screenshots/screenshot.png)
+*Going Forward*
+===============
-For `mc` aficionados there's also the multi-pane viewmode.
+As of today we have decided to stop :no_entry_sign: mucking about with the
+boring :neutral_face: and lame :weary: subject matter that is file management.
+We had a good run :running:. We are going to focus :mag: on the future :rocket:
+now. And the future *is*
-<p>
-<img src="https://raw.githubusercontent.com/ranger/ranger-assets/master/screenshots/twopane.png" alt="two panes" width="49%" />
-<img src="https://raw.githubusercontent.com/ranger/ranger-assets/master/screenshots/multipane.png" alt="multiple panes" width="49%" />
-</p>
+:heavy_exclamation_mark: IRangerC :heavy_exclamation_mark:
+==========================================================
-This file describes ranger and how to get it to run. For instructions on the
-usage, please read the man page (`man ranger` in a terminal). See `HACKING.md`
-for development-specific information.
+Yeah, that's right :arrow_right:, we have decided to make a hard turn
+:leftwards_arrow_with_hook: and focus :mag: all our efforts :muscle: on what we
+believe is *the* communication protocol of the future :rocket:.
+:heavy_exclamation_mark:IRC:heavy_exclamation_mark: is not only proven
+technology but it also predates the internet. It's like a cockroach :beetle:
+that just won't go. In an attempt to live by the wise words "If you can't beat
+'em, join 'em," we will turn ranger into the best IRC client ever. A side
+benefit in doing this is that people will no longer have an excuse not to come
+hang around in #ranger : )
-For configuration, check the files in `ranger/config/` or copy the
-default config to `~/.config/ranger` with `ranger --copy-config`
-(see [instructions](#getting-started)).
+[![asciicast](https://asciinema.org/a/epVQ6VIM7JHkBwrLy6pIztzvz.svg)](https://asciinema.org/a/epVQ6VIM7JHkBwrLy6pIztzvz)
-The `examples/` directory contains several scripts and plugins that demonstrate how
-ranger can be extended or combined with other programs. These files can be
-found in the git repository or in `/usr/share/doc/ranger`.
-A note to packagers: Versions meant for packaging are listed in the changelog
-on the website.
+:warning: REDIRECT :warning:
+============================
-
-About
------
-* Authors: see `AUTHORS` file
-* License: GNU General Public License Version 3
-* Website: https://ranger.github.io/
-* Download: https://ranger.github.io/ranger-stable.tar.gz
-* Bug reports: https://github.com/ranger/ranger/issues
-* git clone https://github.com/ranger/ranger.git
-
-
-Design Goals
-------------
-* An easily maintainable file manager in a high level language
-* A quick way to switch directories and browse the file system
-* Keep it small but useful, do one thing and do it well
-* Console-based, with smooth integration into the unix shell
-
-
-Features
---------
-* UTF-8 Support (if your Python copy supports it)
-* Multi-column display
-* Preview of the selected file/directory
-* Common file operations (create/chmod/copy/delete/...)
-* Renaming multiple files at once
-* VIM-like console and hotkeys
-* Automatically determine file types and run them with correct programs
-* Change the directory of your shell after exiting ranger
-* Tabs, bookmarks, mouse support...
-
-
-Dependencies
-------------
-* Python (`>=2.6` or `>=3.1`) with the `curses` module
- and (optionally) wide-unicode support
-* A pager (`less` by default)
-
-### Optional dependencies
-
-For general usage:
-
-* `file` for determining file types
-* `chardet` (Python package) for improved encoding detection of text files
-* `sudo` to use the "run as root" feature
-* `python-bidi` (Python package) to display right-to-left file names correctly
- (Hebrew, Arabic)
-
-For enhanced file previews (with `scope.sh`):
-
-* `img2txt` (from `caca-utils`) for ASCII-art image previews
-* `w3mimgdisplay`, `ueberzug`, `mpv`, `iTerm2`, `kitty`, `terminology` or `urxvt` for image previews
-* `convert` (from `imagemagick`) to auto-rotate images and for SVG previews
-* `ffmpegthumbnailer` for video thumbnails
-* `highlight`, `bat` or `pygmentize` for syntax highlighting of code
-* `atool`, `bsdtar`, `unrar` and/or `7z` to preview archives
-* `bsdtar`, `tar`, `unrar`, `unzip` and/or `zipinfo` (and `sed`) to preview
- archives as their first image
-* `lynx`, `w3m` or `elinks` to preview html pages
-* `pdftotext` or `mutool` (and `fmt`) for textual `pdf` previews, `pdftoppm` to
- preview as image
-* `djvutxt` for textual DjVu previews, `ddjvu` to preview as image
-* `calibre` or `epub-thumbnailer` for image previews of ebooks
-* `transmission-show` for viewing BitTorrent information
-* `mediainfo` or `exiftool` for viewing information about media files
-* `odt2txt` for OpenDocument text files (`odt`, `ods`, `odp` and `sxw`)
-* `python` or `jq` for JSON files
-* `fontimage` for font previews
-* `openscad` for 3D model previews (`stl`, `off`, `dxf`, `scad`, `csg`)
-
-Installing
-----------
-Use the package manager of your operating system to install ranger.
-You can also install ranger through PyPI: ```pip install ranger-fm```.
-
-<details>
- <summary>
- Check current version:
- <sub>
- <a href="https://repology.org/metapackage/ranger/versions">
- <img src="https://repology.org/badge/tiny-repos/ranger.svg" alt="Packaging status">
- </a>
- </sub>
- </summary>
- <a href="https://repology.org/metapackage/ranger/versions">
- <img src="https://repology.org/badge/vertical-allrepos/ranger.svg" alt="Packaging status">
- </a>
-</details>
-
-### Installing from a clone
-Note that you don't *have* to install ranger; you can simply run `ranger.py`.
-
-To install ranger manually:
-```
-sudo make install
-```
-
-This translates roughly to:
-```
-sudo python setup.py install --optimize=1 --record=install_log.txt
-```
-
-This also saves a list of all installed files to `install_log.txt`, which you can
-use to uninstall ranger.
-
-
-Getting Started
----------------
-After starting ranger, you can use the Arrow Keys or `h` `j` `k` `l` to
-navigate, `Enter` to open a file or `q` to quit. The third column shows a
-preview of the current file. The second is the main column and the first shows
-the parent directory.
-
-Ranger can automatically copy default configuration files to `~/.config/ranger`
-if you run it with the switch `--copy-config=( rc | scope | ... | all )`.
-See `ranger --help` for a description of that switch. Also check
-`ranger/config/` for the default configuration.
-
-
-Going Further
----------------
-* To get the most out of ranger, read the [Official User Guide](https://github.com/ranger/ranger/wiki/Official-user-guide).
-* For frequently asked questions, see the [FAQ](https://github.com/ranger/ranger/wiki/FAQ%3A-Frequently-Asked-Questions).
-* For more information on customization, see the [wiki](https://github.com/ranger/ranger/wiki).
-
-
-Community
----------------
-For help, support, or if you just want to hang out with us, you can find us here:
-* **IRC**: channel **#ranger** on [freenode](https://freenode.net/kb/answer/chat)
-* **Reddit**: [r/ranger](https://www.reddit.com/r/ranger/)
+We don't want to abandon our valued users in their time of need so as of today
+we heartily recommend the EMACS-based
+[ranger.el](https://github.com/ralesi/ranger.el). We understand this might be
+hard to accept for our vim-partial userbase but guys, come on, stop living
+under a rock and accept that EMACS is the superior editor. Also, their
+figurehead is [a freaking ninja!](https://xkcd.com/225/)
diff --git a/ranger/config/rc.conf b/ranger/config/rc.conf
index 9d08a6a7..828e2c8a 100644
--- a/ranger/config/rc.conf
+++ b/ranger/config/rc.conf
@@ -148,7 +148,7 @@ set preview_directories true
set collapse_preview true
# Wrap long lines in plain text previews?
-set wrap_plaintext_previews false
+set wrap_plaintext_previews true
# Save the console history on exit?
set save_console_history true
@@ -371,7 +371,8 @@ map ; console
map ! console shell%space
map @ console -p6 shell %%s
map # console shell -p%space
-map s console shell%space
+map s console -p12 shell echo '' >%%s/in
+map a console -p25 shell echo -e '\01ACTION \01' >%%s/in
map r chain draw_possible_programs; console open_with%space
map f console find%space
map cd console cd%space
@@ -478,7 +479,7 @@ map y. yank name_without_extension
map = chmod
map cw console rename%space
-map a rename_append
+#map a rename_append
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)
diff --git a/ranger/core/actions.py b/ranger/core/actions.py
index c3d7de86..6deb7c50 100644
--- a/ranger/core/actions.py
+++ b/ranger/core/actions.py
@@ -1070,6 +1070,9 @@ class Actions( # pylint: disable=too-many-instance-attributes,too-many-public-m
except (IOError, OSError):
return None
+ if fobj.basename == "out":
+ return codecs.open(path, 'r', errors='ignore')
+
# self.previews is a 2 dimensional dict:
# self.previews['/tmp/foo.jpg'][(80, 24)] = "the content..."
# self.previews['/tmp/foo.jpg']['loading'] = False
@@ -1098,6 +1101,7 @@ class Actions( # pylint: disable=too-many-instance-attributes,too-many-public-m
if found is not False:
return found
+
try:
stat_ = os.stat(self.settings.preview_script)
except OSError:
diff --git a/ranger/gui/widgets/browsercolumn.py b/ranger/gui/widgets/browsercolumn.py
index 1412ef6a..7f81e2ad 100644
--- a/ranger/gui/widgets/browsercolumn.py
+++ b/ranger/gui/widgets/browsercolumn.py
@@ -257,6 +257,21 @@ class BrowserColumn(Pager): # pylint: disable=too-many-instance-attributes
self.color_reset()
return
+ if self.level > 0:
+ fns = self.target.filenames
+ import os
+ if "out" in (os.path.basename(fn) for fn in fns):
+ path = None
+ for f in self.target.files_all:
+ if f.basename == "out":
+ path = f.get_preview_source(self.wid, self.hei)
+ if path is None:
+ Pager.close(self)
+ else:
+ self.set_source(path)
+ Pager.draw(self)
+ return
+
if self.main_column:
base_color.append('main_column')