1. 18 Jun, 2007 1 commit
    • Thomas Thurman's avatar
      return a boolean instead a void, to show whether startup properties were · e6083f64
      Thomas Thurman authored
      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
      e6083f64
  2. 11 Jun, 2007 1 commit
    • Thomas Thurman's avatar
      Refactor thrice-duplicated queue code in window.c. Closes #376760. · 8f2b9cb4
      Thomas Thurman authored
      2007-06-10  Thomas Thurman  <thomas@thurman.org.uk>
      
              Refactor thrice-duplicated queue code in window.c. Closes #376760.
      
              * src/window.c (meta_window_queue, meta_window_unqueue):
              New functions.
              * src/window.[ch] (meta_window_unqueue_*, meta_window_queue_*):
              Removed functions.
              * src/window.c (meta_window_new_with_attrs, meta_window_free,
              meta_window_flush_calc_showing, queue_calc_showing_func,
              meta_window_minimize, meta_window_unminimize, meta_window_maximize,
              meta_window_make_fullscreen, meta_window_shade,
              meta_window_unshade, meta_window_move_resize_internal,
              window_stick_impl, window_unstick_impl,
              meta_window_client_message, process_property_notify): Modified to
              use new queueing functions.
              * src/window.c (idle_move_resize, idle_update_icon,
              idle_calc_showing): update to receive queue number from pointer.
              * src/window.h (MetaQueueType): new enum.
              * src/window.h (MetaWindow): *_queued replaced with is_in_queue
              bitfield.
              * src/core.c (meta_core_queue_frame_resize):
              * src/display.c (event_callback,
              meta_display_queue_retheme_all_windows): Using new queueing functions.
              * src/frame.c (meta_window_destroy_frame): Using new queueing functions.
              * src/screen.c (queue_resize, meta_screen_resize_func,
              queue_windows_showing): Using new queueing functions.
              * src/window-props.c (reload_mwm_hints, reload_wm_hints,
              reload_transient_for): Using new queueing functions.
              * src/workspace.c (meta_workspace_add_window,
              meta_workspace_remove_window, meta_workspace_queue_calc_showing,
              meta_workspace_invalidate_work_area): Using new queueing functions.
      
      
      svn path=/trunk/; revision=3236
      8f2b9cb4
  3. 11 Apr, 2007 1 commit
    • Elijah Newren's avatar
      Advertise support of Above and Below operations (assuming the proposed · 7626f74b
      Elijah Newren authored
      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
      7626f74b
  4. 09 Apr, 2007 1 commit
    • Elijah Newren's avatar
      Add support for _NET_MOVERESIZE_WINDOW. #344521. · b8f89db4
      Elijah Newren authored
      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
      b8f89db4
  5. 31 Mar, 2007 2 commits
    • Elijah Newren's avatar
      Clean up event mask handling and meta_create_offscreen_window, to prevent · 81e32cfa
      Elijah Newren authored
      2007-03-31  Elijah Newren  <newren gmail com>
      
      	Clean up event mask handling and meta_create_offscreen_window, to
      	prevent nasty metacity/gdk interactions causing hangs. See #354213.
      
      	* src/screen.[ch] (meta_create_offscreen_window):
      	* src/display.c (meta_display_open):
      	* src/screen.c (meta_screen_new):
      	Add a valuemask parameter to meta_create_offscreen_window
      	
      	* src/display.c (meta_display_open):
      	make it explicit that we can't rely on PropertyNotify events for
      	the leader_window due to nasty metacity/gdk interaction
      
      	* src/session.c (warn_about_lame_clients_and_finish_interact):
      	remove cut-and-paste code for timestamp pinging and just call
      	meta_display_get_current_time_roundtrip
      
      svn path=/trunk/; revision=3137
      81e32cfa
    • Elijah Newren's avatar
      Add support for _NET_WM_USER_TIME_WINDOW in order to cut down on context · 6e007baa
      Elijah Newren authored
      2007-03-30  Elijah Newren  <newren gmail com>
      
      	Add support for _NET_WM_USER_TIME_WINDOW in order to cut down on
      	context switches.
      
      	* src/display.c (meta_display_open):
      	* src/display.h (struct _MetaDisplay):
      	* src/screen.c (set_supported_hint):
      	new atom
      
      	* src/display.c (meta_display_open,
      	  meta_display_get_current_time_roundtrip):
      	* src/display.h (struct _MetaDisplay):
      	create a dedicated timestamp pinging window instead of reusing
      	display->leader_window
      
      	* src/display.c (event_callback):
      	* src/window-props.c (reload_net_wm_user_time_window):
      	* src/window.c (meta_window_new_with_attrs, meta_window_free,
      	  process_property_notify):
      	* src/window.h (struct _MetaWindow):
      	monitor property notify events on _NET_WM_USER_TIME_WINDOW windows too
      	
      	* src/window-props.[ch]:
      	new meta_window_reload_propert(y|ies)_from_xwindow() functions
      
      	* src/window-props.[ch]
      	  (init_net_wm_user_time_window, reload_net_wm_user_time_window,
      	  meta_display_init_window_prop_hooks):
      	* src/window.c (meta_window_new_with_attrs):
      	new hooks to handle new atom
      
      svn path=/trunk/; revision=3134
      6e007baa
  6. 01 Oct, 2006 1 commit
  7. 18 Sep, 2006 1 commit
    • 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
  8. 13 Sep, 2006 1 commit
    • 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
  9. 07 Aug, 2006 1 commit
  10. 15 May, 2006 1 commit
  11. 13 Apr, 2006 1 commit
  12. 10 Apr, 2006 1 commit
    • Søren Sandmann's avatar
      Check if the window is a menu and make it 90% opaque in that case. · 4b683fdb
      Søren Sandmann authored
      Mon Apr 10 16:44:51 2006  Søren Sandmann  <sandmann@redhat.com>
      
      	* src/c-screen.c (is_menu): Check if the window is a menu and make
      	it 90% opaque in that case.
      
      	* src/c-screen.c (claim_selection): Handle CM_Sn selection
      	properly.
      
      	* src/c-screen.c: Remove debug spew
      
      	* src/screen.c (meta_screen_composite_all_windows): Remove debug spew
      4b683fdb
  13. 03 Mar, 2006 1 commit
    • Søren Sandmann's avatar
      Split the ScreenInfo data structure into separate, new files · 832968dd
      Søren Sandmann authored
      Wed Mar  3 13:25:03 2006  Søren Sandmann  <sandmann@redhat.com>
      
              * 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()
      832968dd
  14. 17 Feb, 2006 1 commit
    • Søren Sandmann's avatar
      Only uncomposite the screen if there is a compositor. · f3ade45b
      Søren Sandmann authored
      Fri Feb 17 11:56:35 2006  Søren Sandmann  <sandmann@redhat.com>
      
      	* src/screen.c (meta_screen_free): Only uncomposite the screen if
      	there is a compositor.
      
      	* src/compositor.c (meta_compositor_new): Warn and fail if the
      	server doesn't have composite
      f3ade45b
  15. 16 Feb, 2006 1 commit
    • Søren Sandmann's avatar
      New function. · f6738a93
      Søren Sandmann authored
      Thu Feb 16 15:24:42 2006  Søren Sandmann  <sandmann@redhat.com>
      
      	* src/screen.c (meta_screen_composite_all_windows): New function.
      
      	* src/prefs.[ch], src/metacity.schemas.in: Add new
      	compositing_manager key.
      
      	* src/display.c (prefs_changed_callback): Handle
      	META_PREF_COMPOSITOR_MANAGER
      
      	* src/display.c (event_callback): Only call
      	meta_compositor_process_event() if there is in fact a compositor.
      
      	* src/display.c (enable/disable_compositor): Add code to
      	enable/disable compositor at runtime
      f6738a93
  16. 20 Jan, 2006 2 commits
    • Elijah Newren's avatar
      Patch from Kjartan Maraas to fix a lot of tiny issues (unused variable · 32d4bd6b
      Elijah Newren authored
      2006-01-20  Elijah Newren  <newren gmail com>
      
      	* src/async-getprop.c:
      	* src/common.h:
      	* src/display.c:
      	* src/eggaccelerators.c:
      	* src/frames.c:
      	* src/gradient.c:
      	* src/iconcache.c:
      	* src/keybindings.c:
      	* src/metaaccellabel.c:
      	* src/place.c:
      	* src/prefs.c:
      	* src/preview-widget.c:
      	* src/screen.c:
      	* src/session.c:
      	* src/stack.c:
      	* src/tabpopup.c:
      	* src/theme-viewer.c:
      	* src/theme.c:
      	* src/window-props.c:
      	* src/window.c:
      	* src/workspace.c:
      	* src/tools/metacity-window-demo.c:
      	* src/wm-tester/test-gravity.c:
      	* src/wm-tester/test-resizing.c:
      	* src/wm-tester/test-size-hints.c:
      	Patch from Kjartan Maraas to fix a lot of tiny issues (unused
      	variable removal, making unused variables used again, correction
      	of types passed/declared for printf arguments, removal of unneeded
      	breaks and returns, dead code removal, dead code revival, renaming
      	to prevent shadowed variables, declaring unexported functions as
      	static) spotted by the intel compiler.  #321439
      32d4bd6b
    • Elijah Newren's avatar
      Patch from Björn Lindqvist to fix #98340. · 4c107222
      Elijah Newren authored
      2006-01-20  Elijah Newren  <newren gmail com>
      
      	Patch from Björn Lindqvist to fix #98340.
      
      	* src/screen.c (meta_screen_ensure_tab_popup): Make sure an
      	outline border is shown even if a window frame's width is 0.
      	Also, correctly handle window outlines in showing desktop mode.
      4c107222
  17. 13 Jan, 2006 1 commit
    • Søren Sandmann's avatar
      Add a dependency on libcm when building with compositor. · fea61914
      Søren Sandmann authored
      Fri Jan 13 14:40:19 2006  Søren Sandmann  <sandmann@redhat.com>
      
      	* configure.in: Add a dependency on libcm when building with
      	compositor.
      
      	* src/window.c (meta_window_hide): Make this function static.
      
      	* src/window.c (implement_showing): Use meta_compositor_minimize()
      	to do a weird minimize effect.
      
      	* src/compositor.[ch]: Beginning of new GL based compositor.
      
      	* src/screen.h (struct _MetaScreen): Add void pointer to
      	compositor data.
      
      	* src/screen.c (meta_screen_new): Remove obsolete compositor
      	stuff; initialize compositor_data. Don't composite manage screen
      	out of this function.
      
      	* src/errors.c (x_error_handler): Check that display is non-NULL
      	before using it. Add comment about how that can happen.
      
      	* src/display.c (meta_display_{begin,end}_grab_op): Remove
      	explicity damage of windows.
      
      	* src/display.c (meta_display_open): Composite manage all the
      	screens.
      fea61914
  18. 10 Jan, 2006 2 commits
    • Elijah Newren's avatar
      Whoops, I forgot to keep my copyright info updated with my previous · 5913b8c5
      Elijah Newren authored
      2006-01-10  Elijah Newren  <newren@gmail.com>
      
      	* src/bell.c:
      	* src/boxes.c:
      	* src/boxes.h:
      	* src/constraints.c:
      	* src/core.c:
      	* src/display.c:
      	* src/display.h:
      	* src/edge-resistance.c:
      	* src/frames.c:
      	* src/keybindings.c:
      	* src/main.c:
      	* src/prefs.c:
      	* src/prefs.h:
      	* src/screen.c:
      	* src/screen.h:
      	* src/window.c:
      	* src/window.h:
      	Whoops, I forgot to keep my copyright info updated with my previous
      	commits as Havoc had asked me to do.  Doing that now...
      5913b8c5
    • Elijah Newren's avatar
      Fix window outline for minimized windows when using alt-esc. #325092. · 8c5b6c87
      Elijah Newren authored
      2006-01-09  Elijah Newren  <newren@gmail.com>
      
      	Fix window outline for minimized windows when using alt-esc.
      	#325092.
      
      	* src/display.c (meta_display_begin_grab_op): Specify the showing
      	type of tabbing operation (Alt tab vs. alt-esc) in addition to the
      	listing type of tabbing operation (docks vs normal windows) to
      	meta_screen_ensure_tab_popup().
      
      	* src/display.h (enum MetaTabShowType): new convenience enum
      
      	* src/screen.[ch] (meta_screen_ensure_tab_popup): require the
      	showing type be specified in addition to the tabbing type; put the
      	outline around the window instead of the icon when in alt-esc
      	mode.
      8c5b6c87
  19. 28 Dec, 2005 1 commit
    • Elijah Newren's avatar
      Make the workspace switcher work with dual-head (non-xinerama) setups. · 703f58cd
      Elijah Newren authored
      2005-12-27  Elijah Newren  <newren@gmail.com>
      
      	Make the workspace switcher work with dual-head (non-xinerama)
      	setups.  Fixes #319423.
      
      	* src/display.c (meta_display_open, event_callback,
      	  meta_display_focus_the_no_focus_window):
      	* src/display.h (struct MetaDisplay,
      	  meta_display_focus_the_no_focus_window):
      	* src/keybindings.c (primary_modifier_still_pressed):
      	* src/screen.c (meta_screen_new):
      	* src/screen.h (struct MetaScreen):
      	* src/window.c (meta_window_new_with_attrs, meta_window_show):
      	* src/workspace.c (meta_workspace_focus_default_window):
      	Replace display->no_focus_window with a no_focus_window for each
      	screen.
      
      	* src/display.[ch] (meta_display_xwindow_is_a_no_focus_window,
      	  event_callback):
      	* src/window.c (meta_window_new_with_attrs):
      	New utility function, meta_display_xwindow_is_a_no_focus_window(),
      	for checking if the given xwindow is a no_focus_window for one of
      	the screens.
      703f58cd
  20. 22 Dec, 2005 2 commits
  21. 19 Nov, 2005 1 commit
    • Elijah Newren's avatar
      Merge of all the changes on the constraints_experiments branch. This is · a7201d27
      Elijah Newren authored
      2005-11-18  Elijah Newren  <newren@gmail.com>
      
      	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
      	            co...
      a7201d27
  22. 12 Nov, 2005 1 commit
    • Aidan Delaney's avatar
      Changed the 'minimized' field of the MetaTabEntry struct to 'hidden'. · 6677b55c
      Aidan Delaney authored
      2005-11-11 Aidan Delaney <a.j.delaney@brighton.ac.uk>
      
             * src/tabpopup.h: (struct _MetaTabEntry):
             * src/tabpopup.c: (meta_ui_tab_popup_new):
             * src/screen.c: (meta_screen_ensure_tab_popup):
             Changed the 'minimized' field of the MetaTabEntry struct to
             'hidden'.  Fixes reopened bug #168455.
      6677b55c
  23. 08 Oct, 2005 1 commit
  24. 12 Jul, 2005 1 commit
  25. 11 Jul, 2005 1 commit
    • Matthias Clasen's avatar
      React to cursor theme changes: (#308106) · 8ce054b2
      Matthias Clasen authored
      2005-07-11  Matthias Clasen  <mclasen@redhat.com>
      
      	React to cursor theme changes: (#308106)
      
      	* src/prefs.h:
      	* src/prefs.c: Expose the GConf keys for cursor theme
      	and size as preferences META_PREF_CURSOR_THEME and
      	META_PREF_CURSOR_SIZE with getters meta_prefs_get_cursor_theme()
      	and meta_prefs_get_cursor_size().
      
      	* src/display.c (meta_display_open): Initialize the cursor
      	theme and size.
      
      	* src/display.h:
      	* src/display.c (meta_display_set_cursor_theme): New function
      	to change the cursor theme and update all cursors.
      
      	* src/screen.h
      	* src/screen.c (meta_screen_update_cursor): New function to
      	refesh the root cursor of a screen.
      
      	* src/main.c (prefs_changed_callback): Update the cursor
      	theme when the cursor preferences change.
      8ce054b2
  26. 07 Jun, 2005 1 commit
    • Ray Strode's avatar
      Cleanup font data when done with it (bug 306720). · 064a86e6
      Ray Strode authored
      2005-06-07  Ray Strode  <rstrode@redhat.com>
      
      	Cleanup font data when done with it (bug 306720).
      
      	* src/effects.c (draw_xor_rect): free font info structure.
      	* src/screen.c (meta_screen_new): pass a 1 not a 0 to
      	XFreeFontInfo to free font info structure.
      	(meta_screen_free): call XUnloadFont on GC font before freeing
      	the GC.
      064a86e6
  27. 30 May, 2005 1 commit
    • Ray Strode's avatar
      Bug 305564 again. · 14b8de37
      Ray Strode authored
      2005-05-30  Ray Strode  <rstrode@redhat.com>
      
      	Bug 305564 again.
      
      	When drawing XOR resize popup use "fixed" font instead of
      	-misc-fixed-*-16-* xlfd.  Should work on more xservers.
      
      	Also take steps to fail better if the xserver isn't
      	cooperating.
      
      	* src/effects.c (draw_xor_rect): if we can't draw font box
      	for whatever reason, at least draw grid frames.
      
      	* src/screen.c (meta_screen_new): use fixed alias instead
      	of a xfld.  Don't pass GCFont to XCreateGC if font couldn't
      	be loaded.  Print a warning if font couldn't be loaded.
      14b8de37
  28. 26 May, 2005 1 commit
  29. 28 Feb, 2005 1 commit
    • Elijah Newren's avatar
      Patch from Aidan Delaney to make sure that icons in the alt-tab popup are · c7ebe972
      Elijah Newren authored
      2005-02-28  Elijah Newren  <newren@gmail.com>
      
      	Patch from Aidan Delaney to make sure that icons in the alt-tab
      	popup are dimmed for all hidden windows, not just minimized ones.
      	Fixes #168455.
      
      	* src/screen.c: (meta_screen_ensure_tab_popup): make use
      	meta_window_showing_on_its_workspace() instead of just checking if
      	the window is minimized.
      c7ebe972
  30. 20 Jan, 2005 1 commit
  31. 18 Jan, 2005 1 commit
    • Vincent Noel's avatar
      In the tab task switcher popup, dim the window icon and put its name · 47221dcc
      Vincent Noel authored
      2005-01-18  Vincent Noel  <vnoel@cox.net>
      
      	* src/screen.c: (meta_screen_ensure_tab_popup),
      	(meta_screen_ensure_workspace_popup):
      	* src/tabpopup.c: (dimm_icon), (meta_ui_tab_popup_new),
      	(free_entry):
      	* src/tabpopup.h: In the tab task switcher popup, dim the window
      	icon and put its name between brackets when the window is
      	minimized. Fixes #136666.
      47221dcc
  32. 20 Dec, 2004 1 commit
    • Elijah Newren's avatar
      Focus the desktop when showing it. Fixes #159257. · d8d77bd6
      Elijah Newren authored
      2004-12-19  Elijah Newren  <newren@gmail.com>
      
      	Focus the desktop when showing it.  Fixes #159257.
      
      	* src/display.c (event_callback): obtain a timestamp to pass to
      	meta_screen_show_desktop
      
      	* src/keybindings.c (handle_toggle_desktop): obtain a timestamp to
      	pass to meta_screen_show_desktop
      
      	* src/screen.c (meta_screen_show_desktop): add a timestamp
      	parameter, get the most recently used window of type DESKTOP (if
      	there is one) and focus it
      
      	* src/screen.h (meta_screen_show_desktop): add a timestamp
      	parameter
      d8d77bd6
  33. 22 Oct, 2004 1 commit
    • Elijah Newren's avatar
      Update _NET_WM_STATE_HIDDEN so the pager on the panel will know whether to · 6d77251c
      Elijah Newren authored
      2004-10-22  Elijah Newren  <newren@math.utah.edu>
      
      	Update _NET_WM_STATE_HIDDEN so the pager on the panel will know
      	whether to display windows as visible or hidden (#105665)
      
      	* src/screen.c (queue_windows_showing): Revert the
      	queue_windows_showing portion of the patch committed on 2004-10-16
      	for #142198--it was an ill-advised optimization.
      
      	* src/window.c (window_showing_on_its_workspace,
      	window_should_be_showing): split the old window_should_be_showing
      	into these two functions, (set_net_wm_state): hidden state is more
      	complex; use window_showing_on_its_workspace to determine the
      	correct value
      6d77251c
  34. 17 Oct, 2004 1 commit
    • Elijah Newren's avatar
      Make the "showing desktop" mode be per-workspace instead of per-screen. · e84778d1
      Elijah Newren authored
      2004-10-16  Elijah Newren  <newren@math.utah.edu>
      
      	Make the "showing desktop" mode be per-workspace instead of
      	per-screen. (fixes #142198)
      
      	* src/keybindings.c (handle_toggle_desktop): access
      	showing_desktop through the active workspace
      
      	* src/screen.c (meta_screen_new): remove initialization of
      	screen->showing_desktop,
      	(meta_screen_update_showing_desktop_hint): rename and make not
      	static and access showing_desktop through the active workspace,
      	(queue_windows_showing): replace meta_display_list_windows() with
      	screen->active_workspace->windows,
      	(meta_screen_minimize_all_on_active_workspace_except): renamed
      	from meta_screen_minimize_all_except since it now only works on
      	the active workspace, (meta_screen_show_desktop,
      	meta_screen_unshow_desktop): access showing_desktop through the
      	active workspace
      
      	* src/screen.h (struct _MetaScreen): remove showing_desktop field,
      	(meta_screen_minimize_all_on_active_workspace_except): rename from
      	meta_screen_minimize_all_except,
      	(meta_screen_update)_showing_desktop_hint): export this function too
      
      	* src/window.c (maybe_leave_show_desktop_mode): access
      	showing_desktop through the active workspace and use new name for
      	meta_screen_minimize_all_on_active_workspace_except,
      	(window_should_be_showing): access showing_desktop through the
      	active workspace
      
      	* src/workspace.c (meta_workspace_new): initialize
      	workspace->showing_desktop, (meta_workspace_activate_with_focus):
      	add note that old can be NULL, update showing_desktop_hint if
      	different on this workspace than the previous one
      
      	* src/workspace.h (struct _MetaWorkspace): add showing_desktop
      	field
      e84778d1
  35. 04 Oct, 2004 1 commit
    • Elijah Newren's avatar
      Fix a variety of focus race conditions in all focus modes, or at least · 16b9aff4
      Elijah Newren authored
      2004-10-04  Elijah Newren  <newren@math.utah.edu>
      
      	Fix a variety of focus race conditions in all focus modes, or at
      	least make them harder to trigger (fixes #152000)
      
      	* src/core.[ch] (meta_core_user_lower_and_unfocus): add a
      	timestamp parameter; pass it along to
      	meta_workspace_focus_default_window
      
      	* src/display.[ch] (meta_display_get_current_time_roundtrip): new
      	function
      
      	* src/display.c (event_callback): pass a timestamp to the
      	meta_workspace_activate and meta_workspace_focus_default_window
      	function calls
      
      	* src/frames.c (meta_frames_button_press_event): pass a timestamp
      	to meta_core_user_lower_and_unfocus
      
      	* src/keybindings.c (handle_activate_workspace): pass a timestamp
      	to meta_workspace_activate, (process_workspace_switch_grab): pass
      	a timestamp to meta_workspace_focus_default_window and
      	meta_workspace_activate, (handle_toggle_desktop): pass a timestamp
      	to meta_workspace_focus_default_window,
      	(do_handle_move_to_workspace): pass a timestamp to
      	meta_workspace_activate_with_focus, (handle_workspace_switch):
      	meta_workspace_activate
      
      	* src/screen.c (meta_screen_new): pass a timestamp to
      	meta_workspace_activate
      
      	* src/window.c (meta_window_free): pass a timestamp to
      	meta_workspace_focus_default_window, (idle_calc_showing): don't
      	increment the focus sentinel here, (meta_window_minimize): pass a
      	timestamp to meta_workspace_focus_default_window,
      	(meta_window_client_message), pass a timestamp to
      	meta_workspace_focus_default_window
      
      	* src/workspace.h (meta_workspace_activate): add timestamp
      	parameter, (meta_workspace_activate_with_focus): add timestamp
      	parameter, (meta_workspace_focus_default_window): add timestamp
      	parameter
      
      	* src/workspace.c (meta_workspace_focus_mru_window): make this
      	function take a timestamp and use it for meta_window_focus or
      	XSetInputFocus, (meta_workspace_activate_with_focus): make this
      	function take a timestamp and pass it along to meta_window_focus
      	and meta_workspace_focus_default_window,
      	(meta_workspace_activate): make this function take a timestamp and
      	pass it to meta_workspace_activate_with_focus),
      	(meta_workspace_focus_default_window): make this function take a
      	timestamp, warn if its 0 but try to handle that case sanely, and
      	pass the timestamp on to meta_window_focus or
      	meta_workspace_focus_mru_window or XSetInputFocus
      16b9aff4
  36. 16 Sep, 2004 1 commit
    • Kjartan Maraas's avatar
      A load of fixes of issues reported by sparse. Closes bug #152849 · 43cc3b86
      Kjartan Maraas authored
      2004-09-17  Kjartan Maraas  <kmaraas@gnome.org>
      
      	* src/bell.c: (meta_bell_flash_screen):
      	* src/compositor.c:
      	* src/effects.c: (meta_effects_draw_box_animation):
      	* src/fixedtip.c: (meta_fixed_tip_show):
      	* src/frame.c: (find_argb_visual):
      	* src/frames.c: (unsigned_long_hash), (meta_frames_manage_window),
      	(meta_frames_apply_shapes):
      	* src/iconcache.c: (find_largest_sizes), (find_best_size):
      	* src/keybindings.c: (meta_spawn_command_line_async_on_screen):
      	* src/main.c: (main):
      	* src/menu.c: (meta_window_menu_new):
      	* src/prefs.c: (meta_prefs_get_visual_bell),
      	(meta_prefs_bell_is_audible), (meta_prefs_get_visual_bell_type),
      	(meta_prefs_get_action_double_click_titlebar),
      	(meta_prefs_get_auto_raise), (meta_prefs_get_auto_raise_delay),
      	(meta_prefs_get_reduced_resources):
      	* src/screen.c: (meta_create_offscreen_window):
      	* src/tabpopup.c: (meta_ui_tab_popup_get_selected):
      	* src/theme-parser.c: (meta_theme_load):
      	* src/theme.c: (meta_gtk_widget_get_font_desc):
      	* src/tools/metacity-mag.c: (mouse_press), (begin_area_grab):
      	* src/util.c: (meta_unsigned_long_hash): A load of fixes of issues
      	reported by sparse. Closes bug #152849
      43cc3b86