view frontends/src/primitivus/keys.py @ 2123:c42aab22c2c0

plugin XEP-0054, quick frontend(app): various improvments: - memory.cache is now used - getAvatar and setAvatar has been renamed to avatarGet and avatarSet to follow new convention - getAvatar now return (optionally) full path, and may request vCard or only return avatar in cache - getAvatarFile has been removed as it is not needed anymore (avatarGet can return full path) - getCard has been removed from bridge as it was only used to request avatar - new internal method getBareOfFull return jid to use depending of the jid being part of a MUC or not - cache is now set per profile in client, instead of a general one for all profiles - thanks to the use of memory.cache, correct extension is now used in saved file, according to MIME type - fixed and better cache handling - a warning message is shown if given avatar hash differs from computed one - empty hash value is now in a constant, and ignored if received - QuickApp has been updated to follow new behaviour - Primitivus has been fixed (it was not declaring not using avatars correclty) - jp has been updated to follow new methods name
author Goffi <goffi@goffi.org>
date Sun, 15 Jan 2017 17:51:37 +0100
parents 2daf7b4c6756
children a21b3b31086d
line wrap: on
line source

#!/usr/bin/env python2
# -*- coding: utf-8 -*-

# Primitivus: a SAT frontend
# Copyright (C) 2009-2016 Jérôme Poisson (goffi@goffi.org)

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero 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 Affero General Public License for more details.

# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

"""This file manage the action <=> key map"""

from urwid_satext.keys import action_key_map


action_key_map.update(
        {
        # Edit bar
        ("edit", "MODE_INSERTION"): "i",
        ("edit", "MODE_COMMAND"): ":",
        ("edit", "HISTORY_PREV"): "up",
        ("edit", "HISTORY_NEXT"): "down",

        # global
        ("global", "MENU_HIDE"): 'meta m',
        ("global", "NOTIFICATION_NEXT"): 'ctrl n',
        ("global", "OVERLAY_HIDE"): 'ctrl s',
        ("global", "DEBUG"): 'ctrl d',
        ("global", "CONTACTS_HIDE"): 'f2',
        ('global', "REFRESH_SCREEN"): "ctrl l", # ctrl l is used by Urwid to refresh screen

        # global menu
        ("menu_global", "APP_QUIT"): 'ctrl x',
        ("menu_global", "ROOM_JOIN"): 'meta j',

        # primitivus widgets
        ("primitivus_widget", "DECORATION_HIDE"): "meta l",

        # contact list
        ("contact_list", "STATUS_HIDE"): "meta s",
        ("contact_list", "DISCONNECTED_HIDE"): "meta d",
        ("contact_list", "RESOURCES_HIDE"): "meta r",

        # chat panel
        ("chat_panel", "OCCUPANTS_HIDE"): "meta p",
        ("chat_panel", "TIMESTAMP_HIDE"): "meta t",
        ("chat_panel", "SHORT_NICKNAME"): "meta n",
        ("chat_panel", "SUBJECT_SWITCH"): "meta s",

        #card game
        ("card_game", "CARD_SELECT"): ' ',

        #focus
        ("focus", "FOCUS_EXTRA"): "ctrl f",
        })


action_key_map.set_close_namespaces(tuple(), ('global', 'focus', 'menu_global'))
action_key_map.check_namespaces()