Commit Graph

1036 Commits

Author SHA1 Message Date
Elijah Newren
754a75546d trivial fix to a log message: change %d to %lu (see debugging log from bug
2005-02-16  Elijah Newren  <newren@gmail.com>

	* src/display.c: (event_callback): trivial fix to a log message:
	change %d to %lu (see debugging log from bug 167358).
2005-02-16 09:36:24 +00:00
Elijah Newren
0488efc8c1 Raise the ancestor of a window instead of the window itself. Fixes
2005-02-12  Elijah Newren  <newren@gmail.com>

	Raise the ancestor of a window instead of the window itself.
	Fixes #166894.

	* src/window.c: (find_root_ancestor): new function,
	(meta_window_raise): get the ancestor of the given window and
	raise it if possible instead of the window
2005-02-12 07:34:30 +00:00
Elijah Newren
9fa5c1d4b9 Don't unconditionally place splashscreens (and other not-to-befocused
2005-02-12  Elijah Newren  <newren@gmail.com>

	Don't unconditionally place splashscreens (and other
	not-to-befocused windows) below the focus window.  Fixes #167042.

	* src/window.c: (intervening_user_event_occurred): new function
	taken from the timestamp comparison portion of the old
	window_takes_focus_on_map function, (window_state_on_map): new
	function with remainder of old window_takes_focus_on_map function
	that determines both whether the window will take focus and
	whether it should be placed on top, (meta_window_show): use
	place_on_top_on_map to determine window stacking instead of trying
	to infer it from takes_focus_on_map
