about summary refs log blame commit diff stats
path: root/doc/tools/print_colors.py
blob: 762ac3e3293306429b3aa95f20aca5687c8a8f11 (plain) (tree)
1687e0f4 ^<
#!/usr/bin/python
# coding=utf-8
#
# Copyright (C) 2009, 2010  Roman Zimbelmann <romanz@lavabit.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

import os
import sys
import ranger

from optparse import OptionParser, SUPPRESS_HELP
from ranger.ext.openstruct import OpenStruct
from ranger import __version__, USAGE, DEFAULT_CONFDIR
import ranger.api.commands

from signal import signal, SIGINT
from locale import getdefaultlocale, setlocale, LC_ALL

from ranger.ext import curses_
#!/usr/bin/env python
"""
You can use this tool to display all supported colors and their color number.
It will exit after a keypress.
"""

from __future__ import (absolute_import, division, print_function)

import curses


@curses.wrapper
def main(win):
    def print_all_colors(attr):
        for color in range(-1, curses.COLORS):
            try:
                curses.init_pair(color, color, 0)
            except curses.error:
                pass
            else:
                win.addstr(str(color) + ' ', curses.color_pair(color) | attr)
    curses.start_color()
    try:
        curses.use_default_colors()
    except curses.error:
        pass
    win.addstr("available colors: %d\n\n" % curses.COLORS)
    print_all_colors(0)
    win.addstr("\n\n")
    print_all_colors(curses.A_BOLD)
    win.refresh()
    win.getch()
span> ranger.api.commands.CommandContainer() ranger.api.commands.alias = comcont.alias try: import commands comcont.load_commands_from_module(commands) except ImportError: pass from ranger.defaults import commands comcont.load_commands_from_module(commands) commands = comcont # Load apps try: import apps except ImportError: from ranger.defaults import apps # Load keys from ranger import shared, api from ranger.api import keys keymanager = shared.EnvironmentAware.env.keymanager keys.keymanager = keymanager from ranger.defaults import keys try: import keys except ImportError: pass # COMPAT WARNING if hasattr(keys, 'initialize_commands'): print("Warning: the syntax for ~/.ranger/keys.py has changed.") print("Your custom keys are not loaded."\ " Please update your configuration.") allow_access_to_confdir(ranger.arg.confdir, False) else: comcont = ranger.api.commands.CommandContainer() ranger.api.commands.alias = comcont.alias from ranger.defaults import commands, keys, apps comcont.load_commands_from_module(commands) commands = comcont fm.commands = commands fm.keys = keys fm.apps = apps.CustomApplications() def load_apps(fm, clean): if not clean: allow_access_to_confdir(ranger.arg.confdir, True) try: import apps except ImportError: from ranger.defaults import apps allow_access_to_confdir(ranger.arg.confdir, False) else: from ranger.defaults import apps fm.apps = apps.CustomApplications() def main(): """initialize objects and run the filemanager""" try: import curses except ImportError as errormessage: print(errormessage) print('ranger requires the python curses module. Aborting.') sys.exit(1) # Ensure that a utf8 locale is set. if getdefaultlocale()[1] not in ('utf8', 'UTF-8'): for locale in ('en_US.utf8', 'en_US.UTF-8'): try: setlocale(LC_ALL, locale) except: pass else: break else: setlocale(LC_ALL, '') else: setlocale(LC_ALL, '') arg = parse_arguments() ranger.arg = arg if not ranger.arg.debug: curses_interrupt_handler.install_interrupt_handler() SettingsAware._setup() if arg.targets: target = arg.targets[0] if not os.access(target, os.F_OK): print("File or directory doesn't exist: %s" % target) sys.exit(1) elif os.path.isfile(target): def print_function(string): print(string) runner = Runner(logfunc=print_function) load_apps(runner, ranger.arg.clean) runner(files=[File(target)], mode=arg.mode, flags=arg.flags) sys.exit(1 if arg.fail_if_run else 0) else: path = target else: path = '.' try: # Initialize objects EnvironmentAware._assign(Environment(path)) fm = FM() load_settings(fm, ranger.arg.clean) FileManagerAware._assign(fm) fm.ui = UI() # Run the file manager fm.initialize() fm.ui.initialize() fm.loop() finally: # Finish, clean up try: fm.ui.destroy() except (AttributeError, NameError): pass if __name__ == '__main__': # The ranger directory can be executed directly, for example by typing # python /usr/lib/python2.6/site-packages/ranger sys.path.insert(0, os.path.dirname(sys.path[0])) main()