Commit Graph

561 Commits

Author SHA1 Message Date
Havoc Pennington
f37245ace2 re-enable the FOCUSED_WINDOW layer, should now work correctly.
2002-09-28  Havoc Pennington  <hp@pobox.com>

	* src/stack.c (get_standalone_layer): re-enable the FOCUSED_WINDOW
	layer, should now work correctly.
2002-09-28 16:54:33 +00:00
Havoc Pennington
e96e7ffc89 Rewrite stack code to work a lot differently. Should be better now, and
2002-09-28  Havoc Pennington  <hp@pobox.com>

	* src/window.c, src/stack.c: Rewrite stack code to work a lot
	differently. Should be better now, and not lose relative positions
	of windows when moving among layers. Also should now be possible
	to get session management to restore the stacking order.  Probably
	breaks some stuff, and makes all the stack.c changes I made
	yesterday sort of irrelevant.
2002-09-28 16:33:39 +00:00
Havoc Pennington
2926f0a501 Temporarily disable use of the FOCUSED_WINDOW layer, because given the
2002-09-27  Havoc Pennington  <hp@pobox.com>

	* src/stack.c (get_standalone_layer): Temporarily disable use of
	the FOCUSED_WINDOW layer, because given the fact that moving
	multiple windows into the same layer changes the Z-order of those
	windows, it was breaking click-to-focus.
2002-09-28 04:00:24 +00:00
Havoc Pennington
6c325e9070 raise the focused window, since it may not be the window on top, given the
2002-09-27  Havoc Pennington  <hp@pobox.com>

	* src/screen.c (meta_screen_focus_top_window): raise the focused
	window, since it may not be the window on top, given the below
	change.

	* src/stack.c (meta_stack_get_default_focus_window): make this
	more complex to prefer to focus the transient parent, followed by
	other windows in group, followed by topmost non-dock, followed by
	dock. Previously was just topmost non-dock followed by dock
	ignoring groups and transiency.
2002-09-28 03:50:49 +00:00
Havoc Pennington
efc82ee1b9 constrain placement to try to keep windows from going offscreen to the
2002-09-27  Havoc Pennington  <hp@pobox.com>

	* src/place.c (constrain_placement): constrain placement to try to
	keep windows from going offscreen to the right/bottom

	* src/stack.c (compute_layer): rearrange the logic here to say
	that a window must always be in at least as high a layer as any of
	its transient parents or group members, rather than special-casing
	fullscreen. Also, group_member_is_fullscreen was leaking the list
	of group members every time, a fairly major memory leak.
2002-09-28 03:11:04 +00:00
Havoc Pennington
5ae85e9c07 use AgingGorilla not Gorilla (renamed on the CVS server)
2002-09-27  Havoc Pennington  <hp@redhat.com>

	* src/themes/Makefile.am (THEMES): use AgingGorilla not Gorilla
	(renamed on the CVS server)
2002-09-27 20:35:16 +00:00
Havoc Pennington
74b3bca93d Try to handle Solaris Xinerama, all coded blind, someone on Solaris will
2002-09-27  Havoc Pennington  <hp@redhat.com>

        Try to handle Solaris Xinerama, all coded blind, someone
	on Solaris will need to debug the typos.

	* src/display.c: updates for Solaris Xinerama

	* src/screen.c: updates for Solaris Xinerama

	* configure.in: make Xinerama check more complicated to catch
	Solaris Xinerama
2002-09-27 20:28:34 +00:00
Havoc Pennington
e7e41b045d keep a flag transient_parent_is_root_window for whether the
2002-09-27  Havoc Pennington  <hp@redhat.com>

	* src/window.c (update_transient_for): keep a flag
	transient_parent_is_root_window for whether the
	root-window-as-parent convention was used.

2002-09-25  Arvind Samptur <arvind.samptur@wipro.com>

 	* src/stack.c (sort_window_list): Keep dialogs without
 	transient parent above entire app. Fixes #88926
2002-09-27 19:42:59 +00:00
Havoc Pennington
47f67eb270 use MetaAccelLabel to display accelerators for the menu items
2002-09-26  Havoc Pennington  <hp@pobox.com>

	* src/menu.c (meta_window_menu_new): use MetaAccelLabel to display
	accelerators for the menu items

	* src/metaaccellabel.c: cut-and-paste GtkAccelLabel and port to
	use virtual modifiers

	* src/Makefile.am (metacity_SOURCES): add metaaccellabel.[hc]

	* src/prefs.c (meta_prefs_get_window_binding): new function

	* src/core.c (meta_core_get_menu_accelerator): new function
2002-09-27 01:40:17 +00:00
Havoc Pennington
e64a42732f Change short desc of switch_windows and cycle_windows to be different
2002-09-25  Havoc Pennington  <hp@redhat.com>

	* src/metacity.schemas.in: Change short desc of switch_windows and
	cycle_windows to be different
2002-09-25 18:56:25 +00:00
Havoc Pennington
f5f20efe0d update best_overlap as we go through the loop - doh. Fix from
2002-09-24  Havoc Pennington  <hp@pobox.com>

	* src/place.c (fit_rect_in_xinerama): update best_overlap as we go
	through the loop - doh. Fix from readams@hmc.edu for #90799.
	(find_first_fit): try the origin of each xinerama screen
	after the first. Also from readams@hmc.edu
2002-09-25 01:20:44 +00:00
Havoc Pennington
49a9e74900 new function, only saves rect after checking current state, #93795
2002-09-24  Havoc Pennington  <hp@redhat.com>

	* src/window.c (meta_window_save_rect): new function,
	only saves rect after checking current state, #93795
	(meta_window_make_fullscreen): use new function
	(meta_window_maximize): use new function
2002-09-24 21:33:34 +00:00
Havoc Pennington
4694ded7cd new function
2002-09-24  Havoc Pennington  <hp@redhat.com>

	* src/window.c (meta_window_update_layer): new function

	* src/stack.c (compute_layer): put focused window in a layer above
	all other windows, in click-to-focus mode. #93022

	* src/window.c (meta_window_notify_focus): update window layer on
	focus change.
2002-09-24 21:22:06 +00:00
Havoc Pennington
d027c27ca1 support --version, #92796 patch from Christian Neumair
2002-09-24  Havoc Pennington  <hp@redhat.com>

	* src/main.c (main): support --version, #92796 patch from
	Christian Neumair

	* autogen.sh: change gettext test to be happy with
	glib-gettextize, #81425

	* src/menu.c: change mnemonics to match bug #78999

	* src/theme.c (meta_theme_validate): consolidate some
	nearly-identical themes for ease of translation, #70962
2002-09-24 20:43:45 +00:00
Arvind Samptur
ee26de98de Replace strings Shade with Roll Up and Unshade with Unroll.
2002-09-24  Arvind Samptur  <arvind.samptur@wipro.com>
        * src/menu.c: Replace strings Shade with Roll Up and
        Unshade with Unroll.
2002-09-24 04:34:14 +00:00
Havoc Pennington
94e75ba53c re-enable the log handler, maybe it will break something, I don't remember
2002-09-23  Havoc Pennington  <hp@pobox.com>

	* src/main.c (main): re-enable the log handler, maybe it will
	break something, I don't remember why I turned it off.

	* src/display.c: s/_NET_SHOW_DESKTOP/_NET_SHOWING_DESKTOP/ which
	is what's in the spec
2002-09-24 02:04:32 +00:00
Havoc Pennington
6ab198ac22 small reordering of code
2002-09-22  Havoc Pennington  <hp@pobox.com>

	* src/window.c (recalc_window_features): small reordering of
	code

	* src/display.c (meta_spew_event): more spew for MapNotify,
	UnmapNotify

	* src/window.c (recalc_window_features): spew more stuff

	* src/display.c (meta_spew_event): spew override_redirect field of
	ConfigureNotify
2002-09-23 01:43:20 +00:00
Arvind Samptur
09cc9e5d93 Added keybindings for moving windows between workspaces. Fixes #91944 2002-09-20 04:19:59 +00:00
Arvind Samptur
195d136faa The suggested change in the tooltip as per ui-review. Not sure how long this dialog will be here. Anyway... 2002-09-19 09:25:55 +00:00
Havoc Pennington
d2cd398594 handle fullscreen state here.
2002-09-18  Havoc Pennington  <hp@redhat.com>

	* src/window.c (update_net_wm_state): handle fullscreen state
	here.
