1. 01 Oct, 2006 4 commits
    • Elijah Newren's avatar
      Stick an emacs comment directive at the beginning of all the code files so · 0201fcfc
      Elijah Newren authored
      2006-10-01  Elijah Newren  <newren gmail com>
      
      	* src/*.[ch]: Stick an emacs comment directive at the beginning of
      	all the code files so that people using emacs will be more likely
      	to get coding style correct in their patches.  We still need a
      	similar vi directive.  #358866
      0201fcfc
    • Elijah Newren's avatar
      Patch from Carlo Wood to ensure that maximized and minimized properties · 07e4cacf
      Elijah Newren authored
      2006-10-01  Elijah Newren  <newren gmail com>
      
      	Patch from Carlo Wood to ensure that maximized and minimized
      	properties are maintained across restarts.  #358042.
      
      	* src/constraints.c (place_window_if_needed): fix up partial
      	maximization handling and add minimize_after_placement handling.
      
      	* src/display.[ch] (struct MetaDisplay, meta_display_open): add a
      	new display->display_opening flag to allow handling startup
      	differently where needed.
      
      	* src/window-props.c (reload_net_wm_state): handle
      	_net_wm_state_hidden as well, setting
      	window->minimize_after_placement appropriately
      
      	* src/window.[ch] (struct MetaWindow, meta_window_new_with_attrs):
      	add a window->minimize_after_placement field
      
      	* src/window.c (meta_window_new_with_attrs): only unminimize the
      	window and its transients if the display isn't being opened,
      	(unmaximize_window_before_freeing): don't reset the state unless
      	the window is becoming withdrawn, if the screen is being closed be
      	sure to save the unmaximized state of the window so the next
      	window manager can restore it
      07e4cacf
    • Elijah Newren's avatar
      surround the XDeleteProperty() call with a · 79eb53bd
      Elijah Newren authored
      2006-10-01  Elijah Newren  <newren gmail com>
      
      	* src/window-props.c (set_title_text): surround the
      	XDeleteProperty() call with a
      	meta_error_trap_push/meta_error_trap_pop pair to prevent a crash
      	when closing a remote instance of gedit (and perhaps other apps).
      	#358514.
      79eb53bd
    • Elijah Newren's avatar
      Fix longstanding focus bug with mouse (not sloppy) focus mode with popup · b694312f
      Elijah Newren authored
      2006-10-01  Elijah Newren  <newren gmail com>
      
      	Fix longstanding focus bug with mouse (not sloppy) focus mode with
      	popup override-redirect windows, particularly mozilla and
      	firefox's location bar autocompletion.  #357695.
      
      	* src/display.c (event_callback -- EnterNotify & LeaveNotify events):
      	for mouse focus, defocus the focused window when the mouse enters
      	the desktop window rather than when the mouse leaves the focused
      	window.
      
      	* doc/how-to-get-focus-right.txt:
      	update for the slightly nuanced definition of mouse focus (people
      	without a DESKTOP window like nautilus get sloppy focus behavior
      	now)
      b694312f
  2. 28 Sep, 2006 1 commit
  3. 18 Sep, 2006 5 commits
    • Elijah Newren's avatar
      Patch from Jens Granseuer to fix c89 cleanness, again. #356631. · 569ff8a3
      Elijah Newren authored
      2006-09-18  Elijah Newren  <newren gmail com>
      
      	* src/window.c (meta_window_show): Patch from Jens Granseuer to
      	fix c89 cleanness, again.  #356631.
      569ff8a3
    • Elijah Newren's avatar
      Ignore maximum size hints when maximizing. Should fix #327543 (see comment · 2d73af15
      Elijah Newren authored
      2006-09-18  Elijah Newren  <newren gmail com>
      
      	* src/constraints.c (constrain_maximization): Ignore maximum size
      	hints when maximizing.  Should fix #327543 (see comment 4 and comment
      	5).
      2d73af15
    • Elijah Newren's avatar
      avoid a compilation warning by making sure to return something. #348067 · 470dc301
      Elijah Newren authored
      2006-09-18  Elijah Newren  <newren gmail com>
      
      	* src/ui.c (filter_func): avoid a compilation warning by making
      	sure to return something.  #348067
      470dc301
    • Elijah Newren's avatar
      Partial audit to fix timestamp usage. One step towards fixing #355180; see · 5c587726
      Elijah Newren authored
      2006-09-18  Elijah Newren  <newren gmail com>
      
      	Partial audit to fix timestamp usage.  One step towards fixing
      	#355180; see important comments in that bug.
      
      	* src/core.[ch] (meta_core_unshade, meta_core_shade):
      	* src/delete.c (meta_window_present_delete_dialog,
      	  delete_ping_timeout_func):
      	* src/display.[ch] (meta_display_open, meta_display_close,
      	  event_callback, meta_display_begin_grab_op,
      	  process_selection_clear, meta_display_unmanage_screen,
      	  meta_display_unmanage_windows_for_screen):
      	* src/frames.c (meta_frames_button_press_event):
      	* src/keybindings.c (handle_toggle_shade):
      	* src/main.c (main):
      	* src/screen.[ch] (update_num_workspaces, meta_screen_new,
      	  meta_screen_free, prefs_changed_callback):
      	* src/window.[ch] (meta_window_free, finish_minimize,
      	  implement_showing, meta_window_show, meta_window_maximize,
      	  meta_window_make_fullscreen_internal,
      	  meta_window_unmake_fullscreen, meta_window_shade,
      	  meta_window_unshade, window_activate, send_sync_request,
      	  meta_window_client_message, menu_callback,
      	  meta_window_update_keyboard_resize):
      	Remove usage of CurrentTime, meta_display_get_current_time() and
      	meta_display_get_current_time_roundtrip() where possible, or
      	document why it isn't possible, or at very least add a FIXME with
      	some explanation of my laziness and what needs to be done.
      5c587726
    • Elijah Newren's avatar
      Patch from Maik Beckmann to remove compilation warnings. Fixes #355876. · 87100b64
      Elijah Newren authored
      2006-09-18  Elijah Newren  <newren gmail com>
      
      	* src/spring-model.c (on_end_move, model_is_calm): Patch from Maik
      	Beckmann to remove compilation warnings.  Fixes #355876.
      87100b64
  4. 13 Sep, 2006 4 commits
    • Elijah Newren's avatar
      Patch from Thomas Andersen to make windows be stacked correctly before · 8144a962
      Elijah Newren authored
      2006-09-13  Elijah Newren  <newren gmail com>
      
      	* src/window.c (meta_window_show): Patch from Thomas Andersen to
      	make windows be stacked correctly before showing them, to prevent
      	flicker with focus stealing prevention.  #332385.
      8144a962
    • Elijah Newren's avatar
      Fix issues on 64-bit machines with timestamps by using guint32 (like gtk+ · 3b047877
      Elijah Newren authored
      2006-09-13  Elijah Newren  <newren gmail com>
      
      	* src/common.h (MetaWindowMenuFunc):
      	* src/core.[ch] (meta_core_user_lower_and_unfocus,
      	  meta_core_user_focus, meta_core_show_window_menu,
      	  meta_core_begin_grab_op, meta_core_end_grab_op):
      	* src/delete.c (delete_ping_reply_func, delete_ping_timeout_func,
      	  meta_window_delete):
      	* src/display.[ch] (struct MetaDisplay, struct MetaPingData,
      	  sanity_check_timestamps, meta_display_open, event_callback,
      	  meta_spew_event, meta_display_set_grab_op_cursor,
      	  meta_display_begin_grab_op, meta_display_end_grab_op,
      	  meta_display_ping_timeout, meta_display_ping_window,
      	  process_pong_message, timestamp_too_old,
      	  meta_display_set_input_focus_window):
      	* src/keybindings.[ch] (grab_keyboard, ungrab_keyboard,
      	  meta_screen_grab_all_keys, meta_window_grab_all_keys,
      	  meta_window_ungrab_all_keys, error_on_generic_command,
      	  error_on_command, error_on_terminal_command):
      	* src/metacity-dialog.c (on_realize, warn_about_no_sm_support,
      	  error_about_command, main):
      	* src/screen.[ch] (struct _MetaScreen, meta_screen_new,
      	  meta_screen_show_desktop, meta_screen_apply_startup_properties):
      	* src/session.c (warn_about_lame_clients_and_finish_interact):
      	* src/window.[ch] (struct _MetaWindow,
      	  intervening_user_event_occurred, window_activate,
      	  meta_window_delete, meta_window_focus,
      	  meta_window_send_icccm_message, meta_window_client_message,
      	  menu_callback, meta_window_show_menu, struct EventScannerData,
      	  check_use_this_motion_notify, meta_window_begin_grab_op,
      	  meta_window_set_user_time):
      	* src/workspace.[ch] (focus_ancestor_or_mru_window,
      	  meta_workspace_activate_with_focus, meta_workspace_activate,
      	  meta_workspace_focus_default_window,
      	  focus_ancestor_or_mru_window):
      	Fix issues on 64-bit machines with timestamps by using guint32
      	(like gtk+ does) instead of Time.  #348305
      3b047877
    • Elijah Newren's avatar
      patch from Bruno Boaventura de Oliveira to fix a compiler warning about · 3fac671f
      Elijah Newren authored
      2006-09-12  Elijah Newren  <newren gmail com>
      
      	* src/theme.c (meta_gtk_arrow_from_string,
      	meta_gtk_arrow_to_string): patch from Bruno Boaventura de Oliveira
      	to fix a compiler warning about not handling GTK_ARRROW_NONE.
      	#355490.
      3fac671f
    • Elijah Newren's avatar
      Patch from Bruno Boaventura de Oliveira Lacerda to fix warnings about · 199e2b69
      Elijah Newren authored
      2006-09-11  Elijah Newren  <newren gmail com>
      
      	* src/compositor.c: Patch from Bruno Boaventura de Oliveira
      	Lacerda to fix warnings about unused function and global var.
      	#355489.
      199e2b69
  5. 10 Sep, 2006 1 commit
  6. 09 Sep, 2006 1 commit
    • Elijah Newren's avatar
      Avoid a stuck grab, preventing focus from being transferred between · 555d7dc9
      Elijah Newren authored
      2006-09-09  Elijah Newren  <newren gmail com>
      
      	Avoid a stuck grab, preventing focus from being transferred
      	between windows.  Thanks to Fryderyk Dziarmagowski for steps to
      	reproduce.  Fixes at least part of #354422.
      
      	* src/display.c (meta_display_begin_grab_op,
      	meta_display_end_grab_op): pass timestamp to
      	meta_screen_ungrab_all_keys, meta_screen_ungrab_all_keys, and
      	meta_window_ungrab_all_keys
      
      	* src/keybindings.[ch] (grab_keyboard, ungrab_keyboard): add a
      	timestamp parameter and remove call to
      	meta_display_get_current_time(), (meta_screen_grab_all_keys,
      	meta_screen_ungrab_all_keys, meta_window_ungrab_all_keys): add a
      	timestamp parameter and pass it on to grab_keyboard and
      	ungrab_keyboard
      555d7dc9
  7. 07 Sep, 2006 3 commits
  8. 22 Aug, 2006 1 commit
  9. 21 Aug, 2006 4 commits
    • Elijah Newren's avatar
      Patch from Thomas Andersen to fix metacity-dialog handling of arguments. · 18107f5f
      Elijah Newren authored
      2006-08-21  Elijah Newren  <newren gmail com>
      
      	Patch from Thomas Andersen to fix metacity-dialog handling of
      	arguments.  #340690
      
      	* src/metacity-dialog.c (main): replace hackish argument parsing
      	with GOption parsing.  Much nicer.  :)
      18107f5f
    • Elijah Newren's avatar
      Patch from Ed Catmur to fix keybindings with hex-values (coming from · 88b9efd0
      Elijah Newren authored
      2006-08-21  Elijah Newren  <newren gmail com>
      
      	Patch from Ed Catmur to fix keybindings with hex-values (coming
      	from special extended keyboard keys).  #140448.
      
      	* src/keybindings.c (struct _MetaKeyBinding): change keycode from
      	KeyCode to unsigned int (comment from Elijah: why???),
      	(reload_keycodes): only grab keysyms for keybindings that have
      	them, (count_bindings, rebuild_binding_table): bindings can be
      	valid either due to a valid keysym or a valid keycode,
      	(display_get_keybinding_action, meta_change_keygrab,
      	process_tab_grab, process_workspace_switch_grab): handle keycode
      	as well as keysym
      
      	* src/prefs.[ch] (struct MetaKeyCombo, update_binding,
      	update_list_binding): handle keycode as well as keysym
      
      	* src/ui.[ch] (meta_ui_accelerator_parse): new function special
      	cases strings of the form "0x[0-9a-fA-F]+" and otherwise calling
      	gtk_accelerator_parse(), (meta_ui_parse_accelerator,
      	meta_ui_parse_modifier): call meta_ui_accelerator_parse instead of
      	gtk_accelerator_parse.
      88b9efd0
    • Elijah Newren's avatar
      Allow drags & resizes to be reverted by hitting escape. Based on patch · 7489dbc3
      Elijah Newren authored
      2006-08-21  Elijah Newren  <newren gmail com>
      
      	Allow drags & resizes to be reverted by hitting escape.  Based on
      	patch from Thomas Andersen.  #126497.
      
      	* src/display.c (grab_op_is_mouse_only): new function,
      	(meta_display_begin_grab_op): grab the keyboard when moving or
      	resizing too so that we can get escape keypresses
      
      	* src/display.h (struct _MetaDisplay): add a comment to remind
      	that grab_was_cancelled is only used in wireframe mode
      
      	* src/keybindings.[ch] (process_mouse_move_resize_grab): add new
      	function for handling keypresses during mouse-only moving and
      	resizing, (meta_window_grab_all_keys): add a timestamp parameter
      	and pass it to meta_window_focus(),
      	(meta_display_process_key_event): make sure
      	process_mouse_move_resize_grab() gets called when needed,
      	(process_keyboard_move_grab, process_keyboard_resize_grab):
      	rearrange some code slightly and improve the comments to make it
      	more readable
      7489dbc3
    • Elijah Newren's avatar
      Fix several bugs with handling of fullscreen windows, causing them to not · 4c96afba
      Elijah Newren authored
      2006-08-21  Elijah Newren  <newren gmail com>
      
      	Fix several bugs with handling of fullscreen windows, causing them
      	to not actually be fullscreen.  #343115 (and also #346927,
      	#350547, #351643, the recent additional WINE-related issue
      	mentioned on the mailing list, and probably others...)
      
      	* src/constraints.c (setup_constraint_info): if a window tries to
      	resize to fullscreen-size and it has a fullscreen function but
      	isn't actually marked as fullscreen then assist it by marking it
      	as such, (constrain_fully_onscreen, constrain_titlebar_visible):
      	ignore this constraint for fullscreen windows since such windows
      	have a separate specialized constraint
      
      	* src/stack.c (window_is_fullscreen_size, get_standalone_layer):
      	remove the old window_is_fullscreen_size() hack for detecting
      	windows to treat as fullscreen since it doesn't work well with the
      	new constraints framework (i.e. we needed a slightly different
      	hack)
      
      	* src/window.[ch] (meta_window_new_with_addrs): shuffle the order
      	of adding the window to the stack and moveresizing the window
      	since moveresizing can cause stack changes if the window's initial
      	size is fullscreen size, (meta_window_make_fullscreen,
      	meta_window_make_fullscreen_internal): split
      	meta_window_make_fullscreen() similar to meta_window_maximize() so
      	that constraints can make use of it
      4c96afba
  10. 20 Aug, 2006 1 commit
  11. 18 Aug, 2006 1 commit
  12. 09 Aug, 2006 1 commit
    • Elijah Newren's avatar
      Vytautus Liuolia totally rocks; he tested and debugged and tracked down · 9051b70d
      Elijah Newren authored
      2006-08-07  Elijah Newren  <newren gmail com>
      
      	* src/window.c (intervening_user_event_occurred): Vytautus Liuolia
      	totally rocks; he tested and debugged and tracked down where we
      	were using the focus window's net_wm_user_time even when it was
      	uninitialized.  This may fix bug 311868 and others I've heard
      	about (with Valknut, IIRC).  It definitely fixes the issues Vytas
      	was seeing with his single instance library.  :-)
      9051b70d
  13. 08 Aug, 2006 1 commit
  14. 07 Aug, 2006 8 commits
    • Elijah Newren's avatar
      Add a constrain_titlebar_visible constraint; should fix both bug 333328 · 57bedc42
      Elijah Newren authored
      2006-08-07  Elijah Newren  <newren gmail com>
      
      	Add a constrain_titlebar_visible constraint; should fix both bug
      	333328 and bug 345522.  Not perfect (minor annoying snap pulling
      	windows back onscreen, plus an ugly hack almost as bad as the old
      	one), but tarballs are due in less than half an hour.  ;-)
      
      	* src/boxes.[ch] (meta_rectangle_overlaps_with_region):
      	new function
      
      	* src/constraints.c (constrain_titlebar_visible): new function,
      	  (enum ConstraintPriority, array all_constraints,
      	  update_onscreen_requirements): various small changes to
      	  accomodate the new function
      
      	* src/edge-resistance.c: remove the infinite edge resistance,
      	which was a big hack of a way to workaround the lack of a
      	titlebar_visible constraint
      
      	* src/window.[ch] (MetaWindow): new require_titlebar_visible
      	bitfield, (meta_window_new_with_attrs): initialized here
      57bedc42
    • Elijah Newren's avatar
      Patch from Chris Ball to not minimize in response to double clicks on the · acc6c979
      Elijah Newren authored
      2006-08-07  Elijah Newren  <newren gmail com>
      
      	* src/frames.c (meta_frames_button_press_event): Patch from Chris
      	Ball to not minimize in response to double clicks on the titlebar
      	when minimiziation should not be allowed.  #347377
      acc6c979
    • Elijah Newren's avatar
      Patch from Björn Lindqvist to fix button lighting with dragged clicks. · dcef402d
      Elijah Newren authored
      2006-08-07  Elijah Newren  <newren gmail com>
      
      	Patch from Björn Lindqvist to fix button lighting with dragged
      	clicks.  #321474.
      
      	* src/frames.c (meta_frames_button_press_event): update the
      	prelit_control, (meta_frames_button_release_event): some code
      	refactoring to simplify things a bit, and make sure to update the
      	prelit_control
      dcef402d
    • Elijah Newren's avatar
      Patch from Thomas Andersen to return the window to maximized state if the · d4973e8d
      Elijah Newren authored
      2006-08-07  Elijah Newren  <newren gmail com>
      
      	* src/keybindings.c (process_keyboard_move_grab): Patch from
      	Thomas Andersen to return the window to maximized state if the
      	window was "shaken loose" from maximized state during a resize but
      	the resize is later aborted.  #346719.
      d4973e8d
    • Elijah Newren's avatar
    • Elijah Newren's avatar
      Patch from Vytautas Liuolia to react to _NET_STARTUP_ID changes, as · adc46fc9
      Elijah Newren authored
      2006-08-07  Elijah Newren  <newren gmail com>
      
      	Patch from Vytautas Liuolia to react to _NET_STARTUP_ID changes,
      	as proposed for the new startup-notification/EWMH spec.  #347515
      
      	* src/window-props.c (reload_net_startup_id): be sure to act on
      	the new id instead of just recording it
      
      	* src/window.[ch] (window_activate, meta_window_activate,
      	  meta_window_activate_with_workspace, meta_window_client_message):
      	change window_activate() to take a workspace parameter instead of
      	hardcoding to the current workspace, add
      	meta_window_activate_with_workspace() function needed by
      	reload_net_startup_id().
      adc46fc9
    • Thomas Thurman's avatar
      add new MetaButtonSpace struct; use it for close_rect, max_rect, min_rect · cc5def10
      Thomas Thurman authored
      2006-08-07  Thomas Thurman  <thomas@thurman.org.uk>
      
              * src/frames.h: add new MetaButtonSpace struct; use it for
              close_rect, max_rect, min_rect and menu_rect.
      
              * src/frames.c (control_rect, get_control): modify to support
              the new fields in MetaButtonSpace.
      
              * src/theme.c (meta_frame_layout_get_borders, rect_for_function,
              meta_frame_layout_calc_geometry, button_rect): add support for
              the new fields in MetaButtonSpace.
      cc5def10
    • Elijah Newren's avatar
      patch from Dmitry Timoshkov to make sure window features get recalculated · 77a331a1
      Elijah Newren authored
      2006-08-07  Elijah Newren  <newren gmail com>
      
      	* src/screen.c (meta_screen_resize_func): patch from Dmitry
      	Timoshkov to make sure window features get recalculated when the
      	screen is resized via XRandR.  Part of #346927.
      77a331a1
  15. 04 Aug, 2006 2 commits
    • Elijah Newren's avatar
      Fix ugly spacing · ae86fcd5
      Elijah Newren authored
      ae86fcd5
    • Elijah Newren's avatar
      Patch from Dmitry Timoshkov to fix the heuristic for determining if · 74d4768b
      Elijah Newren authored
      2006-08-04  Elijah Newren  <newren gmail com>
      
      	Patch from Dmitry Timoshkov to fix the heuristic for determining
      	if windows can be made fullscreen (needed for WINE and possible
      	also some legacy applications).  Part of #346927.
      
      	* src/window.c (recalc_window_features): ignore window decoration
      	when checking size for determing whether an unresizable window
      	should be allowed ot be considered for fullscreening
      74d4768b
  16. 31 Jul, 2006 2 commits