Geany dev
|
Configurable keyboard shortcuts. More...
Data Structures | |
struct | GeanyKeyBinding |
Represents a single keybinding action. More... | |
Macros | |
#define | GEANY_PRIMARY_MOD_MASK GDK_CONTROL_MASK |
Defines the primary modifier mask which is the Ctrl key mask on UNIX/Windows and Command key mask on OS X. More... | |
Typedefs | |
typedef gboolean(* | GeanyKeyBindingFunc) (GeanyKeyBinding *key, guint key_id, gpointer user_data) |
Function pointer type used for keybinding callbacks, with userdata for passing context. More... | |
typedef void(* | GeanyKeyCallback) (guint key_id) |
Function pointer type used for keybinding callbacks. | |
typedef struct GeanyKeyGroup | GeanyKeyGroup |
A collection of keybindings grouped together. | |
typedef gboolean(* | GeanyKeyGroupCallback) (guint key_id) |
Function pointer type used for keybinding group callbacks. More... | |
typedef gboolean(* | GeanyKeyGroupFunc) (GeanyKeyGroup *group, guint key_id, gpointer user_data) |
Function pointer type used for keybinding group callbacks, with userdata for passing context. More... | |
Functions | |
GeanyKeyBinding * | keybindings_get_item (GeanyKeyGroup *group, gsize key_id) |
Looks up a keybinding item. More... | |
GdkModifierType | keybindings_get_modifiers (GdkModifierType mods) |
Gets significant modifiers from a GdkModifierType mask. More... | |
void | keybindings_load_keyfile (void) |
Reloads keybinding settings from configuration file. More... | |
void | keybindings_send_command (guint group_id, guint key_id) |
Mimics a (built-in only) keybinding action. More... | |
GeanyKeyBinding * | keybindings_set_item (GeanyKeyGroup *group, gsize key_id, GeanyKeyCallback callback, guint key, GdkModifierType mod, const gchar *name, const gchar *label, GtkWidget *menu_item) |
Fills a GeanyKeyBinding struct item. More... | |
GeanyKeyBinding * | keybindings_set_item_full (GeanyKeyGroup *group, gsize key_id, guint key, GdkModifierType mod, const gchar *kf_name, const gchar *label, GtkWidget *menu_item, GeanyKeyBindingFunc func, gpointer pdata, GDestroyNotify destroy_notify) |
Creates a new keybinding using a GeanyKeyBindingFunc and attaches it to a keybinding group. More... | |
Configurable keyboard shortcuts.
#define GEANY_PRIMARY_MOD_MASK GDK_CONTROL_MASK |
Defines the primary modifier mask which is the Ctrl key mask on UNIX/Windows and Command key mask on OS X.
When testing for the mask presence, use together with keybindings_get_modifiers() which adds GEANY_PRIMARY_MOD_MASK
when needed.
typedef gboolean(* GeanyKeyBindingFunc) (GeanyKeyBinding *key, guint key_id, gpointer user_data) |
Function pointer type used for keybinding callbacks, with userdata for passing context.
You should return TRUE
to indicate handling the callback. (Occasionally, if the keybinding cannot apply in the current situation, it is useful to return FALSE
to allow a later keybinding with the same key combination to handle it).
typedef gboolean(* GeanyKeyGroupCallback) (guint key_id) |
Function pointer type used for keybinding group callbacks.
You should return TRUE
to indicate handling the callback. (Occasionally, if the keybinding cannot apply in the current situation, it is useful to return FALSE
to allow a later keybinding with the same key combination to handle it).
typedef gboolean(* GeanyKeyGroupFunc) (GeanyKeyGroup *group, guint key_id, gpointer user_data) |
Function pointer type used for keybinding group callbacks, with userdata for passing context.
You should return TRUE
to indicate handling the callback. (Occasionally, if the keybinding cannot apply in the current situation, it is useful to return FALSE
to allow a later keybinding with the same key combination to handle it).
enum GeanyKeyBindingID |
Keybinding command IDs for use with keybindings_send_command().
Enumerator | |
---|---|
GEANY_KEYS_EDITOR_TRANSPOSELINE | Keybinding. |
GEANY_KEYS_DOCUMENT_REMOVE_ERROR_INDICATORS | Keybinding. |
GEANY_KEYS_FOCUS_SEARCHBAR | Keybinding. |
GEANY_KEYS_SEARCH_FIND | Keybinding. |
GEANY_KEYS_FILE_SAVEALL | Keybinding. |
GEANY_KEYS_GOTO_NEXTMARKER | Keybinding. |
GEANY_KEYS_NOTEBOOK_SWITCHTABLEFT | Keybinding. |
GEANY_KEYS_VIEW_ZOOMOUT | Keybinding. |
GEANY_KEYS_GOTO_LINE | Keybinding. |
GEANY_KEYS_DOCUMENT_TOGGLEFOLD | Keybinding. |
GEANY_KEYS_BUILD_COMPILE | Keybinding. |
GEANY_KEYS_EDITOR_SCROLLTOLINE | Keybinding. |
GEANY_KEYS_DOCUMENT_UNFOLDALL | Keybinding. |
GEANY_KEYS_GOTO_MATCHINGBRACE | Keybinding. |
GEANY_KEYS_SEARCH_FINDDOCUMENTUSAGE | Keybinding. |
GEANY_KEYS_CLIPBOARD_PASTE | Keybinding. |
GEANY_KEYS_BUILD_MAKE | Keybinding. |
GEANY_KEYS_INSERT_ALTWHITESPACE | Keybinding. |
GEANY_KEYS_EDITOR_SCROLLLINEDOWN | Keybinding. |
GEANY_KEYS_VIEW_TOGGLEALL | Keybinding. |
GEANY_KEYS_VIEW_FULLSCREEN | Keybinding. |
GEANY_KEYS_GOTO_LINEEND | Keybinding. |
GEANY_KEYS_EDITOR_CALLTIP | Keybinding. |
GEANY_KEYS_FILE_PRINT | Keybinding. |
GEANY_KEYS_EDITOR_DUPLICATELINE | Keybinding. |
GEANY_KEYS_FOCUS_SCRIBBLE | Keybinding. |
GEANY_KEYS_TOOLS_OPENCOLORCHOOSER | Keybinding. |
GEANY_KEYS_SEARCH_PREVIOUSMESSAGE | Keybinding. |
GEANY_KEYS_FILE_CLOSE | Keybinding. |
GEANY_KEYS_DOCUMENT_REPLACETABS | Keybinding. |
GEANY_KEYS_FILE_RELOAD | Keybinding. |
GEANY_KEYS_SEARCH_FINDNEXTSEL | Keybinding. |
GEANY_KEYS_FOCUS_MESSAGES | Keybinding. |
GEANY_KEYS_BUILD_RUN | Keybinding. |
GEANY_KEYS_HELP_HELP | Keybinding. |
GEANY_KEYS_SETTINGS_PLUGINPREFERENCES | Keybinding. |
GEANY_KEYS_VIEW_ZOOMRESET | Keybinding. |
GEANY_KEYS_SELECT_WORD | Keybinding. |
GEANY_KEYS_FORMAT_INCREASEINDENT | Keybinding. |
GEANY_KEYS_SETTINGS_PREFERENCES | Keybinding. |
GEANY_KEYS_FORMAT_SENDTOCMD3 | Keybinding. |
GEANY_KEYS_DOCUMENT_FOLDALL | Keybinding. |
GEANY_KEYS_FORMAT_SENDTOVTE | Keybinding. |
GEANY_KEYS_PROJECT_PROPERTIES | Keybinding. |
GEANY_KEYS_DOCUMENT_LINEWRAP | Keybinding. |
GEANY_KEYS_EDITOR_MACROLIST | Keybinding.
|
GEANY_KEYS_EDITOR_SUPPRESSSNIPPETCOMPLETION | Keybinding. |
GEANY_KEYS_FOCUS_SIDEBAR_SYMBOL_LIST | Keybinding. |
GEANY_KEYS_GOTO_LINESTART | Keybinding. |
GEANY_KEYS_SEARCH_FINDUSAGE | Keybinding. |
GEANY_KEYS_FILE_NEW | Keybinding. |
GEANY_KEYS_EDITOR_SNIPPETNEXTCURSOR | Keybinding. |
GEANY_KEYS_NOTEBOOK_SWITCHTABRIGHT | Keybinding. |
GEANY_KEYS_FILE_SAVE | Keybinding. |
GEANY_KEYS_FORMAT_INCREASEINDENTBYSPACE | Keybinding. |
GEANY_KEYS_SEARCH_FINDNEXT | Keybinding. |
GEANY_KEYS_GOTO_TOGGLEMARKER | Keybinding. |
GEANY_KEYS_GOTO_TAGDEFINITION | Keybinding. |
GEANY_KEYS_SEARCH_NEXTMESSAGE | Keybinding. |
GEANY_KEYS_EDITOR_DELETELINETOEND | Keybinding. |
GEANY_KEYS_FORMAT_AUTOINDENT | Keybinding. |
GEANY_KEYS_FILE_OPENSELECTED | Keybinding. |
GEANY_KEYS_GOTO_BACK | Keybinding. |
GEANY_KEYS_INSERT_DATE | Keybinding. |
GEANY_KEYS_BUILD_PREVIOUSERROR | Keybinding. |
GEANY_KEYS_GOTO_LINEENDVISUAL | Keybinding. |
GEANY_KEYS_DOCUMENT_REPLACESPACES | Keybinding. |
GEANY_KEYS_FOCUS_EDITOR | Keybinding. |
GEANY_KEYS_SELECT_WORDPARTRIGHT | Keybinding. |
GEANY_KEYS_VIEW_MESSAGEWINDOW | Keybinding. |
GEANY_KEYS_FOCUS_SIDEBAR_DOCUMENT_LIST | Keybinding. |
GEANY_KEYS_FORMAT_REFLOWPARAGRAPH | Keybinding. |
GEANY_KEYS_EDITOR_MOVELINEUP | Keybinding. |
GEANY_KEYS_NOTEBOOK_MOVETABLEFT | Keybinding. |
GEANY_KEYS_SELECT_LINE | Keybinding. |
GEANY_KEYS_EDITOR_UNDO | Keybinding. |
GEANY_KEYS_EDITOR_MOVELINEDOWN | Keybinding. |
GEANY_KEYS_CLIPBOARD_COPYLINE | Keybinding. |
GEANY_KEYS_BUILD_MAKEOWNTARGET | Keybinding. |
GEANY_KEYS_FORMAT_SENDTOCMD2 | Keybinding. |
GEANY_KEYS_SEARCH_MARKALL | Keybinding. |
GEANY_KEYS_BUILD_LINK | Keybinding. |
GEANY_KEYS_FILE_CLOSEALL | Keybinding. |
GEANY_KEYS_GOTO_FORWARD | Keybinding. |
GEANY_KEYS_CLIPBOARD_CUT | Keybinding. |
GEANY_KEYS_NOTEBOOK_SWITCHTABLASTUSED | Keybinding. |
GEANY_KEYS_NOTEBOOK_MOVETABRIGHT | Keybinding. |
GEANY_KEYS_BUILD_OPTIONS | Keybinding. |
GEANY_KEYS_GOTO_TAGDECLARATION | Keybinding. |
GEANY_KEYS_FILE_OPEN | Keybinding. |
GEANY_KEYS_EDITOR_COMPLETESNIPPET | Keybinding. |
GEANY_KEYS_FORMAT_UNCOMMENTLINE | Keybinding. |
GEANY_KEYS_FOCUS_VTE | Keybinding. |
GEANY_KEYS_FORMAT_SENDTOCMD1 | Keybinding. |
GEANY_KEYS_SELECT_WORDPARTLEFT | Keybinding. |
GEANY_KEYS_VIEW_ZOOMIN | Keybinding. |
GEANY_KEYS_DOCUMENT_LINEBREAK | Keybinding. |
GEANY_KEYS_EDITOR_REDO | Keybinding. |
GEANY_KEYS_EDITOR_CONTEXTACTION | Keybinding. |
GEANY_KEYS_SEARCH_FINDPREVSEL | Keybinding. |
GEANY_KEYS_FORMAT_DECREASEINDENTBYSPACE | Keybinding. |
GEANY_KEYS_FORMAT_COMMENTLINETOGGLE | Keybinding. |
GEANY_KEYS_SELECT_ALL | Keybinding. |
GEANY_KEYS_DOCUMENT_RELOADTAGLIST | Keybinding. |
GEANY_KEYS_BUILD_NEXTERROR | Keybinding. |
GEANY_KEYS_NOTEBOOK_MOVETABLAST | Keybinding. |
GEANY_KEYS_SELECT_PARAGRAPH | Keybinding. |
GEANY_KEYS_EDITOR_DELETELINE | Keybinding. |
GEANY_KEYS_CLIPBOARD_COPY | Keybinding. |
GEANY_KEYS_VIEW_SIDEBAR | Keybinding. |
GEANY_KEYS_FILE_SAVEAS | Keybinding. |
GEANY_KEYS_FORMAT_COMMENTLINE | Keybinding. |
GEANY_KEYS_GOTO_PREVWORDPART | Keybinding. |
GEANY_KEYS_SEARCH_FINDPREVIOUS | Keybinding. |
GEANY_KEYS_SEARCH_REPLACE | Keybinding. |
GEANY_KEYS_EDITOR_WORDPARTCOMPLETION | Keybinding. |
GEANY_KEYS_EDITOR_AUTOCOMPLETE | Keybinding. |
GEANY_KEYS_FOCUS_SIDEBAR | Keybinding. |
GEANY_KEYS_FOCUS_MESSAGE_WINDOW | Keybinding. |
GEANY_KEYS_NOTEBOOK_MOVETABFIRST | Keybinding. |
GEANY_KEYS_GOTO_PREVIOUSMARKER | Keybinding. |
GEANY_KEYS_EDITOR_SCROLLLINEUP | Keybinding. |
GEANY_KEYS_FOCUS_COMPILER | Keybinding. |
GEANY_KEYS_FORMAT_TOGGLECASE | Keybinding. |
GEANY_KEYS_CLIPBOARD_CUTLINE | Keybinding. |
GEANY_KEYS_DOCUMENT_REMOVE_MARKERS | Keybinding. |
GEANY_KEYS_BUILD_MAKEOBJECT | Keybinding. |
GEANY_KEYS_FORMAT_DECREASEINDENT | Keybinding. |
GEANY_KEYS_FILE_OPENLASTTAB | Keybinding. |
GEANY_KEYS_SEARCH_FINDINFILES | Keybinding. |
GEANY_KEYS_GOTO_NEXTWORDPART | Keybinding. |
GEANY_KEYS_INSERT_LINEAFTER | Keybinding. |
GEANY_KEYS_INSERT_LINEBEFORE | Keybinding. |
GEANY_KEYS_DOCUMENT_REMOVE_MARKERS_INDICATORS | Keybinding. |
GEANY_KEYS_PROJECT_OPEN | Keybinding. |
GEANY_KEYS_PROJECT_NEW | Keybinding. |
GEANY_KEYS_PROJECT_CLOSE | Keybinding. |
GEANY_KEYS_FORMAT_JOINLINES | Keybinding. |
GEANY_KEYS_GOTO_LINESTARTVISUAL | Keybinding. |
GEANY_KEYS_DOCUMENT_CLONE | Keybinding. |
GEANY_KEYS_FILE_QUIT | Keybinding. |
GEANY_KEYS_FILE_PROPERTIES | Keybinding. |
GEANY_KEYS_FORMAT_SENDTOCMD4 | Keybinding. |
GEANY_KEYS_FORMAT_SENDTOCMD5 | Keybinding. |
GEANY_KEYS_FORMAT_SENDTOCMD6 | Keybinding. |
GEANY_KEYS_FORMAT_SENDTOCMD7 | Keybinding. |
GEANY_KEYS_FORMAT_SENDTOCMD8 | Keybinding. |
GEANY_KEYS_FORMAT_SENDTOCMD9 | Keybinding. |
GEANY_KEYS_EDITOR_DELETELINETOBEGINNING | Keybinding. |
GEANY_KEYS_DOCUMENT_STRIPTRAILINGSPACES | Keybinding.
|
GEANY_KEYS_FILE_RELOAD_ALL | Keybinding.
|
GEANY_KEYS_PROJECT_NEW_FROM_FOLDER | Keybinding.
|
enum GeanyKeyGroupID |
Keybinding group IDs for use with keybindings_send_command().
GeanyKeyBinding * keybindings_get_item | ( | GeanyKeyGroup * | group, |
gsize | key_id | ||
) |
Looks up a keybinding item.
group | Group. |
key_id | Keybinding index for the group. |
GdkModifierType keybindings_get_modifiers | ( | GdkModifierType | mods | ) |
Gets significant modifiers from a GdkModifierType mask.
The set of significant modifiers corresponds to the default modifier mask as returned by gtk_accelerator_get_default_mod_mask()
. In addition, it improves the Command key handling on OS X by adding GEANY_PRIMARY_MOD_MASK
when needed. For this reason it is preferred to use this function instead of gtk_accelerator_set_default_mod_mask()
.
mods | GdkModifierType mask. |
void keybindings_load_keyfile | ( | void | ) |
Reloads keybinding settings from configuration file.
Normally plugins do not need to call this function as it is called automatically when a the plugin is activated. However, plugins which need to create keybindings dynamically and reload them when needed should call this function after all keybindings have been updated with plugin_set_key_group() and keybindings_set_item() calls - this makes sure that the corresponding user keybinding shortcuts are applied.
void keybindings_send_command | ( | guint | group_id, |
guint | key_id | ||
) |
Mimics a (built-in only) keybinding action.
Example:
group_id | GeanyKeyGroupID keybinding group index that contains the key_id keybinding. |
key_id | GeanyKeyBindingID keybinding index. |
GeanyKeyBinding * keybindings_set_item | ( | GeanyKeyGroup * | group, |
gsize | key_id, | ||
GeanyKeyCallback | callback, | ||
guint | key, | ||
GdkModifierType | mod, | ||
const gchar * | kf_name, | ||
const gchar * | label, | ||
GtkWidget * | menu_item | ||
) |
Fills a GeanyKeyBinding struct item.
group | Group. |
key_id | Keybinding index for the group. |
callback | Function to call when activated, or NULL to use the group callback. Usually it's better to use the group callback instead - see plugin_set_key_group(). |
key | Default key, e.g. GDK_KEY_j (must be lower case), but usually 0 for unset. |
mod | Default modifier, e.g. GDK_CONTROL_MASK , but usually 0 for unset. |
kf_name | Key name used for this item in the keybindings configuration file, i.e. "menu_new" . |
label | Label used in the preferences dialog keybindings tab. May contain underscores - these won't be displayed. |
menu_item | Optional widget to set an accelerator for, or NULL . |
GeanyKeyBinding * keybindings_set_item_full | ( | GeanyKeyGroup * | group, |
gsize | key_id, | ||
guint | key, | ||
GdkModifierType | mod, | ||
const gchar * | kf_name, | ||
const gchar * | label, | ||
GtkWidget * | menu_item, | ||
GeanyKeyBindingFunc | cb, | ||
gpointer | pdata, | ||
GDestroyNotify | destroy_notify | ||
) |
Creates a new keybinding using a GeanyKeyBindingFunc and attaches it to a keybinding group.
If given the callback should return TRUE
if the keybinding was handled, otherwise FALSE
to allow other callbacks to be run. This allows for multiplexing keybindings on the same keys, depending on the focused widget (or context). If the callback is NULL the group's callback will be invoked, but the same rule applies.
group | Group. |
key_id | Keybinding index for the group. |
key | Default key, e.g. GDK_KEY_j (must be lower case), but usually 0 for unset. |
mod | Default modifier, e.g. GDK_CONTROL_MASK , but usually 0 for unset. |
kf_name | Key name used for this item in the keybindings configuration file, i.e. "menu_new" . |
label | Label used in the preferences dialog keybindings tab. May contain underscores - these won't be displayed. |
menu_item | Optional widget to set an accelerator for, or NULL . |
cb | New-style callback to be called when activated, or NULL to use the group callback. |
pdata | Plugin-specific data passed back to the callback cb. |
destroy_notify | Function that is invoked to free the plugin data when not needed anymore. |