2002-09-18 20:19:45 +00:00
Havoc Pennington
8232b8ba6d escape the window title before saving in the session file, reported by Jos
2002-09-15  Havoc Pennington  <hp@pobox.com>

	* src/session.c (save_state): escape the window title before
	saving in the session file, reported by Jos Vos
2002-09-15 16:39:28 +00:00
Havoc Pennington
cfa98e02fc fix compiler warnings
2002-09-12  Havoc Pennington  <hp@redhat.com>

	* src/workspace.c (meta_workspace_screen_index)
	(meta_workspace_index): fix compiler warnings

	* src/tools/metacity-window-demo.c (menu_items): add a test for
	dialogs with no transient parent

	* src/place.c (find_first_fit): Try placing window at origin of
	first Xinerama, even if there are no windows to place next to;
	makes placement work when no other windows are open on the screen.
2002-09-12 20:46:03 +00:00
Havoc Pennington
419b29f5b4 2.4.1
2002-09-09  Havoc Pennington  <hp@pobox.com>

	* configure.in: 2.4.1
2002-09-10 03:57:15 +00:00
Christian Neumair
0134973907 src/keybindings.c: Make virtual desktops apply instantly and still show the pager popup 2002-09-09 18:16:25 +00:00
Frédéric Crozat
fcb791d5a0 Fix titlebar glitch on small dialogs.
* src/themes/Crux/metacity-theme-1.xml: Fix titlebar
glitch on small dialogs.
2002-09-06 19:34:57 +00:00
Arvind Samptur
aa91d9f78b Corrected errors in theme-format.txt. Patch given by Jim Bowen. Fixes #92057. 2002-09-06 11:37:03 +00:00
Havoc Pennington
730715228a put ro back in ALL_LINGUAS
2002-09-05  Havoc Pennington  <hp@pobox.com>

	* configure.in: put ro back in ALL_LINGUAS
2002-09-06 03:16:17 +00:00
Havoc Pennington
1a04ec9f33 remove 'ro' from ALL_LINGUAS, it contained invalid XML and broke the
2002-09-05  Havoc Pennington  <hp@redhat.com>

	* configure.in (ALL_LINGUAS): remove 'ro' from ALL_LINGUAS, it
	contained invalid XML and broke the build. No <> in the
	translations of gconf keys!
2002-09-06 01:44:39 +00:00
Marius Andreiana
0932b98c34 added 'ro' to ALL_LINGUAS added ( thanks to Mugurel Tudor <mugurelu@go.ro>
2002-09-04  Marius Andreiana <mandreiana@yahoo.com>

	* configure.in: added 'ro' to ALL_LINGUAS
	* ro.po: added ( thanks to Mugurel Tudor <mugurelu@go.ro> )
2002-09-04 12:19:06 +00:00
Havoc Pennington
cbb0b8e66c new function
2002-09-03  Havoc Pennington  <hp@pobox.com>

	* src/display.c (meta_display_get_tab_current): new function

	* src/keybindings.c (do_choose_window): apply modified patch from
	JeyaSudha to still display tab popup if only one window is on the
	desktop.
2002-09-04 04:15:46 +00:00
JeyaSudha
a6a7407faa Session saves the unmaximized postion, size of a maximized window. #86059
2002-06-25 JeyaSudha <jeyasudha.duraipandy@wipro.com>

 	* src/session.c, src/window.c: Session saves the unmaximized
	postion, size of a maximized window. #86059
2002-09-04 02:44:52 +00:00
Havoc Pennington
a5c4eaa55c don't filter out prelight for unmaximize button. #83860
2002-09-03  Havoc Pennington  <hp@pobox.com>

	* src/frames.c (meta_frames_update_prelit_control): don't filter
	out prelight for unmaximize button. #83860
	(meta_frames_paint_to_drawable): handle unmaximize here as well
2002-09-04 02:21:26 +00:00
Havoc Pennington
9e062cd7a8 always apply rounding for shaded windows, fixes Bluecurve theme when
2002-08-27  Havoc Pennington  <hp@pobox.com>

	* src/theme.c (meta_frame_layout_calc_geometry): always apply
	rounding for shaded windows, fixes Bluecurve theme when shaded
2002-08-28 02:48:59 +00:00
Havoc Pennington
900de3c304 when freeing a fullscreen window, update layers of the window's group.
2002-08-25  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_free): when freeing a fullscreen
	window, update layers of the window's group.
2002-08-25 20:59:09 +00:00
Havoc Pennington
8b7447b282 _NET_SUPPORTING_WM_CHECK is supposed to have type WINDOW not CARDINAL.
2002-08-25  Havoc Pennington  <hp@pobox.com>

	* src/display.c (meta_display_open): _NET_SUPPORTING_WM_CHECK is
	supposed to have type WINDOW not CARDINAL. reported by
	Ben Jansens
2002-08-25 17:53:27 +00:00
Havoc Pennington
f1b58398b0 recalculate mapped-ness of frame after toggling decorations on/off, so
2002-08-24  Havoc Pennington  <hp@redhat.com>

	* src/window.c (process_property_notify): recalculate mapped-ness
	of frame after toggling decorations on/off, so that windows don't
	disappear when decorations are toggled on.

	* src/tools/metacity-window-demo.c (toggle_decorated_cb): add a
	test for toggling decoration state on the fly
2002-08-24 21:49:32 +00:00
Havoc Pennington
cbb4a91113 hack around bug in kmail etc. where SM_CLIENT_ID was set on the window,
2002-08-24  Havoc Pennington  <hp@redhat.com>

	* src/window.c (update_sm_hints): hack around bug in kmail etc.
	where SM_CLIENT_ID was set on the window, not the client leader.

	* src/theme.c (meta_frame_layout_calc_geometry): don't round
	corners unless we have enough frame to chop off.
2002-08-24 21:28:02 +00:00
Havoc Pennington
b9002db37f translate some strings that should have been, and convert to locale
2002-08-24  Havoc Pennington  <hp@redhat.com>

	* src/util.c: translate some strings that should have been, and
	convert to locale encoding before printing stuff.

	* src/stack.c (group_member_is_fullscreen): if window itself is
	fullscreen, return TRUE immediately.

	* src/window.c (meta_window_configure_request): add hack to
	fullscreenize large undecorated windows.
2002-08-24 20:54:23 +00:00
Deepa Natarajan
c39a03ad59 add maximize and unmaximize keybinding setting. Partly fixes bug# 78999.
2002-08-21  Deepa Natarajan  <deepa.natarajan@wipro.com>

	* src/keybindings.c, src/metacity.schemas.in, src/prefs.[ch]:
	add  maximize and unmaximize keybinding setting. Partly fixes
	bug# 78999.
2002-08-21 06:47:16 +00:00
Steve Fox
8d36bbd7ab Add so that the spec file gets auto-updated whenever configure.in gets
2002-08-20  Steve Fox <drfickle@k-lug.org>

    * metacity.spec.in: Add so that the spec file gets auto-updated
    whenever configure.in gets bumped. Include some missing
    directories.

    * Makefile.am
    * configure.in: Necessary changes for spec file magic
2002-08-21 03:51:43 +00:00
Havoc Pennington
e74969bd17 if in the title rect check for y <= TOP_RESIZE_HEIGHT
2002-08-20  Havoc Pennington  <hp@redhat.com>

	* src/frames.c (get_control): if in the title rect check for y
	<= TOP_RESIZE_HEIGHT

	* src/display.c (meta_spew_event): put x/y coordinates in spew for
	enter/leave notify

	* src/frames.c (meta_frames_motion_notify_event): move cursor
	changing from here to update_prelit_control so it happens on enter
	notify as well
	(get_control): change test "y < TOP_RESIZE_HEIGHT" to
	"y <= TOP_RESIZE_HEIGHT"

	* src/Makefile.am (EXTRA_DIST): include .in files in EXTRA_DIST
