path: root/src/
AgeCommit message (Collapse)AuthorFilesLines
2011-01-13Fix permissionsHEADmasterSam Spilsbury1-0/+0
2011-01-13Merge branch 'master' of git:// Spilsbury1-0/+1
2011-01-05Add an "Above_Tab" pseudo-keysymOwen W. Taylor1-0/+1
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 Spilsbury1-0/+0
2009-02-20 Use zenity for the session management dialogue that warns aboutThomas James Alexander Thurman1-5/+0
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
2008-11-23 reviewed by: Thomas ThurmanThomas James Alexander Thurman1-1/+1
* src/ reorder compiler flags so local includes come last. Closes #562033. svn path=/trunk/; revision=4029
2008-11-22(Apologies for huge commit; these were done on a transatlantic flight. This ↵Thomas Thurman1-2/+1
is why we need bzr.) 2008-11-22 Thomas Thurman <> * src/core/all-keybindings.h: "backward", not "backwards" throughout. 2008-11-20 Thomas Thurman <> * turned on -Wall and -Werror in order to trap as many problems as possible. * src/ui/resizepopup.c: added correct #include. * src/ui/theme-viewer.c: initialised variable. * src/core/xprops.c: corrected cast. * src/core/main.c: added warning if chdir() fails. * src/core/schema-bindings.c: checking the return result of fgets(). 2008-11-20 Thomas Thurman <> Merged screen and window keybinding tables so that we can use just one file for the both. Also incidentally closes #528337. Further efficiencies of scale to come. * src/include/prefs.h: replace META_PREF_*_KEYBINDINGS with META_PREF_KEYBINDINGS * src/core/keybindings.c: replace *_bindings with key_bindings and similar throughout; all window-based functions are now guaranteed to receive a window so don't need to check for themselves (find_handler): moved so it can also be called from rebuild_binding_table * src/core/display-private.h: replace *_bindings with key_bindings * src/core/prefs.c: update_*_binding becomes update_key_binding; (change_notify): tidy up references to "enormous if statement" since it's almost entirely gone now * src/core/all-keybindings.h: new merged version of screen-bindings.h and window-bindings.h. svn path=/trunk/; revision=4022
2008-10-23support builds outside tree properly. ditto.Thomas Thurman1-4/+5
2008-10-22 Thomas Thurman <> * src/core/schema-bindings.c: support builds outside tree properly. * src/ ditto. svn path=/trunk/; revision=3989
2008-10-22Fixes to make distcheck work again.Thomas Thurman1-4/+6
2008-10-22 Thomas Thurman <> Fixes to make distcheck work again. * src/ include *-binding.h, and make the schema building work when builddir != srcdir * po/ (src/core/keybindings.): include *-binding.h svn path=/trunk/; revision=3985
2008-10-21fix build when schemas are not installed. Closes #557335.Christian Persch1-3/+0
2008-10-21 Christian Persch <> * src/ fix build when schemas are not installed. Closes #557335. svn path=/trunk/; revision=3969
2008-10-12Make the bindings in src/core/*-bindings.h generate GConf schemas too.Thomas Thurman1-1/+12
2008-10-12 Thomas Thurman <> Make the bindings in src/core/*-bindings.h generate GConf schemas too. Note that there's an i18n issue (documented in schema-bindings.c) which will be fixed next checkin. * src/core/schema-bindings.c: major fixup to make it ready for use as part of the actual build process. * src/ added magic to make it call schema-bindings after it builds it. * src/core/window-bindings.h: added comments; also, window menu was listed variously as alt-Space and alt-Print; it should have been alt-Space. * src/ renamed from s/\.in$//, sentinel added for the generated bindings, warning at the top now untrue, and removed. svn path=/trunk/; revision=3952
2008-09-12Install desktop files in both .../share/applications andVincent Untz1-2/+9
2008-09-12 Vincent Untz <> Install desktop files in both .../share/applications and .../share/gnome/wm-properties. Copied in from the 2.23.x branch. Closes #549479. * src/ new file * src/.cvsignore: include the above * src/ install the above svn path=/trunk/; revision=3886
2008-09-02Desktop file moved, according to policy change. Closes #549479.Thomas Thurman1-1/+1
2008-09-02 Thomas Thurman <> Desktop file moved, according to policy change. Closes #549479. * src/ Don't display the desktop file * src/ Desktop file goes in apps directory svn path=/trunk/; revision=3846
2008-08-14Icons for windows are taken from the desktop theme, not from the MetacityPatrick Niklaus1-3/+2
2008-08-14 Patrick Niklaus <> Icons for windows are taken from the desktop theme, not from the Metacity theme or from the fallback icon that Metacity provided. Closes #524343. * src/ui/ui.c: Use GtkIconTheme to load the default window icon. Assumes the existence of an icon called "window", otherwise falls back to "gtk-missing-image". Fixes #524343. * src/ui/preview-widget: See above. * src/include/common.h: Add META_DEFAULT_ICON_NAME. * src/ Remove default_icon.png from inlinepixbufs.h. * src/default_icon.png: Removed. svn path=/trunk/; revision=3812
2008-05-26added in two files needed for Iain's changes earlier to work in a releaseThomas Thurman1-0/+2
2008-05-26 Thomas Thurman <> * src/ added in two files needed for Iain's changes earlier to work in a release tarball svn path=/trunk/; revision=3728
2008-05-19src/include/frame.h src/include/display.h src/include/xprops.hIain Holmes1-8/+14
2008-05-19 Iain Holmes <> * src/include/frame.h * src/include/display.h * src/include/xprops.h * src/include/compositor.h * src/include/types.h * src/include/window.h * src/include/errors.h * src/include/screen.h: New basic public API for compositor. * src/compositor/*: Separate the compositor out into its own separate directory and set it up for backends. Initial XRender backend. * src/core/compositor.[ch]: Remove * src/core/frame.h * src/core/screen.h * src/core/display.h * src/core/window.h: Rename to -private.h so as not to clash with the new files in include * src/core/delete.c * src/core/workspace.h * src/core/stack.[ch] * src/core/keybindings.[ch] * src/core/errors.c * src/core/effects.[ch] * src/core/core.c * src/core/group.h * src/core/edge-resistance.[ch] * src/core/window-props.[ch] * src/core/constraints.h * src/core/bell.[ch] * src/core/iconcache.h * src/core/session.[ch] * src/core/main.c * src/core/place.h * src/core/xprops.c * src/ui/tabpopup.c: Use the new -private headers * src/core/display.c * src/core/frame.c * src/core/window.c * src/core/screen.c: Add the API functions required by the compositor * src/ Relocate the new files svn path=/trunk/; revision=3715
2008-05-02All information should live in exactly one place. This means that the listThomas Thurman1-0/+1
2008-05-02 Thomas Thurman <> All information should live in exactly one place. This means that the list of atoms should not be replicated anywhere. Therefore, we include it via x-macros. Closes #530843. * src/core/atomnames.h: added list of atom names * src/ added reference to new file * src/core/display.h * src/core/display.c (twice) * src/core/screen.c: #included atomnames.h instead of having an enormous list of atoms * src/core/group-props.c * src/core/window.c * src/core/compositor.c * src/core/window-props.c * src/core/delete.c * src/core/workspace.c * src/core/stack.c * src/core/keybindings.c * src/core/iconcache.c * src/core/group.c * src/core/xprops.c: changed to new, simpler identifiers for atoms svn path=/trunk/; revision=3702
2008-04-10no need to create a symlink to .desktop file in default-session directoryLucas Rocha1-8/+0
2008-04-10 Lucas Rocha <> * src/ no need to create a symlink to .desktop file in default-session directory anymore as gnome-session will find metacity's .desktop in its original place. svn path=/trunk/; revision=3681
2008-03-30make Metacity install its desktop files in the default session directoryLucas Rocha1-0/+9
2008-03-29 Lucas Rocha <> * src/, src/ make Metacity install its desktop files in the default session directory as required by the new gnome-session. (Closes #525051.) svn path=/trunk/; revision=3669
2008-02-27deleted as no longer used modified accordinglyJim Huang1-2/+0
2008-02-27 Jim Huang <> * src/core/spring-model.[ch]: deleted as no longer used * src/ modified accordingly svn path=/trunk/; revision=3607
2008-02-03core.h is in include, not core. (Last one, I promise.)Thomas Thurman1-1/+1
2008-02-02 Thomas Thurman <> * src/ core.h is in include, not core. (Last one, I promise.) svn path=/trunk/; revision=3537
2008-02-03main.h is in include, not core.Thomas Thurman1-1/+1
2008-02-02 Thomas Thurman <> * src/ main.h is in include, not core. svn path=/trunk/; revision=3536
2008-02-02draw-workspace.h is in ui, not core.Thomas Thurman1-1/+1
2008-02-02 Thomas Thurman <> * src/ draw-workspace.h is in ui, not core. svn path=/trunk/; revision=3535
2007-12-19sort source files into these directories according to which part of the WMHavoc Pennington1-113/+113
2007-12-19 Havoc Pennington <> * src/ui, src/core, src/include: sort source files into these directories according to which part of the WM they are supposed to be in. In an eventual plan, we should also create src/compositor/render, src/compositor/fallback and move some of the compositor stuff into that. * require a newer automake, so we don't have to use a recursive build * src/ui/tabpopup.c: put in a hack to make the build temporarily work, want to commit the large rearrangement before fixing this not to include workspace.h or frame.h * src/core/iconcache.c (meta_read_icons): temporarily break this to get the build to work, want to commit the large rearrangement before fixing this file not to include theme.h svn path=/trunk/; revision=3491
2007-12-19Merge compositor branch.Iain Holmes1-4/+0
2007-12-18 Iain Holmes <> *, src/theme.c, src/display.c, src/theme.h, src/display.h, src/theme-parser.c, src/compositor.c, src/c-screen.c, src/compositor.h, src/c-screen.h, src/ui.c, src/screen.c, src/ui.h, src/screen.h, src/c-window.c, src/c-window.h, src/theme-viewer.c, src/ Merge compositor branch. svn path=/trunk/; revision=3483
2007-07-24Use the correct directory when installing keybindings. (#454055)Matthias Clasen1-1/+1
2007-07-23 Matthias Clasen <> * * src/ Use the correct directory when installing keybindings. (#454055) svn path=/trunk/; revision=3278
2007-04-05Add new control-center key bindings definitions (Closes: #420145)Bastien Nocera1-1/+9
2007-04-05 Bastien Nocera <> * src/ * src/ * src/ Add new control-center key bindings definitions (Closes: #420145) 2007-04-05 Bastien Nocera <> * add the XML keys definitions to the list svn path=/trunk/; revision=3170
2006-07-26Kill usage of libegg. #348633.Thomas James Alexander Thurman1-13/+1
2006-05-15Revert the accessibility module loading workaround from Gnome 2.6, sinceElijah Newren1-1/+1
2006-05-15 Elijah Newren <newren gmail com> Revert the accessibility module loading workaround from Gnome 2.6, since gtk+ has long since fixed this for us. #123372. * src/ remove METACITY_LIBDIR define * src/main.c (find_accessibility_module, accessibility_invoke_module, accessibility_invoke, main): remove the first three of these functions and all calls to them * src/tabpopup.c (meta_ui_tab_popup_new): not sure if this part of 120025 needed to be reverted but doing the reversion, if wrong, is the best way to get someone from the accessibility team to scream, er, I mean comment. ;-)
2006-05-02New filesSøren Sandmann1-0/+2
Tue May 2 17:12:54 2006 Søren Sandmann <> * src/c-window.[ch]: New files * src/c-screen.c: Move WindowInfo struct to new c-window.[ch] files. Delete various bits of obsolete, commented-out code.
2006-04-252.15.1 release belated post-release version bump to 2.15.1 Include boxes.hElijah Newren1-0/+1
2006-04-25 Elijah Newren <newren gmail com> * NEWS: 2.15.1 release * belated post-release version bump to 2.15.1 * src/ Include boxes.h so that control-center won't fail to build #339708.
2006-04-18Add boxes.{c,h} to libmetacity_privateBjörn Lindqvist1-0/+2
2006-04-18 Björn Lindqvist <> * Add boxes.{c,h} to libmetacity_private * src/theme-parser.c (check_expression): * src/theme-viewer.c (run_position_expression_tests): Use meta_rect (). * src/theme.c: Replace while loops iterating over sequences with for loops. * src/theme.c, src/theme.h (struct _MetaPositionExprEnv, meta_draw_op_draw, meta_draw_op_list_draw, meta_theme_draw_menu_icon): Use MetaRectangles in function prototypes instead of x, y, with, height ints where applicable.
2006-03-03Split the ScreenInfo data structure into separate, new filesSøren Sandmann1-0/+2
Wed Mar 3 13:25:03 2006 Søren Sandmann <> * src/compositor.c, src/c-screen.[ch]: Split the ScreenInfo data structure into separate, new files c-screen.[ch]. * src/errors.c (x_error_handler): Forward foreign errors to foreign displays. * src/errors.c (meta_errors_register_foreign_display): Implement this function * src/errors.h: Add new meta_errors_register_foreign_display()
2006-02-25Call meta_compositor_begin_move if there is a compositorSøren Sandmann1-0/+2
Sat Feb 25 11:46:14 2006 Søren Sandmann <> * src/display.c (meta_display_begin_grab_op): Call meta_compositor_begin_move if there is a compositor * src/compositor.c (meta_compositor_begin/update/end_move): Implement those functions. * src/spring-model.[ch]: New files
2005-11-19Merge of all the changes on the constraints_experiments branch. This isElijah Newren1-1/+7
2005-11-18 Elijah Newren <> Merge of all the changes on the constraints_experiments branch. This is just a summary, to get the full ChangeLog of those changes (approx. 2000 lines): cvs -q -z3 update -Pd -r constraints_experiments cvs -q -z3 diff -pu -r CONSTRAINTS_EXPERIMENTS_BRANCHPOINT ChangeLog Bugs fixed: unfiled - constraints.c is overly complicated[1] unfiled - constraints.c is not robust when all constraints cannot simultaneously be met (constraints need to be prioritized) unfiled - keep-titlebar-onscreen constraint is decoration unaware (since get_outermost_onscreen_positions() forgets to include decorations) unfiled - keyboard snap-moving and snap-resizing snap to hidden edges 109553 - gravity w/ simultaneous move & resize doesn't work 113601 - maximize vertical and horizontal should toggle and be constrained 122196 - windows show up under vertical panels 122670 - jerky/random resizing of window via keyboard[2] 124582 - keyboard and mouse snap-resizing and snap-moving erroneously moves the window multidimensionally 136307 - don't allow apps to resize themselves off the screen (*cough* filechooser *cough*) 142016, 143784 - windows should not span multiple xineramas unless placed there by the user 143145 - clamp new windows to screensize and force them onscreen, if they'll fit 144126 - Handle pathological strut lists sanely[3] 149867 - fixed aspect ratio windows are difficult to resize[4] 152898 - make screen edges consistent; allow easy slamming of windows into the left, right, and bottom edges of the screen too. 154706 - bouncing weirdness at screen edge with keyboard moving or resizing 156699 - avoid struts when placing windows, if possible (nasty a11y blocker) 302456 - dragging offscreen too restrictive 304857 - wireframe moving off the top of the screen is misleading 308521 - make uni-directional resizing easier with alt-middle-drag and prevent the occasional super annoying resize-the-wrong-side(s) behavior 312007 - snap-resize moves windows with a minimum size constraint 312104 - resizing the top of a window can cause the bottom to grow 319351 - don't instantly snap on mouse-move-snapping, remove braindeadedness of having order of releasing shift and releasing button press matter so much [1] fixed in my opinion, anyway. [2] Actually, it's not totally fixed--it's just annoying instead of almost completely unusable. Matthias had a suggestion that may fix the remainder of the problems (see [3] This bug was originally about not-quite-so-pathological cases but was left open for the worse cases. The code from the branch handles the remainder of the cases mentioned in this bug. [4] Actually, although it's far better there's still some minor issues left: a slight drift that's only noticeable after lots of resizing, and potential problems with partially onscreen constraints due to not clearing any fixed_directions flags (aspect ratio windows get resized in both directions and thus aren't fixed in one of them) New feature: 81704 - edge resistance for user move and resize operations; in particular 3 different kinds of resistance are implemented: Pixel-Distance: window movement is resisted when it aligns with an edge unless the movement is greater than a threshold number of pixels Timeout: window movement past an edge is prevented until a certain amount of time has elapsed during the operation since the first request to move it past that edge Keyboard-Buildup: when moving or resizing with the keyboard, once a window is aligned with a certain edge it cannot move past until the correct direction has been pressed enough times (e.g. 2 or 3 times) Major changes: - constraints.c has been rewritten; very few lines of code from the old version remain. There is a comment near the top of the function explaining the basics of how the new framework works. A more detailed explanation can be found in doc/how-constraints-works.txt - edge-resistance.[ch] are new files implementing edge-resistance. - boxes.[ch] are new files containing low-level error-prone functions used heavily in constraints.c and edge-resistance.c, among various places throughout the code. testboxes.c contains a thorough testsuite for the boxes.[ch] functions compiled into a program, testboxes. - meta_window_move_resize_internal() *must* be told the gravity of the associated operation (if it's just a move operation, the gravity will be ignored, but for resize and move+resize the correct value is needed) - the craziness of different values that meta_window_move_resize_internal() accepts has been documented in a large comment at the beginning of the function. It may be possible to clean this up some, but until then things will remain as they were before--caller beware. - screen and xinerama usable areas (i.e. places not covered by e.g. panels) are cached in the workspace now, as are the screen and xinerama edges. These get updated with the workarea in src/workspace.c:ensure_work_areas_validated()
2005-01-03Install schema data from builddir not srcdir.Thomas Fitzsimmons1-1/+1
2005-01-03 Thomas Fitzsimmons <> * src/ (install-data-local): Install schema data from builddir not srcdir.
2004-11-10remove intltool stuff on distclean.James Henstridge1-1/+4
2004-11-10 James Henstridge <> * (DISTCLEANFILES): remove intltool stuff on distclean. * src/themes/ (uninstall-local): add uninstall rule. * src/ (libmetacity_private_la_CFLAGS): set this variable so that the files shared with metacity get compiled with different names. * use more modern macros in some places, and make sure that $ACLOCAL_AMFLAGS is set so that rebuilds work better. * (conf_flags): use newer automake.
2003-11-24Oops, did not mean to do that.Havoc Pennington1-2/+0
2003-11-24fix the extension checksHavoc Pennington1-0/+2
2003-11-24 Havoc Pennington <> * src/compositor.c (meta_compositor_new): fix the extension checks
2003-11-16fix warningHavoc Pennington1-0/+2
2003-11-15 Havoc Pennington <> * src/main.c (main): fix warning * src/compositor.c: add a new file to contain compositing manager functionality; not yet implemented at all.
2003-09-26Add -DMETACITY_LIBDIR to support loading of modules Add functionsPadraig O'Briain1-1/+1
2003-09-26 Padraig O'Briain <> * src/ Add -DMETACITY_LIBDIR to support loading of modules * src/main.c: Add functions find_accessibility_module, accessibility_invoke_module and accessibility_invoke (main); Check whether GConf accessibility key is true and if so load accessibility modules. This code is based on the libgnome code. src/tabpopup.c (meta_ui_tab_popup_new): Set accessible role of accessible for label containing window name to STATUSBAR so AT can be aware of window name. This fixes bug #120025
2003-06-12honor --disable-schemas-install. Fix for #106123 from Julio MerinoRob Adams1-0/+4
2003-06-12 Rob Adams <> * src/ honor --disable-schemas-install. Fix for #106123 from Julio Merino
2003-04-21purge HAVE_GTK_MULTIHEAD from the source code, not just from Pennington1-1/+1
2003-04-21 Havoc Pennington <> * purge HAVE_GTK_MULTIHEAD from the source code, not just from Yes I am a loser.
2003-04-19call AC_LIBTOOL_WIN32_DLL.Masahiro Sakai1-0/+3
* call AC_LIBTOOL_WIN32_DLL. * src/ add -no-undefined to libmetacity_private_la_LDFLAGS and write dependency libraries in libmetacity_private_la_LIBADD.
2003-03-08Switch over to new constraints code, unquestionably introduces some bugs,Havoc Pennington1-0/+2
2003-02-27 Havoc Pennington <> Switch over to new constraints code, unquestionably introduces some bugs, but should get us on the right path. * src/window.c (meta_window_get_work_area_all_xineramas): create this function again as it turned out to be legitimate for window position constraint (adjust_for_gravity): use the width/height from the configure request to compute the requested move (meta_window_move_resize_internal): use meta_window_constrain (update_size_hints): clamp max size to MAXSHORT to avoid worrying about overflow stuff * src/constraints.c (meta_window_constrain): don't base placement on uninitialized variables, general hacking * src/ (metacity_SOURCES): add constraints.c, constraints.h * src/constraints.c (meta_window_constrain): update the cut-and-paste aspect ratio code to have latest bugfixes
2003-01-28Reinstated visual-bell patch, fix for bug 99886.Bill Haneman1-0/+2
2003-01-10revert that change, I got the wrong .desktop file. doh.Havoc Pennington1-2/+0
2003-01-10 Havoc Pennington <> * src/ (desktopfiles_in_files): revert that change, I got the wrong .desktop file. doh.
2003-01-10don't install .desktop file for properties dialog if we aren'tHavoc Pennington1-2/+5
2003-01-10 Havoc Pennington <> * src/ (desktopfiles_DATA): don't install .desktop file for properties dialog if we aren't building/installing the properties dialog.
2002-12-19Reverted visual bell patch, #99886Havoc Pennington1-2/+0
2002-12-19 Havoc Pennington <> * Reverted visual bell patch, #99886
2002-12-17Added visual bell feature, fix for 99886.Bill Haneman1-0/+2