mirror of
https://github.com/brl/mutter.git
synced 2024-11-12 09:16:10 -05:00
Slight transformation of the x-macros used in keybindings to make them
2008-10-22 Thomas Thurman <tthurman@gnome.org> Slight transformation of the x-macros used in keybindings to make them clearer: write handler names out in full because the old suffix system was confusing to people skim-reading, and switched the order of the last two parameters so more would generally fit on a screen. * src/core/keybindings.c, src/core/schema-bindings.c src/core/prefs.c: sympathy changes * src/core/window-bindings.h, src/core/screen-bindings.h: transformation as above svn path=/trunk/; revision=3970
This commit is contained in:
parent
fd01dbaaea
commit
671b69a251
13
ChangeLog
13
ChangeLog
@ -1,3 +1,16 @@
|
||||
2008-10-22 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
Slight transformation of the x-macros used in keybindings
|
||||
to make them clearer: write handler names out in full
|
||||
because the old suffix system was confusing to people
|
||||
skim-reading, and switched the order of the last two
|
||||
parameters so more would generally fit on a screen.
|
||||
|
||||
* src/core/keybindings.c, src/core/schema-bindings.c
|
||||
src/core/prefs.c: sympathy changes
|
||||
* src/core/window-bindings.h, src/core/screen-bindings.h:
|
||||
transformation as above
|
||||
|
||||
2008-10-21 Christian Persch <chpe@gnome.org>
|
||||
|
||||
* src/Makefile.am: fix build when schemas are not installed.
|
||||
|
@ -55,25 +55,16 @@ typedef void (* MetaKeyHandlerFunc) (MetaDisplay *display,
|
||||
MetaKeyBinding *binding);
|
||||
|
||||
/* Prototypes for handlers */
|
||||
#define item(name, suffix, param, flags, description, stroke) \
|
||||
#define keybind(name, handler, param, flags, stroke, description) \
|
||||
static void \
|
||||
handle_##name (MetaDisplay *display,\
|
||||
MetaScreen *screen,\
|
||||
MetaWindow *window,\
|
||||
XEvent *event,\
|
||||
MetaKeyBinding *binding);
|
||||
handler (MetaDisplay *display,\
|
||||
MetaScreen *screen,\
|
||||
MetaWindow *window,\
|
||||
XEvent *event,\
|
||||
MetaKeyBinding *binding);
|
||||
#include "window-bindings.h"
|
||||
#undef item
|
||||
|
||||
#define item(name, suffix, param, flags, description, stroke) \
|
||||
static void \
|
||||
handle_##name (MetaDisplay *display,\
|
||||
MetaScreen *screen,\
|
||||
MetaWindow *window,\
|
||||
XEvent *event,\
|
||||
MetaKeyBinding *binding);
|
||||
#include "screen-bindings.h"
|
||||
#undef item
|
||||
#undef keybind
|
||||
|
||||
/* These can't be bound to anything, but they are used to handle
|
||||
* various other events. TODO: Possibly we should include them as event
|
||||
@ -134,11 +125,10 @@ struct _MetaKeyBinding
|
||||
const MetaKeyHandler *handler;
|
||||
};
|
||||
|
||||
#define keybind(name, handler, param, flags, stroke, description) \
|
||||
{ #name, handler, param, flags },
|
||||
static const MetaKeyHandler screen_handlers[] = {
|
||||
#define item(name, suffix, param, flags, description, stroke) \
|
||||
{ #name suffix, handle_##name, param, flags },
|
||||
#include "screen-bindings.h"
|
||||
#undef item
|
||||
{ NULL, NULL, 0, 0 }
|
||||
};
|
||||
|
||||
@ -146,12 +136,10 @@ static const MetaKeyHandler window_handlers[] = {
|
||||
/* TODO: Are window bindings only ever called on non-null windows?
|
||||
* If so, we can remove the check from all of them.
|
||||
*/
|
||||
#define item(name, suffix, param, flags, description, stroke) \
|
||||
{ #name suffix, handle_##name, param, flags },
|
||||
#include "window-bindings.h"
|
||||
#undef item
|
||||
{ NULL, NULL, 0, 0 }
|
||||
};
|
||||
#undef keybind
|
||||
|
||||
static void
|
||||
reload_keymap (MetaDisplay *display)
|
||||
|
@ -1815,8 +1815,8 @@ meta_prefs_set_num_workspaces (int n_workspaces)
|
||||
#endif /* HAVE_GCONF */
|
||||
}
|
||||
|
||||
#define item(name, suffix, param, flags, description, stroke) \
|
||||
{ #name suffix, NULL, flags & BINDING_REVERSES },
|
||||
#define keybind(name, handler, param, flags, stroke, description) \
|
||||
{ #name, NULL, flags & BINDING_REVERSES },
|
||||
static MetaKeyPref screen_bindings[] = {
|
||||
#include "screen-bindings.h"
|
||||
{ NULL, NULL, FALSE}
|
||||
@ -1826,7 +1826,7 @@ static MetaKeyPref window_bindings[] = {
|
||||
#include "window-bindings.h"
|
||||
{ NULL, NULL, FALSE }
|
||||
};
|
||||
#undef item
|
||||
#undef keybind
|
||||
|
||||
#ifndef HAVE_GCONF
|
||||
typedef struct
|
||||
@ -1842,21 +1842,20 @@ typedef struct
|
||||
* data and move it into code. Then the compiler would optimise away
|
||||
* the problem lines.
|
||||
*/
|
||||
|
||||
#define keybind(name, handler, param, flags, stroke, description) \
|
||||
{ #name, keystroke },
|
||||
|
||||
static MetaSimpleKeyMapping screen_string_bindings[] = {
|
||||
#define item(name, suffix, param, flags, description, keystroke) \
|
||||
{ #name suffix, keystroke },
|
||||
#include "screen-bindings.h"
|
||||
#undef item
|
||||
{ NULL, NULL }
|
||||
};
|
||||
|
||||
static MetaSimpleKeyMapping window_string_bindings[] = {
|
||||
#define item(name, suffix, param, flags, description, keystroke) \
|
||||
{ #name suffix, keystroke },
|
||||
#include "window-bindings.h"
|
||||
#undef item
|
||||
{ NULL, NULL }
|
||||
};
|
||||
#undef keybind
|
||||
|
||||
#endif /* NOT HAVE_GCONF */
|
||||
|
||||
|
@ -26,10 +26,6 @@
|
||||
* the GConf .schemas file.
|
||||
*
|
||||
* FIXME: also need to make 50-metacity-desktop-key.xml
|
||||
*
|
||||
* FIXME: this actually breaks i18n because the schemas.in->schemas process
|
||||
* doesn't recognise the concatenated strings, and so we will have to do
|
||||
* them ourselves; this will need to be fixed before the next release.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
@ -132,16 +128,16 @@ produce_bindings ()
|
||||
|
||||
if (!feof (metacity_schemas_in_in))
|
||||
{
|
||||
#define item(name, suffix, param, flags, description, keystroke) \
|
||||
#define keybind(name, handler, param, flags, stroke, description) \
|
||||
single_stanza ( \
|
||||
flags & BINDING_PER_WINDOW, \
|
||||
#name suffix, \
|
||||
keystroke, \
|
||||
#name, \
|
||||
stroke, \
|
||||
flags & BINDING_REVERSES, \
|
||||
description);
|
||||
#include "window-bindings.h"
|
||||
#include "screen-bindings.h"
|
||||
#undef item
|
||||
#undef keybind
|
||||
}
|
||||
|
||||
while (!feof (metacity_schemas_in_in))
|
||||
|
@ -23,7 +23,7 @@
|
||||
* A list of screen keybinding information.
|
||||
*
|
||||
* Each action which can have a keystroke bound to it is listed below.
|
||||
* To use this file, define "item" to be a seven-argument macro (you can
|
||||
* To use this file, define keybind() to be a seven-argument macro (you can
|
||||
* throw any of the arguments you please away), include this file,
|
||||
* and then undefine the macro again.
|
||||
*
|
||||
@ -46,30 +46,34 @@
|
||||
* directory which will fix that, but it needs integrating into the build
|
||||
* process.
|
||||
*
|
||||
* The arguments to item() are:
|
||||
* The arguments to keybind() are:
|
||||
* 1) the name of the binding; a bareword identifier
|
||||
* (it's fine if it happens to clash with a C reserved word)
|
||||
* 2) a string to add to the binding name to make the handler name
|
||||
* (usually the empty string)
|
||||
* 2) the name of the function which implements it.
|
||||
* Clearly we could have guessed this from the binding very often,
|
||||
* but we choose to write it in full for the benefit of grep.
|
||||
* 3) an integer parameter to pass to the handler
|
||||
* 4) a set of boolean flags, ORed together:
|
||||
* BINDING_PER_WINDOW - this is a window-based binding
|
||||
* (not used in this file)
|
||||
* (all in window-bindings.h use this,
|
||||
* and none in screen-bindings.h)
|
||||
* BINDING_REVERSES - the binding can reverse if you hold down Shift
|
||||
* BINDING_IS_REVERSED - the same, but the senses are reversed from the
|
||||
* handler's point of view (let me know if I should
|
||||
* explain this better)
|
||||
* or 0 if no flag applies.
|
||||
*
|
||||
* 5) a short description. Mostly, you won't use this.
|
||||
* It must be marked translatable (i.e. inside "_(...)").
|
||||
* 6) a string representing the default binding.
|
||||
* 5) a string representing the default binding.
|
||||
* If this is NULL, the action is unbound by default.
|
||||
* Please use NULL and not "disabled".
|
||||
* 6) a short description.
|
||||
* It must be marked translatable (i.e. inside "_(...)").
|
||||
*
|
||||
* Don't try to do XML entity escaping anywhere in the strings.
|
||||
*/
|
||||
|
||||
#ifndef item
|
||||
#error "item () must be defined when you include screen-bindings.h"
|
||||
#ifndef keybind
|
||||
#error "keybind () must be defined when you include screen-bindings.h"
|
||||
#endif
|
||||
|
||||
/***********************************/
|
||||
@ -81,10 +85,6 @@
|
||||
#define BINDING_REVERSES 0x02
|
||||
#define BINDING_IS_REVERSED 0x04
|
||||
|
||||
/* FIXME: There is somewhere better for these; remove them */
|
||||
#define PANEL_MAIN_MENU -1
|
||||
#define PANEL_RUN_DIALOG -2
|
||||
|
||||
#endif /* _BINDINGS_DEFINED_CONSTANTS */
|
||||
|
||||
/***********************************/
|
||||
@ -92,66 +92,54 @@
|
||||
/* convenience, since in this file they must always be set together */
|
||||
#define REVERSES_AND_REVERSED (BINDING_REVERSES | BINDING_IS_REVERSED)
|
||||
|
||||
item (switch_to_workspace, "_1", 0, 0,
|
||||
_("Switch to workspace 1"),
|
||||
NULL)
|
||||
item (switch_to_workspace, "_2", 1, 0,
|
||||
_("Switch to workspace 2"),
|
||||
NULL)
|
||||
item (switch_to_workspace, "_3", 2, 0,
|
||||
_("Switch to workspace 3"),
|
||||
NULL)
|
||||
item (switch_to_workspace, "_4", 3, 0,
|
||||
_("Switch to workspace 4"),
|
||||
NULL)
|
||||
item (switch_to_workspace, "_5", 4, 0,
|
||||
_("Switch to workspace 5"),
|
||||
NULL)
|
||||
item (switch_to_workspace, "_6", 5, 0,
|
||||
_("Switch to workspace 6"),
|
||||
NULL)
|
||||
item (switch_to_workspace, "_7", 6, 0,
|
||||
_("Switch to workspace 7"),
|
||||
NULL)
|
||||
item (switch_to_workspace, "_8", 7, 0,
|
||||
_("Switch to workspace 8"),
|
||||
NULL)
|
||||
item (switch_to_workspace, "_9", 8, 0,
|
||||
_("Switch to workspace 9"),
|
||||
NULL)
|
||||
item (switch_to_workspace, "_10", 9, 0,
|
||||
_("Switch to workspace 10"),
|
||||
NULL)
|
||||
item (switch_to_workspace, "_11", 10, 0,
|
||||
_("Switch to workspace 11"),
|
||||
NULL)
|
||||
item (switch_to_workspace, "_12", 11, 0,
|
||||
_("Switch to workspace 12"),
|
||||
NULL)
|
||||
keybind (switch_to_workspace_1, handle_switch_to_workspace, 0, 0, NULL,
|
||||
_("Switch to workspace 1"))
|
||||
keybind (switch_to_workspace_2, handle_switch_to_workspace, 1, 0, NULL,
|
||||
_("Switch to workspace 2"))
|
||||
keybind (switch_to_workspace_3, handle_switch_to_workspace, 2, 0, NULL,
|
||||
_("Switch to workspace 3"))
|
||||
keybind (switch_to_workspace_4, handle_switch_to_workspace, 3, 0, NULL,
|
||||
_("Switch to workspace 4"))
|
||||
keybind (switch_to_workspace_5, handle_switch_to_workspace, 4, 0, NULL,
|
||||
_("Switch to workspace 5"))
|
||||
keybind (switch_to_workspace_6, handle_switch_to_workspace, 5, 0, NULL,
|
||||
_("Switch to workspace 6"))
|
||||
keybind (switch_to_workspace_7, handle_switch_to_workspace, 6, 0, NULL,
|
||||
_("Switch to workspace 7"))
|
||||
keybind (switch_to_workspace_8, handle_switch_to_workspace, 7, 0, NULL,
|
||||
_("Switch to workspace 8"))
|
||||
keybind (switch_to_workspace_9, handle_switch_to_workspace, 8, 0, NULL,
|
||||
_("Switch to workspace 9"))
|
||||
keybind (switch_to_workspace_10, handle_switch_to_workspace, 9, 0, NULL,
|
||||
_("Switch to workspace 10"))
|
||||
keybind (switch_to_workspace_11, handle_switch_to_workspace, 10, 0, NULL,
|
||||
_("Switch to workspace 11"))
|
||||
keybind (switch_to_workspace_12, handle_switch_to_workspace, 11, 0, NULL,
|
||||
_("Switch to workspace 12"))
|
||||
|
||||
/* META_MOTION_* are negative, and so distinct from workspace numbers,
|
||||
* which are always zero or positive.
|
||||
* If you make use of these constants, you will need to include workspace.h
|
||||
* (which you're probably using already for other reasons anyway).
|
||||
* If your definition of item() throws them away, you don't need to include
|
||||
* If your definition of keybind() throws them away, you don't need to include
|
||||
* workspace.h, of course.
|
||||
*/
|
||||
|
||||
item (switch_to_workspace, "_left", META_MOTION_LEFT, 0,
|
||||
_("Switch to workspace on the left of the current workspace"),
|
||||
"<Control><Alt>Left")
|
||||
keybind (switch_to_workspace_left, handle_switch_to_workspace,
|
||||
META_MOTION_LEFT, 0, "<Control><Alt>Left",
|
||||
_("Switch to workspace on the left of the current workspace"))
|
||||
|
||||
item (switch_to_workspace, "_right", META_MOTION_RIGHT, 0,
|
||||
_("Switch to workspace on the right of the current workspace"),
|
||||
"<Control><Alt>Right")
|
||||
keybind (switch_to_workspace_right, handle_switch_to_workspace,
|
||||
META_MOTION_RIGHT, 0, "<Control><Alt>Right",
|
||||
_("Switch to workspace on the right of the current workspace"))
|
||||
|
||||
item (switch_to_workspace, "_up", META_MOTION_UP, 0,
|
||||
_("Switch to workspace above the current workspace"),
|
||||
"<Control><Alt>Up")
|
||||
keybind (switch_to_workspace_up, handle_switch_to_workspace,
|
||||
META_MOTION_UP, 0, "<Control><Alt>Up",
|
||||
_("Switch to workspace above the current workspace"))
|
||||
|
||||
item (switch_to_workspace, "_down", META_MOTION_DOWN, 0,
|
||||
_("Switch to workspace below the current workspace"),
|
||||
"<Control><Alt>Down")
|
||||
keybind (switch_to_workspace_down, handle_switch_to_workspace,
|
||||
META_MOTION_DOWN, 0, "<Control><Alt>Down",
|
||||
_("Switch to workspace below the current workspace"))
|
||||
|
||||
/***********************************/
|
||||
|
||||
@ -160,110 +148,109 @@ item (switch_to_workspace, "_down", META_MOTION_DOWN, 0,
|
||||
*
|
||||
* TODO: "NORMAL" and "DOCKS" should be renamed to the same name as their
|
||||
* action, for obviousness.
|
||||
*
|
||||
* TODO: handle_switch and handle_cycle should probably really be the
|
||||
* same function checking a bit in the parameter for difference.
|
||||
*/
|
||||
|
||||
item (switch, "_group", META_TAB_LIST_GROUP, BINDING_REVERSES,
|
||||
_("Move between windows of an application, using a popup window"),
|
||||
NULL)
|
||||
item (switch, "_group_backwards", META_TAB_LIST_GROUP, REVERSES_AND_REVERSED,
|
||||
keybind (switch_group, handle_switch, META_TAB_LIST_GROUP,
|
||||
BINDING_REVERSES, NULL,
|
||||
_("Move between windows of an application, using a popup window"))
|
||||
keybind (switch_group_backwards, handle_switch, META_TAB_LIST_GROUP,
|
||||
REVERSES_AND_REVERSED, NULL,
|
||||
_("Move backwards between windows of an application, "
|
||||
"using a popup window"),
|
||||
NULL)
|
||||
item (switch, "_windows", META_TAB_LIST_NORMAL, BINDING_REVERSES,
|
||||
_("Move between windows, using a popup window"),
|
||||
"<Alt>Tab")
|
||||
item (switch, "_windows_backwards",META_TAB_LIST_NORMAL, REVERSES_AND_REVERSED,
|
||||
_("Move backwards between windows, using a popup window"),
|
||||
NULL)
|
||||
item (switch, "_panels", META_TAB_LIST_DOCKS, BINDING_REVERSES,
|
||||
_("Move between panels and the desktop, using a popup window"),
|
||||
"<Control><Alt>Tab")
|
||||
item (switch, "_panels_backwards", META_TAB_LIST_DOCKS, REVERSES_AND_REVERSED,
|
||||
_("Move backwards between panels and the desktop, "
|
||||
"using a popup window"),
|
||||
NULL)
|
||||
item (cycle, "_group", META_TAB_LIST_GROUP, BINDING_REVERSES,
|
||||
_("Move between windows of an application immediately"),
|
||||
"<Alt>F6")
|
||||
item (cycle, "_group_backwards", META_TAB_LIST_GROUP, REVERSES_AND_REVERSED,
|
||||
_("Move backwards between windows of an application immediately"),
|
||||
NULL)
|
||||
item (cycle, "_windows", META_TAB_LIST_NORMAL, BINDING_REVERSES,
|
||||
_("Move between windows immediately"),
|
||||
"<Alt>Escape")
|
||||
item (cycle, "_windows_backwards",META_TAB_LIST_NORMAL, REVERSES_AND_REVERSED,
|
||||
_("Move backwards between windows immediately"),
|
||||
NULL)
|
||||
item (cycle, "_panels", META_TAB_LIST_DOCKS, BINDING_REVERSES,
|
||||
_("Move between panels and the desktop immediately"),
|
||||
"<Control><Alt>Escape")
|
||||
item (cycle, "_panels_backwards", META_TAB_LIST_DOCKS, REVERSES_AND_REVERSED,
|
||||
_("Move backwards between panels and the desktop immediately"),
|
||||
NULL)
|
||||
"using a popup window"))
|
||||
keybind (switch_windows, handle_switch, META_TAB_LIST_NORMAL,
|
||||
BINDING_REVERSES, "<Alt>Tab",
|
||||
_("Move between windows, using a popup window"))
|
||||
keybind (switch_windows_backwards, handle_switch, META_TAB_LIST_NORMAL,
|
||||
REVERSES_AND_REVERSED, NULL,
|
||||
_("Move backwards between windows, using a popup window"))
|
||||
keybind (switch_panels, handle_switch, META_TAB_LIST_DOCKS,
|
||||
BINDING_REVERSES, "<Control><Alt>Tab",
|
||||
_("Move between panels and the desktop, using a popup window"))
|
||||
keybind (switch_panels_backwards, handle_switch, META_TAB_LIST_DOCKS,
|
||||
REVERSES_AND_REVERSED, NULL,
|
||||
_("Move backwards between panels and the desktop, "
|
||||
"using a popup window"))
|
||||
|
||||
keybind (cycle_group, handle_cycle, META_TAB_LIST_GROUP,
|
||||
BINDING_REVERSES, "<Alt>F6",
|
||||
_("Move between windows of an application immediately"))
|
||||
keybind (cycle_group_backwards, handle_cycle, META_TAB_LIST_GROUP,
|
||||
REVERSES_AND_REVERSED, NULL,
|
||||
_("Move backwards between windows of an application immediately"))
|
||||
keybind (cycle_windows, handle_cycle, META_TAB_LIST_NORMAL,
|
||||
BINDING_REVERSES, "<Alt>Escape",
|
||||
_("Move between windows immediately"))
|
||||
keybind (cycle_windows_backwards, handle_cycle, META_TAB_LIST_NORMAL,
|
||||
REVERSES_AND_REVERSED, NULL,
|
||||
_("Move backwards between windows immediately"))
|
||||
keybind (cycle_panels, handle_cycle, META_TAB_LIST_DOCKS,
|
||||
BINDING_REVERSES, "<Control><Alt>Escape",
|
||||
_("Move between panels and the desktop immediately"))
|
||||
keybind (cycle_panels_backwards, handle_cycle, META_TAB_LIST_DOCKS,
|
||||
REVERSES_AND_REVERSED, NULL,
|
||||
_("Move backwards between panels and the desktop immediately"))
|
||||
|
||||
/***********************************/
|
||||
|
||||
item (show_desktop, "", 0, 0,
|
||||
_("Hide all normal windows and set focus to the desktop background"),
|
||||
"<Control><Alt>d")
|
||||
item (panel, "_main_menu", META_KEYBINDING_ACTION_PANEL_MAIN_MENU, 0,
|
||||
_("Show the panel's main menu"),
|
||||
"<Alt>F1")
|
||||
item (panel, "_run_dialog", META_KEYBINDING_ACTION_PANEL_RUN_DIALOG, 0,
|
||||
_("Show the panel's \"Run Application\" dialog box"),
|
||||
"<Alt>F2")
|
||||
keybind (show_desktop, handle_show_desktop, 0, 0, "<Control><Alt>d",
|
||||
_("Hide all normal windows and set focus to the desktop background"))
|
||||
keybind (panel_main_menu, handle_panel,
|
||||
META_KEYBINDING_ACTION_PANEL_MAIN_MENU, 0, "<Alt>F1",
|
||||
_("Show the panel's main menu"))
|
||||
keybind (panel_run_dialog, handle_panel,
|
||||
META_KEYBINDING_ACTION_PANEL_RUN_DIALOG, 0, "<Alt>F2",
|
||||
_("Show the panel's \"Run Application\" dialog box"))
|
||||
|
||||
/* Yes, the param is offset by one. Historical reasons. (Maybe worth fixing
|
||||
* at some point.) The description is NULL here because the stanza is
|
||||
* irregularly shaped in metacity.schemas.in. This will probably be fixed
|
||||
* as well.
|
||||
*/
|
||||
item (run_command, "_1", 0, 0, NULL, NULL)
|
||||
item (run_command, "_2", 1, 0, NULL, NULL)
|
||||
item (run_command, "_3", 2, 0, NULL, NULL)
|
||||
item (run_command, "_4", 3, 0, NULL, NULL)
|
||||
item (run_command, "_5", 4, 0, NULL, NULL)
|
||||
item (run_command, "_6", 5, 0, NULL, NULL)
|
||||
item (run_command, "_7", 6, 0, NULL, NULL)
|
||||
item (run_command, "_8", 7, 0, NULL, NULL)
|
||||
item (run_command, "_9", 8, 0, NULL, NULL)
|
||||
item (run_command, "_10", 9, 0, NULL, NULL)
|
||||
item (run_command, "_11", 10, 0, NULL, NULL)
|
||||
item (run_command, "_12", 11, 0, NULL, NULL)
|
||||
item (run_command, "_13", 12, 0, NULL, NULL)
|
||||
item (run_command, "_14", 13, 0, NULL, NULL)
|
||||
item (run_command, "_15", 14, 0, NULL, NULL)
|
||||
item (run_command, "_16", 15, 0, NULL, NULL)
|
||||
item (run_command, "_17", 16, 0, NULL, NULL)
|
||||
item (run_command, "_18", 17, 0, NULL, NULL)
|
||||
item (run_command, "_19", 18, 0, NULL, NULL)
|
||||
item (run_command, "_20", 19, 0, NULL, NULL)
|
||||
item (run_command, "_21", 20, 0, NULL, NULL)
|
||||
item (run_command, "_22", 21, 0, NULL, NULL)
|
||||
item (run_command, "_23", 22, 0, NULL, NULL)
|
||||
item (run_command, "_24", 23, 0, NULL, NULL)
|
||||
item (run_command, "_25", 24, 0, NULL, NULL)
|
||||
item (run_command, "_26", 25, 0, NULL, NULL)
|
||||
item (run_command, "_27", 26, 0, NULL, NULL)
|
||||
item (run_command, "_28", 27, 0, NULL, NULL)
|
||||
item (run_command, "_29", 28, 0, NULL, NULL)
|
||||
item (run_command, "_30", 29, 0, NULL, NULL)
|
||||
item (run_command, "_31", 30, 0, NULL, NULL)
|
||||
item (run_command, "_32", 31, 0, NULL, NULL)
|
||||
keybind (run_command_1, handle_run_command, 0, 0, NULL, NULL)
|
||||
keybind (run_command_2, handle_run_command, 1, 0, NULL, NULL)
|
||||
keybind (run_command_3, handle_run_command, 2, 0, NULL, NULL)
|
||||
keybind (run_command_4, handle_run_command, 3, 0, NULL, NULL)
|
||||
keybind (run_command_5, handle_run_command, 4, 0, NULL, NULL)
|
||||
keybind (run_command_6, handle_run_command, 5, 0, NULL, NULL)
|
||||
keybind (run_command_7, handle_run_command, 6, 0, NULL, NULL)
|
||||
keybind (run_command_8, handle_run_command, 7, 0, NULL, NULL)
|
||||
keybind (run_command_9, handle_run_command, 8, 0, NULL, NULL)
|
||||
keybind (run_command_10, handle_run_command, 9, 0, NULL, NULL)
|
||||
keybind (run_command_11, handle_run_command, 10, 0, NULL, NULL)
|
||||
keybind (run_command_12, handle_run_command, 11, 0, NULL, NULL)
|
||||
keybind (run_command_13, handle_run_command, 12, 0, NULL, NULL)
|
||||
keybind (run_command_14, handle_run_command, 13, 0, NULL, NULL)
|
||||
keybind (run_command_15, handle_run_command, 14, 0, NULL, NULL)
|
||||
keybind (run_command_16, handle_run_command, 15, 0, NULL, NULL)
|
||||
keybind (run_command_17, handle_run_command, 16, 0, NULL, NULL)
|
||||
keybind (run_command_18, handle_run_command, 17, 0, NULL, NULL)
|
||||
keybind (run_command_19, handle_run_command, 18, 0, NULL, NULL)
|
||||
keybind (run_command_20, handle_run_command, 19, 0, NULL, NULL)
|
||||
keybind (run_command_21, handle_run_command, 20, 0, NULL, NULL)
|
||||
keybind (run_command_22, handle_run_command, 21, 0, NULL, NULL)
|
||||
keybind (run_command_23, handle_run_command, 22, 0, NULL, NULL)
|
||||
keybind (run_command_24, handle_run_command, 23, 0, NULL, NULL)
|
||||
keybind (run_command_25, handle_run_command, 24, 0, NULL, NULL)
|
||||
keybind (run_command_26, handle_run_command, 25, 0, NULL, NULL)
|
||||
keybind (run_command_27, handle_run_command, 26, 0, NULL, NULL)
|
||||
keybind (run_command_28, handle_run_command, 27, 0, NULL, NULL)
|
||||
keybind (run_command_29, handle_run_command, 28, 0, NULL, NULL)
|
||||
keybind (run_command_30, handle_run_command, 29, 0, NULL, NULL)
|
||||
keybind (run_command_31, handle_run_command, 30, 0, NULL, NULL)
|
||||
keybind (run_command_32, handle_run_command, 31, 0, NULL, NULL)
|
||||
|
||||
item (run_command, "_screenshot", 32, 0,
|
||||
_("Take a screenshot"),
|
||||
"Print")
|
||||
item (run_command, "_window_screenshot", 33, 0,
|
||||
_("Take a screenshot of a window"),
|
||||
"<Alt>Print")
|
||||
keybind (run_command_screenshot, handle_run_command, 32, 0, "Print",
|
||||
_("Take a screenshot"))
|
||||
keybind (run_command_window_screenshot, handle_run_command, 33, 0,"<Alt>Print",
|
||||
_("Take a screenshot of a window"))
|
||||
|
||||
item (run_terminal, "", 0, 0,
|
||||
_("Run a terminal"),
|
||||
NULL)
|
||||
keybind (run_terminal, handle_run_terminal, 0, 0, NULL, _("Run a terminal"))
|
||||
|
||||
/* No description because this is undocumented */
|
||||
item (set_spew_mark, "", 0, 0, NULL, NULL)
|
||||
keybind (set_spew_mark, handle_set_spew_mark, 0, 0, NULL, NULL)
|
||||
|
||||
#undef REVERSES_AND_REVERSED
|
||||
|
||||
|
@ -20,51 +20,13 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file A list of window keybinding information.
|
||||
* A list of window keybinding information.
|
||||
*
|
||||
* Each action which can have a keystroke bound to it is listed below.
|
||||
* To use this file, define "item" to be a six-argument macro (you can
|
||||
* throw any of the arguments you please away), include this file,
|
||||
* and then undefine the macro again.
|
||||
*
|
||||
* (If you aren't familiar with this technique, sometimes called "x-macros",
|
||||
* see DDJ of May 2001: <http://www.ddj.com/cpp/184401387>.)
|
||||
*
|
||||
* This makes it possible to keep all information about all the keybindings
|
||||
* in the same place. The only exception is the code to run when an action
|
||||
* is actually invoked; while we *could* have put that in this file, it would
|
||||
* have made debugging ridiculously difficult. Instead, each action should
|
||||
* have a corresponding static function named handle_<name>() in
|
||||
* keybindings.c.
|
||||
*
|
||||
* Currently, the GConf schemas in src/metacity.schemas also need to be
|
||||
* updated separately. There is a program called schema-bindings.c in this
|
||||
* directory which will fix that, but it needs integrating into the build
|
||||
* process.
|
||||
*
|
||||
* The arguments to item() are:
|
||||
* 1) the name of the binding; a bareword identifier
|
||||
* 2) a suffix to add to the binding name to make the handler name
|
||||
* (usually the empty string)
|
||||
* 3) an integer parameter to pass to the handler
|
||||
* 4) a set of boolean flags, ORed together.
|
||||
* This is used in *this* file for completeness, but at present
|
||||
* is not checked anywhere. We use the flag BINDING_PER_WINDOW
|
||||
* on all window-based bindings (i.e. every binding in this file).
|
||||
* 5) a short description. Mostly, you won't use this.
|
||||
* It must be marked translatable (i.e. inside "_(...)").
|
||||
* 6) a string representing the default binding.
|
||||
* If this is NULL, the action is unbound by default.
|
||||
*
|
||||
* Don't try to do XML entity escaping anywhere in the strings.
|
||||
*
|
||||
* Possible future work:
|
||||
* - merge with screen-bindings.h somehow
|
||||
* - "suffix" is confusing; write it out in full
|
||||
* Information about how this file works is in screen-bindings.h.
|
||||
*/
|
||||
|
||||
#ifndef item
|
||||
#error "item () must be defined when you include window-bindings.h"
|
||||
#ifndef keybind
|
||||
#error "keybind () must be defined when you include window-bindings.h"
|
||||
#endif
|
||||
|
||||
/***********************************/
|
||||
@ -78,158 +40,138 @@
|
||||
#define BINDING_REVERSES 0x02
|
||||
#define BINDING_IS_REVERSED 0x04
|
||||
|
||||
/* FIXME: There is somewhere better for these; remove them */
|
||||
#define PANEL_MAIN_MENU -1
|
||||
#define PANEL_RUN_DIALOG -2
|
||||
|
||||
#endif /* _BINDINGS_DEFINED_CONSTANTS */
|
||||
|
||||
|
||||
item (activate_window_menu, "", 0, BINDING_PER_WINDOW,
|
||||
_("Activate the window menu"),
|
||||
"<Alt>Space")
|
||||
keybind (activate_window_menu, handle_activate_window_menu, 0,
|
||||
BINDING_PER_WINDOW, "<Alt>Space",
|
||||
_("Activate the window menu"))
|
||||
keybind (toggle_fullscreen, handle_toggle_fullscreen, 0, BINDING_PER_WINDOW,
|
||||
NULL,
|
||||
_("Toggle fullscreen mode"))
|
||||
keybind (toggle_maximized, handle_toggle_maximized, 0, BINDING_PER_WINDOW, NULL,
|
||||
_("Toggle maximization state"))
|
||||
keybind (toggle_above, handle_toggle_above, 0, BINDING_PER_WINDOW, NULL,
|
||||
_("Toggle whether a window will always be visible over other windows"))
|
||||
keybind (maximize, handle_maximize, 0, BINDING_PER_WINDOW, "<Alt>F10",
|
||||
_("Maximize window"))
|
||||
keybind (unmaximize, handle_unmaximize, 0, BINDING_PER_WINDOW, "<Alt>F5",
|
||||
_("Unmaximize window"))
|
||||
keybind (toggle_shaded, handle_toggle_shaded, 0, BINDING_PER_WINDOW, NULL,
|
||||
_("Toggle shaded state"))
|
||||
keybind (minimize, handle_minimize, 0, BINDING_PER_WINDOW, "<Alt>F9",
|
||||
_("Minimize window"))
|
||||
keybind (close, handle_close, 0, BINDING_PER_WINDOW, "<Alt>F4",
|
||||
_("Close window"))
|
||||
keybind (begin_move, handle_begin_move, 0, BINDING_PER_WINDOW, "<Alt>F7",
|
||||
_("Move window"))
|
||||
keybind (begin_resize, handle_begin_resize, 0, BINDING_PER_WINDOW, "<Alt>F8",
|
||||
_("Resize window"))
|
||||
keybind (toggle_on_all_workspaces, handle_toggle_on_all_workspaces, 0,
|
||||
BINDING_PER_WINDOW, NULL,
|
||||
_("Toggle whether window is on all workspaces or just one"))
|
||||
|
||||
item (toggle_fullscreen, "", 0, BINDING_PER_WINDOW,
|
||||
_("Toggle fullscreen mode"),
|
||||
NULL)
|
||||
item (toggle_maximized, "", 0, BINDING_PER_WINDOW,
|
||||
_("Toggle maximization state"),
|
||||
NULL)
|
||||
item (toggle_above, "", 0, BINDING_PER_WINDOW,
|
||||
_("Toggle whether a window will always be visible over other windows"),
|
||||
NULL)
|
||||
|
||||
item (maximize, "", 0, BINDING_PER_WINDOW,
|
||||
_("Maximize window"),
|
||||
"<Alt>F10")
|
||||
item (unmaximize, "", 0, BINDING_PER_WINDOW,
|
||||
_("Unmaximize window"),
|
||||
"<Alt>F5")
|
||||
|
||||
item (toggle_shaded, "", 0, BINDING_PER_WINDOW,
|
||||
_("Toggle shaded state"),
|
||||
NULL)
|
||||
|
||||
item (minimize, "", 0, BINDING_PER_WINDOW,
|
||||
_("Minimize window"),
|
||||
"<Alt>F9")
|
||||
item (close, "", 0, BINDING_PER_WINDOW,
|
||||
_("Close window"),
|
||||
"<Alt>F4")
|
||||
item (begin_move, "", 0, BINDING_PER_WINDOW,
|
||||
_("Move window"),
|
||||
"<Alt>F7")
|
||||
item (begin_resize, "", 0, BINDING_PER_WINDOW,
|
||||
_("Resize window"),
|
||||
"<Alt>F8")
|
||||
|
||||
item (toggle_on_all_workspaces, "", 0, BINDING_PER_WINDOW,
|
||||
_("Toggle whether window is on all workspaces or just one"),
|
||||
NULL)
|
||||
|
||||
item (move_to_workspace, "_1", 0, BINDING_PER_WINDOW,
|
||||
_("Move window to workspace 1"),
|
||||
NULL)
|
||||
item (move_to_workspace, "_2", 1, BINDING_PER_WINDOW,
|
||||
_("Move window to workspace 2"),
|
||||
NULL)
|
||||
item (move_to_workspace, "_3", 2, BINDING_PER_WINDOW,
|
||||
_("Move window to workspace 3"),
|
||||
NULL)
|
||||
item (move_to_workspace, "_4", 3, BINDING_PER_WINDOW,
|
||||
_("Move window to workspace 4"),
|
||||
NULL)
|
||||
item (move_to_workspace, "_5", 4, BINDING_PER_WINDOW,
|
||||
_("Move window to workspace 5"),
|
||||
NULL)
|
||||
item (move_to_workspace, "_6", 5, BINDING_PER_WINDOW,
|
||||
_("Move window to workspace 6"),
|
||||
NULL)
|
||||
item (move_to_workspace, "_7", 6, BINDING_PER_WINDOW,
|
||||
_("Move window to workspace 7"),
|
||||
NULL)
|
||||
item (move_to_workspace, "_8", 7, BINDING_PER_WINDOW,
|
||||
_("Move window to workspace 8"),
|
||||
NULL)
|
||||
item (move_to_workspace, "_9", 8, BINDING_PER_WINDOW,
|
||||
_("Move window to workspace 9"),
|
||||
NULL)
|
||||
item (move_to_workspace, "_10", 9, BINDING_PER_WINDOW,
|
||||
_("Move window to workspace 10"),
|
||||
NULL)
|
||||
item (move_to_workspace, "_11", 10, BINDING_PER_WINDOW,
|
||||
_("Move window to workspace 11"),
|
||||
NULL)
|
||||
item (move_to_workspace, "_12", 11, BINDING_PER_WINDOW,
|
||||
_("Move window to workspace 12"),
|
||||
NULL)
|
||||
keybind (move_to_workspace_1, handle_move_to_workspace, 0, BINDING_PER_WINDOW,
|
||||
NULL,
|
||||
_("Move window to workspace 1"))
|
||||
keybind (move_to_workspace_2, handle_move_to_workspace, 1, BINDING_PER_WINDOW,
|
||||
NULL,
|
||||
_("Move window to workspace 2"))
|
||||
keybind (move_to_workspace_3, handle_move_to_workspace, 2, BINDING_PER_WINDOW,
|
||||
NULL,
|
||||
_("Move window to workspace 3"))
|
||||
keybind (move_to_workspace_4, handle_move_to_workspace, 3, BINDING_PER_WINDOW,
|
||||
NULL,
|
||||
_("Move window to workspace 4"))
|
||||
keybind (move_to_workspace_5, handle_move_to_workspace, 4, BINDING_PER_WINDOW,
|
||||
NULL,
|
||||
_("Move window to workspace 5"))
|
||||
keybind (move_to_workspace_6, handle_move_to_workspace, 5, BINDING_PER_WINDOW,
|
||||
NULL,
|
||||
_("Move window to workspace 6"))
|
||||
keybind (move_to_workspace_7, handle_move_to_workspace, 6, BINDING_PER_WINDOW,
|
||||
NULL,
|
||||
_("Move window to workspace 7"))
|
||||
keybind (move_to_workspace_8, handle_move_to_workspace, 7, BINDING_PER_WINDOW,
|
||||
NULL,
|
||||
_("Move window to workspace 8"))
|
||||
keybind (move_to_workspace_9, handle_move_to_workspace, 8, BINDING_PER_WINDOW,
|
||||
NULL,
|
||||
_("Move window to workspace 9"))
|
||||
keybind (move_to_workspace_10, handle_move_to_workspace, 9, BINDING_PER_WINDOW,
|
||||
NULL,
|
||||
_("Move window to workspace 10"))
|
||||
keybind (move_to_workspace_11, handle_move_to_workspace, 10, BINDING_PER_WINDOW,
|
||||
NULL,
|
||||
_("Move window to workspace 11"))
|
||||
keybind (move_to_workspace_12, handle_move_to_workspace, 11, BINDING_PER_WINDOW,
|
||||
NULL,
|
||||
_("Move window to workspace 12"))
|
||||
|
||||
/* META_MOTION_* are negative, and so distinct from workspace numbers,
|
||||
* which are always zero or positive.
|
||||
* If you make use of these constants, you will need to include workspace.h
|
||||
* (which you're probably using already for other reasons anyway).
|
||||
* If your definition of item() throws them away, you don't need to include
|
||||
* If your definition of keybind() throws them away, you don't need to include
|
||||
* workspace.h, of course.
|
||||
*/
|
||||
|
||||
item (move_to_workspace, "_left", META_MOTION_LEFT, BINDING_PER_WINDOW,
|
||||
_("Move window one workspace to the left"),
|
||||
"<Control><Shift><Alt>Left")
|
||||
item (move_to_workspace, "_right", META_MOTION_RIGHT, BINDING_PER_WINDOW,
|
||||
_("Move window one workspace to the right"),
|
||||
"<Control><Shift><Alt>Right")
|
||||
item (move_to_workspace, "_up", META_MOTION_UP, BINDING_PER_WINDOW,
|
||||
_("Move window one workspace up"),
|
||||
"<Control><Shift><Alt>Up")
|
||||
item (move_to_workspace, "_down", META_MOTION_DOWN, BINDING_PER_WINDOW,
|
||||
_("Move window one workspace down"),
|
||||
"<Control><Shift><Alt>Down")
|
||||
keybind (move_to_workspace_left, handle_move_to_workspace,
|
||||
META_MOTION_LEFT, BINDING_PER_WINDOW, "<Control><Shift><Alt>Left",
|
||||
_("Move window one workspace to the left"))
|
||||
keybind (move_to_workspace_right, handle_move_to_workspace,
|
||||
META_MOTION_RIGHT, BINDING_PER_WINDOW, "<Control><Shift><Alt>Right",
|
||||
_("Move window one workspace to the right"))
|
||||
keybind (move_to_workspace_up, handle_move_to_workspace,
|
||||
META_MOTION_UP, BINDING_PER_WINDOW, "<Control><Shift><Alt>Up",
|
||||
_("Move window one workspace up"))
|
||||
keybind (move_to_workspace_down, handle_move_to_workspace,
|
||||
META_MOTION_DOWN, BINDING_PER_WINDOW, "<Control><Shift><Alt>Down",
|
||||
_("Move window one workspace down"))
|
||||
|
||||
item (raise_or_lower, "", 0, BINDING_PER_WINDOW,
|
||||
_("Raise window if it's covered by another window, otherwise lower it"),
|
||||
NULL)
|
||||
item (raise, "", 0, BINDING_PER_WINDOW,
|
||||
_("Raise window above other windows"),
|
||||
NULL)
|
||||
item (lower, "", 0, BINDING_PER_WINDOW,
|
||||
_("Lower window below other windows"),
|
||||
NULL)
|
||||
keybind (raise_or_lower, handle_raise_or_lower, 0, BINDING_PER_WINDOW, NULL,
|
||||
_("Raise window if it's covered by another window, otherwise lower it"))
|
||||
keybind (raise, handle_raise, 0, BINDING_PER_WINDOW, NULL,
|
||||
_("Raise window above other windows"))
|
||||
keybind (lower, handle_lower, 0, BINDING_PER_WINDOW, NULL,
|
||||
_("Lower window below other windows"))
|
||||
|
||||
item (maximize_vertically, "", 0, BINDING_PER_WINDOW,
|
||||
_("Maximize window vertically"),
|
||||
NULL)
|
||||
item (maximize_horizontally, "", 0, BINDING_PER_WINDOW,
|
||||
_("Maximize window horizontally"),
|
||||
NULL)
|
||||
keybind (maximize_vertically, handle_maximize_vertically, 0,
|
||||
BINDING_PER_WINDOW, NULL,
|
||||
_("Maximize window vertically"))
|
||||
|
||||
item (move_to_corner_nw, "", 0, BINDING_PER_WINDOW,
|
||||
_("Move window to north-west (top left) corner"),
|
||||
NULL)
|
||||
item (move_to_corner_ne, "", 0, BINDING_PER_WINDOW,
|
||||
_("Move window to north-east (top right) corner"),
|
||||
NULL)
|
||||
item (move_to_corner_sw, "", 0, BINDING_PER_WINDOW,
|
||||
_("Move window to south-west (bottom left) corner"),
|
||||
NULL)
|
||||
item (move_to_corner_se, "", 0, BINDING_PER_WINDOW,
|
||||
_("Move window to south-east (bottom right) corner"),
|
||||
NULL)
|
||||
keybind (maximize_horizontally, handle_maximize_horizontally, 0,
|
||||
BINDING_PER_WINDOW, NULL,
|
||||
_("Maximize window horizontally"))
|
||||
|
||||
item (move_to_side_n, "", 0, BINDING_PER_WINDOW,
|
||||
_("Move window to north (top) side of screen"),
|
||||
NULL)
|
||||
item (move_to_side_s, "", 0, BINDING_PER_WINDOW,
|
||||
_("Move window to south (bottom) side of screen"),
|
||||
NULL)
|
||||
item (move_to_side_e, "", 0, BINDING_PER_WINDOW,
|
||||
_("Move window to east (right) side of screen"),
|
||||
NULL)
|
||||
item (move_to_side_w, "", 0, BINDING_PER_WINDOW,
|
||||
_("Move window to west (left) side of screen"),
|
||||
NULL)
|
||||
item (move_to_center, "", 0, BINDING_PER_WINDOW,
|
||||
_("Move window to center of screen"),
|
||||
NULL)
|
||||
keybind (move_to_corner_nw, handle_move_to_corner_nw, 0,
|
||||
BINDING_PER_WINDOW, NULL,
|
||||
_("Move window to north-west (top left) corner"))
|
||||
keybind (move_to_corner_ne, handle_move_to_corner_ne, 0,
|
||||
BINDING_PER_WINDOW, NULL,
|
||||
_("Move window to north-east (top right) corner"))
|
||||
keybind (move_to_corner_sw, handle_move_to_corner_sw, 0,
|
||||
BINDING_PER_WINDOW, NULL,
|
||||
_("Move window to south-west (bottom left) corner"))
|
||||
keybind (move_to_corner_nw, handle_move_to_corner_se, 0,
|
||||
BINDING_PER_WINDOW, NULL,
|
||||
_("Move window to south-east (bottom right) corner"))
|
||||
|
||||
keybind (move_to_side_n, handle_move_to_side_n, 0,
|
||||
BINDING_PER_WINDOW, NULL,
|
||||
_("Move window to north (top) side of screen"))
|
||||
keybind (move_to_side_s, handle_move_to_side_s, 0,
|
||||
BINDING_PER_WINDOW, NULL,
|
||||
_("Move window to south (bottom) side of screen"))
|
||||
keybind (move_to_side_e, handle_move_to_side_e, 0,
|
||||
BINDING_PER_WINDOW, NULL,
|
||||
_("Move window to east (right) side of screen"))
|
||||
keybind (move_to_side_w, handle_move_to_side_w, 0,
|
||||
BINDING_PER_WINDOW, NULL,
|
||||
_("Move window to west (left) side of screen"))
|
||||
keybind (move_to_center, handle_move_to_center, 0,
|
||||
BINDING_PER_WINDOW, NULL,
|
||||
_("Move window to center of screen"))
|
||||
|
||||
/* eof window-bindings.h */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user