2002-08-20 20:18:18 +00:00
Simos Xenitellis
c3b9b816f7 Added Greek translation and fixed ALL_LINGUAS for el 2002-08-17 18:38:47 +00:00
Evandro Fernandes Giovanini
f881cdaae6 Added Brazilian Portuguese (pt_BR).
2002-08-17  Evandro Fernandes Giovanini <evandrofg@ig.com.br>

        * configure.in (ALL_LINGUAS): Added Brazilian Portuguese (pt_BR).
2002-08-17 02:49:47 +00:00
Havoc Pennington
d86c90a162 default to "Sans Bold 10" for the titlebar font.
2002-08-15  Havoc Pennington  <hp@redhat.com>

	* src/metacity.schemas.in: default to "Sans Bold 10" for the
	titlebar font.
2002-08-15 22:09:27 +00:00
Havoc Pennington
9ed1636ffe leave has_fullscreen_func set to TRUE if the window is screen sized and
2002-08-15  Havoc Pennington  <hp@pobox.com>

	* src/window.c (recalc_window_features): leave has_fullscreen_func
	set to TRUE if the window is screen sized and undecorated, even if
	the window isn't resizable. idea from Christian - Manny Calavera -
	Neumair

	* src/keybindings.c (handle_toggle_fullscreen)
	(handle_toggle_maximize): these disabled fullscreen/maximize if
	the window wasn't resizable, should have used has_fullscreen_func
	has_maximize_func instead.

2002-08-15  Havoc Pennington  <hp@pobox.com>

	* src/keybindings.c: implement raise/lower

	* src/metacity.schemas.in: add raise/lower

	* src/prefs.c: add "raise" and "lower" prefs to keybindings

	* src/display.c (meta_display_set_grab_op_cursor): assert that
	the screen arg is non-NULL in appropriate cases
2002-08-15 05:14:49 +00:00
Jayaraj Rajappan
bb9cc21d8e In XGrabPointer, set the confine_to argument to the root window of the
2002-08-14  Jayaraj Rajappan <jayaraj.rajappan@wipro.com>

        * src/display.c (meta_display_set_grab_op_cursor):
        In XGrabPointer, set the confine_to argument to the root window
        of the screen the window is on.

        * src/display.h: add screen argument.

        * src/window.c (meta_window_update_resize_grab_op):
        pass screen argument as NULL.
2002-08-14 16:51:13 +00:00
James M. Cape
b9529231b4 use button positioning theme stuff.
2002-08-14  James M. Cape  <jcape@ignore-your.tv>

	* src/themes/Esco/metacity-theme-1.xml: use button positioning
	theme stuff.
2002-08-14 13:42:03 +00:00
Mark McLoughlin
689bcd14aa move from workspace.c. (update_num_workspaces): set the hint here. Fixes
2002-08-14  Mark McLoughlin  <mark@skynet.ie>

        * src/screen.c: (set_number_of_spaces_hint), move from
        workspace.c.
        (update_num_workspaces): set the hint here. Fixes #90123.

        * src/workspace.c:
        (meta_workspace_new), (meta_workspace_free): don't set
        the hint here.
        (update_num_workspaces): move to screen.c
2002-08-14 00:08:30 +00:00
Havoc Pennington
27e35b8bcd window is in fullscreen layer if any member of its group is fullscreen
2002-08-12  Havoc Pennington  <hp@redhat.com>

	* src/stack.c (compute_layer): window is in fullscreen layer if
	any member of its group is fullscreen

	* src/window.c (meta_window_unmake_fullscreen): update layer for
	whole window group
	(meta_window_make_fullscreen): ditto

	* src/util.c (meta_unsigned_long_hash): move hash/equal funcs for
	Window in here.

	* src/group.c: track window groups so we can do stuff with them.
2002-08-12 21:32:13 +00:00
Havoc Pennington
8a847ee7dc don't include nonexistent stock-icons.h file
2002-08-11  Havoc Pennington  <hp@pobox.com>

	* src/menu.c: don't include nonexistent stock-icons.h file
2002-08-12 03:03:57 +00:00
Havoc Pennington
2fb121b1c9 default keybindings for move, resize, maximize, etc. from Deepa #78999
2002-08-10  Havoc Pennington  <hp@pobox.com>

	* src/metacity.schemas.in: default keybindings for move, resize,
	maximize, etc. from Deepa #78999
2002-08-10 19:14:28 +00:00
Havoc Pennington
c17e916978 unshade window if shaded, from JeyaSudha (meta_window_make_fullscreen):
2002-08-10  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_maximize): unshade window if shaded,
	from JeyaSudha
	(meta_window_make_fullscreen): ditto
2002-08-10 19:04:55 +00:00
Havoc Pennington
75109ac211 reorder the menu items so that Close is at the bottom
2002-08-10  Havoc Pennington  <hp@pobox.com>

	* src/menu.c: reorder the menu items so that Close is at the
	bottom

	* src/theme-viewer.c (main): set debugging mode if METACITY_DEBUG
	enabled
2002-08-10 18:47:36 +00:00
Havoc Pennington
02bcf06809 allow Motif hints to be smaller than expected; GLUT for example seems to
2002-08-10  Havoc Pennington  <hp@pobox.com>

	* src/xprops.c (meta_prop_get_motif_hints): allow Motif hints to
	be smaller than expected; GLUT for example seems to set a smaller
	struct. #89841

	* src/window.c (update_mwm_hints): use g_free on motif hints as we
	don't use the XGetWindowProperty return directly anymore
2002-08-10 18:12:36 +00:00
Havoc Pennington
c540438b91 be sure window is mapped if we unmanage it and it's not withdrawn; bug
2002-08-10  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_free): be sure window is
	mapped if we unmanage it and it's not withdrawn;
	bug #90369

	* src/screen.c (meta_screen_new): change string
	s/override/replace/ bug #89077

	* src/theme.c (scale_and_alpha_pixbuf): dump the
	sometimes-use-NEAREST-instead-of-BILINEAR optimization,
	bug #87489
2002-08-10 17:32:29 +00:00
Havoc Pennington
154e38e71e raise window when moving to another workspace bug #88896
2002-08-10  Havoc Pennington  <hp@pobox.com>

	* src/window.c (menu_callback): raise window when moving to
	another workspace bug #88896

	* src/keybindings.c (switch_to_workspace): raise window when
	moving between spaces
2002-08-10 17:17:58 +00:00
Jorn Baayen
7179d77d0c Register window menu icons with the Gtk stock system, instead of using the
2002-08-10  Jorn Baayen  <jorn@nl.linux.org>

	Register window menu icons with the Gtk stock system, instead
	of using the ones from the Metacity theme (which looked very bad with
	some themes).

	* src/Makefile.am:
	* src/main.c:
	* src/menu.c:
	* src/stock_delete.png: added these files
	* src/stock_minimize.png:
	* src/stock_maximize.png:
	* src/ui.c
2002-08-10 16:47:43 +00:00
Havoc Pennington
4c3a20c3f2 filter out key events that happen on popup menus etc.
2002-08-10  Havoc Pennington  <hp@pobox.com>

	* src/keybindings.c (meta_display_process_key_event): filter out
	key events that happen on popup menus etc.

	* src/ui.c (meta_ui_window_is_widget): new function to check
	whether a window belongs to a GtkWidget such as the popup menu

	* src/prefs.c (change_notify): put in a no-op line for AIX
	compiler, #84252
2002-08-10 15:55:18 +00:00
Havoc Pennington
f36d236a55 track time to avoid sending a deluge of move/resize requests, suggestion
2002-08-10  Havoc Pennington  <hp@pobox.com>

	* src/window.c (update_resize): track time to avoid sending a
	deluge of move/resize requests, suggestion from
	xavier.bestel@free.fr bug #86830. Not really sure if this will
	make a difference or not. We'll see I guess.
	(update_move): do same on move though it seems less important
	here.

	* src/display.h (struct _MetaDisplay): store the
	last time we sent a move/resize event.
2002-08-10 05:27:17 +00:00
Havoc Pennington
9a72bf1858 add a FIXME comment with a link to bug #90382
2002-08-10  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_notify_focus): add a FIXME comment
	with a link to bug #90382
2002-08-10 04:29:57 +00:00
Havoc Pennington
79857803de disable maximize, fullscreen, shade via keybindings on windows that don't
2002-08-09  Havoc Pennington  <hp@pobox.com>

	* src/keybindings.c (handle_toggle_maximize): disable maximize,
	fullscreen, shade via keybindings on windows that don't support
	it.
