| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This is added to compensate for the fact that the history is not shared
anymore and you can't simply type gnHH to restore a closed tab.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a result of https://github.com/hut/ranger/issues/43 :
adam8157:
Hmm... I found this behavior is different between running in Debian Sid
and Fedora 17.
Their python version are both 2.7.3, but when you touch a file named
foo.sh, and press "r", ranger in Fedora 17 displays bash as the first
opener, then editor and pager, but ranger in Debian Sid displays editor
first, then pager and bash.
[...]
hut:
Ok, with your help I found it. Actions.execute_file and
Actions.draw_possible_programs optimize the process by skipping the call
to file --mimetype -Lb and using the mime type that the python mimetypes
library found. The two methods return different mimetypes sometimes.
Since file is more reliable than the python mimetypes library, I'll
change it to use file always.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
thanks to taylorchu for reporting this
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
ranger/ext/rifle.py is a standalone program that works without ranger.
The configuration is not in python anymore, thus is easier to
understand, modify and parse.
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This feature is useful when there is a need to create a directory tree,
which is similar to an existing one while keeping all the files in this
new tree hardlinked to those existing ones. Such functionality might be
useful when rearranging a huge directory tree (or a set of directory
trees) into some new layout.
This operation is done synchronously (i.e. it doesn't use CommandLoader
to put the ongoing operation into the task queue).
Target end of the operation is handled the following way:
1. If target directory with the same name exists - it gets used.
2. If target folder does not exist - it is created with the same mode
bits as corresponding source one.
3. If target file with the same name exists and is a hardlink of the
source file already - it is getting left as it is. If it's not a
hardlink of the source file - a new hardlink is created in a form of
<original>_, <original>_1, ..., etc.
4. If target file does not exist - a hardlink is created.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|