ranger.defaults.apps
index
../../ranger/defaults/apps.py

# -*- coding: utf-8 -*-
# Copyright (C) 2009, 2010, 2011  Roman Zimbelmann <romanz@lavabit.com>
# This configuration file is licensed under the same terms as ranger.
# ===================================================================
# This is the configuration file for file type detection and application
# handling.  It's all in python; lines beginning with # are comments.
#
# You can customize this in the file ~/.config/ranger/apps.py.
# It has the same syntax as this file.  In fact, you can just copy this
# file there with `ranger --copy-config=apps' and make your modifications.
# But make sure you update your configs when you update ranger.
#
# In order to add application definitions "on top of" the default ones
# in your ~/.config/ranger/apps.py, you should subclass the class defined
# here like this:
#
#   from ranger.defaults.apps import CustomApplications as DefaultApps
#   class CustomApplications(DeafultApps):
#       <your definitions here>
#
# To override app_defaults, you can write something like:
#
#       def app_defaults(self, c):
#           f = c.file
#           if f.extension == 'lol':
#               return "lolopener", c
#           return DefaultApps.app_default(self, c)
#
# ===================================================================
# This system is based on things called MODES and FLAGS.  You can read
# in the man page about them.  To remind you, here's a list of all flags.
# An uppercase flag inverts previous flags of the same name.
#     s   Silent mode.  Output will be discarded.
#     d   Detach the process.  (Run in background)
#     p   Redirect output to the pager
#     w   Wait for an Enter-press when the process is done
#     c   Run the current file only, instead of the selection
#     r   Run application with root privilege 
#     t   Run application in a new terminal window
#
# To implement flags in this file, you could do this:
#     context.flags += "d"
# Another example:
#     context.flags += "Dw"
#
# To implement modes in this file, you can do something like:
#     if context.mode == 1:
#         <run in one way>
#     elif context.mode == 2:
#         <run in another way>
#
# ===================================================================
# The methods are called with a "context" object which provides some
# attributes that transfer information.  Relevant attributes are:
#
# mode -- a number, mainly used in determining the action in app_xyz()
# flags -- a string with flags which change the way programs are run
# files -- a list containing files, mainly used in app_xyz
# filepaths -- a list of the paths of each file
# file -- an arbitrary file from that list (or None)
# fm -- the filemanager instance
# popen_kws -- keyword arguments which are directly passed to Popen
#
# ===================================================================
# The return value of the functions should be either:
# 1. A reference to another app, like:
#     return app_editor(context)
#
# 2. A call to the "either" method, which uses the first program that
# is installed on your system.  If none are installed, None is returned.
#     return either(context, "libreoffice", "soffice", "ooffice")
#
# 3. A tuple of arguments that should be run.
#     return "mplayer", "-fs", context.file.path
# If you use lists instead of strings, they will be flattened:
#     args = ["-fs", "-shuf"]
#     return "mplayer", args, context.filepaths
# "context.filepaths" can, and will often be abbreviated with just "context":
#     return "mplayer", context
#
# 4. "None" to indicate that no action was found.
#     return None
#
# ===================================================================
# When using the "either" method, ranger determines which program to
# pick by looking at its dependencies.  You can set dependencies by
# adding the decorator "depends_on":
#     @depends_on("vim")
#     def app_vim(self, context):
#         ....
# There is a special keyword which you can use as a dependence: "X"
# This ensures that the program will only run when X is running.
# ===================================================================

 
Modules
       
os
ranger
re
sys

 
Classes
       
ranger.api.apps.Applications(ranger.core.shared.FileManagerAware)
CustomApplications

 
class CustomApplications(ranger.api.apps.Applications)
    
Method resolution order:
CustomApplications
ranger.api.apps.Applications
ranger.core.shared.FileManagerAware
ranger.core.shared.Awareness
__builtin__.object

Methods defined here:
app_abiword lambda self, context
app_apvlv lambda self, context
app_aunpack(self, c)
app_default(self, c)
How to determine the default application?
app_edit_or_run(self, c)
app_editor(self, c)
app_eog lambda self, context
app_epdfview lambda self, context
app_epiphany lambda self, context
app_evince lambda self, context
app_fceux lambda self, context
app_feh(self, c)
app_file_roller(self, c)
app_firefox lambda self, context
app_gimp lambda self, context
app_gmplayer lambda self, context
app_gnumeric lambda self, context
app_iceweasel lambda self, context
app_java(self, c)
app_jumanji lambda self, context
app_konqueror lambda self, context
app_kspread lambda self, context
app_libreoffice lambda self, context
app_llpp lambda self, context
app_luakit lambda self, context
app_make(self, c)
app_midori lambda self, context
app_mimeopen(self, c)
app_mirage lambda self, context
app_mplayer(self, c)
app_mplayer2(self, c)
app_mupdf lambda self, context
app_okular lambda self, context
app_ooffice lambda self, context
app_opera lambda self, context
app_pager(self, c)
# ----------------------------------------- application definitions
# Note: Trivial application definitions are at the bottom
app_seamonkey lambda self, context
app_set_bg_with_feh(self, c)
# A dependence on "X" means: this programs requires a running X server!
app_smplayer lambda self, context
app_soffice lambda self, context
app_surf lambda self, context
app_sxiv(self, c)
app_totem(self, c)
app_uzbl lambda self, context
app_vimprobable lambda self, context
app_vimprobable2 lambda self, context
app_vlc lambda self, context
app_wine lambda self, context
app_zathura lambda self, context
app_zsnes lambda self, context

Methods inherited from ranger.api.apps.Applications:
all(self)
Returns a list with all application functions
app_self(self, context)
Run the file itself
apply(self, app, context)
either(self, context, *args)
get(self, app)
Looks for an application, returns app_default if it doesn't exist
has(self, app)
Returns whether an application is defined

Class methods inherited from ranger.api.apps.Applications:
generic(cls, *args, **keywords) from __builtin__.type

Methods inherited from ranger.core.shared.FileManagerAware:
fm = None
Data descriptors inherited from ranger.core.shared.Awareness:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

 
Data
        INTERPRETED_LANGUAGES = <_sre.SRE_Pattern object>