2002-08-09 14:22:00 +00:00
Craig Black
4fcc9f052e Patch to provide extra cues to the user when using window menu move and
2002-08-08  Craig Black  <blackc@speakeasy.net>

  Patch to provide extra cues to the user when using
  window menu move and resize, #85724.

  * src/common.h: add new cursors

  * src/display.c: (grab_op_is_mouse)
  (meta_display_create_x_cursor), (xcursor_for_op),
  (meta_display_set_grab_op_cursor),
  (meta_display_begin_grab_op):
  The keyboard move and resize grab ops now also use the mouse.
  Allow the grab cursor to be changed during the grab op.
  Hold onto the initial grab position in case of reset.

  * src/display.h: save the initial grab position

  * src/keybindings.c: (process_keyboard_move_grab),
  (process_keyboard_resize_grab), (handle_begin_move),
  (handle_begin_resize):
  The keyboard move and resize grab ops now also use the mouse.

  * src/window.c: (meta_window_client_message), (menu_callback),
  (update_move), (update_resize),
  (meta_window_handle_mouse_grab_op_event), (warp_pointer),
  (meta_window_warp_pointer), (meta_window_begin_grab_op),
  (meta_window_update_resize_grab_op):
  When moving or resizing a window use the last grab position
  in computing change increment.
  Provide support for warping the mouse pointer.

  * src/window.h: new warp pointer and grab op helper functions
2002-08-09 04:27:23 +00:00
Craig Black
8c5369d522 update comment also set expected focus window when setting input focus.
2002-08-08  Craig Black  <blackc@speakeasy.net>

  * src/display.h: update comment
  * src/window.c: (meta_window_focus): also set expected
  focus window when setting input focus.
2002-08-09 03:32:09 +00:00
Craig Black
d299fbd8da focus top window after showing desktop, fixes #88080.
2002-08-07  Craig Black  <blackc@speakeasy.net>

  * src/display.c: (meta_display_unshow_desktop): focus
  top window after showing desktop, fixes #88080.
2002-08-08 05:28:51 +00:00
Craig Black
8a5cce91bf focus window on right click for menu, #87299.
2002-08-07  Craig Black  <blackc@speakeasy.net>

  * src/core.c: (meta_core_show_window_menu): focus window
  on right click for menu, #87299.
2002-08-08 05:08:59 +00:00
Craig Black
7a598e5567 clear expected focus window on open
2002-08-07  Craig Black  <blackc@speakeasy.net>

  * src/display.c: (meta_display_open): clear expected focus window
  on open

  * src/display.h: add expected_focus_window field

  * src/window.c: (meta_window_make_fullscreen),
  (meta_window_unmake_fullscreen): change meta_window_update_layer()
  to meta_stack_update_layer() so build works again.
  (meta_window_free), (meta_window_make_fullscreen),
  (meta_window_focus), (meta_window_notify_focus): keep track of
  expected focus window after sending WM_TAKE_FOCUS event,
  previously if a UnmapNotify event arrived before the FocusIn event
  we would lose focus, fixes #84564.
2002-08-08 04:45:13 +00:00
Havoc Pennington
ebae7a654e update layer (meta_window_make_fullscreen): update layer
2002-08-07  Havoc Pennington  <hp@redhat.com>

	* src/window.c (meta_window_unmake_fullscreen): update layer
	(meta_window_make_fullscreen): update layer

	* src/stack.c (compute_layer): put window on fullscreen layer if
	fullscreen
2002-08-07 23:12:08 +00:00
Craig Black
1e0d6c3346 implement _NET_WM_MOVERESIZE enhancements, see #90077.
2002-08-06  Craig Black  <blackc@speakeasy.net>

  * src/window.c: (meta_window_client_message): implement
  _NET_WM_MOVERESIZE enhancements, see #90077.
2002-08-07 05:26:20 +00:00
Havoc Pennington
f6853d0947 2.4.0 2002-08-06 19:20:08 +00:00
Havoc Pennington
00dcef82e3 disable animation when shading windows, just doesn't really convey the
2002-07-28  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_shade): disable animation when shading
	windows, just doesn't really convey the idea anyway.

	* src/effects.c: Move to using a shaped window instead of
	IncludeInferiors to do the animations, looks a lot better
	because we don't have to grab the server.

	* src/window.c (meta_window_change_workspace): remove bogus
	assertion that was causing a crash
	(meta_window_new): auto-fullscreen huge undecorated windows.

	* src/keybindings.c (switch_to_workspace): use
	meta_window_change_workspace() to avoid same bug in cut-and-paste
	code from there
2002-08-06 04:11:23 +00:00
He Qiangqiang
f15e959634 head -4 ChangeLog 2002-08-06 03:15:06 +00:00
Ross Burton
43c7a44e1d Set wm_state_skip_pager instead of skip_pager (ditto for _tasklist) so that the skip pager/tasklist hints work correctly 2002-08-05 15:32:08 +00:00
Havoc Pennington
f3446fad9a init button states for the button backgrounds
2002-08-04  Havoc Pennington  <hp@redhat.com>

	* src/frames.c (meta_frames_paint_to_drawable): init button
	states for the button backgrounds

	* src/themes/Atlanta/metacity-theme-1.xml: adapt to work correctly
	with button repositioning
2002-08-04 20:45:05 +00:00
Havoc Pennington
585e362526 raise/focus on click, even if the click was on the client area (this makes
2002-08-04  Havoc Pennington  <hp@redhat.com>

	* src/frames.c (meta_frames_button_press_event): raise/focus
	on click, even if the click was on the client area
	(this makes Alt+button1 raise windows again, yay)

	* src/stack.c (compute_layer): put panels in the DOCK layer always
	(keep them on top of other windows). Still sloppy-focus raised
	with respect to other docks.

	* configure.in: remove -Wshadow for now as GTK headers make all
	kinds of noise with it.
2002-08-04 20:20:53 +00:00
Mark McLoughlin
8984fd358b set active_workspace to NULL. Also actually activate the first workspace
2002-08-02  Mark McLoughlin  <mark@skynet.ie>

        * src/screen.c: (meta_screen_new): set active_workspace
        to NULL. Also actually activate the first workspace instead
        of just setting active_workspace. Fixes #87367.
        (meta_screen_ensure_workspace_popup): don't re-use our
        iterator for setting the entries list, stop iterating
        when we've gone beyond the last workspace (there may
        be empty spaces in the last row).

        * src/workspace.c: (meta_workspace_activate): if no workspace
        was previously activated, return.
2002-08-04 20:17:37 +00:00
Havoc Pennington
583596178f use MetaMenuIconType not button type for the size of the menu ops array
2002-08-04  Havoc Pennington  <hp@redhat.com>

	* src/theme.c (free_menu_ops): use MetaMenuIconType not button
	type for the size of the menu ops array
	(meta_theme_define_int_constant): return TRUE on success (how the
	heck did this ever work?)
	(meta_theme_define_float_constant): return TRUE on success
	(meta_frame_style_validate): allow the "positional" buttons to
	be omitted for now.

	* src/testgradient.c (render_multi): don't define N_COLORS twice

	* src/theme-viewer.c (run_theme_benchmark): don't define
	ITERATIONS twice

	* src/theme.c (button_rect): handle new button types
	(meta_button_type_to_string): update
	(meta_button_type_from_string): update

	* src/theme.h (enum): add button types for the 6 possible button
	positions. No way to reposition buttons still but this will allow
	themes to go ahead and support doing so.
2002-08-04 20:02:45 +00:00
Craig Black
ae148bc89f change alt+tab to a windowless grab, fixes #83499
2002-08-03  Craig Black  <blackc@speakeasy.net>

  * src/keybindings.c: (meta_display_process_key_event),
  (process_tab_grab), (do_choose_window): change alt+tab
  to a windowless grab, fixes #83499
2002-08-03 23:30:48 +00:00
Craig Black
dc5a81ac77 Have ButtonPress and UnmapNotify events account for a null grab window,
2002-08-03  Craig Black  <blackc@speakeasy.net>

  * src/display.c: (event_callback): Have ButtonPress and UnmapNotify
  events account for a null grab window, fixes #87896
