path: root/src/ui
AgeCommit message (Collapse)AuthorFilesLines
2011-01-13Fix permissionsHEADmasterSam Spilsbury25-0/+0
2011-01-13Merge branch 'master' of git:// Spilsbury1-2/+38
2011-01-05Add an "Above_Tab" pseudo-keysymOwen W. Taylor1-2/+38
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-10Parse shadow opacity too. Remove dbg messagesSam Spilsbury2-221/+227
2010-12-10Add the ability to parse <shadow> and <padding> tags in <frame-style>Sam Spilsbury25-1/+260
2010-11-22Fix drawing of <arc> elementsNickolas Lloyd1-1/+1
This patch fixes the drawing of <arc> theme elements to appear in the desired orientation
2010-09-29Patch to fix theme breakage in 2.30.2; see bug 630426Brandon Wright1-1/+17
2010-09-15Replace GDK drawing API with cairoFlorian Müllner6-301/+330
The GDK drawing API was deprecated/removed.
2010-09-15Removes usage of (newly deprecated) gdk_displayMatthias Clasen4-86/+87
2010-09-15Stop confusing GDK's grab trackingOwen W. Taylor1-4/+152
With client side windows, mixing GDK event delivery with explicit calls to XUngrabPointer() can result in GDK losing button release events it expects to get. This means that GDK thinks there is an implicit grab in effect when there is none and send events to the wrong window. Avoid this by bypassing GDK's event handling for most mouse events. We do a simplified conversion of the X event into a GdkEvent and send it to directly to libgtk for delivery. We make an exception when a GDK grab is already in effect - this is needed for the correct operation of menus.
2010-07-14Replace deprecated GDK symbolsFlorian Müllner1-10/+16
The fix depends on new API added in this cycle, so the required GTK+ version is bumped to 2.21.1.
2010-06-10More fixes for compiling with GSeal. Requires gtk 2.20.Andre Klapper4-40/+54
2010-05-02fix memory leak in theme optimisationLin Ma1-0/+2
2010-01-21Replace deprecated symbols in theme-viewer.cLuis Torres1-20/+21
-Replaced calls to gtk_toolbar_insert_stock with gtk_toolbar_insert -Created appropriated GtkToolButtons
2010-01-21Replace usage of deprecated gtk apiThomas Hindoe Paaboel Andersen5-18/+18
Fixes part of GNOME Bug #572332
2009-11-20tooltip: set window type hint for self-drawn tooltips to ↵Lennart Poettering1-0/+2
GDK_WINDOW_TYPE_HINT_TOOLTIP libcanberra generates specific tooltip popup sounds and for that recognizes the tooltip windows by the GtkWindowTypeHint set for them. This trivial patch simply sets the hint for the self-drawn tooltips metacity uses.
2009-03-12 Remove deprecated GTK symbols. Refs #572332.Thomas James Alexander Thurman12-40/+41
* src/include/util.h: * src/tools/metacity-window-demo.c: * src/ui/fixedtip.c: * src/ui/frames.c: * src/ui/frames.h: * src/ui/menu.c: * src/ui/metaaccellabel.c: * src/ui/metaaccellabel.h: * src/ui/preview-widget.c: * src/ui/preview-widget.h: * src/ui/tabpopup.c: * src/ui/theme-viewer.c: * src/ui/themewidget.c: * src/ui/themewidget.h: * test/tokentest/tokentest.c: svn path=/trunk/; revision=4193
2009-02-20 Use zenity for the session management dialogue that warns aboutThomas James Alexander Thurman1-438/+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
2009-02-07some commentingThomas James Alexander Thurman1-11/+61
* src/ui/theme.c: some commenting svn path=/trunk/; revision=4122
2009-02-06 Lines where x1==x2 or y1==y2 may have the second elementThomas James Alexander Thurman2-5/+29
null. Lines where both are null, and the width is zero, are points. This speeds things up surprisingly much. * src/ui/theme-parser.c: * src/ui/theme.c: svn path=/trunk/; revision=4119
2009-02-05collapse several strings into one for the translators' benefit.Thomas James Alexander Thurman1-5/+10
* src/ui/theme-parser.c: collapse several strings into one for the translators' benefit. svn path=/trunk/; revision=4117
2009-01-28free the result of gdk_text_property_to_utf8_list() even when it returnsThomas James Alexander Thurman1-4/+6
* src/ui/ui.c: free the result of gdk_text_property_to_utf8_list() even when it returns no data. svn path=/trunk/; revision=4093
2009-01-28GtkStyle is specific to a particular colormap. Metacity uses differentOwen Taylor4-91/+274
2009-01-27 Owen Taylor <> GtkStyle is specific to a particular colormap. Metacity uses different colormaps for windows with different visuals, so it must specialize the GtkStyle. Closes #568365 and #513944. * src/ui/frames.[ch]: Keep a GtkStyle for each MetaUIFrame, which is obtained by calling gtk_style_attach() on the style for the MetaFrames. When the style of the MetaFrames changes, reattach everything. When we call gtk_style_set_background() pass in the right style. * src/ui/themes.[ch]: Create a _with_style() variant of functions that previously took the style from widget->style passed in, so we can draw with the right style for the colormap. svn path=/trunk/; revision=4092
2009-01-11add meta_theme_draw_frame_by_name, which is needed for the theme editor.Thomas James Alexander Thurman2-0/+75
* src/ui/theme.[ch]: add meta_theme_draw_frame_by_name, which is needed for the theme editor. svn path=/trunk/; revision=4074
2008-12-25alt-F10 toggles maximisation, alt-F5 only restores. Also renameThomas James Alexander Thurman1-1/+1
* src/include/all-keybindings.h: alt-F10 toggles maximisation, alt-F5 only restores. Also rename "unmaximize" to "restore". * src/ui/frames.c: Rename "unmaximize" to "restore". Closes #343824. svn path=/trunk/; revision=4064
2008-12-19when the user double-clicks the title bar, end the grab op. ClosesThomas James Alexander Thurman1-0/+1
* src/ui/frames.c: when the user double-clicks the title bar, end the grab op. Closes #401028. svn path=/trunk/; revision=4059
2008-11-22(Apologies for huge commit; these were done on a transatlantic flight. This ↵Thomas Thurman2-1/+2
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-11-12 Clean up #includes according to the GNOME Goal.Thomas James Alexander Thurman10-18/+11
Closes #560449. Patch is 122467. * src/core/place.c: * src/ui/draw-workspace.h: * src/ui/gradient.h: * src/ui/metaaccellabel.c: * src/ui/metaaccellabel.h: * src/ui/preview-widget.c: * src/ui/preview-widget.h: * src/ui/resizepopup.c: * src/ui/theme.c: * src/ui/theme.h: * src/ui/themewidget.h: svn path=/trunk/; revision=4017
2008-11-02Fix build by readding accidentally removed '}'.Olav Vitters1-0/+1
* src/ui/theme-parser.c: Fix build by readding accidentally removed '}'. svn path=/trunk/; revision=4010
2008-10-29variable names in messages should be double-quoted. Closes #558309.Thomas James Alexander Thurman1-4/+3
* src/ui/theme-parser.c: variable names in messages should be double-quoted. Closes #558309. svn path=/trunk/; revision=4009
2008-10-27Fix some crashes with the new GDM 2.24. Closes #558058.Brian Cameron1-1/+1
2008-10-27 Brian Cameron <> Fix some crashes with the new GDM 2.24. Closes #558058. * src/ui/ui.c (meta_ui_parse_modifier): another null check * src/core/prefs.c (titlebar_handler, button_layout_handler): more null checks. svn path=/trunk/; revision=4003
2008-10-15Since Patrick Niklaus's checkin of 2008-08-14 dealt with windows with noThomas Thurman3-51/+4
2008-10-15 Thomas Thurman <> Since Patrick Niklaus's checkin of 2008-08-14 dealt with windows with no icons not using fallback icons, we don't need fallback icons. * src/ui/theme.h: remove fallback icons from struct. * src/core/iconcache.c (meta_read_icons): don't look for fallbacks. * src/*/ui.[ch] (meta_ui_get_fallback_icons): removed * src/ui/theme-parser.c (typedef, parse_toplevel_element): don't parse fallback specifications. svn path=/trunk/; revision=3958
2008-10-12An attempt to make life a little easier for our beloved translators; thisThomas Thurman3-683/+117
2008-10-12 Thomas Thurman <> An attempt to make life a little easier for our beloved translators; this has the same behaviour as before, but removes over thirty translation strings. * src/core/session.c (start_element_handler): all "attribute not found on element" strings are identical * src/ui/theme-parser.c (locate_attributes): allow attribute names to be preceded with "!" (in the code) to show they're required. (parse_aspect_ratio, parse_distance, parse_toplevel_element, parse_style_element, parse_gradient_element, static, parse_border, parse_style_set_element, parse_draw_op_element): use the new "!" prefix for locate_attributes(), or in some cases just the identical constant, for generating this error. * src/ui/theme.c (check_state, meta_theme_validate): add translator comments * src/ui/resizepopup.c (update_size_window): add translator comments svn path=/trunk/; revision=3949
2008-08-14Icons for windows are taken from the desktop theme, not from the MetacityPatrick Niklaus2-42/+69
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-06-30display the theme name in the title bar. Closes #430198.Thomas Thurman1-0/+19
2008-06-30 Thomas Thurman <> * src/ui/theme-viewer.c (main): display the theme name in the title bar. Closes #430198. svn path=/trunk/; revision=3776
2008-05-19src/include/frame.h src/include/display.h src/include/xprops.hIain Holmes1-1/+1
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-13remove color_set flag remove check of color_set flag before rendering (weRobert Escriva2-20/+8
2008-05-13 Robert Escriva <> * src/ui/theme.h (struct): remove color_set flag * src/ui/theme.c (meta_color_spec_render, meta_color_spec_new_from_string): remove check of color_set flag before rendering (we always do it now). Closes #511826. svn path=/trunk/; revision=3708
2008-05-11Remove src/ui/color.[ch] since they are not used anywhereElijah Newren2-427/+0
svn path=/trunk/; revision=3706
2008-04-29documentationThomas Thurman2-2/+55
2008-04-29 Thomas Thurman <> * src/ui/fixedtip.[ch]: documentation svn path=/trunk/; revision=3697
2008-03-29prevent null dereference if the theme was invalid, which caused crashes inThomas Thurman1-8/+13
2008-03-29 Thomas Thurman <> * src/ui/preview-widget.c (meta_preview_get_clip_region): prevent null dereference if the theme was invalid, which caused crashes in gnome-appearance-properties. No GNOME bug number, but I believe this is a fix for Launchpad bug #199402 and its many duplicates. svn path=/trunk/; revision=3668
2008-03-21Workspaces whose name is the standard name plus a non-empty string areThomas Thurman1-2/+7
2008-03-21 Thomas Thurman <> * src/ui/menu.c (activate_cb, get_workspace_name_with_accel): Workspaces whose name is the standard name plus a non-empty string are handled correctly in menus. Closes #453678. svn path=/trunk/; revision=3657
2008-03-03Add ability to vertically and horizontally maximise using the mouse, byCosimo Cecchi1-0/+26
2008-03-03 Cosimo Cecchi <> Add ability to vertically and horizontally maximise using the mouse, by clicking the titlebar in various ways. A very similar patch was received from Jason Ribero. Thanks also go to Tony Houghton and Carlo Wood, who both submitted patches which solved this differently. Closes #358674. * src/include/common.h (MetaActionTitlebar): new values for the new actions * src/core/core.c (meta_core_maximize_{vertic|horizont}ally): new functions. * src/ui/frames.c (meta_frame_titlebar_event): handle the new action values * src/core/window.h: new macros (for regularity, not really necessary) * src/core/prefs.c (symtab_titlebar_action): new string representations of the action values * src/ documentation svn path=/trunk/; revision=3619
2008-02-29Add support for "spacer" as a button type which adds some empty space.Andrea Del Signore1-4/+38
2008-02-29 Andrea Del Signore <> Add support for "spacer" as a button type which adds some empty space. Closes #509165. * src/ui/theme.c (meta_frame_layout_calc_geometry), src/include/common.h (MetaButtonLayout), src/core/prefs.c (update_button_layout, button_layout_equal), src/ add spacer support svn path=/trunk/; revision=3615
2008-02-27Lots of tiny fixes to make sure we compile with "gcc -ansi -Werror".Thomas Thurman1-1/+5
2008-02-27 Thomas Thurman <> Lots of tiny fixes to make sure we compile with "gcc -ansi -Werror". svn path=/trunk/; revision=3606
2008-02-25allow users of the preview widget to get a mask for windows in the correctThomas Wood2-0/+112
2008-02-25 Thomas Wood <> * src/ui/preview-widget.[ch] (meta_preview_get_clip_region): allow users of the preview widget to get a mask for windows in the correct shape for the current theme. svn path=/trunk/; revision=3596
2008-02-04remove workaround for a problem in GTK 1.3.9(!) which was causingThomas Thurman1-5/+0
2008-02-04 Thomas Thurman <> *, src/ui/ui.c: remove workaround for a problem in GTK 1.3.9(!) which was causing problems. Closes #513737. svn path=/trunk/; revision=3551
2008-01-22more commenting.Thomas Thurman2-21/+134
2008-01-21 Thomas Thurman <> * src/ui/theme.[ch]: more commenting. svn path=/trunk/; revision=3524
2008-01-18some more commenting.Thomas Thurman2-3/+40
2008-01-18 Thomas Thurman <> * src/ui/theme.[ch]: some more commenting. svn path=/trunk/; revision=3523
2008-01-17Correct comment. Correct comment. Much commenting; #ifdeffed-out debugThomas Thurman2-25/+211
2008-01-16 Thomas Thurman <> * src/core/bell.c: Correct comment. * src/core/main.c: Correct comment. * src/core/theme.c: Much commenting; #ifdeffed-out debug code removed. * src/core/theme.h: Much commenting. svn path=/trunk/; revision=3522
2007-12-19fix a third warning about %d and long intHavoc Pennington1-2/+12
2007-12-19 Havoc Pennington <> * src/core/display.c (meta_display_open): fix a third warning about %d and long int * src/core/delete.c (io_from_ping_dialog): fix another warning about long int to %d * src/core/compositor.c (meta_compositor_new): fix a warning about long int to %d * src/core/iconcache.c (meta_read_icons): use meta_ui_get_fallback_icons() instead of incorrectly including theme.h * src/ui/ui.c (meta_ui_get_fallback_icons): new function svn path=/trunk/; revision=3492