path: root/src/core
AgeCommit message (Collapse)AuthorFilesLines
2011-01-13Fix permissionsHEADmasterSam Spilsbury52-0/+0
2011-01-13Merge branch 'master' of git:// Spilsbury3-2/+261
2011-01-05Add an "Above_Tab" pseudo-keysymOwen W. Taylor3-2/+261
We want switching between the windows of an application to be an easily accessible operation. The convenient and memorable keybinding is the key above the tab key - but the keysym for that key isn't consistent across different keyboard layouts. Add code that figures out the key from the XKB geometry and a magic keysym name "Above_Tab" that refers to this key and switch the default binding for cycle_group to <Alt>Above_Tab.
2010-12-10Add the ability to parse <shadow> and <padding> tags in <frame-style>Sam Spilsbury52-0/+0
2010-11-22Unify keymap-reloading code branchesOwen W. Taylor1-15/+24
Simplify the keymap loading logic by unifying the different branches; in the reorganization this patch fixes a bug where when we got a MappingKeyboard event we wouldn't update virtual modifiers correctly. Based on a patch by Thomas Thurman <>
2010-11-22Update keybindings when XKB keyboard layout changesDerek Poon2-1/+31
* Select for XKB keyboard notification events explicitly; since GTK+ has selected for XKB events, delivery of old-school MappingNotify events is disabled. * Fix a bug where once a keycode was loaded for a key binding, it would never be reassigned; we want to laod new keycodes for all bindings that have a key symbol rather than a fixed keycode. [ With fixes from Owen W. Taylor <> ]
2010-05-25Fix crash with --sync optionOwen W. Taylor1-2/+2
If the display hasn't been initialized yet, just change the start variable and don't update the display.
2010-05-08Fix very unlikely crasher. See ↵Paul Liu1-1/+1
2010-05-02Use correct timestamp for focus stealing preventionTomas Frydrych1-6/+24
When window initially maps, use the more recent of NET_WM_USER_TIME and startup notification timestamps to compare against last known user action to decide whether to focus the window or not. Once we show the window, clear the initial_timestamp_set flag, so the startup notification timestamp is not taken into account again. Based on patch for metacity by Alexander Larsson
2010-05-02Don't warn about a missing session fileTomislav Vujec1-2/+0
When started without session related command line parameters (e.g. from gnome-session), metacity picks up client_id from the DESKTOP_AUTOSTART_ID environment variable. Unfortunately, there is no way to distinguish if this was passed from a config file, representing old saved session, or generated by gnome-session, therefore load_state is attempted in each case. If the client_id is generated, there will be no session file, and metacity will report a warning. Just remove the warning so that users won't always find a warning at the start of their .xsession-errors.
2010-04-06Fix crash when right-clicking on window frameEdward Sheldrake1-1/+1
This is a regression added in 333446ab.
2010-03-31Fix build with gcc 4.5Vincent Untz2-7/+9
Based on patch by Dominique Leuenberger <>
2010-02-10Fix typo when checking the result of getpwuidOwen W. Taylor1-1/+1
Was meant to be: errno==0 && pwd!=NULL Not: errno==0 || pwd==NULL
2010-01-22Cleanup: split MetaSide from MetaDirectionOwen W. Taylor3-50/+50
The MetaDirection enumeration had META_SIDE_* values in it that were used in some places where an enum with only four directions was needed. Split this off into a separate enum called MetaSide and use that enum name where appropriate.
2010-01-21Reduce GConf roundtripsMatthias Clasen1-85/+63
2010-01-20Increase ping timeout delay to 5sVincent Untz1-1/+1
2010-01-20prevent window self-maximisationPeter Bloomfield4-6/+33
2010-01-17check window has frame before flashing italexisdm591-2/+2
2010-01-14Don't call IceCloseConnection() behind libSM's backOwen W. Taylor1-3/+7
The ICE connection is opened by libSM; we can't just close it when we get an IOError on the ICE connection; instead call SmcCloseConnection() and mark the connection as closed. This will prevent a segfault if we exit out of the metacity main loop and get to meta_finalize().
2010-01-05store timestamp for _NET_WM_CM_SX selectionTravis Watkins2-2/+7
2010-01-05Throw away result of write(); it's not importantThomas Thurman1-1/+3
2010-01-05Remove markup from translated stringClaude Paroz1-6/+10
2009-11-20sound: ask libcanberra to cache alert/desktop switch soundsLennart Poettering2-0/+2
These sounds are good candidates for caching in the sound server, to save a bit of CPU and make reaction faster. Hence, tell libcanberra to cache them.
2009-11-20bell: increase bell rate limit from 1/s to 1/100msLennart Poettering1-1/+1
Right now metacity issues only 1 bell event per second. This is feels buggy when triggering multiple alarm sounds in a terminal. This patch simple increases the limit to 1/100ms. 100ms is probably a good choice since the HIG recommends that all user reaction should happen within 100ms. With this applied pressing 'Left' in gnome-terminal feels much more responsive.
2009-11-20Fix handling of SIGCHLDDan Winship4-106/+26
The commit that removed metacity-dialog added a global SIGCHLD handler that caused problems by (a) calling waitpid(-1) and thus breaking g_child_watch for everyone else, and (b) doing too much from a signal handler and sometimes causing deadlocks (bug 596200). This removes the global handler and has each zenity user create its own child watch to watch for exit. (It also fixes the window class of the zenity dialogs, so that meta_window_present_delete_dialog() will work again.)
2009-11-20Don't call meta_finalize from SIGTERM handlerRay Strode1-2/+26
It's not a legal function to call from a signal handler. Instead defer until going back to the main loop.
2009-10-21Add XFCE Terminal as a terminalOwen W. Taylor1-0/+3
Include the XFCE terminal program 'Terminal' in the list of terminals.
2009-08-24Add missing quotes in strings (Fixes #572046)Claude Paroz1-2/+2
2009-07-09unset _NET_SUPPORTING_WM_CHECK when shutting downThomas Thurman1-0/+9
2009-07-06Add a switch to disable autofullscreen'ing maximized windows without decorationsTomeu Vizoso3-1/+30
2009-03-12fix problem where the previous code ignored callbacks for properties whoseThomas James Alexander Thurman1-47/+24
* src/core/window-props.c: fix problem where the previous code ignored callbacks for properties whose values weren't looked up. Closes #572573. svn path=/trunk/; revision=4191
2009-03-06add optional dependency on gtop. Include "(as username)" in the titlebarThomas James Alexander Thurman2-2/+99
* add optional dependency on gtop. * src/core/window-props.c: Include "(as username)" in the titlebar if a window is running as another user. * src/core/window.c: check for PID before name, since the rendering of the name can now depend on the PID. Closes #549389. svn path=/trunk/; revision=4181
2009-02-21Don't force CA_PROP_CANBERRA_ENABLE to 1. That was a misunderstanding onMatthias Clasen1-1/+0
* src/core/bell.c: Don't force CA_PROP_CANBERRA_ENABLE to 1. That was a misunderstanding on my part, and makes it impossible to get rid of the bell. svn path=/trunk/; revision=4165
2009-02-20 Use zenity for the session management dialogue that warns aboutThomas James Alexander Thurman2-135/+62
clueless clients, not metacity-dialog. This is the last change away from metacity-dialog and therefore closes #521914. * src/ * src/core/session.c: * src/core/util.c: * src/include/util.h: * src/ui/metacity-dialog.c (deleted): svn path=/trunk/; revision=4163
2009-02-13Now that we are using libcanberra, don't tell the X server to play theMatthias Clasen1-6/+0
* src/core/bell.c (meta_bell_set_audible): Now that we are using libcanberra, don't tell the X server to play the system bell internally. svn path=/trunk/; revision=4141
2009-02-12Use libcanberra to play system bell and workspace switch soundsMatthias Clasen2-3/+104
svn path=/trunk/; revision=4137
2009-02-11 Session must be saved before display close, and displayThomas James Alexander Thurman4-6/+25
shouldn't close during shutdown if it's already closed. Can't believe we don't have a bug about this already... * src/core/display-private.h: * src/core/display.c: * src/core/main.c: * src/core/session.c: svn path=/trunk/; revision=4133
2009-02-11 Don't define meta_spew_event unless verbose mode is on.Thomas James Alexander Thurman2-0/+4
Closes #571126. * src/core/display.c: * src/core/window.c: svn path=/trunk/; revision=4132
2009-02-10 Further movement of code out of metacity-dialog into Zenity;Thomas James Alexander Thurman6-282/+144
this time it's the "kill or wait?" dialogue. Much code saved. * src/core/delete.c: * src/core/keybindings.c: * src/core/main.c: * src/core/util.c: * src/core/window-private.h: * src/core/window.c: * src/include/util.h: svn path=/trunk/; revision=4125
2009-02-08 Windows demanding attention should never appear in theThomas James Alexander Thurman1-1/+2
alt-tab list unless they're of a type which might have appeared there anyway. This solves a problem under AWN where docks which were marked as demanding attention appeared in all alt-tab lists; they were irrelevant and it was impossible to remove them from the lists. * src/core/display.c: svn path=/trunk/; revision=4123
2009-02-07Only skip the first window in the alt-tab chain if it's actually theThomas James Alexander Thurman1-1/+1
* src/core/display.c: Only skip the first window in the alt-tab chain if it's actually the current window (urgent windows on other workspaces may precede it). Fixes #535887. svn path=/trunk/; revision=4121
2009-02-05incredibly baroque system to make sure the translators don't have toThomas James Alexander Thurman1-2/+15
* src/core/main.c: incredibly baroque system to make sure the translators don't have to update the year number every year. svn path=/trunk/; revision=4118
2009-02-05queue resize on window undecorateThomas James Alexander Thurman1-0/+1
* src/core/frame.c: queue resize on window undecorate svn path=/trunk/; revision=4114
2009-02-03Wrap g_error calls in braces.Thomas James Alexander Thurman1-0/+4
* src/core/schema-bindings.c: Wrap g_error calls in braces. svn path=/trunk/; revision=4110
2009-02-01 Set prop_hooks_table to NULL after freeing it.Thomas James Alexander Thurman1-2/+2
* src/core/window-props.c: svn path=/trunk/; revision=4103
2009-01-29 Window properties are looked up in a hash table rather thanThomas James Alexander Thurman2-360/+91
by iteration over an array. Saves ~44us per window, but also makes the code cleaner. * src/core/display-private.h: * src/core/window-props.c: svn path=/trunk/; revision=4097
2009-01-28some lists failed to keep track of their contents and therefore didn'tThomas James Alexander Thurman1-2/+2
* src/core/edge-resistance.c: some lists failed to keep track of their contents and therefore didn't free correctly. Closes #552303. svn path=/trunk/; revision=4095
2009-01-28Free name of old theme when new theme is loaded.Thomas James Alexander Thurman1-0/+2
* src/core/prefs.c: Free name of old theme when new theme is loaded. svn path=/trunk/; revision=4094
2009-01-27 Added a gconf key to swap the meanings of the right andThomas James Alexander Thurman2-2/+23
middle buttons when the modifier key is held down. Closes #437910. Thanks to Matt Kraai for looking over the patch. * src/core/display.c: * src/core/prefs.c: * src/include/prefs.h: * src/ svn path=/trunk/; revision=4091
2009-01-27 All the window properties are now handled using simpleThomas James Alexander Thurman3-74/+98
window property handlers. Closes #549886. * src/core/window-private.h: * src/core/window-props.c: * src/core/window.c: svn path=/trunk/; revision=4090