| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Due to this commit, pressing `<Right>` on a file does nothing. Normally
it should open the file. Until this is fixed, I'll remove this commit
to restore this basic functionality. Unfortunately, the revert makes
ranger crash when run like `ranger <somefilename>`, but this is a much
less frequent use case, so the revert is still warranted.
This reverts commit 2288a40b45ccdc57d287648c96c5bbe378b95a6d.
|
|
|
|
|
|
|
|
|
|
| |
Because `ranger somefile` used to invoke rifle but that moved to its own
command `ranger somefile` seemed defunct. People expected ranger to
select the file and were baffled when it crashed. Now the documentation
using the verbiage "path" is no longer confusing/a lie because it just
works™ (until it breaks).
Fixes #930
|
|
|
|
|
| |
Some of the changes definitely could have been done better with some
refactoring instead of adding a "return" or two. Patches welcome!
|
|
|
|
|
|
|
| |
Handle exceptions explicitly to prevent unexpected errors from causing
problems.
Improve exception and notification logging.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
false by default.
|
| |
|
| |
|
|
|
|
|
| |
Let's not force python to jump from version 9 straight to 31, just
because some silly software did fuzzy version checks :D
|
| |
|
|
|
|
|
| |
Since lavabit.com ceased providing email services, I had to change my
address from hut lavabit com to hut lepus uberspace de.
|
| |
|
|
|
|
| |
http://www.python.org/dev/peps/pep-0008/#documentation-strings
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
PEP 8 (Style Guide for Python Code) suggests the use of 4 spaces:
http://www.python.org/dev/peps/pep-0008/#indentation
If you need to use tools like "git blame", you can use the -w option to
ignore this commit entirely. Patches will continue to work if you
substitute tabs with 4 spaces everywhere except in the Makefile.
|
|
|
|
|
|
|
|
|
| |
When you deleted a directory and created a file with the same name, it
was treated like a directory, with ranger trying to preview it and
throwing lots of errors. This was because it tried to look for the path
of the currently selected file in fm.directories - a directory cache -
and if a file with the same name existed as a directory once, it would
have found it there.
|
|
|
|
|
|
|
|
|
|
|
|
| |
To reproduce the bug that this patch fixes, do:
1. start in a place where the second item is a directory that contains
at least two files (the usual $HOME with sort_directories_first=True
will likely do)
2. open (and enter) a new tab with ^N
3. move down and right, entering the directory. The cursor is now on
file 1
4. switch to tab 1, then back to tab 2
5. now the cursor is on file 2 instead of file 1.
|
| |
|
|
|
|
|
|
|
| |
Without this, if you enter another tab, the cursor of the directory may
change and get_selection() will not return the actual selected file of
the tab anymore (unless they have been marked, in which case
everything's fine).
|
| |
|
|
|
|
|
|
| |
in python2, weak references are not equal to the original object when
tested with "==", and this breaks Tab._set_thisfile_from_signal and
Tab._on_tab_change in python2 if weak=True is used in signal bindings
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
The Environment class was weird to begin with. It had attributes and
methods that belonged to other classes. For example, keybinding
management (the attributes keybuffer and keymaps) should go to gui.ui,
directory management (garbage_collect, get_directory) should be in
core.fm whereas entering directories (enter_dir) and managing history
(history_go) should be the task of a separate Tab class.
This commit fixes it, all references to env should be only for backwards
compatibility now. I still need to rewrite the tabbing API in
core.actions to work with the new system. Every tab that is opened will
have its own Tab instance with its own history and pointer. Tab, unlike
Environment, is no SignalDispatcher - Environment's signals were moved
to fm.
BEFORE: fm.env.cf
AFTER : fm.thisfile
BEFORE: fm.env.cwd
AFTER : fm.thisdir
BEFORE: fm.env.signal_bind("move", ...) # same for the "cd" signal
AFTER : fm.signal_bind("move", ...)
BEFORE: fm.env.keybuffer # same for fm.env.keymaps
AFTER : fm.ui.keybuffer
BEFORE: fm.env.get_directory("/usr/lib") # same for half of the env methods
AFTER : fm.get_directory("/usr/lib")
BEFORE: fm.env.get_selection() # same for the other half of the env methods
AFTER : fm.thistab.get_selection()
Old configurations and hacks should still work because I added a
compatibility layer for the Environment class which translates all
getters and setters to the respective call of the new class.
What will NOT work are the Environment signals, please bind them to fm
instead.
|