2002-08-03 23:07:04 +00:00
Gaute Lindkvist
b51e6bdaa4 Fixed some clipping issues with the Bright theme. 2002-08-03 17:02:23 +00:00
Mark McLoughlin
95e4c6ac2a Implements support for _NET_WM_ALLOWED_ACTIONS. Fixes #84282.
2002-08-01  Mark McLoughlin  <mark@skynet.ie>

        Implements support for _NET_WM_ALLOWED_ACTIONS.
        Fixes #84282.

        * src/display.[ch]: (meta_display_open): add
        _NET_WM_ALLOWED_ACTIONS atoms.

        * src/screen.c: (set_supported_hint): set them
        as being supported.

        * src/window.c:
        (set_allowed_actions_hint): impl setting
        _NET_WM_ALLOWED_ACTIONS.
        (recalc_window_features): use it here, but only
        if things have changed.
2002-08-01 23:52:47 +00:00
Christophe Fergeau
9e86812928 if a window isn't resizeable, turn off maximize function. If min size is
* src/window.c (recalc_window_features): if a window isn't
	resizeable, turn off maximize function. If min size is equal to
	max size, turn off resize function.
2002-08-01 15:14:14 +00:00
Mark McLoughlin
43dd208874 send a SaveYourselfDone if we're skipping this global save.
2002-08-01  Mark McLoughlin  <mark@skynet.ie>

        * src/session.c:
        (save_yourself_possibly_done): send a SaveYourselfDone
        if we're skipping this global save.
        (save_yourself_callback): don't not save session state
        if the save style is Global. Fixes #89390.

        * theme-format.txt: update.
2002-08-01 01:49:08 +00:00
Pablo Saratxaga
e8a9a6063b Added Vietnamese (vi) to ALL_LINGUAS
2002-07-30  Pablo Saratxaga  <pablo@mandrakesoft.com>

	* configure.in: Added Vietnamese (vi) to ALL_LINGUAS
2002-07-30 20:02:16 +00:00
Havoc Pennington
9abae5b0a2 add Metabox theme from Garrett
2002-07-24  Havoc Pennington  <hp@pobox.com>

	* src/themes/Makefile.am (THEMES): add Metabox theme from Garrett

	* README: updates

2002-07-21  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_new): don't automaximize fullscreen
	windows.

2002-07-14  Havoc Pennington  <hp@pobox.com>

	* src/window.c (recalc_window_features): don't allow shading of
	border-only windows.
2002-07-25 02:45:38 +00:00
Havoc Pennington
88a0d1ff03 look for themes in ~/.themes/NAME/metacity-1/ and
2002-07-24  Havoc Pennington  <hp@redhat.com>

	* src/theme-parser.c (meta_theme_load): look for themes in
	~/.themes/NAME/metacity-1/ and datadir/themes/NAME/metacity-1
	instead of the old locations.

	* src/themes/Makefile.am: install themes to
	datadir/themes/NAME/metacity-1/ to match how GTK works, breaking
	third-party themes yet again! woot!
2002-07-24 18:28:56 +00:00
Havoc Pennington
78a2866980 grab display across managing each screen; XGetInputFocus() on startup.
2002-07-20  Havoc Pennington  <hp@pobox.com>

	* src/display.c (meta_display_open): grab display across managing
	each screen; XGetInputFocus() on startup.

2002-07-19  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_configure_request): disable configure
	requests during a user move/resize operation, mostly a workaround
	for stoopid apps.
2002-07-24 15:41:44 +00:00
jacob berkman
6f6e533380 fix x11 header checks when x11 is not in the default include path
2002-07-24  jacob berkman  <jacob@ximian.com>

	* configure.in: fix x11 header checks when x11 is not in the
	default include path
2002-07-24 14:47:52 +00:00
Havoc Pennington
f7b55bfdcc put Gorilla back in the build
2002-07-23  Havoc Pennington  <hp@redhat.com>

	* src/themes/Makefile.am (THEMES): put Gorilla back in the build

	* src/themes/Gorilla/metacity-theme-1.xml,
	src/themes/Crux/metacity-theme-1.xml: fixes from
	Sebastien Delestaing so that these themes work properly with
	different font sizes.

	* src/frames.c (get_control): patch from Balamurali Viswanathan
	for #81984 (resize titlebar from the top not the bottom)
2002-07-24 02:21:24 +00:00
Ross Burton
f51eed31d8 Show the real workspace names in the window menu 2002-07-23 20:52:22 +00:00
Havoc Pennington
197c81178c handle NULL screen from screen_for_xwindow
2002-07-23  Havoc Pennington  <hp@redhat.com>

	* src/keybindings.c (meta_display_process_key_event): handle
	NULL screen from screen_for_xwindow

	* src/display.c (meta_display_screen_for_xwindow): put an error
	trap around the XGetWindowAttributes(), should fix the popular
	"closing a window results in a crash" bug.

	* src/util.c (print_backtrace): support optional backtrace
	feature using gnu libc backtrace() call
2002-07-23 19:12:02 +00:00
jacob berkman
dccd7a9b99 steal from profterm to fix build
2002-07-15  jacob berkman  <jacob@ximian.com>

	* src/update-from-egg.sh: steal from profterm to fix build
2002-07-15 14:18:51 +00:00
Havoc Pennington
badb397bce don't put a newline after the default workspace name
2002-07-13  Havoc Pennington  <hp@pobox.com>

	* src/workspace.c (meta_workspace_new): don't put a newline after
	the default workspace name
2002-07-14 03:59:18 +00:00
Havoc Pennington
812f783084 adapt to virtual modifiers (meta_display_process_mapping_event): we need
2002-07-13  Havoc Pennington  <hp@pobox.com>

	* src/keybindings.c: adapt to virtual modifiers
	(meta_display_process_mapping_event): we need to reload the
	binding tables now when the modmap changes.

	* src/prefs.c (update_binding): parse virtual modifiers, not
	plain modmask

	* src/common.h (MetaVirtualModifer): new enum

	* src/ui.c (meta_ui_parse_accelerator): use
	egg_accelerator_parse_virtual()

	* src/Makefile.am: add eggaccelerators.[hc] for the virtual
	accelerator parsing function
2002-07-14 03:16:41 +00:00
Christophe Fergeau
826a0c4e10 Removed a <<<< from Changelog 2002-07-13 19:43:58 +00:00
Christophe Fergeau
ebb788140a Added fr to ALL_LINGUAS 2002-07-13 19:43:09 +00:00
Havoc Pennington
f0a74e2e95 don't display the dialog if all the apps were session managed.
2002-07-12  Havoc Pennington  <hp@pobox.com>

	* src/session.c (warn_about_lame_clients_and_finish_interact):
	don't display the dialog if all the apps were session managed.
2002-07-13 03:47:06 +00:00
Havoc Pennington
b30802e35f don't send SmInteractDone until the warning dialog about crappy clients
2002-07-12  Havoc Pennington  <hp@pobox.com>

	* src/session.c: don't send SmInteractDone until the warning
	dialog about crappy clients has been closed.
2002-07-13 03:40:05 +00:00
Havoc Pennington
b908e45208 try to maximize windows that are too big for the work area
2002-07-12  Havoc Pennington  <hp@redhat.com>

	* src/window.c (meta_window_new): try to maximize windows that
	are too big for the work area

	* src/place.c (find_next_cascade): don't let the cascade algorithm
	place windows off the screen, and fix it to always exhaustively
	search the window list for cascade parents.
2002-07-12 23:03:40 +00:00
Havoc Pennington
42639fc9fb option to display error when a command fails to run.
2002-07-11  Havoc Pennington  <hp@pobox.com>

	* src/metacity-dialog.c (main): option to display error when a
	command fails to run.

	* src/keybindings.c (handle_run_command): run commands
	in response to keybindings.

	* src/prefs.c: add command keybinding stuff

	* src/metacity.schemas.in: add keybindings for running commands,
	and keys to store the commands themselves.
2002-07-11 04:10:44 +00:00
Havoc Pennington
a535ef6117 properly attribute selection code to Matthias Clasen
2002-07-10  Havoc Pennington  <hp@redhat.com>

	* src/display.c: properly attribute selection code to Matthias
	Clasen
