summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortoonn <toonn@toonn.io>2020-03-27 21:50:15 +0100
committertoonn <toonn@toonn.io>2020-03-31 22:10:30 +0200
commit977485179b459d01d7297b8955e91b56de25d478 (patch)
treebbfd5b1e66a211e06ff7d4c132fdbe50b6796d31
parent081e73152a9391211770fab56676d7d974413ae6 (diff)
I Really Can't anymoreinternetrangerchat
Time to get down to brass tacks. Recent events have shaken up the entire world. Who has time to manage files in in such turbulent times? Exactly, not me, not you, not even RoboBobob. What really matters now is communication, we need to get people Chatting over the Internet, let's see how Ranger can help.
-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')