2008-02-25 Thomas Wood <thos@gnome.org>
* 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-23 Thomas Thurman <tthurman@gnome.org>
Refactor handling of boolean preferences.
* src/core/prefs.c (handle_preference_init_bool,
handle_preference_update_bool): new functions.
* src/core/prefs.c (meta_prefs_init, change_notify):
use the new functions.
* src/core/prefs.c (update_*): several of these removed whose
only purpose was to receive boolean preferences.
* src/core/prefs.c (cleanup_error, get_bool): moved down to make
the flow of ideas more obvious.
* src/core/prefs.c (maybe_give_disable_workarounds_warning): new
function containing duplicated code from elsewhere.
* src/core/prefs.c (init_button_layout): only compiled when
HAVE_GCONF is not defined. Removed a compiler warning.
svn path=/trunk/; revision=3590
2008-02-23 Thomas Thurman <tthurman@gnome.org>
Refactored handling of enumerated preferences.
* src/core/prefs.c (handle_preference_init_enum,
handle_preference_update_enum): new functions.
(meta_prefs_init, change_notify): use regularised
forms and remove old copy-and-pasted code.
Also many small similar functions removed which
only existed to deal with each kind of enum.
Also some amount of correction of which parts were
and weren't inside "#ifdef HAVE_GCONF" blocks.
svn path=/trunk/; revision=3586
2008-02-18 Matthias Clasen <mclasen@redhat.com>
* src/core/window.h: Make skip-taskbar windows appear in the
Ctrl-Alt-Tab list. Closes#106249.
svn path=/trunk/; revision=3580
2008-02-18 Thomas Thurman <tthurman@gnome.org>
* configure.in: if we have libSM and its headers,
that means we did find it, not that we didn't.
Closes#328210.
svn path=/trunk/; revision=3579
2008-02-18 Thomas Thurman <tthurman@gnome.org>
* src/core/window.c (warp_grab_pointer): When
resizing a window with the keyboard, stay one
pixels from the edges so that the cursor remains
resting on a window edge even if we escape,
whatever side it was on. Closes#436257.
svn path=/trunk/; revision=3578
2008-02-04 Thomas Thurman <tthurman@gnome.org>
* src/core/compositor.c: only use compositor version if
we have a compositor. Closes#514453.
svn path=/trunk/; revision=3552
2008-02-04 Thomas Thurman <tthurman@gnome.org>
* configure.in, 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-28 Michael Meeks <michael.meeks@novell.com>
* src/core/display.c (meta_display_open),
* src/core/compositor.c: fetch & use composite
version, for remote screens that don't match the
compile system's version.
(meta_compositor_manage_screen): bin erroneous FIXME.
(add_win): remove common warning churn for (very)
transient windows
svn path=/trunk/; revision=3550
2008-02-03 Thomas Thurman <tthurman@gnome.org>
* tools/patch-wrangler.py: another program I use for maintenance
which other people might find useful and which should probably
be in svn. Also not very polished.
svn path=/trunk/; revision=3549
2008-02-03 Thomas Thurman <tthurman@gnome.org>
* test/tokentest/tokentest.c, test/tokentest/tokentest.ini: added
new files for a regression test on the tokeniser. (They aren't very
polished at the moment and aren't included in the autotools build.)
svn path=/trunk/; revision=3548
2008-02-03 Thomas Thurman <tthurman@gnome.org>
* tools/release-wrangler.py: Fix quoting error and added some
more error checking.
svn path=/trunk/; revision=3542
2008-02-03 Thomas Thurman <tthurman@gnome.org>
* tools/release-wrangler.py: basic release script; needs work,
but probably good enough for the current unstable release
svn path=/trunk/; revision=3541
2008-02-02 Thomas Thurman <tthurman@gnome.org>
* src/Makefile.am: core.h is in include, not core. (Last one, I
promise.)
svn path=/trunk/; revision=3537
2008-02-01 Alex R.M. Turner <armtuk@gmail.com>
* src/core/display.c (meta_get_tab_entry_list): Have the list also pull
windows that are in other workspaces that have the
wm_state_needs_attention flag set
* src/core/window.c (meta_window_set_demands_attention): Make windows that
are on other workspaces that demand attention that aren't obscured
count as being obscured
Bug #333548.
svn path=/trunk/; revision=3533
2008-01-12 Thomas Thurman <tthurman@gnome.org>
* src/core/main.[ch] (meta_get_main_loop): removed as it
was never used.
* src/core/main.c: lots of comments.
* src/core/main.c (version): copyright year is 2008.
* src/core/c-screen.[ch], src/core/c-window.[ch]: removed
files from Søren's compositor which were removed by the
merge with Iain's compositor but reintroduced by the split
to separate subdirectories.
* src/core/display.c: fix comments.
svn path=/trunk/; revision=3515
2008-01-12 Thomas Thurman <tthurman@gnome.org>
* src/core/display.c: change comments from /*! to /** because the
other way makes doxygen think they are Qt comments, which messes
up brief descriptions.
* Doxyfile: check in so other people can generate documentation too.
svn path=/trunk/; revision=3513
2008-01-07 Thomas Thurman <tthurman@gnome.org>
* src/core/display.c: further commenting (trying to keep comment
addings down to once a day at most so you don't all get spammed
too much).
svn path=/trunk/; revision=3511
2008-01-07 Thomas Thurman <tthurman@gnome.org>
* src/core/main.c (main): g_free is a no-op on nulls; there is no
need to test.
svn path=/trunk/; revision=3510
2007-12-25 Iain Holmes <iain@gnome.org>
* src/core/compositor.c: USe the compositor overlay window
instead of
the root window.
svn path=/trunk/; revision=3498
2007-12-21 Paolo Borelli <pborelli@katamail.com>
* src/core/core.c (meta_invalidate_default_icons): do not leak list.
* src/core/edge-resistance.c
(meta_display_compute_resistance_and_snapping_edges): ditto.
* src/core/workspace.c (meta_workspace_index): small cleanup in list
handling.
svn path=/trunk/; revision=3495
2007-12-19 Havoc Pennington <hp@redhat.com>
* 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
2007-12-19 Havoc Pennington <hp@redhat.com>
* 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.
* autogen.sh: 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-08 Thomas Thurman <tthurman@gnome.org>
* src/metacity.schemas.in: rewrite long description of
/schemas/apps/metacity/general/focus_new_windows because we
love the translators really. Closes#474889.
svn path=/trunk/; revision=3466
2007-12-08 Thomas Thurman <tthurman@gnome.org>
* src/keybindings.c (meta_display_process_key_event): Recur if the
keypress ended a grab, so it can be processed in its own right.
Closes#112560.
svn path=/trunk/; revision=3464
2007-11-19 Lucas Rocha <lucasr@gnome.org>
* src/main.c (main): try to get the session client ID from
DESKTOP_AUTOSTART_ID environment variable in case the --sm-client-id
is not used. Closes#498033.
svn path=/trunk/; revision=3415
2007-11-17 Benjamin Gramlich <benjamin.gramlich@gmail.com>
* src/theme-parser.c (meta_theme_load): make our theme
search compliant to the XDG Base Directory Specification.
Closes#480026.
svn path=/trunk/; revision=3411
2007-11-15 Thomas Thurman <thomas@thurman.org.uk>
* src/api.[ch]: remove almost-unused files.
* src/colors.[ch]: move the used parts of api.[ch] in here.
Closes#496947.
svn path=/trunk/; revision=3401
2007-11-11 Thomas Thurman <thomas@thurman.org.uk>
* src/window.c (meta_window_show): adjust expression which decides
whether new windows should not go on top, so that restacking happens
only the first time a window is mapped. Thanks to Olav Vitters for
pointing out the problem. Re-fixes #486445.
svn path=/trunk/; revision=3386
2007-11-11 Alex R.M. Turner <armtuk@gmail.com>
* src/tabpopup.c (tab_entry_new, meta_ui_tab_popup_new): Instruct the
GtkLabel in the tabpopup to ellipsize text that is too big. Set the
maximum window width of the tabpopup to screen_width/4, which seems a
sensible size for the popup.
svn path=/trunk/; revision=3385
2007-11-09 Elijah Newren <newren gmail com>
* src/window.c (meta_window_new_with_attrs): If a window is
launched without any kind of launch timestamp, grab the current
time and stash it away. When transients of that window are also
launched without a timestamp, we can use the stashed timestamp
from the parent. Fixes#488468.
svn path=/trunk/; revision=3381
2007-11-09 Federico Mena Quintero <federico@novell.com>
* src/window.c (intervening_user_event_occurred): When the window
doesn't have a user time nor an initial timestamp set, act as if
there always was an intervening user event. This causes
un-timestamped windows to *not* get the focus. Fixes
http://bugzilla.gnome.org/show_bug.cgi?id=488468
Signed-off-by: Federico Mena Quintero <federico@gnu.org>
svn path=/trunk/; revision=3378
2007-10-28 Jans Granseuer <jensgr@gmx.net>
* src/preview-widget.c (meta_preview_finalize): Free title of
preview when the preview is destroyed. Closes#469682.
svn path=/trunk/; revision=3365
2007-10-27 Alex R.M. Turner <armtuk@gmail.com>
* src/tabpopup.c (tab_entry_new): Truncate the string to
max_char_per_title before adding bold tags and fix general flow of
function.
svn path=/trunk/; revision=3363
2007-10-16 Thomas Thurman <thomas@thurman.org.uk>
* src/window.c (window_would_be_covered): new function.
* src/window.c (meta_window_show): rewrite assertion not
to put window on top in terms of window_would_be_covered();
remove assertion because it's no longer valid; explicitly
don't focus windows that shouldn't be focussed; closes#486445.
svn path=/trunk/; revision=3358
2007-09-15 Elijah Newren <newren gmail com>
* src/session.c (warn_about_lame_clients_and_finish_interact):
Patch from Alexey Rusakov to prevent a crash on logout with
metacity subsequently not being restored in future sessions.
Fixes#433253.
svn path=/trunk/; revision=3340
2007-09-01 Elijah Newren <newren gmail com>
* HACKING: update; cvs->svn & mention GConf needed
* MAINTAINERS: Make it match idiotic format requirements (I love
you Olav!)
svn path=/trunk/; revision=3317
2007-08-06 Thomas Thurman <thomas@thurman.org.uk>
If KEY_AUTO_RAISE_DELAY is undefined or non-integer, it is not treated
as zero.
* src/prefs.c (meta_prefs_init): check type of key, and behave sensibly
if it's unexpected.
* src/prefs.c (find_and_update_list_binding): remove old comment.
svn path=/trunk/; revision=3287
2007-08-02 Thomas Thurman <thomas@thurman.org.uk>
Move "close" to bottom of window menu; allow workspace list to appear
at any position in the menu. Closes#104026.
* src/menu.c (MetaMenuItemType): added new MENU_ITEM_WORKSPACE_LIST
item.
* src/menu.c (menuitems): reordered "close", added a workspace list.
* src/menu.c (menu_item_new): return null for workspace lists.
* src/menu.c (meta_window_menu_new): handle workspace lists.
svn path=/trunk/; revision=3283
2007-06-31 Thomas Thurman <thomas@thurman.org.uk>
* src/window.c (meta_window_show_menu): windows which are
always on top have the "stick" menu option insensitive. (#460997).
svn path=/trunk/; revision=3282
2007-06-23 Thomas Thurman <thomas@thurman.org.uk>
* src/window.h (MetaWindow): Put all bitfields together to
help with optimisation. Closes#450271 (for real this time).
svn path=/trunk/; revision=3281
gnome-panel-2.3.1.tar.gz is ready for distribution
==================================================
(for real this time-- previously forgot NEWS in ChangeLog)
svn path=/trunk/; revision=3276
2007-07-22 Rob Bradford <rob@robster.org.uk>
Fix a bug where the window can be focused without being raised
if the maximize is aborted. Fixes#459027.
* src/frames.c (meta_frames_button_press_event,
meta_frames_button_release_event): When maximising only focus
the window once the button press is released.
svn path=/trunk/; revision=3273
2007-07-22 Cosimo Cecchi <anarki@lilik.it>
Unset fullscreen is an allowed action where relevant. Fixes#449427.
* src/window.c (set_allowed_actions_hint): Separate FULLSCREEN action from RESIZE action.
svn path=/trunk/; revision=3272
2007-06-23 Thomas Thurman <thomas@thurman.org.uk>
* src/window.c (MetaWindow): Put all bitfields together to
help with optimisation. Closes#450271.
svn path=/trunk/; revision=3257
2007-06-18 Thomas Thurman <thomas@thurman.org.uk>
* src/main.c (version): Update copyright year because it was
five years out of date.
svn path=/trunk/; revision=3254
2007-06-18 Thomas Thurman <thomas@thurman.org.uk>
* src/place.c (find_first_fit, meta_window_place): Only open new
windows on the current xinerama. Closes#145503, for now.
svn path=/trunk/; revision=3247
2007-06-17 Thomas Thurman <thomas@thurman.org.uk>
* src/screen.[ch] (meta_screen_apply_startup_properties): return a
boolean instead a void, to show whether startup properties were
applied. Also some commenting.
* src/window-props.c: (reload_net_startup_id): Only activate the
window if the startup_id was actually changed. Closes#400167.
svn path=/trunk/; revision=3245
2007-06-16 Damien Carbery <damien.carbery@sun.com>
* effects.h: MetaCloseEffect and MetaFocusEffect, which were empty
structs, #ifdeffed out because they broke the build on Solaris.
Closes#397296.
svn path=/trunk/; revision=3244
2007-06-08 Elijah Newren <newren gmail com>
* src/metacity.schemas.in:
Update the raise_on_click description to try to prevent misuses,
to appropriately warn users, and to stop wasting the time of
application developers. #445447, #389923
svn path=/trunk/; revision=3234
2007-06-06 Thomas Thurman <thomas@thurman.org.uk>
* frames.c, core.[ch]: changed all tabs to spaces.
* core.[ch] (meta_core_get_client_size, meta_core_window_has_frame,
meta_core_titlebar_is_onscreen, meta_core_get_client_xwindow,
meta_core_get_frame_flags, meta_core_get_frame_type,
meta_core_get_mini_icon, meta_core_get_icon, meta_core_get_position,
meta_core_get_size, meta_core_get_frame_workspace,
meta_core_get_frame_extents, meta_core_get_screen_size): Removed
and replaced with meta_core_get().
* core.[ch] (meta_core_get): New function.
* core.h (MetaCoreGetType): New enum.
* frames.c (meta_frames_ensure_layout, meta_frames_calc_geometry,
meta_frames_get_geometry, meta_frames_apply_shapes,
meta_frame_titlebar_event, meta_frames_button_press_event,
populate_cache, clip_to_screen, meta_frames_paint_to_drawable,
meta_frames_set_window_background, get_control): Replace use of
removed functions in ui.c with meta_core_get().
All this should make things a little faster. Closes#377495.
svn path=/trunk/; revision=3233
2007-06-04 Thomas Thurman <thomas@thurman.org.uk>
* NEWS: Added translators' names from 2.19.8 (sorry, folks:
I forgot to save NEWS with their names in it before shipping.)
svn path=/trunk/; revision=3232
2007-06-03 Thomas Thurman <thomas@thurman.org.uk>
* src/frames.c (meta_frames_ensure_layout): Pango layout for
titlebars should take LTR/RTL-ness from the underlying widget
and not from sniffing the content. Closes#438944.
svn path=/trunk/; revision=3227
2007-05-25 Yair Hershkovitz <yairhr@yahoo.com>
* src/workspace.c (meta_workspace_get_neighbor): Add support
for RTL languages so that alt-tab, etc., go the other way.
* src/keybindings.c (handle_activate_menu): In RTL locales,
pop up the menu on the right-hand side when the menu keystroke
is pressed.
* src/fixedtip.c (meta_fixed_tip_show): right-justify tooltips
in RTL locales.
* src/menu.c (popup_position_func): popup menus in RTL locales
are flush with the right-hand side of the window where possible.
* src/frames.c (show_tip_now, meta_frames_button_press_event):
tooltips are aligned with the right-hand side of buttons in
RTL locales.
* src/ui.[ch] (meta_ui_get_direction, enum MetaUIDirection):
New content.
* src/window.c (meta_window_show_menu): "move left" appears above
"move right" in the window menu for LTR locales, and vice versa
for RTL locales.
This is all to close bug #387893.
svn path=/trunk/; revision=3222
2007-04-24 Linus Torvalds <torvalds@woody.linux-foundation.org>
* src/prefs.[ch] (init_action_meta_prefs, meta_prefs_init,
action_change_titlebar, change_notify, update_action_titlebar,
meta_preference_to_string): Add code to configure what happens
when the titlebar is right or middle clicked as well as
double clicked.
svn path=/trunk/; revision=3214
2007-04-23 Elijah Newren <newren gmail com>
Fix some uninitialized memory usage errors. #427385
* src/frame.c (meta_window_ensure_frame):
* src/frames.c (meta_frames_manage_window):
Do not try to set the window background in
meta_frames_manage_window() since the frame window is not yet
created and not yet registered with the corresponding MetaWindow.
Do it inside meta_window_ensure_frame() instead.
svn path=/trunk/; revision=3208
2007-04-17 Elijah Newren <newren gmail com>
Fix some fallout from #426519; update user_rect for all position
changes prior to the window being marked as placed. Prevents
emacs in particular from flickering on start and always being
shoved to the upper-left corner.
* src/window.c (meta_window_move_resize_internal):
Record position in user_rect if the window is not yet marked as
placed too
* src/window.c (struct MetaWindow, meta_window_new_with_attrs,
meta_window_move_resize_internal):
Remove window->user_has_move_resized; it's not needed or used
anymore.
* src/window.[ch] (meta_window_get_user_position):
Remove this function as it is no longer needed or used.
svn path=/trunk/; revision=3203
2007-04-16 Elijah Newren <newren gmail com>
Prevent metacity from "forgetting" which machine a window is on.
#418552
* src/window.c (meta_window_new_with_attrs): reorder the property
loading so that we know the wm_client_machine when we load the
name of the window and can modify the window name accordingly.
svn path=/trunk/; revision=3201
2007-04-15 Elijah Newren <newren gmail com>
Preserve stacking order across restarts.
* src/display.c (meta_display_unmanage_windows_for_screen):
unmap windows in stacking order so that stacking is preserved upon
shutdown
* src/display.[ch] (meta_display_stack_cmp):
* src/session.c (stack_cmp, save_state):
rename stack_cmp() -> meta_display_stack_cmp() and move it to a
different function so that it can be used in both
session.c:save_state() and
meta_display_unmanage_windows_for_screen()
svn path=/trunk/; revision=3197
2007-04-15 Elijah Newren <newren gmail com>
Remove incorrect usage of window.h from menu.c. See #426791 &
#382962.
* src/menu.c (enum MetaMenuItemType, variable menuitems,
meta_menu_item_new):
cleanup: add a MENU_ITEM_RADIOBUTTON for the sticky stuff
* src/menu.c (variable menuitems):
* src/core.c (meta_core_get_menu_accelerator):
* src/window.c (menu_callback, meta_window_show_menu):
* src/common.h (enum MetaMenuOp):
reinstate META_MENU_OP_UNABOVE
* src/menu.c (meta_window_menu_new):
remove hacks (using inappropriate data) for STICK/UNSTICK/ABOVE
and clean it up while just setting STICK/UNSTICK activeness as
necessary
* src/menu.[ch] (meta_window_menu_new):
* src/ui.[ch] (meta_ui_window_menu_new):
make the active_workspace parameter an unsigned long
2007-04-15 Bruno Boaventura <brunobol@gnome.org>
* src/menu.c (meta_window_menu_new): don't show the current
workspace as a possible workspace to switch to. Fixes#426791.
svn path=/trunk/; revision=3196
2007-04-12 Elijah Newren <newren gmail com>
* src/place.c (meta_window_place): do not auto-maximize windows
larger than the workarea in only a single direction. Fixes
#419810.
svn path=/trunk/; revision=3194
2007-04-11 Elijah Newren <newren gmail com>
Make sure apps have correct info about their coordinates, even on
unmap. Fixes temporary hang with libXt (XtVaSetValues setting x &
y coordinates). #399552.
* src/frame.c (meta_window_destroy_frame): Add a comment noting
that the current choice causes the need for a ConfigureNotify
event
* src/window.c (meta_window_free): Send a configure notify event
due to our XReparentWindow coordinate choices on withdrawal,
(unmaximize_window_before_freeing): no need to send a configure
notify from here since it is always done in meta_window_free new,
(send_configure_notify): have to special case the coordinates used
when withdrawing the window
svn path=/trunk/; revision=3192
2007-04-11 Thomas Thurman <thomas@thurman.org.uk>
Workaround for a gdk bug which dies with BadAlloc if you try
to allocate an insanely huge rectangle for an insanely huge
window. Fixes#399529.
svn path=/trunk/; revision=3191
2007-04-11 Elijah Newren <newren gmail com>
Advertise support of Above and Below operations (assuming the
proposed EWMH additions of _NET_WM_ACTION_(ABOVE|BELOW) will be
accepted, otherwise these changes will have to be modified). Part
of #115247.
* src/display.[ch] (meta_display_open, struct MetaDisplay):
* src/screen.c (set_wm_check_hint):
Add support for _NET_WM_ACTION_ABOVE and _NET_WM_ACTION_BELOW
* src/window.c (set_allowed_actions_hints):
add active_above and action_below
svn path=/trunk/; revision=3190
2007-04-10 Elijah Newren <newren gmail com>
* src/window.c (recalc_window_features): make sure to set
_NET_WM_ALLOWED_ACTIONS so that libwnck menus don't have sensitive
but ineffective menu items. The "On Top" item is now buggy, but
due to the fact that _NET_WM_ACTION_ABOVE is not yet defined in
the EWMH. Fixes#115247.
svn path=/trunk/; revision=3189
2007-04-09 Elijah Newren <newren gmail com>
Add support for _NET_MOVERESIZE_WINDOW. #344521.
* src/display.c (handle_net_moveresize_window, event_callback):
Remove handle_net_moveresize_window() and the call to it; this
code was highly buggy, though to be fair it was never tested and
had simply been put into the code in commented out form.
* src/screen.c (set_supported_hint):
add atom_net_moveresize_window
* src/window.[ch]:
(meta_window_configure_request, meta_window_move_resize_request):
Split out the moving/resize part of the configure request and put
it into meta_window_move_resize_request
(meta_window_client_message):
check for NET_MOVERESIZE_WINDOW messages and call
meta_window_move_resize_request() with the appropriate parameters
to handle them
(meta_window_move_resize_internal):
fix some of the big comment at this function -- it wasn't quite
right, use the passed in gravity instead of
window->size_hints.win_gravity when calling adjust_for_gravity()
to make sure the correct adjustments are used.
(meta_window_get_gravity_position,
meta_window_get_geometry, meta_window_move_resize_request):
add a gravity parameter to meta_window_get_gravity_position and
have it use that gravity instead of window->size_hints.win_gravity
svn path=/trunk/; revision=3186
2007-04-08 Elijah Newren <newren gmail com>
Remove grab_start_serial, which we expect to be an ancient attempt
to workaround sloppy/mouse focus bugs that have since been
correctly fixed. May fix some race conditions. May cause nasty
bugs in sloppy/mouse focus modes. We'll find out soon enough...
See #304430.
* src/display.c (event_callback):
remove event->xany.serial >= display->grab_start_serial in several
event callback handlers
* src/display.[ch] (struct _MetaDisplay, meta_display_begin_grab_op):
* src/keybindings.c (do_choose_window, handle_workspace_switch):
* src/frames.c (meta_frames_button_press_event):
* src/core.[ch] (meta_core_begin_grab_op):
* src/window.c (meta_window_client_message, meta_window_begin_grab_op):
don't require an event_serial to be passed to
meta_display_begin_grab_op () and don't record it anymore.
* src/ui.c (struct _EventFunc, filter_func,
meta_ui_get_last_event_serial)
* src/core.h (meta_ui_get_last_event_serial):
remove meta_ui_get_last_event_serial() function (don't ask me why
it was declared in core.h) and the last_even_serial field of
_EventFunc
svn path=/trunk/; revision=3182
2007-04-08 Elijah Newren <newren gmail com>
Fix move/resize events in relation to combinations of
ConfigureRequest and WM_NORMAL_HINTS change notifications (plus a
few code cleanups). Fixes#426519.
* src/window.c (meta_window_move_resize_now):
move to the user_rect position, not some weird combination of rect
and user_rect
* src/window.c (meta_window_configure_request):
set user_rect in response to ConfigureRequest events (after the
ConfigureRequest values have been constrained) and add a big
comment explaining this change, remove unused only_resize variable
and irrelevant huge FIXME comment about it
* src/window.[ch] (meta_window_get_client_root_coords):
new function
* src/display.c (meta_display_begin_grab_op):
* src/keybindings.c (process_keyboard_move_grab):
* src/window.c (meta_window_unmaximize,
meta_window_move_resize_internal, meta_window_begin_wireframe,
update_move, meta_window_refresh_resize_popup,
warp_grab_pointer)
combine multi-step client rect root coord setting into a single
function call to meta_window_get_client_root_coords()
svn path=/trunk/; revision=3181
2007-04-07 Elijah Newren <newren gmail com>
* src/prefs.[ch] (screen_bindings array,
META_KEYBINDING_SET_SPEW_MARK definition):
* src/keybindings.c (handle_spew_mark, screen_handlers array):
Add an (unbound by default) keybinding for setting spew marks in
verbose debugging logs. I'm not sure why this was ever removed;
I've wanted it so many times.
* HACKING:
valgrind wants --log-file not --logfile.
svn path=/trunk/; revision=3174
2007-04-05 Thomas Thurman <thomas@thurman.org.uk>
* src/theme_parser.c: if theme is invalid and therefore got
freed, don't attempt to read from it. Closes#423855.
svn path=/trunk/; revision=3172
2007-04-04 Elijah Newren <newren gmail com>
* src/window.c (meta_window_move_resize_internal): send synthetic
configurenotify events also in response to MapRequest events when
the window has a frame and the application specifies PPosition or
UPosition hints. I believe they are already sent for all other
cases. Should fix#322840. Fixes the testcase at least. :)
svn path=/trunk/; revision=3156
2004-04-04 Elijah Newren <newren gmail com>
Fix lots of little issues with min/max constraints and size
increment constraints. Fixes#329152, #418395, and possibly
others.
* src/window-props.c (meta_set_normal_hints):
Do more checking to make sure application specified constraints
are self-consistent, modifying the size_hints as necessary to
achieve self-consistency.
* src/constraints.c (setup_constraint_info): remove ugly
copy-pasto, (constrain_size_increments): be careful that fixing
violation of the constraints doesn't cause a violation of the
minimum size constraints.
* src/window.c (ensure_size_hints_satisfied): new function,
(meta_window_unmaximize, meta_window_unmake_fullscreen): the
saved_rect may no longer be valid (as in the case of #329152) so
call ensure_size_hints_satisfied to fix it up.
* doc/how-to-get-focus-right.txt: Some minor spacing and wording
fixes completely unrelated to the rest of this commit
svn path=/trunk/; revision=3155
2007-04-03 Elijah Newren <newren gmail com>
* src/window.c (meta_window_unmaximize):
Only use saved_rect for determining the position to unmaximize to
for the previously-maximized direction(s). Fixes#355497.
svn path=/trunk/; revision=3154