2002-07-10 14:41:19 +00:00
Havoc Pennington
eb42281fd4 couple of updates
2002-07-10  Havoc Pennington  <hp@pobox.com>

	* README: couple of updates

	* src/main.c (usage): add --replace to usage, reported by Matthias
	Clasen
2002-07-10 12:26:00 +00:00
Havoc Pennington
93902aabfd fix short description for begin_resize, patch from Jayaraj, #87654
2002-07-09  Havoc Pennington  <hp@pobox.com>

	* src/metacity.schemas.in: fix short description for
	begin_resize, patch from Jayaraj, #87654

	* src/keybindings.c (handle_begin_resize): apply patch from
	Jayaraj to actually handle the begin resize keybinding.
2002-07-10 03:51:01 +00:00
Havoc Pennington
7d068e6909 don't center vertically for maximized windows that don't fill the screen,
2002-07-09  Havoc Pennington  <hp@pobox.com>

	* src/window.c (constrain_position): don't center vertically for
	maximized windows that don't fill the screen, just leave them at
	the top.
2002-07-10 03:23:12 +00:00
Havoc Pennington
4e66c5dc6c increase the size of the mini workspaces
2002-07-06  Havoc Pennington  <hp@pobox.com>

	* src/tabpopup.c (selectable_workspace_new): increase the size of
	the mini workspaces
2002-07-06 19:11:57 +00:00
Havoc Pennington
a62b3c8b29 Apply blackc@speakeasy.net patch, bug #83940, to do mini-workspaces
2002-07-06  Havoc Pennington  <hp@pobox.com>

        Apply blackc@speakeasy.net patch, bug #83940, to do
	mini-workspaces similar to the pager, when switching
	spaces.

	* src/window.c (update_net_wm_state): actually fill in
	wm_state_skip_taskbar, wm_state_skip_pager flags

	* src/tabpopup.c: support drawing a mini-workspace similar to the
	one the pager draws.

	* src/stack.c (meta_stack_list_windows): new function to list
	the windows in stacking order

	* src/screen.c (meta_screen_ensure_workspace_popup): don't pass in
	the ugly default app icon for workspaces

	* src/display.c (event_callback): fix from blackc@speakeasy.net
	to avoid dereferencing a NULL grab window.
2002-07-06 19:05:37 +00:00
Havoc Pennington
8c3437fd27 put _NET_DESKTOP_NAMES in the array of atom names, so desktop names might
2002-07-06  Havoc Pennington  <hp@pobox.com>

	* src/display.c (meta_display_open): put _NET_DESKTOP_NAMES in the
	array of atom names, so desktop names might work and we don't read
	uninitialized memory.

	* src/main.c (main): add VERSION/timestamp verbose message.

	* src/keybindings.c: implement cycle_windows cycle_panels

	* src/metacity.schemas.in: add the cycle_windows cycle_panels
	keybindings

	* src/prefs.h (META_KEYBINDING_FOCUS_PREVIOUS): replace
	FOCUS_PREVIOUS key binding with CYCLE_WINDOWS and CYCLE_PANELS
	(not good names really, but I don't have ideas).

	* src/common.h: add a grab op for alt+esc window cycling
2002-07-06 16:50:48 +00:00
Havoc Pennington
efeedae712 Take Gorilla out until it gets repaired.
2002-07-05  Havoc Pennington  <hp@pobox.com>

	* src/themes/Makefile.am (THEMES): Take Gorilla out until it gets
	repaired.
2002-07-05 15:00:24 +00:00
Havoc Pennington
b392d206d7 Change default value of input hint (if not specified) to true instead of
2002-07-05  Havoc Pennington  <hp@pobox.com>

	* src/window.c (update_wm_hints): Change default value of input
	hint (if not specified) to true instead of false. This is what
	some clients assume, such as Visual SlickEdit.
2002-07-05 04:31:49 +00:00
Havoc Pennington
d826e620a9 use new macros to get whether we allow move/resize correct
2002-07-02  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_show_menu): use new macros to get
	whether we allow move/resize correct

	* src/frame.c (meta_frame_get_flags): use new macros to get
	whether we can move/resize correct, considering
	maximized/fullscreen for the move case.

	* src/window.h (META_WINDOW_ALLOWS_RESIZE,
	META_WINDOW_ALLOWS_MOVE): new macros

	* src/keybindings.c (process_keyboard_resize_grab): finish the
	right/left resize, patch from Jayaraj #78179.

	Has the same old move/resize bug, if it hits a constraint it
	starts to break because we move without resizing.
2002-07-03 02:32:40 +00:00
Mark McLoughlin
b6177f74a7 rename from {un}grab_all_keys_and_keyboard and only do an XKeyboardGrab,
2002-07-02  Mark McLoughlin  <mark@skynet.ie>

        * src/keybindings.c:
        (grab_keyboard), (ungrab_keyboard): rename from
        {un}grab_all_keys_and_keyboard and only do an XKeyboardGrab,
        the XKeyGrab isn't neccessary.
        (meta_screen_grab_all_keys), (meta_screen_ungrab_all_keys),
        (meta_window_grab_all_keys), (meta_window_ungrab_all_keys):
        update for above change.
        (handle_workspace_switch): don't use a MetaWindow when
        workspace switching, use the root window instead.
2002-07-02 05:03:28 +00:00
Mark McLoughlin
086f3d807e Fix broken workspace switching from my previous commit.
2002-07-01  Mark McLoughlin  <mark@skynet.ie>

        Fix broken workspace switching from my previous commit.

        * src/display.c: (meta_display_begin_grab_op): don't
        leak a pointer grab if we fail to grab the keyboard.

        * src/keybindings.c: (meta_screen_grab_keys): check
        screen->all_keys_grabbed.
        (meta_screen_grab_all_keys): regrab our standard
        bindings if we fail.
        (handle_workspace_switch): revert to our previous
        behaviour of using the last focused window to do
        the grab upon. Only use the RootWindow if there
        isn't anything else to use.

        * src/screen.c: (meta_screen_new): initialise
        all_keys_grabbed.
2002-07-01 03:20:29 +00:00
Mark McLoughlin
6b72d622a5 Fixes not being able to tab out of a workspace which contains no windows.
2002-06-26  Mark McLoughlin  <mark@skynet.ie>

        Fixes not being able to tab out of a
        workspace which contains no windows.

        * src/core.c: (meta_core_begin_grab_op): upd
        for meta_display_begin_grab_op change.
        (meta_core_get_grab_frame): allow for
        grab_window == NULL.

        * src/display.[ch]:
        (meta_display_screen_for_xwindow): implement.
        (meta_display_begin_grab_op): grab on the root window
        if window == NULL.
        (meta_display_end_grab_op): use grab_screen instead of
        grab_window.

        * src/keybindings.c:
        (grab_all_keys_and_keyboard): split out from
        meta_window_grab_all_keys.
        (ungrab_all_keys_and_keyboard): split out from
        meta_window_ungrab_all_keys.
        (meta_screen_grab_all_keys), (meta_screen_ungrab_all_keys):
        implement grabbing and ungrabbing on the root window.
        (meta_display_process_key_event): if window == NULL,
        check the event is from the same screen and process. Only
        happens with workspace switching.
        (process_workspace_switch_grab): kill window param and
        don't use grab_window.
        (handle_tab_forward), (handle_begin_move): upd for
        meta_display_begin_grab_op change.
        (handle_workspace_switch): remove brokeness. Always do
        the grab op on the root window.

        * src/keybindings.h: add meta_screen_{un}grab_all_keys.

        * src/window.c: (meta_window_client_message), (menu_callback):
        update for meta_display_begin_grab_op change.
2002-06-27 05:08:32 +00:00
Mark McLoughlin
f0a811421f s/gdk_get_default_display/gdk_display_get_default/
2002-06-25  Mark McLoughlin  <mark@skynet.ie>

        * src/fixedtip.c: (meta_fixed_tip_show):
        * src/frames.c: (meta_frames_new):
        * src/tabpopup.c: (meta_ui_tab_popup_new):
        s/gdk_get_default_display/gdk_display_get_default/
        s/gdk_get_default_screen/gdk_screen_get_default/
