geany  1.38
About: Geany is a text editor (using GTK2) with basic features of an integrated development environment (syntax highlighting, code folding, symbol name auto-completion, ...). F: office T: editor programming GTK+ IDE
  Fossies Dox: geany-1.38.tar.bz2  ("unofficial" and yet experimental doxygen-generated source code documentation)  

keybindings.h
Go to the documentation of this file.
1/*
2 * keybindings.h - this file is part of Geany, a fast and lightweight IDE
3 *
4 * Copyright 2006 The Geany contributors
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 */
20
21#ifndef GEANY_KEYBINDINGS_H
22#define GEANY_KEYBINDINGS_H 1
23
24#include "gtkcompat.h"
25
26G_BEGIN_DECLS
27
28/** Defines the primary modifier mask which is the Ctrl key mask on
29 * UNIX/Windows and Command key mask on OS X. When testing for the mask
30 * presence, use together with keybindings_get_modifiers() which adds
31 * @c GEANY_PRIMARY_MOD_MASK when needed.
32 * @since 1.25. */
33#ifdef __APPLE__
34#define GEANY_PRIMARY_MOD_MASK GDK_META_MASK
35#else
36#define GEANY_PRIMARY_MOD_MASK GDK_CONTROL_MASK
37#endif
38
39/** A collection of keybindings grouped together. */
42
43/** Function pointer type used for keybinding group callbacks.
44 *
45 * You should return @c TRUE to indicate handling the callback. (Occasionally, if the keybinding
46 * cannot apply in the current situation, it is useful to return @c FALSE to allow a later keybinding
47 * with the same key combination to handle it). */
48typedef gboolean (*GeanyKeyGroupCallback) (guint key_id);
49
50/** Function pointer type used for keybinding group callbacks, with userdata for passing context.
51 *
52 * You should return @c TRUE to indicate handling the callback. (Occasionally, if the keybinding
53 * cannot apply in the current situation, it is useful to return @c FALSE to allow a later keybinding
54 * with the same key combination to handle it).
55 *
56 * @since 1.26 (API 226) */
57typedef gboolean (*GeanyKeyGroupFunc)(GeanyKeyGroup *group, guint key_id, gpointer user_data);
58
59/** Function pointer type used for keybinding callbacks. */
60typedef void (*GeanyKeyCallback) (guint key_id);
61
62/** Function pointer type used for keybinding callbacks, with userdata for passing context
63 *
64 * You should return @c TRUE to indicate handling the callback. (Occasionally, if the keybinding
65 * cannot apply in the current situation, it is useful to return @c FALSE to allow a later keybinding
66 * with the same key combination to handle it).
67 *
68 * @since 1.26 (API 226) */
69typedef gboolean (*GeanyKeyBindingFunc)(GeanyKeyBinding *key, guint key_id, gpointer user_data);
70
71/** Represents a single keybinding action.
72 *
73 * Use keybindings_set_item() to set. */
75{
76 guint key; /**< Key value in lower-case, such as @c GDK_KEY_a or 0 */
77 GdkModifierType mods; /**< Modifier keys, such as @c GDK_CONTROL_MASK or 0 */
78 gchar *name; /**< Key name for the configuration file, such as @c "menu_new" */
79 /** Label used in the preferences dialog keybindings tab.
80 * May contain underscores - these won't be displayed. */
81 gchar *label;
82 /** Function called when the key combination is pressed, or @c NULL to use the group callback
83 * (preferred). @see plugin_set_key_group(). */
85 GtkWidget *menu_item; /**< Optional widget to set an accelerator for, or @c NULL */
86 guint id;
88 GdkModifierType default_mods;
90 gpointer cb_data;
91 GDestroyNotify cb_data_destroy;
92};
93
94/* Note: we don't need to break the plugin ABI when appending keybinding or keygroup IDs,
95 * just make sure to insert immediately before the _COUNT item, so
96 * the existing enum values stay the same. */
97
98/** Keybinding group IDs for use with keybindings_send_command(). */
99/* These IDs are used to lookup a group. */
101{
102 GEANY_KEY_GROUP_FILE, /**< Group. */
111 GEANY_KEY_GROUP_GOTO, /**< Group. */
112 GEANY_KEY_GROUP_VIEW, /**< Group. */
113 GEANY_KEY_GROUP_FOCUS, /**< Group. */
116 GEANY_KEY_GROUP_BUILD, /**< Group. */
117 GEANY_KEY_GROUP_TOOLS, /**< Group. */
118 GEANY_KEY_GROUP_HELP, /**< Group. */
119 GEANY_KEY_GROUP_COUNT /* must not be used by plugins */
121
122/** Keybinding command IDs for use with keybindings_send_command(). */
123/* These IDs are used to lookup a keybinding. */
125{
128 GEANY_KEYS_FOCUS_SEARCHBAR, /**< Keybinding. */
129 GEANY_KEYS_SEARCH_FIND, /**< Keybinding. */
130 GEANY_KEYS_FILE_SAVEALL, /**< Keybinding. */
131 GEANY_KEYS_GOTO_NEXTMARKER, /**< Keybinding. */
133 GEANY_KEYS_VIEW_ZOOMOUT, /**< Keybinding. */
134 GEANY_KEYS_GOTO_LINE, /**< Keybinding. */
136 GEANY_KEYS_BUILD_COMPILE, /**< Keybinding. */
138 GEANY_KEYS_DOCUMENT_UNFOLDALL, /**< Keybinding. */
139 GEANY_KEYS_GOTO_MATCHINGBRACE, /**< Keybinding. */
141 GEANY_KEYS_CLIPBOARD_PASTE, /**< Keybinding. */
142 GEANY_KEYS_BUILD_MAKE, /**< Keybinding. */
145 GEANY_KEYS_VIEW_TOGGLEALL, /**< Keybinding. */
146 GEANY_KEYS_VIEW_FULLSCREEN, /**< Keybinding. */
147 GEANY_KEYS_GOTO_LINEEND, /**< Keybinding. */
148 GEANY_KEYS_EDITOR_CALLTIP, /**< Keybinding. */
149 GEANY_KEYS_FILE_PRINT, /**< Keybinding. */
151 GEANY_KEYS_FOCUS_SCRIBBLE, /**< Keybinding. */
154 GEANY_KEYS_FILE_CLOSE, /**< Keybinding. */
156 GEANY_KEYS_FILE_RELOAD, /**< Keybinding. */
157 GEANY_KEYS_SEARCH_FINDNEXTSEL, /**< Keybinding. */
158 GEANY_KEYS_FOCUS_MESSAGES, /**< Keybinding. */
159 GEANY_KEYS_BUILD_RUN, /**< Keybinding. */
160 GEANY_KEYS_HELP_HELP, /**< Keybinding. */
162 GEANY_KEYS_VIEW_ZOOMRESET, /**< Keybinding. */
163 GEANY_KEYS_SELECT_WORD, /**< Keybinding. */
166 GEANY_KEYS_FORMAT_SENDTOCMD3, /**< Keybinding. */
167 GEANY_KEYS_DOCUMENT_FOLDALL, /**< Keybinding. */
168 GEANY_KEYS_FORMAT_SENDTOVTE, /**< Keybinding. */
169 GEANY_KEYS_PROJECT_PROPERTIES, /**< Keybinding. */
170 GEANY_KEYS_DOCUMENT_LINEWRAP, /**< Keybinding. */
171 GEANY_KEYS_EDITOR_MACROLIST, /**< Keybinding.
172 * @deprecated 1.25, it doesn't do anything anymore */
175 GEANY_KEYS_GOTO_LINESTART, /**< Keybinding. */
176 GEANY_KEYS_SEARCH_FINDUSAGE, /**< Keybinding. */
177 GEANY_KEYS_FILE_NEW, /**< Keybinding. */
180 GEANY_KEYS_FILE_SAVE, /**< Keybinding. */
182 GEANY_KEYS_SEARCH_FINDNEXT, /**< Keybinding. */
183 GEANY_KEYS_GOTO_TOGGLEMARKER, /**< Keybinding. */
184 GEANY_KEYS_GOTO_TAGDEFINITION, /**< Keybinding. */
185 GEANY_KEYS_SEARCH_NEXTMESSAGE, /**< Keybinding. */
187 GEANY_KEYS_FORMAT_AUTOINDENT, /**< Keybinding. */
188 GEANY_KEYS_FILE_OPENSELECTED, /**< Keybinding. */
189 GEANY_KEYS_GOTO_BACK, /**< Keybinding. */
190 GEANY_KEYS_INSERT_DATE, /**< Keybinding. */
192 GEANY_KEYS_GOTO_LINEENDVISUAL, /**< Keybinding. */
194 GEANY_KEYS_FOCUS_EDITOR, /**< Keybinding. */
196 GEANY_KEYS_VIEW_MESSAGEWINDOW, /**< Keybinding. */
199 GEANY_KEYS_EDITOR_MOVELINEUP, /**< Keybinding. */
201 GEANY_KEYS_SELECT_LINE, /**< Keybinding. */
202 GEANY_KEYS_EDITOR_UNDO, /**< Keybinding. */
204 GEANY_KEYS_CLIPBOARD_COPYLINE, /**< Keybinding. */
206 GEANY_KEYS_FORMAT_SENDTOCMD2, /**< Keybinding. */
207 GEANY_KEYS_SEARCH_MARKALL, /**< Keybinding. */
208 GEANY_KEYS_BUILD_LINK, /**< Keybinding. */
209 GEANY_KEYS_FILE_CLOSEALL, /**< Keybinding. */
210 GEANY_KEYS_GOTO_FORWARD, /**< Keybinding. */
211 GEANY_KEYS_CLIPBOARD_CUT, /**< Keybinding. */
214 GEANY_KEYS_BUILD_OPTIONS, /**< Keybinding. */
216 GEANY_KEYS_FILE_OPEN, /**< Keybinding. */
219 GEANY_KEYS_FOCUS_VTE, /**< Keybinding. */
220 GEANY_KEYS_FORMAT_SENDTOCMD1, /**< Keybinding. */
222 GEANY_KEYS_VIEW_ZOOMIN, /**< Keybinding. */
223 GEANY_KEYS_DOCUMENT_LINEBREAK, /**< Keybinding. */
224 GEANY_KEYS_EDITOR_REDO, /**< Keybinding. */
226 GEANY_KEYS_SEARCH_FINDPREVSEL, /**< Keybinding. */
229 GEANY_KEYS_SELECT_ALL, /**< Keybinding. */
231 GEANY_KEYS_BUILD_NEXTERROR, /**< Keybinding. */
233 GEANY_KEYS_SELECT_PARAGRAPH, /**< Keybinding. */
234 GEANY_KEYS_EDITOR_DELETELINE, /**< Keybinding. */
235 GEANY_KEYS_CLIPBOARD_COPY, /**< Keybinding. */
236 GEANY_KEYS_VIEW_SIDEBAR, /**< Keybinding. */
237 GEANY_KEYS_FILE_SAVEAS, /**< Keybinding. */
238 GEANY_KEYS_FORMAT_COMMENTLINE, /**< Keybinding. */
239 GEANY_KEYS_GOTO_PREVWORDPART, /**< Keybinding. */
241 GEANY_KEYS_SEARCH_REPLACE, /**< Keybinding. */
244 GEANY_KEYS_FOCUS_SIDEBAR, /**< Keybinding. */
249 GEANY_KEYS_FOCUS_COMPILER, /**< Keybinding. */
250 GEANY_KEYS_FORMAT_TOGGLECASE, /**< Keybinding. */
251 GEANY_KEYS_CLIPBOARD_CUTLINE, /**< Keybinding. */
253 GEANY_KEYS_BUILD_MAKEOBJECT, /**< Keybinding. */
255 GEANY_KEYS_FILE_OPENLASTTAB, /**< Keybinding. */
256 GEANY_KEYS_SEARCH_FINDINFILES, /**< Keybinding. */
257 GEANY_KEYS_GOTO_NEXTWORDPART, /**< Keybinding. */
258 GEANY_KEYS_INSERT_LINEAFTER, /**< Keybinding. */
259 GEANY_KEYS_INSERT_LINEBEFORE, /**< Keybinding. */
261 GEANY_KEYS_PROJECT_OPEN, /**< Keybinding. */
262 GEANY_KEYS_PROJECT_NEW, /**< Keybinding. */
263 GEANY_KEYS_PROJECT_CLOSE, /**< Keybinding. */
264 GEANY_KEYS_FORMAT_JOINLINES, /**< Keybinding. */
266 GEANY_KEYS_DOCUMENT_CLONE, /**< Keybinding. */
267 GEANY_KEYS_FILE_QUIT, /**< Keybinding. */
268 GEANY_KEYS_FILE_PROPERTIES, /**< Keybinding. */
269 GEANY_KEYS_FORMAT_SENDTOCMD4, /**< Keybinding. */
270 GEANY_KEYS_FORMAT_SENDTOCMD5, /**< Keybinding. */
271 GEANY_KEYS_FORMAT_SENDTOCMD6, /**< Keybinding. */
272 GEANY_KEYS_FORMAT_SENDTOCMD7, /**< Keybinding. */
273 GEANY_KEYS_FORMAT_SENDTOCMD8, /**< Keybinding. */
274 GEANY_KEYS_FORMAT_SENDTOCMD9, /**< Keybinding. */
277 * @since 1.34 (API 238) */
278 GEANY_KEYS_FILE_RELOAD_ALL, /**< Keybinding.
279 * @since 1.38 (API 240) */
280 GEANY_KEYS_COUNT /* must not be used by plugins */
282
283
284void keybindings_send_command(guint group_id, guint key_id);
285
287 GeanyKeyCallback callback, guint key, GdkModifierType mod,
288 const gchar *name, const gchar *label, GtkWidget *menu_item);
289
291 guint key, GdkModifierType mod, const gchar *kf_name, const gchar *label,
292 GtkWidget *menu_item, GeanyKeyBindingFunc func, gpointer pdata,
293 GDestroyNotify destroy_notify);
294
296
297GdkModifierType keybindings_get_modifiers(GdkModifierType mods);
298
299void keybindings_load_keyfile(void);
300
301#ifdef GEANY_PRIVATE
302
303extern GPtrArray *keybinding_groups; /* array of GeanyKeyGroup pointers */
304
305
306void keybindings_init(void);
307
308void keybindings_free(void);
309
311
312GeanyKeyGroup *keybindings_set_group(GeanyKeyGroup *group, const gchar *section_name,
313 const gchar *label, gsize count, GeanyKeyGroupCallback callback) G_GNUC_WARN_UNUSED_RESULT;
314
316
318
319void keybindings_update_combo(GeanyKeyBinding *kb, guint key, GdkModifierType mods);
320
321GeanyKeyBinding *keybindings_lookup_item(guint group_id, guint key_id);
322
323/* just write the content of the keys array to the config file */
325
327
328gboolean keybindings_check_event(GdkEventKey *ev, GeanyKeyBinding *kb);
329
331
332#endif /* GEANY_PRIVATE */
333
334G_END_DECLS
335
336#endif /* GEANY_KEYBINDINGS_H */
const gchar * label
Definition: build.c:2676
const gchar * name
Definition: document.c:3219
#define G_GNUC_WARN_UNUSED_RESULT
Definition: geany.h:55
unsigned int count
void keybindings_update_combo(GeanyKeyBinding *kb, guint key, GdkModifierType mods)
Definition: keybindings.c:2644
GeanyKeyBinding * keybindings_lookup_item(guint group_id, guint key_id)
Definition: keybindings.c:1408
GPtrArray * keybinding_groups
Definition: keybindings.c:62
void keybindings_free_group(GeanyKeyGroup *group)
Definition: keybindings.c:2685
GeanyKeyGroup * keybindings_get_core_group(guint id)
Definition: keybindings.c:278
GeanyKeyGroup * keybindings_set_group(GeanyKeyGroup *group, const gchar *section_name, const gchar *label, gsize count, GeanyKeyGroupCallback callback)
Definition: keybindings.c:2661
void keybindings_init(void)
Definition: keybindings.c:742
void keybindings_free(void)
Definition: keybindings.c:934
gboolean keybindings_check_event(GdkEventKey *ev, GeanyKeyBinding *kb)
Definition: keybindings.c:1302
void keybindings_write_to_file(void)
Definition: keybindings.c:915
gchar * keybindings_get_label(GeanyKeyBinding *kb)
Definition: keybindings.c:946
void keybindings_dialog_show_prefs_scroll(const gchar *name)
Definition: keybindings.c:1059
void keybindings_show_shortcuts(void)
Definition: keybindings.c:1080
gboolean(* GeanyKeyBindingFunc)(GeanyKeyBinding *key, guint key_id, gpointer user_data)
Function pointer type used for keybinding callbacks, with userdata for passing context.
Definition: keybindings.h:69
GeanyKeyGroupID
Keybinding group IDs for use with keybindings_send_command().
Definition: keybindings.h:101
@ GEANY_KEY_GROUP_HELP
Group.
Definition: keybindings.h:118
@ GEANY_KEY_GROUP_SELECT
Group.
Definition: keybindings.h:106
@ GEANY_KEY_GROUP_NOTEBOOK
Group.
Definition: keybindings.h:114
@ GEANY_KEY_GROUP_VIEW
Group.
Definition: keybindings.h:112
@ GEANY_KEY_GROUP_SEARCH
Group.
Definition: keybindings.h:110
@ GEANY_KEY_GROUP_COUNT
Definition: keybindings.h:119
@ GEANY_KEY_GROUP_CLIPBOARD
Group.
Definition: keybindings.h:105
@ GEANY_KEY_GROUP_DOCUMENT
Group.
Definition: keybindings.h:115
@ GEANY_KEY_GROUP_INSERT
Group.
Definition: keybindings.h:108
@ GEANY_KEY_GROUP_PROJECT
Group.
Definition: keybindings.h:103
@ GEANY_KEY_GROUP_BUILD
Group.
Definition: keybindings.h:116
@ GEANY_KEY_GROUP_TOOLS
Group.
Definition: keybindings.h:117
@ GEANY_KEY_GROUP_SETTINGS
Group.
Definition: keybindings.h:109
@ GEANY_KEY_GROUP_GOTO
Group.
Definition: keybindings.h:111
@ GEANY_KEY_GROUP_EDITOR
Group.
Definition: keybindings.h:104
@ GEANY_KEY_GROUP_FORMAT
Group.
Definition: keybindings.h:107
@ GEANY_KEY_GROUP_FOCUS
Group.
Definition: keybindings.h:113
@ GEANY_KEY_GROUP_FILE
Group.
Definition: keybindings.h:102
void keybindings_load_keyfile(void)
Reloads keybinding settings from configuration file.
Definition: keybindings.c:842
void keybindings_send_command(guint group_id, guint key_id)
Mimics a (built-in only) keybinding action.
Definition: keybindings.c:1426
GeanyKeyBindingID
Keybinding command IDs for use with keybindings_send_command().
Definition: keybindings.h:125
@ GEANY_KEYS_EDITOR_DUPLICATELINE
Keybinding.
Definition: keybindings.h:150
@ GEANY_KEYS_GOTO_PREVWORDPART
Keybinding.
Definition: keybindings.h:239
@ GEANY_KEYS_VIEW_ZOOMIN
Keybinding.
Definition: keybindings.h:222
@ GEANY_KEYS_CLIPBOARD_CUTLINE
Keybinding.
Definition: keybindings.h:251
@ GEANY_KEYS_GOTO_TOGGLEMARKER
Keybinding.
Definition: keybindings.h:183
@ GEANY_KEYS_FILE_NEW
Keybinding.
Definition: keybindings.h:177
@ GEANY_KEYS_FORMAT_SENDTOCMD5
Keybinding.
Definition: keybindings.h:270
@ GEANY_KEYS_GOTO_TAGDEFINITION
Keybinding.
Definition: keybindings.h:184
@ GEANY_KEYS_CLIPBOARD_CUT
Keybinding.
Definition: keybindings.h:211
@ GEANY_KEYS_EDITOR_MOVELINEDOWN
Keybinding.
Definition: keybindings.h:203
@ GEANY_KEYS_DOCUMENT_TOGGLEFOLD
Keybinding.
Definition: keybindings.h:135
@ GEANY_KEYS_CLIPBOARD_COPYLINE
Keybinding.
Definition: keybindings.h:204
@ GEANY_KEYS_SEARCH_FIND
Keybinding.
Definition: keybindings.h:129
@ GEANY_KEYS_BUILD_COMPILE
Keybinding.
Definition: keybindings.h:136
@ GEANY_KEYS_BUILD_PREVIOUSERROR
Keybinding.
Definition: keybindings.h:191
@ GEANY_KEYS_EDITOR_CALLTIP
Keybinding.
Definition: keybindings.h:148
@ GEANY_KEYS_EDITOR_AUTOCOMPLETE
Keybinding.
Definition: keybindings.h:243
@ GEANY_KEYS_EDITOR_SUPPRESSSNIPPETCOMPLETION
Keybinding.
Definition: keybindings.h:173
@ GEANY_KEYS_BUILD_LINK
Keybinding.
Definition: keybindings.h:208
@ GEANY_KEYS_SEARCH_FINDNEXTSEL
Keybinding.
Definition: keybindings.h:157
@ GEANY_KEYS_FILE_RELOAD_ALL
Keybinding.
Definition: keybindings.h:278
@ GEANY_KEYS_FORMAT_REFLOWPARAGRAPH
Keybinding.
Definition: keybindings.h:198
@ GEANY_KEYS_FORMAT_SENDTOCMD7
Keybinding.
Definition: keybindings.h:272
@ GEANY_KEYS_CLIPBOARD_COPY
Keybinding.
Definition: keybindings.h:235
@ GEANY_KEYS_GOTO_NEXTMARKER
Keybinding.
Definition: keybindings.h:131
@ GEANY_KEYS_DOCUMENT_LINEWRAP
Keybinding.
Definition: keybindings.h:170
@ GEANY_KEYS_FOCUS_MESSAGES
Keybinding.
Definition: keybindings.h:158
@ GEANY_KEYS_DOCUMENT_CLONE
Keybinding.
Definition: keybindings.h:266
@ GEANY_KEYS_TOOLS_OPENCOLORCHOOSER
Keybinding.
Definition: keybindings.h:152
@ GEANY_KEYS_DOCUMENT_RELOADTAGLIST
Keybinding.
Definition: keybindings.h:230
@ GEANY_KEYS_SEARCH_FINDNEXT
Keybinding.
Definition: keybindings.h:182
@ GEANY_KEYS_NOTEBOOK_MOVETABLAST
Keybinding.
Definition: keybindings.h:232
@ GEANY_KEYS_GOTO_LINESTART
Keybinding.
Definition: keybindings.h:175
@ GEANY_KEYS_GOTO_MATCHINGBRACE
Keybinding.
Definition: keybindings.h:139
@ GEANY_KEYS_PROJECT_CLOSE
Keybinding.
Definition: keybindings.h:263
@ GEANY_KEYS_FORMAT_SENDTOCMD3
Keybinding.
Definition: keybindings.h:166
@ GEANY_KEYS_VIEW_TOGGLEALL
Keybinding.
Definition: keybindings.h:145
@ GEANY_KEYS_FORMAT_SENDTOCMD4
Keybinding.
Definition: keybindings.h:269
@ GEANY_KEYS_FORMAT_COMMENTLINETOGGLE
Keybinding.
Definition: keybindings.h:228
@ GEANY_KEYS_FILE_QUIT
Keybinding.
Definition: keybindings.h:267
@ GEANY_KEYS_DOCUMENT_REMOVE_MARKERS_INDICATORS
Keybinding.
Definition: keybindings.h:260
@ GEANY_KEYS_HELP_HELP
Keybinding.
Definition: keybindings.h:160
@ GEANY_KEYS_FILE_PROPERTIES
Keybinding.
Definition: keybindings.h:268
@ GEANY_KEYS_VIEW_SIDEBAR
Keybinding.
Definition: keybindings.h:236
@ GEANY_KEYS_BUILD_MAKE
Keybinding.
Definition: keybindings.h:142
@ GEANY_KEYS_FORMAT_SENDTOCMD9
Keybinding.
Definition: keybindings.h:274
@ GEANY_KEYS_FILE_PRINT
Keybinding.
Definition: keybindings.h:149
@ GEANY_KEYS_EDITOR_SCROLLLINEUP
Keybinding.
Definition: keybindings.h:248
@ GEANY_KEYS_SELECT_WORD
Keybinding.
Definition: keybindings.h:163
@ GEANY_KEYS_FORMAT_SENDTOCMD8
Keybinding.
Definition: keybindings.h:273
@ GEANY_KEYS_SETTINGS_PREFERENCES
Keybinding.
Definition: keybindings.h:165
@ GEANY_KEYS_SELECT_ALL
Keybinding.
Definition: keybindings.h:229
@ GEANY_KEYS_BUILD_RUN
Keybinding.
Definition: keybindings.h:159
@ GEANY_KEYS_FORMAT_SENDTOVTE
Keybinding.
Definition: keybindings.h:168
@ GEANY_KEYS_NOTEBOOK_MOVETABFIRST
Keybinding.
Definition: keybindings.h:246
@ GEANY_KEYS_FOCUS_SIDEBAR_DOCUMENT_LIST
Keybinding.
Definition: keybindings.h:197
@ GEANY_KEYS_SEARCH_NEXTMESSAGE
Keybinding.
Definition: keybindings.h:185
@ GEANY_KEYS_INSERT_LINEBEFORE
Keybinding.
Definition: keybindings.h:259
@ GEANY_KEYS_DOCUMENT_LINEBREAK
Keybinding.
Definition: keybindings.h:223
@ GEANY_KEYS_EDITOR_DELETELINETOBEGINNING
Keybinding.
Definition: keybindings.h:275
@ GEANY_KEYS_FILE_OPENLASTTAB
Keybinding.
Definition: keybindings.h:255
@ GEANY_KEYS_INSERT_LINEAFTER
Keybinding.
Definition: keybindings.h:258
@ GEANY_KEYS_SEARCH_FINDDOCUMENTUSAGE
Keybinding.
Definition: keybindings.h:140
@ GEANY_KEYS_FORMAT_INCREASEINDENTBYSPACE
Keybinding.
Definition: keybindings.h:181
@ GEANY_KEYS_FILE_OPEN
Keybinding.
Definition: keybindings.h:216
@ GEANY_KEYS_EDITOR_SNIPPETNEXTCURSOR
Keybinding.
Definition: keybindings.h:178
@ GEANY_KEYS_FILE_SAVEAS
Keybinding.
Definition: keybindings.h:237
@ GEANY_KEYS_EDITOR_DELETELINETOEND
Keybinding.
Definition: keybindings.h:186
@ GEANY_KEYS_EDITOR_MOVELINEUP
Keybinding.
Definition: keybindings.h:199
@ GEANY_KEYS_EDITOR_TRANSPOSELINE
Keybinding.
Definition: keybindings.h:126
@ GEANY_KEYS_GOTO_FORWARD
Keybinding.
Definition: keybindings.h:210
@ GEANY_KEYS_FORMAT_SENDTOCMD6
Keybinding.
Definition: keybindings.h:271
@ GEANY_KEYS_SEARCH_REPLACE
Keybinding.
Definition: keybindings.h:241
@ GEANY_KEYS_SELECT_WORDPARTRIGHT
Keybinding.
Definition: keybindings.h:195
@ GEANY_KEYS_NOTEBOOK_SWITCHTABRIGHT
Keybinding.
Definition: keybindings.h:179
@ GEANY_KEYS_FORMAT_AUTOINDENT
Keybinding.
Definition: keybindings.h:187
@ GEANY_KEYS_BUILD_MAKEOWNTARGET
Keybinding.
Definition: keybindings.h:205
@ GEANY_KEYS_FILE_CLOSE
Keybinding.
Definition: keybindings.h:154
@ GEANY_KEYS_SEARCH_FINDINFILES
Keybinding.
Definition: keybindings.h:256
@ GEANY_KEYS_EDITOR_MACROLIST
Keybinding.
Definition: keybindings.h:171
@ GEANY_KEYS_EDITOR_REDO
Keybinding.
Definition: keybindings.h:224
@ GEANY_KEYS_FOCUS_VTE
Keybinding.
Definition: keybindings.h:219
@ GEANY_KEYS_FOCUS_SIDEBAR_SYMBOL_LIST
Keybinding.
Definition: keybindings.h:174
@ GEANY_KEYS_GOTO_LINEENDVISUAL
Keybinding.
Definition: keybindings.h:192
@ GEANY_KEYS_SEARCH_MARKALL
Keybinding.
Definition: keybindings.h:207
@ GEANY_KEYS_GOTO_NEXTWORDPART
Keybinding.
Definition: keybindings.h:257
@ GEANY_KEYS_NOTEBOOK_SWITCHTABLASTUSED
Keybinding.
Definition: keybindings.h:212
@ GEANY_KEYS_SELECT_PARAGRAPH
Keybinding.
Definition: keybindings.h:233
@ GEANY_KEYS_INSERT_ALTWHITESPACE
Keybinding.
Definition: keybindings.h:143
@ GEANY_KEYS_VIEW_MESSAGEWINDOW
Keybinding.
Definition: keybindings.h:196
@ GEANY_KEYS_GOTO_LINE
Keybinding.
Definition: keybindings.h:134
@ GEANY_KEYS_FORMAT_DECREASEINDENTBYSPACE
Keybinding.
Definition: keybindings.h:227
@ GEANY_KEYS_FOCUS_SIDEBAR
Keybinding.
Definition: keybindings.h:244
@ GEANY_KEYS_FILE_CLOSEALL
Keybinding.
Definition: keybindings.h:209
@ GEANY_KEYS_SEARCH_FINDUSAGE
Keybinding.
Definition: keybindings.h:176
@ GEANY_KEYS_GOTO_LINESTARTVISUAL
Keybinding.
Definition: keybindings.h:265
@ GEANY_KEYS_DOCUMENT_UNFOLDALL
Keybinding.
Definition: keybindings.h:138
@ GEANY_KEYS_FILE_RELOAD
Keybinding.
Definition: keybindings.h:156
@ GEANY_KEYS_VIEW_ZOOMRESET
Keybinding.
Definition: keybindings.h:162
@ GEANY_KEYS_GOTO_BACK
Keybinding.
Definition: keybindings.h:189
@ GEANY_KEYS_DOCUMENT_REMOVE_MARKERS
Keybinding.
Definition: keybindings.h:252
@ GEANY_KEYS_EDITOR_SCROLLLINEDOWN
Keybinding.
Definition: keybindings.h:144
@ GEANY_KEYS_BUILD_NEXTERROR
Keybinding.
Definition: keybindings.h:231
@ GEANY_KEYS_SEARCH_PREVIOUSMESSAGE
Keybinding.
Definition: keybindings.h:153
@ GEANY_KEYS_GOTO_LINEEND
Keybinding.
Definition: keybindings.h:147
@ GEANY_KEYS_FORMAT_DECREASEINDENT
Keybinding.
Definition: keybindings.h:254
@ GEANY_KEYS_SETTINGS_PLUGINPREFERENCES
Keybinding.
Definition: keybindings.h:161
@ GEANY_KEYS_NOTEBOOK_MOVETABRIGHT
Keybinding.
Definition: keybindings.h:213
@ GEANY_KEYS_DOCUMENT_REMOVE_ERROR_INDICATORS
Keybinding.
Definition: keybindings.h:127
@ GEANY_KEYS_GOTO_PREVIOUSMARKER
Keybinding.
Definition: keybindings.h:247
@ GEANY_KEYS_FORMAT_SENDTOCMD2
Keybinding.
Definition: keybindings.h:206
@ GEANY_KEYS_FORMAT_INCREASEINDENT
Keybinding.
Definition: keybindings.h:164
@ GEANY_KEYS_FOCUS_SCRIBBLE
Keybinding.
Definition: keybindings.h:151
@ GEANY_KEYS_DOCUMENT_FOLDALL
Keybinding.
Definition: keybindings.h:167
@ GEANY_KEYS_FOCUS_EDITOR
Keybinding.
Definition: keybindings.h:194
@ GEANY_KEYS_CLIPBOARD_PASTE
Keybinding.
Definition: keybindings.h:141
@ GEANY_KEYS_FILE_SAVE
Keybinding.
Definition: keybindings.h:180
@ GEANY_KEYS_DOCUMENT_STRIPTRAILINGSPACES
Keybinding.
Definition: keybindings.h:276
@ GEANY_KEYS_FORMAT_JOINLINES
Keybinding.
Definition: keybindings.h:264
@ GEANY_KEYS_SELECT_WORDPARTLEFT
Keybinding.
Definition: keybindings.h:221
@ GEANY_KEYS_VIEW_FULLSCREEN
Keybinding.
Definition: keybindings.h:146
@ GEANY_KEYS_FILE_SAVEALL
Keybinding.
Definition: keybindings.h:130
@ GEANY_KEYS_FOCUS_SEARCHBAR
Keybinding.
Definition: keybindings.h:128
@ GEANY_KEYS_EDITOR_WORDPARTCOMPLETION
Keybinding.
Definition: keybindings.h:242
@ GEANY_KEYS_GOTO_TAGDECLARATION
Keybinding.
Definition: keybindings.h:215
@ GEANY_KEYS_EDITOR_UNDO
Keybinding.
Definition: keybindings.h:202
@ GEANY_KEYS_FORMAT_TOGGLECASE
Keybinding.
Definition: keybindings.h:250
@ GEANY_KEYS_BUILD_OPTIONS
Keybinding.
Definition: keybindings.h:214
@ GEANY_KEYS_BUILD_MAKEOBJECT
Keybinding.
Definition: keybindings.h:253
@ GEANY_KEYS_EDITOR_CONTEXTACTION
Keybinding.
Definition: keybindings.h:225
@ GEANY_KEYS_FORMAT_SENDTOCMD1
Keybinding.
Definition: keybindings.h:220
@ GEANY_KEYS_EDITOR_SCROLLTOLINE
Keybinding.
Definition: keybindings.h:137
@ GEANY_KEYS_COUNT
Definition: keybindings.h:280
@ GEANY_KEYS_EDITOR_COMPLETESNIPPET
Keybinding.
Definition: keybindings.h:217
@ GEANY_KEYS_DOCUMENT_REPLACETABS
Keybinding.
Definition: keybindings.h:155
@ GEANY_KEYS_FORMAT_UNCOMMENTLINE
Keybinding.
Definition: keybindings.h:218
@ GEANY_KEYS_DOCUMENT_REPLACESPACES
Keybinding.
Definition: keybindings.h:193
@ GEANY_KEYS_FOCUS_COMPILER
Keybinding.
Definition: keybindings.h:249
@ GEANY_KEYS_FOCUS_MESSAGE_WINDOW
Keybinding.
Definition: keybindings.h:245
@ GEANY_KEYS_PROJECT_NEW
Keybinding.
Definition: keybindings.h:262
@ GEANY_KEYS_FILE_OPENSELECTED
Keybinding.
Definition: keybindings.h:188
@ GEANY_KEYS_EDITOR_DELETELINE
Keybinding.
Definition: keybindings.h:234
@ GEANY_KEYS_VIEW_ZOOMOUT
Keybinding.
Definition: keybindings.h:133
@ GEANY_KEYS_FORMAT_COMMENTLINE
Keybinding.
Definition: keybindings.h:238
@ GEANY_KEYS_SEARCH_FINDPREVSEL
Keybinding.
Definition: keybindings.h:226
@ GEANY_KEYS_NOTEBOOK_SWITCHTABLEFT
Keybinding.
Definition: keybindings.h:132
@ GEANY_KEYS_INSERT_DATE
Keybinding.
Definition: keybindings.h:190
@ GEANY_KEYS_SEARCH_FINDPREVIOUS
Keybinding.
Definition: keybindings.h:240
@ GEANY_KEYS_NOTEBOOK_MOVETABLEFT
Keybinding.
Definition: keybindings.h:200
@ GEANY_KEYS_PROJECT_OPEN
Keybinding.
Definition: keybindings.h:261
@ GEANY_KEYS_SELECT_LINE
Keybinding.
Definition: keybindings.h:201
@ GEANY_KEYS_PROJECT_PROPERTIES
Keybinding.
Definition: keybindings.h:169
void(* GeanyKeyCallback)(guint key_id)
Function pointer type used for keybinding callbacks.
Definition: keybindings.h:60
GeanyKeyBinding * keybindings_set_item(GeanyKeyGroup *group, gsize key_id, GeanyKeyCallback callback, guint key, GdkModifierType mod, const gchar *name, const gchar *label, GtkWidget *menu_item)
<simplesect kind="geany:skip"></simplesect> Fills a GeanyKeyBinding struct item.
Definition: keybindings.c:171
gboolean(* GeanyKeyGroupCallback)(guint key_id)
Function pointer type used for keybinding group callbacks.
Definition: keybindings.h:48
GdkModifierType keybindings_get_modifiers(GdkModifierType mods)
Gets significant modifiers from a GdkModifierType mask.
Definition: keybindings.c:121
GeanyKeyBinding * keybindings_get_item(GeanyKeyGroup *group, gsize key_id)
Looks up a keybinding item.
Definition: keybindings.c:140
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.
Definition: keybindings.c:231
gboolean(* GeanyKeyGroupFunc)(GeanyKeyGroup *group, guint key_id, gpointer user_data)
Function pointer type used for keybinding group callbacks, with userdata for passing context.
Definition: keybindings.h:57
StashGroup * group
Definition: stash-example.c:1
Represents a single keybinding action.
Definition: keybindings.h:75
GeanyKeyBindingFunc cb_func
Definition: keybindings.h:89
GtkWidget * menu_item
Optional widget to set an accelerator for, or NULL.
Definition: keybindings.h:85
GdkModifierType default_mods
Definition: keybindings.h:88
gpointer cb_data
Definition: keybindings.h:90
gchar * name
Key name for the configuration file, such as "menu_new".
Definition: keybindings.h:78
GDestroyNotify cb_data_destroy
Definition: keybindings.h:91
GdkModifierType mods
Modifier keys, such as GDK_CONTROL_MASK or 0.
Definition: keybindings.h:77
GeanyKeyCallback callback
Function called when the key combination is pressed, or NULL to use the group callback (preferred).
Definition: keybindings.h:84
guint key
Key value in lower-case, such as GDK_KEY_a or 0.
Definition: keybindings.h:76
gchar * label
Label used in the preferences dialog keybindings tab.
Definition: keybindings.h:81