2005-02-12 07:19:41 +00:00
Elijah Newren
d31a0829be Avoid new windows being obscured by the focus window (and thus possibly
2005-02-11  Elijah Newren  <newren@gmail.com>

	Avoid new windows being obscured by the focus window (and thus
	possibly lost).  Fixes #166524.

	* src/place.c: new MetaWindowDirection enum,
	(find_most_freespace): new function to find where there is the
	most space available around the focused window,
	(meta_window_place): if a window is denied focus and the window
	overlaps the focused window, retry the first-fit algorithm only
	paying attention to the focus window position and if that fails
	just find the location on the screen with the most space
	available.

	* src/window.h: (struct MetaWindow): new
	denied_focus_and_not_transient bitfield

	* src/window.c: (meta_window_new_with_attrs): initialize
	denied_focus_and_not_transient, (meta_window_show): set and unset
	the denied_focus_and_not_transient field appropriately
2005-02-11 19:20:44 +00:00
Aidan Delaney
f7aad0d647 Removed useless function call. #166730
2005-02-08  Aidan Delaney  <adelaney@cs.may.ie>

	Removed useless function call.  #166730

	* src/tabpopup.c: (outline_window_expose): Removed unused
	references to variables and an unnecessary function call to
	gdk_window_get_size().
2005-02-09 16:07:56 +00:00
Elijah Newren
fe1416c65f Avoid using CurrentTime when focusing, handle it better in case we miss
2005-02-08  Elijah Newren  <newren@gmail.com>

	Avoid using CurrentTime when focusing, handle it better in case we
	miss any cases.  Fixes #166732.

	* src/window.c: (meta_window_shade): use
	meta_display_get_current_time_roundtrip() to ensure we have a
	valid timestamp, (meta_window_unshade): same

	* src/display.c: (meta_display_set_input_focus_window): If
	CurrentTime was passed, get one from the XServer in addition to
	throwing a warning, (meta_display_focus_the_no_focus_window): same
2005-02-09 03:18:46 +00:00
Elijah Newren
454e595ef8 If we're not passed a timestamp, make sure to manually get one. Fixes
2005-02-08  Elijah Newren  <newren@gmail.com>

	* src/window.c: (meta_window_activate): If we're not passed a
	timestamp, make sure to manually get one.  Fixes #166728.
2005-02-09 03:15:11 +00:00
Elijah Newren
ffceb7819f post-release version bump to 2.9.21
2005-02-07  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.9.21
2005-02-07 18:07:54 +00:00
Elijah Newren
249c105d01 Metacity 2.9.13 unstable release
2005-02-07  Elijah Newren  <newren@gmail.com>

	* NEWS: Metacity 2.9.13 unstable release
2005-02-07 18:06:29 +00:00
Elijah Newren
0aa903f0d4 Set a _METACITY_VERSION property (a utf8 string) on the WM check window.
2005-02-06  Elijah Newren  <newren@gmail.com>

	Set a _METACITY_VERSION property (a utf8 string) on the WM check
	window.  #165350.

	* src/display.h: (struct MetaDisplay): add a atom_metacity_version
	field

	* src/display.c: (meta_display_open): initialize the
	_METACITY_VERSION property on the WM check window to the current
	version of Metacity.
2005-02-07 04:37:35 +00:00
Elijah Newren
459c6668fb Ignore xconfigurerequest events for stacking when it should be safe to do
2005-02-06  Elijah Newren  <newren@gmail.com>

	Ignore xconfigurerequest events for stacking when it should be
	safe to do so.  Again, thanks to Crispin Flowerday for the test
	case.  Thanks to KWin for the inspiration (and to Google for
	indexing their source code).  Fixes the other half of #166395.

	* src/window.c: (meta_window_configure_request): if the
	active_window is from a separate application than the one getting
	the configure request and the net_wm_user_time of the active
	window is later than that of the window getting the configure
	request, then ignore the request.
2005-02-06 17:01:41 +00:00
Elijah Newren
d11681e505 If activation requests are too old, set the demands_attention hint instead
2005-02-06  Elijah Newren  <newren@gmail.com>

	If activation requests are too old, set the demands_attention hint
	instead of actually activating.  Thanks to Crispin Flowerday for
	the test case and for testing the patch.  Fixes half of #166395.

	* src/window.c: (meta_window_activate): if the request came before
	the last focus time, set the demands attention hint instead
2005-02-06 16:52:26 +00:00
Dave Ahlswede
959a997eba Add period to the end of reduced_resources' description. Fixes #165780.
2005-02-04  Dave Ahlswede  <mightyquinn@letterboxes.org>

	* src/metacity.schemas.in: Add period to the end of
	reduced_resources' description.  Fixes #165780.
2005-02-05 03:57:41 +00:00
Elijah Newren
84312194e8 Make sure window->border_only is initialized so we don't get random
2005-02-04  Elijah Newren  <newren@gmail.com>

	Make sure window->border_only is initialized so we don't get
	random windows without decorations.  Thanks to Sinisa Segvic and
	Owen Taylor for providing test cases.  Fixes #145131.

	* src/window.c: (update_mwm_hints): Be sure to call
	recalc_window_features even if no MWM hints are set
2005-02-05 03:02:42 +00:00
Elijah Newren
de5588c10e Focus parents of dismissed transient windows in preference to the window
2005-02-02  Elijah Newren  <newren@gmail.com>

	Focus parents of dismissed transient windows in preference to the
	window that most recently had keyboard focus.  Fixes #157360.

	* doc/how-to-get-focus-right.txt: Note the distinction between
	"most recently used window" and "most recent to have keyboard
	focus" that we are now making.

	* src/workspace.c: (focus_ancestor_or_mru_window): rename from
	meta_workspace_focus_mru_window, and first check whether we need
	to focus an ancestor window before looking for the mru window,
	(record_ancestor): helper function for
	focus_ancestor_or_mru_window,
	(meta_workspace_focus_default_window): update due to the function
	rename from meta_workspace_focus_mru_window to
	focus_ancestor_or_mru_window
2005-02-02 18:46:09 +00:00
Elijah Newren
77854b808a Some dufus forgot to save the ChangeLog before committing... :-/ 2005-01-31 20:43:23 +00:00
Elijah Newren
e2eb979ecd Try 2 to correct misleading and inaccurate wording. Hopefully, really
2005-01-31  Elijah Newren  <newren@gmail.com>

	Try 2 to correct misleading and inaccurate wording.  Hopefully,
	really fixes #165380.

	* src/menu.c: Change wording of menu from "Always on Current
	Workspace" to "Always on Visible Workspace".  "Always on Current
	Workspace" could sound like a synonym of "Only on This Workspace"
	when it was supposed to be the opposite.
2005-01-31 20:41:33 +00:00
Elijah Newren
51bbd0e1a8 Correct the stacking when return from fullscreen mode. Fixes #165718.
2005-01-31  Elijah Newren  <newren@gmail.com>

	Correct the stacking when return from fullscreen mode.  Fixes
	#165718.

	* src/window.c: (meta_window_unmake_fullscreen): Update the layer
	after resizing the window
2005-01-31 16:49:23 +00:00
Muktha
a7c2bacd64 src/themes/Atlanta/metacity-theme-1.xml:
2005-01-31  Muktha  <muktha.narayan@wipro.com>

        src/themes/Atlanta/metacity-theme-1.xml:
        src/themes/Simple/metacity-theme-1.xml:
        src/themes/Bright/metacity-theme-1.xml:
        Make the unfocussed title bar distinguishable. Fixes #125291.
2005-01-31 09:54:34 +00:00
Elijah Newren
aa2da7d82e Patch from RHEL-3 (Havoc doesn't remember how it got there) that Havoc
2005-01-28  Elijah Newren  <newren@gmail.com>

	Patch from RHEL-3 (Havoc doesn't remember how it got there) that
	Havoc posted in bug 156511 to fix the problem with fullscreen
	windows on a different xinerama monitor not staying on top.  I
	updated to HEAD.  Should fix #156511.

	* src/stack.c: (windows_on_different_xinerama): new function,
	(get_standalone_layer): let windows on a different screen than the
	one with the focus window stay in the fullscreen layer
2005-01-28 18:42:14 +00:00
Elijah Newren
9221a550db make this dialog be sticky. Fixes #164745.
2005-01-28  Elijah Newren  <newren@gmail.com>

	* src/metacity-dialog.c: (warn_about_no_sm_support): make this
	dialog be sticky.  Fixes #164745.
2005-01-28 16:49:36 +00:00
Elijah Newren
c66adff00d Patch from Tim Herold to handle xcomposite pkgconfig version regression.
2005-01-28  Elijah Newren  <newren@gmail.com>

	Patch from Tim Herold to handle xcomposite pkgconfig version
	regression.  Fixes #149368.

	* configure.in: Change XCOMPOSITE_VERSION from 1.0 to 0.2
2005-01-28 16:45:48 +00:00
Elijah Newren
7d0ef20a9c Change wording of menu to "Always on Current Workspace" from "Put on All
2005-01-28  Elijah Newren  <newren@gmail.com>

	* src/menu.c: Change wording of menu to "Always on Current
	Workspace" from "Put on All Workspaces", remove a quick-key
	conflict between "On _Top" and "Only on _This Workspace" by
	switching the latter to "_Only on This Workspace"

	* src/window.c: Remove a comment that is no longer necessary
	(since bug 87531 has been fixed)
2005-01-28 16:36:14 +00:00
Elijah Newren
5389f135ce Take into account the appropriate list of windows when placing a new one.
2005-01-28  Elijah Newren  <newren@gmail.com>

	Take into account the appropriate list of windows when placing a
	new one.  Fixes #165381.

	* src/place.c: (meta_window_place): use
	meta_window_showing_on_its_workspace(w) instead of !w->minimzed,
	also take into account sticky windows

	* src/window.[ch]: rename window_showing_on_its_workspace to
	meta_window_showing_on_its_workspace and export it
2005-01-28 14:48:47 +00:00
Elijah Newren
1e580d1e52 Plug a pair of leaks. Fixes #165378
2005-01-27  Elijah Newren  <newren@gmail.com>

	Plug a pair of leaks.  Fixes #165378

	* src/place.c: (meta_window_place, get_windows_on_same_workspace):
	free list returned by meta_display_list_windows.
2005-01-27 18:30:27 +00:00
Elijah Newren
d93d26aaeb Treat splashscreens same as other windows for stacking. Fixes #165243.
2005-01-27  Elijah Newren  <newren@gmail.com>

	Treat splashscreens same as other windows for stacking.  Fixes
	#165243.

	* src/stack.h: (MetaStackLayer enum): remove META_LAYER_SPLASH
	from the list

	* src/stack.c: (get_standalone_layer): remove the special casing
	of META_WINDOW_SPLASHSCREEN
2005-01-27 18:28:06 +00:00
Elijah Newren
0a95c706bf shaded windows should not show up in pagers. Fixes #165377.
2005-01-27  Elijah Newren  <newren@gmail.com>

	* src/window.c: (set_net_wm_state): shaded windows should not show
	up in pagers.  Fixes #165377.
2005-01-27 18:23:51 +00:00
Elijah Newren
5fe06b5fff Stick and unstick transients with their parent automatically. Fixes
2005-01-26  Elijah Newren  <newren@gmail.com>

	Stick and unstick transients with their parent automatically.
	Fixes #152283.

	* src/window.c: (window_stick_impl, window_unstick_impl): rename
	from meta_window_stick and meta_window_unstick respectively,
	(stick_foreach_func): a function to assist calling
	window_(un)stick_impl on each transient, (meta_window_stick,
	meta_window_unstick): new functions that call window_stick_impl or
	window_unstick_impl for the window and each of its transients.
2005-01-26 23:25:05 +00:00
Elijah Newren
893309b372 Patch from John Paul Wallington to keep tooltip on screen horizontally for
2005-01-26  Elijah Newren  <newren@gmail.com>

	Patch from John Paul Wallington to keep tooltip on screen
	horizontally for xinerama.  Fixes #165261.

	* src/fixedtip.c: (meta_fixed_tip_show): rename screen_width and
	screen_height to screen_right_edge and screen_bottom_edge, set
	them using xinerama info instead of just screen geometry, and use
	them to determine where to place the tooltip window.
2005-01-26 20:56:15 +00:00
Arvind Samptur
cf102c12f4 Don't wireframe when accessibility is on, it apparently causes a desktop
2005-01-26  Arvind Samptur  <arvind.samptur@wipro.com>

        Don't wireframe when accessibility is on, it apparently
        causes a desktop wide freeze.

        * src/prefs.[ch] (meta_prefs_init) (change_notify)
        (update_gnome_accessibility) (meta_preference_to_string)
        (meta_prefs_get_gnome_accessibility) : Add code to monitor
        accessibility status.

        * src/display.c (meta_display_begin_grab_op): Check
        accessibility status before going ahead with wireframe.
        Fixes #159538
2005-01-26 08:43:38 +00:00
Elijah Newren
ebaa77c312 ignore sticky windows for non-active workspaces. Fixes #165259.
2005-01-25  Elijah Newren  <newren@gmail.com>

	* src/tabpopup.c: (meta_select_workspace_expose_event): ignore
	sticky windows for non-active workspaces.  Fixes #165259.
2005-01-26 02:51:31 +00:00
Elijah Newren
bb03725397 set the window state hints _after_ applying session information. Fixes
2005-01-25  Elijah Newren  <newren@gmail.com>

	* src/window.c: (meta_window_new_with_attrs): set the window state
	hints _after_ applying session information.  Fixes #164677.
2005-01-26 02:47:49 +00:00
Elijah Newren
ea4d4b7b3e Add man pages for metacity-window-demo and metacity-theme-viewer. Man
2005-01-25  Elijah Newren  <newren@gmail.com>

	Add man pages for metacity-window-demo and metacity-theme-viewer.
	Man pages from Jose Moya, auto-fu from Dave Ahlswede. (#143513)

	* doc/man/metacity-theme-viewer.1:
	* doc/man/metacity-window-demo.1:

	New man pages

	* doc/man/Makefile.am:
	* doc/Makefile.am:
	* configure.in:

	Make sure to install the man pages

	* doc/man/.cvsignore:

	Silence cvs
2005-01-25 23:28:55 +00:00
Benjamin Kahn
f388d1111f New 48x48 default icon as specified in bug #160660 2005-01-25 18:47:57 +00:00
Elijah Newren
f5984f4365 Patch from Stephane LOEUILLET in bug #151850.
2005-01-25  Elijah Newren  <newren@math.utah.edu>

	Patch from Stephane LOEUILLET in bug #151850.

	* src/metacity.desktop.in: specify encoding
2005-01-25 18:27:43 +00:00
Balamurali Viswanathan
a8347dfd2f Get gconf to load the terminal dir so that we get the notifications when
2005-01-25  Balamurali Viswanathan <balamurali.viswanathan@wipro.com>

 	* src/prefs.c (meta_prefs_init): Get gconf to load the
 	terminal dir so that we get the notifications when
 	the command is changed. Fixes bug #160934
2005-01-25 18:02:39 +00:00
Elijah Newren
f31c57a049 Refuse to focus a window with a modal transient, and focus the transient
2005-01-25  Elijah Newren  <newren@gmail.com>

	Refuse to focus a window with a modal transient, and focus the
	transient instead.  Fixes #164716.

	* src/window.c: (get_modal_transient): new function,
	(meta_window_focus): if the window has a modal transient, make
	sure it is on the current workspace and then focus it instead.
2005-01-25 17:26:06 +00:00
Elijah Newren
640d793ce4 post-release version bump to 2.9.13
2005-01-24  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.9.13
2005-01-24 18:10:54 +00:00
Elijah Newren
b5529bc5e8 Metacity 2.9.8 unstable release
2005-01-24  Elijah Newren  <newren@gmail.com>

	* NEWS: Metacity 2.9.8 unstable release
2005-01-24 18:09:46 +00:00
Elijah Newren
2dcaa941b4 don't forget to initialize display->grab_old_window_stacking. Thanks to
2005-01-24  Elijah Newren  <newren@gmail.com>

	* src/display.c: (meta_display_begin_grab_op): don't forget to
	initialize display->grab_old_window_stacking.  Thanks to Sebastien
	Bacher and the bleeding edge Ubuntu users for catching the
	occasional crash this could cause so quickly, and for verifying
	that the patch worked (I couldn't duplicate).  Fixes #165093.
2005-01-24 17:39:26 +00:00
Elijah Newren
145d134095 post-release version bump to 2.9.8
2005-01-23  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.9.8
2005-01-24 06:55:48 +00:00
Elijah Newren
1a5d738e68 Metacity 2.9.5 unstable release there are more stable releases beyond
2005-01-23  Elijah Newren  <newren@gmail.com>

	* NEWS: Metacity 2.9.5 unstable release
	* README: there are more stable releases beyond 2.8.6...
2005-01-24 06:44:16 +00:00
Elijah Newren
2d0d5e8cac Restore original stacking when aborting an alt-esc window switch
2005-01-23  Elijah Newren  <newren@gmail.com>

	Restore original stacking when aborting an alt-esc window switch
	operation.  Fixes #123576.

	* src/display.c: (GRAB_OP_IS_WINDOW_SWITCH): new macro,
	(meta_display_close): clear grab_old_window_stacking if non-NULL,
	(event_callback): restore stack positions if alt-esc op cancelled
	with button press, (meta_display_begin_grab_op): store the old
	stacking positions, (meta_display_end_grab_op): free the old stack
	positions

	* src/display.h: (struct _MetaDisplay): add a
	grab_old_window_stacking list

	* src/keybindings.c: (process_tab_grab): restore stack positions
	if alt-esc op cancelled with an errant key press

	* src/stack.c: (compare_just_window_stack_position): new
	GCompareFunc function, (meta_stack_get_positions): get current
	stack positions, (compare_pointers): new GCompareFunc function,
	(lists_contain_same_windows): simple utility func to see if two
	lists contains the same windows, (meta_stack_set_positions): new
	function to set the positions of all the windows in the stack

	* src/stack.h: (meta_stack_get_postions,
	meta_stack_set_positions): new functions
2005-01-24 05:58:30 +00:00
Elijah Newren
814cc4b698 Patch from John Paul Wallington to fix #163420.
2005-01-23  Elijah Newren  <newren@gmail.com>

	Patch from John Paul Wallington to fix #163420.

	* src/window.c: (check_maximize_to_work_area): fix vertical
	maximization for second screen
2005-01-24 04:21:14 +00:00
Elijah Newren
667796d53b Add a tracker bug for modal dialog issues
2005-01-21  Elijah Newren  <newren@gmail.com>

	* rationales.txt: Add a tracker bug for modal dialog issues
2005-01-21 18:08:19 +00:00
Elijah Newren
a1cdbf6d03 use pixbuf, not dimmed_pixbuf (which isn't defined yet). Fixes crash from
2005-01-20  Elijah Newren  <newren@gmail.com>

	* src/tabpopup.c (dimm_icon): use pixbuf, not dimmed_pixbuf (which
	isn't defined yet).  Fixes crash from #136666.
2005-01-21 01:58:10 +00:00
Vincent Noel
46ededed08 Show labels in bold for windows that demand attention. Fixes #164590.
2005-01-20  Vincent Noel  <vnoel@cox.net>

	* src/screen.c: (meta_screen_ensure_tab_popup),
	(meta_screen_ensure_workspace_popup):
	* src/tabpopup.c: (meta_ui_tab_popup_new), (display_entry):
	* src/tabpopup.h: Show labels in bold for windows that demand
	attention. Fixes #164590.
2005-01-20 16:41:29 +00:00
Vincent Noel
47221dcce2 In the tab task switcher popup, dim the window icon and put its name
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.
2005-01-18 16:48:53 +00:00
Elijah Newren
2e465de233 Correct highlighting of windows in workspace switcher popup. Fixes
2005-01-11  Elijah Newren  <newren@gmail.com>

	Correct highlighting of windows in workspace switcher popup.
	Fixes #163450.

	* src/tabpopup.c (meta_select_workspace_expose_event): Remove race
	between FocusIn/FocusOut events and the expose event by replacing
	window->has_focus with
	window==window->display->expected_focus_window.
2005-01-11 19:54:14 +00:00
Elijah Newren
1830a35000 post-release version bump to 2.9.5
2005-01-09  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.9.5
2005-01-10 05:10:33 +00:00
Elijah Newren
d9e622b375 Metacity 2.9.3 unstable release
2005-01-09  Elijah Newren  <newren@gmail.com>

	* NEWS: Metacity 2.9.3 unstable release
2005-01-10 05:09:25 +00:00
Elijah Newren
7d747092a6 Remove the hack from bug 128200; it isn't needed anymore with the fix from
2005-01-09  Elijah Newren  <newren@gmail.com>

	* src/display.c (meta_display_open):
	* src/display.h (struct _MetaDisplay):
	* src/window.c (meta_window_free, meta_window_client_message,
	meta_window_notify_focus):

	Remove the hack from bug 128200; it isn't needed anymore with the
	fix from bug #160470.
2005-01-10 00:27:00 +00:00
Elijah Newren
be29c69653 Don't focus the panel on click. Fixes #160470 (and 100470 and removes the
2005-01-09  Elijah Newren  <newren@gmail.com>

	Don't focus the panel on click.  Fixes #160470 (and 100470 and
	removes the need for the hack from 128200)

	* doc/how-to-get-focus-right.txt: Update section on focusing
	non-decorated windows (specifically, DOCKS and DESKTOPS)

	* src/display.c (event_callback): don't focus dock windows on
	click
2005-01-09 19:27:22 +00:00
Elijah Newren
c0924402d4 Make sure the save session dialog appears focused. Fixes #162983.
2005-01-06  Elijah Newren  <newren@gmail.com>

	Make sure the save session dialog appears focused.  Fixes #162983.

	* src/session.c (warn_about_lame_clients_and_finish_inter): Get a
	timestamp by explicit request from Xserver, since none is
	available otherwise.
2005-01-07 05:19:26 +00:00
Leena Gunda
7549d1511a Restore the wireframe rectangle co-ordinates to saved window co-ordinates.
2005-01-06  Leena Gunda  <leena.gunda@wipro.com>

        * src/window.c (meta_window_unmaximize): Restore the wireframe
        rectangle co-ordinates to saved window co-ordinates. Fixes
        bug #161236.
2005-01-06 05:24:59 +00:00
Thomas Fitzsimmons
7c8faf3eda Install schema data from builddir not srcdir.
2005-01-03  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* src/Makefile.am (install-data-local): Install schema data from
	builddir not srcdir.
2005-01-03 23:50:10 +00:00
Elijah Newren
68b14b6b9a Oops, that was doc/code-overview.txt not src/code-overview.txt 2005-01-02 22:01:03 +00:00
Elijah Newren
9382d5810f Provide more documentation to make it easier for people to contribute to
2005-01-02  Elijah Newren  <newren@gmail.com>

	Provide more documentation to make it easier for people to
	contribute to Metacity

	* HACKING: Add lots of information to extend this document: more
	on relevant standards and X properties, lots of information on
	debugging and testing, and add a list of some other important
	things to read; also move some information to
	src/code-overview.txt and organize this file into sections.

	* src/code-overview.txt: New file including some small parts from
	the old HACKING file and lots of new stuff.  This file gives a
	brief overview of some of the bigger structures and files, with
	guides for a variety of task categories providing places to start
	looking in the code and things to look for.
2005-01-02 21:59:05 +00:00
Elijah Newren
78e54ee7ee Allow users to move the window around immediately after double-clicking to
2004-12-28  Elijah Newren  <newren@gmail.com>

	Allow users to move the window around immediately after
	double-clicking to shade (#90290)

	* src/display.c (event_callback): only end the grab op if either
	there is no frame or else the frame is not mapped
2004-12-28 22:31:10 +00:00
Elijah Newren
c74ab35c6c Focus windows that manually position themselves too (fixes #107347).
2004-12-27  Elijah Newren  <newren@gmail.com>

	Focus windows that manually position themselves too (fixes
	#107347).

	* src/window.h (struct _MetaWindow): add a new
	showing_for_first_time flag

	* src/window.c (meta_window_new_with_attrs): initialize
	showing_for_first_time flag to !mapped, (meta_window_show):
	replace did_placement with showing_for_first_time in the section
	to decided whether to focus since did_placement isn't quite what
	we want
2004-12-28 06:01:42 +00:00
Elijah Newren
0bf6bffb16 Spew warning if CurrentTime is passed to the function, but don't exit
2004-12-27  Elijah Newren  <newren@gmail.com>

	* src/display.c (meta_display_set_input_focus_window,
	meta_display_focus_the_no_focus_window): Spew warning if
	CurrentTime is passed to the function, but don't exit prematurely.
	(fixes #162353)
2004-12-28 05:55:58 +00:00
Elijah Newren
aab8f21475 Don't show menu if all options are invalid (fixes #148915)
2004-12-24  Elijah Newren  <newren@gmail.com>

	* src/window.c (meta_window_show_menu): Don't show menu if all
	options are invalid (fixes #148915)
2004-12-24 19:40:09 +00:00
Elijah Newren
ce8c2d9463 Fix error in distinguishing < vs. <= introduced by the patch in #154598,
2004-12-24  Elijah Newren  <newren@gmail.com>

	* src/window.c (window_takes_focus_on_map): Fix error in
	distinguishing < vs. <= introduced by the patch in #154598,
	restructure code so that verbose log matches code better in order
	ensure such mistakes are harder to make in the future (fixes
	#162172)
2004-12-24 17:27:29 +00:00
Elijah Newren
d5a484479f Thanks to mild7@users.sourceforge.net for this fix.
2004-12-24  Elijah Newren  <newren@gmail.com>

	Thanks to mild7@users.sourceforge.net for this fix.

	* src/window.h: (META_WINDOW_IN_NORMAL_TAB_CHAIN): Excludes
	windows with skip_taskbar hint set from the alt-tab list; they'll
	appear in the ctrl-alt-tab list instead. (fixes #106249)
2004-12-24 15:43:46 +00:00
Elijah Newren
892cb8a8dd Wrap XSetInputFocus, making display->expected_focus_window a little more
2004-12-22  Elijah Newren  <newren@gmail.com>

	Wrap XSetInputFocus, making display->expected_focus_window a
	little more reliable (see #154598)

	* src/display.h: (struct _MetaDisplay): add a large comment about
	the expected_focus_window, add a last_focus_time field,
	(XSERVER_TIME_IS_BEFORE): new macro moved from window.c but fixed
	for 64-bit systems, (meta_display_set_input_focus_window): new
	function

	* src/display.c (meta_display_open): initialize last_focus_time,
	add a comment about brokenness of trying to set intial focus
	window, (meta_display_set_input_focus_window): new function that
	wraps XSetInputFocus,
	(meta_display_focus_the_no_focus_window): make this function
	closer to a wrapping of XSetInputFocus for the no_focus_window.

	* src/window.c (XSERVER_TIME_IS_LATER): remove this macro in favor
	of the improved one added to display.h

	* src/display.c (meta_display_open):
	* src/window.c (meta_window_focus):
	use meta_display_focus_the_no_focus_window and
	meta_display_set_input_focus instead of XSetInputFocus
2004-12-23 06:44:56 +00:00
Elijah Newren
e46fc46701 Rename meta_window_visible_on_workspace to
2004-12-22  Elijah Newren  <newren@gmail.com>

	* src/core.c (meta_core_user_lower_and_unfocus):
	* src/display.c (meta_display_get_current_tab):
	* src/stack.c (get_default_focus_window, meta_stack_list_windows):
	* src/window.c (set_net_wm_state, meta_window_should_be_showing,
	implement_showing, meta_window_activate,
	meta_window_notify_focus):
	* src/window.h:
	* src/workspace.c (meta_workspace_list_windows):

	Rename meta_window_visible_on_workspace to
	meta_window_located_on_workspace (whether or not the window was
	showing wasn't taken into account, which made "visible"
	confusing).  Fixes #136314.
2004-12-23 00:20:33 +00:00
Elijah Newren
f4f8699d84 Partially resolve the conflicting requirements of windows on multiple
2004-12-22  Elijah Newren  <newren@gmail.com>

	Partially resolve the conflicting requirements of windows on
	multiple workspaces and hidden being a global quantity for windows
	(fixes bug 156182; the remainder of the work is bug 87531 and is a
	libwnck issue)

	* src/display.c (event_callback):
	* src/window.c (meta_window_visible_on_workspace, meta_window_unstick):
	* src/workspace.c (meta_workspace_add_window,
	meta_workspace_contains_window,
	meta_workspace_queue_calc_showing):
	* src/workspace.h:

	Remove meta_workspace_contains_window, replace with simple
	comparison utilizing window->workspace

	* src/place.c (meta_window_place):
	* src/window.c (meta_window_shares_some_workspace):
	* src/window.h:

	Remove meta_window_shares_some_workspace, replace with a simple
	comparison utilizing window->workspace

	* src/session.c (save_state),
	* src/window.c (meta_window_new_with_attrs,
	meta_window_apply_session_info, meta_window_free,
	window_showing_on_its_workspace,
	meta_window_change_workspace_without_transients,
	meta_window_unstick, meta_window_set_current_workspace_hint,
	meta_window_get_workspaces):
	* src/window.h:
	* src/workspace.c (meta_workspace_free, meta_workspace_add_window,
	meta_workspace_remove_window):

	Only one workspace now
2004-12-22 23:52:52 +00:00
Elijah Newren
575bbe7342 post-release version bump to 2.9.3
2004-12-20  Elijah Newren  <newren@gmail.com>

	* configure.in: post-release version bump to 2.9.3
2004-12-20 22:08:02 +00:00
Elijah Newren
80ced567d3 Metacity 2.9.2 unstable release
2004-12-20  Elijah Newren  <newren@gmail.com>

	* NEWS: Metacity 2.9.2 unstable release
2004-12-20 22:06:32 +00:00
Elijah Newren
dbbe2854fe re-add the note about Fibonacci sequence micro version numbers that was
2004-12-20  Elijah Newren  <newren@gmail.com>

	* configure.in: re-add the note	about Fibonacci sequence micro
	version numbers that was lost at version 2.8.5
2004-12-20 20:42:21 +00:00
Elijah Newren
e7deeb609d Thanks to Baptiste Mille-Mathias for this fix.
2004-12-19  Elijah Newren  <newren@gmail.com>

	Thanks to Baptiste Mille-Mathias for this fix.

	* src/metacity.schemas.in: Add a missing period at the end of a
	sentence.
2004-12-20 05:25:47 +00:00
Elijah Newren
d178f5e330 When snap-moving, don't snap to transients of minimized windows since they
2004-12-19  Elijah Newren  <newren@gmail.com>

	When snap-moving, don't snap to transients of minimized windows
	since they are hidden.  Fixes #157180

	* src/place.c (get_windows_on_same_workspace): make the logic to
	determine hidden windows more thorough by calling
	meta_window_should_be_showing()

	* src/window.c (meta_window_should_be_showing): rename this
	function from window_should_be_showing and also export it,
	(implement_showing):
	s/window_should_be_showing/meta_window_should_be_showing/,
	(idle_calc_showing):
	s/window_should_be_showing/meta_window_should_be_showing/

	* src/window.h (meta_window_should_be_showing): Add this function
	to the list so that it can be used in src/place.c
2004-12-20 02:53:08 +00:00
Elijah Newren
d8d77bd65b Focus the desktop when showing it. Fixes #159257.
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
2004-12-20 02:46:42 +00:00
Elijah Newren
c3a607f999 Thanks to ash@contact.bg for this fix.
2004-12-19  Elijah Newren  <newren@gmail.com>

	Thanks to ash@contact.bg for this fix.

	* po/POTFILES.in: Remove reference to metacity-properties.* files
	since Alex removed them in his 2004-12-07 commit.
2004-12-20 02:41:22 +00:00
Elijah Newren
c654b7c502 post-release version bump to 2.9.2 that I forgot to do last week (oops)
2004-12-13  Elijah Newren  <newren@math.utah.edu>

	* configure.in: post-release version bump to 2.9.2 that I forgot
	to do last week (oops)
2004-12-14 00:26:52 +00:00
Alex Duggan
8235fa831f Remove deprecated capplet from GNOME 2.0
2004-12-07  Alex Duggan  <aldug@astrolinux.com>

	* configure.in:
	* src/tools/Makefile.am:

	Remove deprecated capplet from GNOME 2.0

	* src/tools/metacity-properties.c:
	* src/tools/metacity-properties.desktop.in:
	* src/tools/metacity-properties.glade:
	* src/tools/metacity-properties.png:

	Removed from cvs
2004-12-13 19:00:14 +00:00
Elijah Newren
28b7e937d1 Metacity 2.9.1 unstable release
2004-11-01  Elijah Newren  <newren@math.utah.edu>

	* NEWS: Metacity 2.9.1 unstable release
2004-12-06 19:34:39 +00:00
Benjamin Kahn
86ba6115d4 Use a better default application icon. Fixes bug #160373
* src/default_icon.png: Use a better default application
icon.  Fixes bug #160373
2004-12-06 18:55:43 +00:00
Marco Pesenti Gritti
60789cdec4 Fix build out of src directory. Bug #158325
2004-11-16  Marco Pesenti Gritti  <marco@gnome.org>

        * src/Makefile.am:

        Fix build out of src directory. Bug #158325
2004-11-16 16:30:57 +00:00
James Henstridge
bc9e517842 remove intltool stuff on distclean.
2004-11-10  James Henstridge  <james@jamesh.id.au>

	* Makefile.am (DISTCLEANFILES): remove intltool stuff on distclean.

	* src/themes/Makefile.am (uninstall-local): add uninstall rule.

	* src/Makefile.am (libmetacity_private_la_CFLAGS): set this
	variable so that the files shared with metacity get compiled with
	different names.

	* configure.in: use more modern macros in some places, and make
	sure that $ACLOCAL_AMFLAGS is set so that rebuilds work better.

	* autogen.sh (conf_flags): use newer automake.
2004-11-10 07:59:38 +00:00
Vincent Untz
f3743bc494 gnome-panel-screenshot was renamed to gnome-screenshot
2004-11-06  Vincent Untz  <vincent@vuntz.net>

	* src/metacity.schemas.in: gnome-panel-screenshot was renamed to
	gnome-screenshot
2004-11-06 19:43:04 +00:00
Elijah Newren
f45682efbd bump version to 2.9.1
2004-11-01  Elijah Newren  <newren@math.utah.edu>

	* configure.in: bump version to 2.9.1
2004-11-01 15:33:40 +00:00
Elijah Newren
4d936588af Metacity 2.9.0 (unstable release)
2004-11-01 Elijah Newren  <newren@math.utah.edu>

	* NEWS, README: Metacity 2.9.0 (unstable release)
2004-11-01 15:32:00 +00:00
Elijah Newren
2a5689911f Don't lower newly mapped windows when they're denied focus, if they are
2004-10-25  Elijah Newren  <newren@math.utah.edu>

	Don't lower newly mapped windows when they're denied focus, if
	they are transients of the focused window.  Instead, defocus the
	currently focused window.  (fixes #151996).

	(Also, reenable focus stealing prevention and do a small spacing
	cleanup)

	* src/window-props.c (init_net_startup_id): fix spacing

	* src/window.c (window_takes_focus_on_map): re-enable focus
	stealing prevention, (meta_window_show): if the new window is
	denied focus and is a transient of the currently focused window,
	defocus the currently focused window but keep the transient on
	top; remove some old code about transients and focus; make sure
	that EnterNotify events won't accidentally focus the new window.
2004-10-25 16:28:57 +00:00
Elijah Newren
8b26849517 Fix the alt-tab order--if the most recently used window is not focused,
2004-10-25  Elijah Newren  <newren@math.utah.edu>

	Fix the alt-tab order--if the most recently used window is not
	focused, start alt tabbing with that window instead of the one
	after it (fixes #156251)

	* src/display.c (find_tab_forward): add a skip_first parameter,
	(find_tab_backward): add a skip_last parameter,
	(meta_display_get_tab_next): if a beginning window wasn't given
	and the focused window isn't the tab chain, don't skip the MRU
	window
2004-10-25 16:17:19 +00:00
Elijah Newren
6d77251c71 Update _NET_WM_STATE_HIDDEN so the pager on the panel will know whether to
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
2004-10-22 20:28:36 +00:00
Elijah Newren
ccd4414a0f Patch from Soeren to fix the modifier key breakage introduced by an Xorg
2004-10-20  Elijah Newren  <newren@math.utah.edu>

	Patch from Soeren to fix the modifier key breakage introduced by
	an Xorg change. (fixes #151554)

	* src/keybindings.c: include X11/XKBlib.h if available,
	(handle_spew_mark): remove this unused function declaration,
	(end_keyboard_grab): new function, uses XKB if available,
	(process_tab_grab): use end_keyboard_grab to determine whether to
	end the grab, (error_on_command): make key a const char *,
	(process_workspace_switch_grab): use end_keyboard_grab to
	determine whether to end the grab
2004-10-20 23:16:08 +00:00
Anders Carlsson
c397af4896 Don't try to use an ARGB visual at all if the depth isn't 32-bit. This
2004-10-19  Anders Carlsson  <andersca@gnome.org>

	* src/frame.c: (meta_window_ensure_frame):
	Don't try to use an ARGB visual at all if the depth isn't
	32-bit. This caused major slowdowns with Composite enabled.
2004-10-19 05:18:11 +00:00
Elijah Newren
e84778d1eb Make the "showing desktop" mode be per-workspace instead of per-screen.
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
2004-10-17 04:28:29 +00:00
Elijah Newren
e6fe440612 Add new tracker bugs
2004-10-16  Elijah Newren  <newren@math.utah.edu>

	* rationales.txt: Add new tracker bugs
2004-10-16 16:22:52 +00:00
Elijah Newren
3c974b87b4 Fix from Rob to correct requested number of keycodes (#155247)
2004-10-15  Elijah Newren  <newren@math.utah.edu>

	* src/keybindings.c (reload_keymap): Fix from Rob to correct
	requested number of keycodes (#155247)
2004-10-15 22:43:52 +00:00
Elijah Newren
05388194fc Code cleanup
2004-10-13  Elijah Newren  <newren@math.utah.edu>

	Code cleanup

	* src/window.c (is_in_dock_group, docks_at_end_cmp,
	shuffle_docks_to_end): removed functions,
	(meta_window_notify_focus): no need to call is_in_dock_group or
	shuffle_docks_to_end because of the patch from #120100 that was
	committed.
2004-10-13 18:54:46 +00:00
Vincent Untz
b03558dc4d Add a keybinding to launch a terminal
2004-10-13  Vincent Untz  <vincent@vuntz.net>

	Add a keybinding to launch a terminal

	* src/keybindings.c: (handle_run_terminal): new function,
	(error_on_generic_command): new function, (error_on_command): wrapper
	around error_on_generic_command(), (error_on_terminal_command): new
	function

	* src/metacity.schemas.in: add run_command_terminal key

	* src/prefs.[ch]: (meta_prefs_init): cache the terminal command and
	register a gconf callback to update it, (change_notify): handle the
	notification of terminal command changes, (meta_preference_to_string):
	add the terminal command case, (update_terminal_command): new function,
	(meta_prefs_get_terminal_command): new function,
	(meta_prefs_get_gconf_key_for_terminal_command): new function
2004-10-13 08:32:10 +00:00
Rob Adams
278b5807f1 bump version to 2.9.0. Add UNSTABLE warning.
2004-10-11  Rob Adams  <readams@readams.net>

	* configure.in: bump version to 2.9.0.  Add UNSTABLE warning.
2004-10-11 16:44:24 +00:00
Rob Adams
13e0c20ab0 2.8.6 ==
2.8.6
==

This is a stable release for Gnome 2.8.1.

Thanks to the Ken Harris, Kjartan Maraas, and the tireless efforts of
Elijah Newren for fixes in this release.

Fixes
  * Ensure the correct window is focused when minimizing (Elijah)
  * Fix keynav with mouse focus (Elijah)
  * Fix several race conditions in window focusing (Elijah)
  * Focus the top window when lowering by frame click (Ken)
  * Fix some compiler warnings (Kjartan)
  * Fix some valgrind-reported errors (Elijah)
  * Fix some potential issues with autoraising windows (Elijah)

Translations
  * en_CA(Adam Weinberger), it(Luca Ferretti)
2004-10-11 16:14:47 +00:00
Elijah Newren
81fe64991c Fix middle-frame-click-to-lower focus inconsistency (#154601)
2004-10-08  Elijah Newren  <newren@math.utah.edu>

	Fix middle-frame-click-to-lower focus inconsistency (#154601)

	* src/core.c (meta_core_user_lower_and_unfocus): focus the default
	window in all focus modes, not just click-to-focus (EnterNotify
	events will not handle this case for sloppy and mouse focus)

	* src/display.c (event_callback): replace window->has_focus with
	window == display->expected_focus_window to avoid a race issue
2004-10-08 22:34:34 +00:00
Elijah Newren
79b4de04fc Alter the meaning of expected_focus_window; doesn't affect current
2004-10-08  Elijah Newren  <newren@math.utah.edu>

         Alter the meaning of expected_focus_window; doesn't affect
	 current operation but assists in fixing some other bugs
	 (#154598)

	* src/display.c (meta_display_focus_the_no_focus_window): set the
	expected_focus_window to NULL.

	* src/window.c (meta_window_notify_focus): don't NULL the
	expected_focus_window when that window receives a FocusIn event
2004-10-08 21:57:01 +00:00
Elijah Newren
714fb3d539 if the root window gets focused, set the focus to the default window; this
2004-10-04  Elijah Newren  <newren@math.utah.edu>

	* src/display.c (event_callback): if the root window gets focused,
	set the focus to the default window; this fixes the
	"focus-follows-mouse" behavior seen for click-to-focus mode after
	cancelling log out (fixes #153220)
2004-10-04 21:21:38 +00:00
Elijah Newren
70e40c235c Fix a variety of issues with autoraise (#134206)
2004-10-04  Elijah Newren  <newren@math.utah.edu>

	Fix a variety of issues with autoraise (#134206)

	* src/display.h: (struct _MetaDisplay): add an autoraise_window
	parameter

	* src/display.[hc] (meta_display_focus_the_no_focus_window): new
	function, (meta_display_queue_autoraise_callback): new function,
	(meta_display_remove_autoraise_callback): new function

	* src/display.c (meta_display_open): intialize
	display->autoraise_window too, (meta_display_close): remove any
	pending autoraise callback, (window_raise_with_delay_callback):
	clear out auto_raise->display->autoraise_window too,
	(event_callback): call meta_display_queue_autoraise_callback
	instead of having the code inline, call
	meta_display_focus_the_no_focus_window to handle focusing that
	window

	* src/window.c (meta_window_focus): If there's a window with an
	autoraise timeout that isn't the window being focused, remove the
	autoraise timeout

	* src/workspace.c (meta_workspace_focus_default_window): If no
	autoraise timeout is queued for the given window then queue one
	now, call meta_display_focus_the_no_focus_window to handle
	focusing that window, (meta_workspace_focus_mru_window): call
	meta_display_focus_the_no_focus_window to handle focusing that
	window
2004-10-04 21:09:08 +00:00
Elijah Newren
546fe7b5b3 When no window becomes focused, focus the default window instead of
2004-10-04  Elijah Newren  <newren@math.utah.edu>

	* src/display.c (event_callback): When no window becomes focused,
	focus the default window instead of punting to the
	no_focus_window.  Also, change the warning to a verbose
	message--this will happen frequently due to brain-damage in the X
	protocol.  (see #125492)
2004-10-04 20:39:21 +00:00