2002-06-25 07:08:18 +00:00
Mark McLoughlin
b3a72a61fd added support for border only windows.
2002-06-25  Mark McLoughlin  <mark@skynet.ie>

        * src/themes/Crux/active-border-top-left-border.png:
        * src/themes/Crux/active-border-top-right-border.png:
        * src/themes/Crux/active-top-left-corner.png:
        * src/themes/Crux/active-top-mid-left-border.png:
        * src/themes/Crux/active-top-mid-right-border.png:
        * src/themes/Crux/active-top-right-corner.png:
        * src/themes/Crux/inactive-border-top-left-border.png:
        * src/themes/Crux/inactive-border-top-right-border.png:
        * src/themes/Crux/inactive-top-left-corner.png:
        * src/themes/Crux/inactive-top-mid-border.png:
        * src/themes/Crux/inactive-top-right-corner.png:
        * src/themes/Crux/metacity-theme-1.xml: added support
        for border only windows.
2002-06-25 04:11:20 +00:00
James M. Cape
f94a3d08e0 Added some stuff to the window buttons, so they use the ACTIVE bg/fg.
2002-06-24  James M. Cape  <jcape@ignore-your.tv>

	* src/themes/Esco/metacity-theme-1.xml: Added some stuff to
	the window buttons, so they use the ACTIVE bg/fg.
2002-06-25 02:37:07 +00:00
Mark McLoughlin
d7b4eec74a src/screen.c: (set_supported_hint), (set_work_area_hint): Its
2002-06-25  Mark McLoughlin  <mark@skynet.ie>

        * src/display.[ch]: (meta_display_open):
          src/screen.c: (set_supported_hint), (set_work_area_hint):
        Its _NET_WORKAREA, not _NET_WM_WORKAREA silly :-)

2002-06-25  Mark McLoughlin  <mark@skynet.ie>

        * src/screen.[ch]:
        (update_num_workspaces), recalc workarea hint when
        new workspaces created. Fixes bug that workarea
        not calculated until first non-dock window is
        mapped.
        (set_work_area_hint), (set_work_area_idle_func),
        (meta_screen_queue_workarea_recalc): move all this
        stuff from workspace.c.

        * src/workspace.c: (meta_workspace_invalidate_work_area):
        use meta_screen_queue_workarea_recalc.
2002-06-25 01:12:37 +00:00
Gediminas Paulauskas
e5dc1b01ac Update with border-only window stuff from Atlanta.
2002-06-23  Gediminas Paulauskas <menesis@delfi.lt>

	* src/themes/Bright/metacity-theme-1.xml: Update with border-only
	window stuff from Atlanta.
2002-06-23 09:29:17 +00:00
James M. Cape
6e577c12c1 Update for "border" frame stuff, minor button/spacing improvements.
2002-06-22  James M. Cape  <jcape@ignore-your.tv>

	* src/themes/Esco/metacity-theme-1.xml: Update for "border"
	frame stuff, minor button/spacing improvements.
2002-06-23 00:39:52 +00:00
Havoc Pennington
97b629ad5b Partially fix Jacob's SM bugs.
2002-06-22  Havoc Pennington  <hp@pobox.com>

	Partially fix Jacob's SM bugs.

	* src/window.c (meta_window_apply_session_info): restore the extra
	stuff we're saving, except stack position I didn't figure out yet.

	* src/session.c: save stack position, minimized, maximized,
	in the session file.
2002-06-23 00:21:20 +00:00
Havoc Pennington
8a8171ebc7 do nothing if screen is being unmanaged, we don't want to blow away state,
2002-06-22  Havoc Pennington  <hp@pobox.com>

	* src/workspace.c (set_number_of_spaces_hint): do nothing if
	screen is being unmanaged, we don't want to blow away state,
	we want to remember it for the next window manager.

2002-06-22  Havoc Pennington  <hp@pobox.com>

	* src/workspace.c (meta_screen_ensure_workspace_popup): rename
	from meta_workspace_ensure_tab_popup, and use workspace->name
	instead of a hardcoded name
2002-06-22 05:11:04 +00:00
Havoc Pennington
0243071f15 new utility function
2002-06-22  Havoc Pennington  <hp@pobox.com>

	* src/xprops.c (meta_prop_get_utf8_list): new utility function

	* src/display.c (meta_display_open): _NET_DESKTOP_NAMES atom
	(event_callback): update workspace names when the property changes

	* src/screen.c (set_supported_hint): "support" _NET_DESKTOP_NAMES
	(nothing to do really)
2002-06-22 04:52:35 +00:00
Havoc Pennington
de42a62f4e Theme breakage! Themes have to implement "border" frames now, see Atlanta
2002-06-21  Havoc Pennington  <hp@pobox.com>

        Theme breakage! Themes have to implement "border" frames
	now, see Atlanta for an example. Fixes #84285

	* src/tools/metacity-window-demo.c (do_appwindow): add a
	border-only window

	* src/window.c (update_mwm_hints): read border only from the MWM
	hints

	* src/window.h (struct _MetaWindow): add border_only flag

	* src/core.c (meta_core_get_frame_type): report border type if
	required

	* src/common.h (enum): add META_FRAME_TYPE_BORDER
2002-06-22 03:23:02 +00:00
Mark McLoughlin
854e58fd82 sticky windows aren't visibile on all screens. Check the workspace is on
2002-06-20  Mark McLoughlin  <mark@skynet.ie>

        * src/window.c: (meta_window_visible_on_workspace): sticky
        windows aren't visibile on all screens. Check the workspace
        is on the same screen as the window.

        * src/workspace.c: (meta_workspace_list_windows): use
        meta_window_visible_on_workspace here.
2002-06-20 02:29:19 +00:00
Havoc Pennington
b0d3660c91 handle UNKNOWN keyboard resizing state
2002-06-19  Havoc Pennington  <hp@pobox.com>

	* src/display.c (meta_resize_gravity_from_grab_op): handle UNKNOWN
	keyboard resizing state

	* src/keybindings.c (process_keyboard_resize_grab): implement
	keyboard resize key handling somewhat (only vertical resize works,
	left/right arrow not implemented, and visual feedback of the
	edge we're resizing isn't implemented)

	* src/window.c (menu_callback): start keyboard resize grab when
	it's chosen from the menu
2002-06-19 04:12:49 +00:00
Havoc Pennington
dbcacfa5ba don't use a minimized window as the next focus window, patch from
2002-06-17  Havoc Pennington  <hp@pobox.com>

	* src/stack.c (meta_stack_get_default_focus_window): don't use a
	minimized window as the next focus window, patch from
	blackc@speakeasy.net
2002-06-18 03:32:27 +00:00
Havoc Pennington
e51e7ab77a increase the cascade threshold a bit. (find_first_fit): implement a
2002-06-17  Havoc Pennington  <hp@pobox.com>

	* src/place.c (find_next_cascade): increase the cascade threshold
	a bit.
	(find_first_fit): implement a somewhat lame first fit algorithm
2002-06-18 03:06:07 +00:00
Havoc Pennington
6cda7d0b11 fix from Gaute Lindkvist #82977 for unsticking windows
2002-06-17  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_change_workspace): fix from Gaute
	Lindkvist #82977 for unsticking windows
2002-06-18 01:41:08 +00:00
Frédéric Crozat
c7a72aeed3 associate close_window keybinding to Alt-F4
* src/metacity.schemas.in: associate close_window keybinding to
Alt-F4
2002-06-17 16:01:21 +00:00
Havoc Pennington
82a6ba0238 fix spelling error, #85452
2002-06-16  Havoc Pennington  <hp@pobox.com>

	* src/main.c (main): fix spelling error, #85452
2002-06-16 13:49:37 +00:00
Havoc Pennington
82a43d88f5 don't pass a null string to printf
2002-06-15  Havoc Pennington  <hp@pobox.com>

	* src/keybindings.c (meta_display_process_key_event): don't pass a
	null string to printf

	* src/display.c (key_event_description): don't pass a null string
	to printf

	* src/keybindings.c (meta_set_keybindings_disabled): allow
	enable/disable keybindings regardless of debug mode.
