1
0
Fork 0
mutter-performance-source/src
Rui Matos 7e8833a215 keybindings: Keep keybindings in an hash table instead of an array
This allows us to look for a match with an O(1) search instead of O(n)
which is nice, particularly when running as a wayland compositor in
which case we have to do this search for every key press event (as
opposed to only when our passive grab triggers in the X compositor
case).

We actually need two hash tables. On one we keep all the keybindings
themselves which allows us to add external grabs without constantly
re-allocating the array we were using previously.

The other hash table is an index of the keybindings in the first table
by their keycodes and mask which is how we actually match the key
press events. This second table thus needs to be rebuilt when the
keymap changes since keycodes have to be resolved then but since we're
only keeping pointers to the first table it's a fast operation.

https://bugzilla.gnome.org/show_bug.cgi?id=725588
2014-03-04 14:04:51 +01:00
..
compositor meta-shaped-texture: Check if the parent has mapped clones as well 2014-02-28 18:26:55 +01:00
core keybindings: Keep keybindings in an hash table instead of an array 2014-03-04 14:04:51 +01:00
meta keybindings: Make MetaKeyPref, MetaKeyCombo and MetaKeyHandler private 2014-03-04 14:04:12 +01:00
ui Remove tabpopup and friends 2014-02-27 15:31:55 -05:00
.cvsignore Install desktop files in both .../share/applications and 2008-09-12 04:05:17 +00:00
50-mutter-navigation.xml.in keybindings: Make move-to-monitor-* bindings known to g-c-c 2014-02-28 16:30:59 +01:00
50-mutter-system.xml.in keybindings: Import keybinding files from Metacity 2012-11-12 19:27:35 +01:00
50-mutter-windows.xml.in keybindings: Rebrand "minimize" as "hide" 2013-01-11 16:22:29 +01:00
default_icon.png New 48x48 default icon as specified in bug #160660 2005-01-25 18:47:57 +00:00
idle-monitor.xml MetaIdleMonitor: add a DBus interface for the idle monitor 2013-08-23 15:25:13 +02:00
libmutter.pc.in Port preferences to GSettings 2011-11-11 20:26:38 +01:00
Makefile.am Remove tabpopup and friends 2014-02-27 15:31:55 -05:00
mutter-enum-types.c.in Add bits missing from last commit 2009-07-04 17:14:48 +01:00
mutter-enum-types.h.in Use a META_ prefix for enum types, not MUTTER_ 2012-02-23 16:39:28 -05:00
mutter-plugins.pc.in Comprehensively rename to Mutter 2009-06-16 14:17:10 -04:00
mutter-schemas.convert Remove live-hidden-windows from mutter-schemas.convert 2012-04-26 02:37:34 -04:00
mutter-wm.desktop.in Remove deprecated Encoding key from desktop files 2009-08-22 14:24:22 +02:00
mutter.desktop.in Remove deprecated Encoding key from desktop files 2009-08-22 14:24:22 +02:00
org.gnome.mutter.gschema.xml.in Revert "Add keyboard shortcut for Always on Top" 2013-11-16 21:34:48 +05:30
run-mutter.sh Comprehensively rename to Mutter 2009-06-16 14:17:10 -04:00
xrandr.xml MonitorManager: return the new backlight after changing 2013-08-26 17:35:39 +02:00