2002-06-16 03:03:08 +00:00
Havoc Pennington
c3b63c96d7 workspace-drawing code factored out of libwnck, needs wiring up to
2002-06-15  Havoc Pennington  <hp@pobox.com>

	* src/draw-workspace.h, src/draw-workspace.c: workspace-drawing
	code factored out of libwnck, needs wiring up to tabpopup.c
	(which is kind of annoying since you have to get the list of
	workspaces and MetaWindow across the barrier between the GDK-aware
	and non-GDK-aware sides of metacity)
2002-06-15 22:18:12 +00:00
Havoc Pennington
346a8b5aaf always focus new windows, trying to be smart about it was a flop.
2002-06-14  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_show): always focus new windows,
	trying to be smart about it was a flop.
2002-06-15 01:46:13 +00:00
Jayaraj Rajappan
5faeb552b7 Check for NULL string before calling strlen(). Fixes the core dump issue
2002-06-14  Jayaraj Rajappan <jayaraj.rajappan@wipro.com>

        * src/delete.c (io_from_ping_dialog): Check for NULL string
        before calling strlen(). Fixes the core dump issue reported in #84873.
2002-06-14 07:21:43 +00:00
Anders Carlsson
47353f88c7 Set client height as 0 when the window actually is shaded, not the other
2002-06-13  Anders Carlsson  <andersca@gnu.org>

	* src/theme.c (meta_frame_layout_calc_geometry): Set client height
	as 0 when the window actually is shaded, not the other way around.
2002-06-13 17:26:39 +00:00
Havoc Pennington
7ff56e67e9 when a window is shaded, don't include client height in the height
2002-06-12  Havoc Pennington  <hp@redhat.com>

	* src/theme.c (meta_frame_layout_calc_geometry): when a window is
	shaded, don't include client height in the height calculation.

	* src/workspace.c (meta_workspace_get_neighbor): apply fix from
	Mads Villadsen for the Up arrow key, #84582
2002-06-12 22:44:25 +00:00
Havoc Pennington
d7cac40332 Draw the buttons right before the "overlay" piece.
2002-06-12  Havoc Pennington  <hp@redhat.com>

	* src/theme.c (meta_frame_style_draw): Draw the buttons right
	before the "overlay" piece.
2002-06-12 21:12:53 +00:00
Jayaraj Rajappan
e0e6dab50f accessibility stuff for metacity-properties capplet. bug #84749. 2002-06-12 05:54:53 +00:00
Havoc Pennington
00e572800c allow dialogs to steal focus from panels/desktop
2002-06-11  Havoc Pennington  <hp@redhat.com>

	* src/window.c (meta_window_show): allow dialogs to steal focus
	from panels/desktop
2002-06-11 22:30:30 +00:00
Jayaraj Rajappan
b3f3014058 Entry for the fix for #83960. 2002-06-10 10:49:06 +00:00
Erwann Chenede -
4dfc8d16be verify the active window has the appropriate close/minimize function
2002-06-10 Erwann Chenede - <erwann.chenede@sun.com>

        * src/keybindings.c : (handle_close_window, handle_minimize_window)
	verify the active window has the appropriate close/minimize function
	before closing or minimizing the window.
2002-06-10 10:17:54 +00:00
Havoc Pennington
bab3f73370 2.3.987
2002-06-09  Havoc Pennington  <hp@pobox.com>

	* configure.in: 2.3.987
2002-06-10 04:25:05 +00:00
Havoc Pennington
dc9d951255 add G_IO_NVAL to watch condition, patch from Gustavo Giraldez, avoids
2002-06-09  Havoc Pennington  <hp@pobox.com>

	* src/delete.c (delete_ping_timeout_func): add G_IO_NVAL to watch
	condition, patch from Gustavo Giraldez, avoids another 100% CPU
	thingy
2002-06-10 03:00:21 +00:00
Havoc Pennington
8057a2f68a don't run constrain_placement on windows we allow to go anywhere (docks,
2002-06-09  Havoc Pennington  <hp@pobox.com>

	* src/place.c (meta_window_place): don't run constrain_placement
	on windows we allow to go anywhere (docks, etc.). Fixes
	positioning of panel windows in certain cases.
2002-06-09 18:17:02 +00:00
Havoc Pennington
deed8016ed don't raise/focus the window if minimize/close are clicked, patch from
2002-06-09  Havoc Pennington  <hp@pobox.com>

	* src/frames.c (meta_frames_button_press_event): don't raise/focus
	the window if minimize/close are clicked, patch from Gaute
	Lindkvist #75460
2002-06-09 04:14:40 +00:00
Havoc Pennington
b168954ed3 Cleanups to workspace popup patch. Space before all parens in a couple
2002-06-08  Havoc Pennington  <hp@pobox.com>

        Cleanups to workspace popup patch. Space before all parens
	in a couple places.

	* src/prefs.c (meta_prefs_get_keybinding_action): fix brace
	indentation, and use while instead of for loop. Take a "mask"
	argument to avoid ambiguity issues.

	* src/keybindings.c (handle_workspace_switch): rename from
	handle_workspace_forward since there's no directionality here
	(handle_workspace_switch): add a FIXME about how screwed it is
	that we need a window in order to do our grab. Should be able to
	grab on a dummy window like no_focus_window or the root window.
	(process_workspace_switch_grab): rename from tab_grab for clarity,
	no tab involved here.

	* src/common.h (enum): have only one grab op for all workspace
	switching directions, instead of one for each.
2002-06-09 04:04:19 +00:00
Havoc Pennington
fb5a3a8998 Apply big patch from blackc@speakeasy.net adding a popup window to the
2002-06-08  Havoc Pennington  <hp@pobox.com>

	Apply big patch from blackc@speakeasy.net adding a popup window
	to the Ctrl+Alt+arrows shortcuts. #83940

2002-06-08  Havoc Pennington  <hp@pobox.com>

	* src/screen.c (meta_screen_new): select key press/release on the
	display->no_focus_window, another attempted fix for not getting
	keybindings when no window is focused. Still doesn't seem to work
	though. I don't get what's going wrong.
	(meta_create_offscreen_window): new function, used instead of
	XCreateSimpleWindow so we get override redirect offscreen windows.
2002-06-09 03:44:16 +00:00
Havoc Pennington
459d8f9c9d set net_supporting_wm_check in addition to win_supporting_wm_check, patch
2002-06-08  Havoc Pennington  <hp@pobox.com>

	* src/display.c (meta_display_open): set net_supporting_wm_check
	in addition to win_supporting_wm_check, patch from
	JeyaSudha for #83365

	* src/screen.c (set_wm_check_hint): remove setting
	win_supporting_wm_check on leader window here, done already in
	display.c
2002-06-09 00:09:01 +00:00
Havoc Pennington
1efd5432ef set keys_grabbed to FALSE, patch from Jayaraj for #81857
2002-06-08  Havoc Pennington  <hp@pobox.com>

	* src/keybindings.c (meta_window_ungrab_keys): set keys_grabbed to
	FALSE, patch from Jayaraj for #81857
2002-06-08 23:59:41 +00:00
Havoc Pennington
31b211550f don't die on bad atom name
2002-06-08  Havoc Pennington  <hp@pobox.com>

	* src/xprops.c (meta_prop_get_utf8_string): don't die on bad atom
	name

	* src/display.c (meta_display_close): don't unmanage windows here,
	do it in screen_free and then closing the display unmanages
	windows as a side effect of unmanaging the screen
	(meta_display_unmanage_screen): new function
	(process_selection_clear, process_selection_request): handle
	selection stuff
	(meta_spew_event): don't crash on client message containing
	invalid atom
	(meta_spew_event): don't crash on property notify with invalid
	atom

	* src/main.c (main): add --replace option to replace existing
	window manager.

	* src/screen.c: implement holding manager selection.

	* src/display.c (meta_display_open): add new selection-related
	atoms.
2002-06-08 23:55:27 +00:00
Havoc Pennington
538a06fd55 select keypress/keyrelease events on root window, this may fix the bug
2002-06-08  Havoc Pennington  <hp@pobox.com>

	* src/screen.c (meta_screen_new): select keypress/keyrelease
	events on root window, this may fix the bug where keybindings
	didn't work if you didn't have a focused window.
2002-06-08 22:06:55 +00:00