Commit Graph

120 Commits

Author SHA1 Message Date
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
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
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
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
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
019b5cacc3 use XineramaIsActive() not XineramaQueryExtension()
2002-06-07  Havoc Pennington  <hp@redhat.com>

	* src/screen.c (meta_screen_new): use XineramaIsActive() not
	XineramaQueryExtension()
2002-06-07 16:18:51 +00:00
Havoc Pennington
a7c8cea1b5 implement
2002-06-06  Havoc Pennington  <hp@pobox.com>

	* src/screen.c (meta_screen_get_current_xinerama): implement

	* src/place.c (meta_window_place): cascade windows on the active
	Xinerama screen

	* src/window.c (meta_window_move_resize_internal): strip out the
	#if 0 cruft about guessing fullscreen mode
	(constrain_position, constrain_size): fullscreen/maximize to the
	Xinerama head, not the whole screen
	(meta_window_get_work_area): autocreate struts at the Xinerama
	physical screen edges for the screen the window is on.

	* src/screen.c (meta_screen_get_xinerama_for_window): someone
	snuck in a for loop, fix it. ;-)
2002-06-07 03:18:46 +00:00
Havoc Pennington
3a745537f0 verbose-log on startup whether we were compiled with various extensions
2002-05-30  Havoc Pennington  <hp@redhat.com>

	* src/main.c (main): verbose-log on startup whether we were
	compiled with various extensions

	* src/display.c (meta_display_queue_retheme_all_windows): reapply
	shape mask when changing themes, sucks to do it here though, makes
	theme changing slower. Needs fixing.

	* src/theme-parser.c (parse_toplevel_element): parse rounded
	corner options to frame_geometry

	* src/frames.c (meta_frames_apply_shapes): apply rounded corners
	if requested by the theme

	* configure.in (HAVE_SHAPE): check for shape extension
2002-05-31 00:02:54 +00:00
Havoc Pennington
0498d55314 Patch from Erwann Chenede for raise_or_lower keybinding
2002-05-28  Havoc Pennington  <hp@pobox.com>

        Patch from Erwann Chenede for raise_or_lower keybinding

	* src/display.c, src/common.h: POINT_IN_RECT moved to a common
	location, removed from here
	(meta_rectangle_intersect): move here and make it public

	* src/prefs.c: add raise_or_lower keybinding

	* src/stack.c (meta_stack_get_below, meta_stack_get_above): add an
	arg to only get windows within the same layer

	* src/keybindings.c (handle_raise_or_lower): add handling for a
	"raise window if obscured, else lower" keybinding
2002-05-29 03:11:24 +00:00
Havoc Pennington
d70e08039c also filter out LeaveNotify with NotifyInferior
2002-05-23  Havoc Pennington  <hp@pobox.com>

	* src/display.c (event_callback): also filter out LeaveNotify
	with NotifyInferior
2002-05-24 03:09:21 +00:00
Jayaraj Rajappan
49fe8f0399 fix for bugzilla bug #72314, filter out LeaveNotify caused by grabs when
2002-05-23  Jayaraj Rajappan <jayaraj.rajappan@wipro.com>

	* src/display.c (event_callback): fix for bugzilla bug #72314,
	filter out LeaveNotify caused by grabs when in mouse focus mode.
2002-05-24 02:55:54 +00:00
Havoc Pennington
0f1f2283e7 Crack from Erwann
2002-05-23  Havoc Pennington  <hp@pobox.com>

        Crack from Erwann

	* src/metacity.schemas: add autoraise crackrock

	* src/display.c (event_callback): autoraise window if autoraise is
	enabled

	* src/prefs.c: autoraise crack
2002-05-24 02:23:46 +00:00
Havoc Pennington
5f65ca07d7 use the layout information to figure out up/down neighbors
2002-05-15  Havoc Pennington  <hp@pobox.com>

	* src/workspace.c (meta_workspace_get_neighbor): use the layout
	information to figure out up/down neighbors

	* src/display.c (event_callback): catch propertynotify on
	_NET_DESKTOP_LAYOUT

	* src/screen.c (meta_screen_update_workspace_layout): keep track
	of the layout of workspaces as set by the pager
2002-05-16 04:03:36 +00:00
Anders Carlsson
af83598ad3 Add screen argument to meta_display_get_tab_next, since we only want
2002-05-11  Anders Carlsson  <andersca@gnu.org>

	* src/display.c: (find_tab_forward), (find_tab_backward),
	(meta_display_get_tab_next):
	* src/display.h:
	* src/keybindings.c: (handle_tab_forward), (handle_focus_previous):
	Add screen argument to meta_display_get_tab_next, since we only
	want windows on the same screen to appear in the tab chain.

	* src/screen.c: (meta_screen_new):
	Or the event mask with existing events since gtk+ may listen to
	certain events and we don't want to disable those events.

	(meta_screen_ensure_tab_popup):
	* src/tabpopup.c: (meta_ui_tab_popup_new):
	* src/tabpopup.h:
	Add a screen number argument to meta_ui_tab_popup_new so we
	can position the popup on the correct screen.
2002-05-11 06:59:54 +00:00
Havoc Pennington
9598affa03 add override redirect test window
2002-05-10  Havoc Pennington  <hp@pobox.com>

	* src/tools/metacity-window-demo.c: add override redirect test
	window

	* src/stack.c (raise_window_relative_to_managed_windows): new
	function, used to avoid moving windows above override redirect
	popup windows.

	* src/display.c (event_callback): don't lower panels on
	LeaveNotify if they have focus, #70895
2002-05-11 04:44:34 +00:00
Havoc Pennington
912afb6e6b DefaultScreen() returns the screen number not Screen*
2002-05-09  Havoc Pennington  <hp@redhat.com>

	* src/frames.c (show_tip_now): DefaultScreen() returns the screen
	number not Screen*

	* src/frame.c (meta_frame_sync_to_window): immediately repaint
	frame whenever we resize it, if we're inside a grab operation.

	* src/frames.c (meta_frames_repaint_frame): new function

	* src/window.c (meta_window_new): initialize window's colormap
	(meta_window_notify_focus): install the colormap for a window when
	it gets focus, uninstall on unfocus.

	* src/window.h (struct _MetaWindow): store window's colormap

	* src/display.c (event_callback): note changes to window colormap

	* src/frame.c (EVENT_MASK): add ColormapChangeMask
2002-05-09 22:34:00 +00:00
Havoc Pennington
6d2c558bd8 make Alt+button2 do a resize
2002-05-09  Havoc Pennington  <hp@redhat.com>

	* src/display.c (event_callback): make Alt+button2 do a resize
2002-05-09 21:22:01 +00:00
Anders Carlsson
0494b044d5 Add multi-screen support. Also add patch by Erwann Chenede to make
2002-05-08  Anders Carlsson  <andersca@gnu.org>

	* configure.in:
	* src/display.c: (meta_display_open):
	* src/fixedtip.c: (meta_fixed_tip_show):
	* src/fixedtip.h:
	* src/frames.c: (meta_frames_new), (show_tip_now):
	* src/frames.h:
	* src/menu.c: (meta_window_menu_new):
	* src/ui.c: (meta_ui_new):
	Add multi-screen support. Also add patch by Erwann Chenede
	to make tooltips appear on the correct screen.
2002-05-08 16:24:28 +00:00
Anders Carlsson
9138b9aa3c Fix atom name; it's _NET_SHOW_DESKTOP, not _NET_WM_SHOW_DESKTOP.
2002-05-07  Anders Carlsson  <andersca@gnu.org>

	* src/display.c: (meta_display_open), (event_callback),
	(meta_display_update_show_desktop_hint):
	* src/display.h:
	* src/screen.c: (set_supported_hint):
	Fix atom name; it's _NET_SHOW_DESKTOP, not
	_NET_WM_SHOW_DESKTOP.

	* src/frames.c: (meta_frames_unmanage_window):
	Restore the mouse cursor to default when unmanaging a window.
2002-05-07 14:42:47 +00:00
Anders Carlsson
7b9877258f Fix an off-by-one error.
2002-05-06  Anders Carlsson  <andersca@gnu.org>

	* src/display.c: (set_utf8_string_hint):
	Fix an off-by-one error.

	(meta_display_open),
	(event_callback), (meta_display_update_show_desktop_hint),
	(meta_display_show_desktop), (meta_display_unshow_desktop):
	* src/display.h:
	* src/screen.c: (set_supported_hint):
	Add support for _NET_WM_SHOW desktop, both as a message and
	as a root window property.
2002-05-06 06:11:46 +00:00
Havoc Pennington
e8267b20fe always raise windows on focus click, regardless of focus mode.
2002-04-29  Havoc Pennington  <hp@redhat.com>

	* src/display.c (event_callback): always raise windows on focus
	click, regardless of focus mode.
2002-04-29 20:20:38 +00:00
Anders Carlsson
53268f985f Add support for setting the _NET_WM_WORKAREA hint. No code does it yet
2002-04-28  Anders Carlsson  <andersca@gnu.org>

	* src/display.c: (meta_display_open):
	* src/display.h:
	* src/screen.c: (set_supported_hint):
	* src/workspace.c: (set_number_of_spaces_hint),
	(set_workarea_hint):
	Add support for setting the _NET_WM_WORKAREA hint. No code
	does it yet though.
2002-04-28 15:47:21 +00:00
Havoc Pennington
e4e200a1dc remove caveats about keybindings
2002-04-28  Havoc Pennington  <hp@pobox.com>

	* README: remove caveats about keybindings

	* src/metacity.schemas: add schemas for all the keybindings.

	* src/window.c (meta_window_activate): if in "show desktop" mode
	when a window is activated, leave show desktop mode. So e.g.
	when you click on a task in the task list, show desktop mode
	will be turned off.

	* src/workspace.c (meta_workspace_get_neighbor): new function
	that doesn't quite work yet (needs support for getting
	workspace layout from the pager)

	* src/prefs.c: keybindings stuff

	* src/keybindings.c: make keybindings configurable

	* src/ui.c (meta_ui_parse_accelerator): new function
2002-04-28 04:52:26 +00:00
Havoc Pennington
2a71cab8c4 reply immediately for windows that don't support _NET_WM_PING
2002-04-15  Havoc Pennington  <hp@redhat.com>

	* src/display.c (meta_display_ping_window): reply immediately for
	windows that don't support _NET_WM_PING

	* src/window.c (update_protocols): check whether windows
	support _NET_WM_PING
2002-04-15 22:14:06 +00:00
Havoc Pennington
d02060e201 new file containing all the wacky mess I just added to a simple "click the
2002-04-13  Havoc Pennington  <hp@pobox.com>

	* src/delete.c: new file containing all the
	wacky mess I just added to a simple "click the close button",
	contains all the dealing-with-dead-application cruft.
	Use metacity-window-demo to test by clicking the
	toolbar button that locks it up.
2002-04-13 04:58:45 +00:00
Havoc Pennington
fa0592ebc7 remove the unused tab stuff
2002-04-05  Havoc Pennington  <hp@pobox.com>

	* src/stack.c: remove the unused tab stuff

	* src/display.c: implement tab list among panels

	* src/keybindings.c: fill in move-between-panels keybindings
2002-04-05 15:52:49 +00:00
Havoc Pennington
bfc47ccd6e Add some total crackrock resize-grid indication for windows that have
2002-03-17  Havoc Pennington  <hp@pobox.com>

	* src/resizepopup.c: Add some total crackrock resize-grid
	indication for windows that have width_inc/height_inc
	so I can debug gnome-terminal sizing.
2002-03-17 17:22:23 +00:00
Havoc Pennington
11089cb824 use new functions
2002-03-11  Havoc Pennington  <hp@pobox.com>

	* src/keybindings.c: use new functions

	* src/display.c (meta_display_get_tab_next):
	(meta_display_get_tab_list): new tab order functions using
	MRU list instead of map order

	* src/window.c (meta_window_notify_focus): maintain focus MRU list

	* src/display.h (struct _MetaDisplay): Keep an MRU list of
	windows.
2002-03-12 04:34:17 +00:00
Havoc Pennington
35a2f2df76 support _NET_NUMBER_OF_DESKTOPS message so you can change number of
2002-03-10  Havoc Pennington  <hp@pobox.com>

	* src/display.c (event_callback): support _NET_NUMBER_OF_DESKTOPS
	message so you can change number of desktops with the pager

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

	* src/display.c (meta_spew_event): print stacking aspects of
	configure request
2002-03-10 18:36:08 +00:00
Havoc Pennington
447eba6007 we didn't claim to support _NET_ACTIVE_WINDOW so gtk_window_present()
2002-03-10  Havoc Pennington  <hp@pobox.com>

	* src/screen.c (set_supported_hint): we didn't claim to support
	_NET_ACTIVE_WINDOW so gtk_window_present() didn't work. Mumble.
	Only worked with tasklist because libwnck didn't check for
	WM support.

	* src/window.c (meta_window_free): clean off window state
	when windows are withdrawn, to avoid sticking dialogs
	to their initial desktop.
	(meta_window_queue_calc_showing): return if window is withdrawn
2002-03-10 15:48:38 +00:00
Havoc Pennington
fdb20df78b add some assertions
2002-03-06  Havoc Pennington  <hp@pobox.com>

	* src/core.c (meta_core_get_grab_frame): add some assertions

	* src/menu.c (meta_window_menu_new): make another warning
	into a verbose

	* src/display.c (meta_change_button_grab): use verbose rather than
	warning to log failures to grab button, since these are typically
	BadWindow from a destroyed window.
2002-03-07 03:46:12 +00:00
Havoc Pennington
262e6fab27 use hash_table_replace instead of g_hash_table_insert
2002-03-06  Havoc Pennington  <hp@redhat.com>

	* src/frames.c (meta_frames_manage_window): use hash_table_replace
	instead of g_hash_table_insert

	* src/main.c (main): only enable verbose/debug if you set
	METACITY_VERBOSE/METACITY_DEBUG

	* src/util.c (ensure_logfile): only use a log file if
	METACITY_USE_LOGFILE is set

	* src/display.c (meta_display_for_x_display): add warning if
	MetaDisplay isn't found

	* src/window.c (meta_window_free): add an assertion that we
	successfully cleared the grab window
2002-03-06 22:27:24 +00:00
Havoc Pennington
20a98e1c2a disable resize etc. if we're fullscreen (constrain_size): fix size
2002-03-02  Havoc Pennington  <hp@pobox.com>

	* src/window.c (recalc_window_features): disable resize etc. if
	we're fullscreen
	(constrain_size): fix size constraints when fullscreen

	* src/display.c (meta_display_open): fix missing comma that
	ended up concatenating two of the properties breaking
	FULLSCREEN state and PING protocol
2002-03-03 00:03:50 +00:00
Havoc Pennington
ac2aa5337d Add hacking to fix the problem that we made our XGrabPointer() during
2002-03-02  Havoc Pennington  <hp@pobox.com>

	* src/display.c: Add hacking to fix the problem that we made our
	XGrabPointer() during Alt+Tab actually succeed, so on popping down
	Alt+Tab we got an EnterNotify from the ungrab, which resulted in
	focusing the window under the mouse. i.e. Alt+Tab didn't work with
	sloppy focus.
2002-03-02 15:26:07 +00:00
Havoc Pennington
efa0ae8373 Screw around with Anders's ping patch so he'll get plenty of CVS
2002-02-26  Havoc Pennington  <hp@pobox.com>

        Screw around with Anders's ping patch so he'll get plenty of CVS
	conflicts. ;-)

	* src/display.c (meta_display_ping_window): spew warnings
	if we try to call this with CurrentTime
	(meta_display_ping_timeout): remove ping from the pending pings
	after it times out.

	* src/util.h: added PING debug category

	* src/display.c (remove_pending_pings_for_window): don't remove
	"tmp" just before "tmp->next", don't break out of loop after
	finding the first match
	(meta_display_open): no trailing comma in array init
	(event_callback): move the processing of ping replies into a
	separate function

	* src/screen.c (set_supported_hint): add _NET_WM_PING to supported
	list

	* src/display.h: change gpointer to void*

2002-02-26  Anders Carlsson  <andersca@gnu.org>

	* src/display.c: (ping_data_free),
	(remove_pending_pings_for_window), (meta_display_open),
	(event_callback), (meta_display_unregister_x_window),
	(meta_display_ping_timeout), (meta_display_ping_window),
	(meta_display_window_has_pending_pings):
	Implement meta_display_ping_window, and filter out scroll wheel
	events.

	* src/display.h:
	Add MetaWindowPingFunc, meta_display_ping_window and
	meta_display_window_has_pending_pings.
2002-02-27 02:05:39 +00:00
Havoc Pennington
bedddaa717 switch on the op passed in, not the active op. Gives us the right cursor
2002-02-24  Havoc Pennington  <hp@pobox.com>

	* src/display.c (xcursor_for_op): switch on the op passed in, not
	the active op. Gives us the right cursor during resizing, etc.

	* src/errors.c: rearrange all the error stuff to adapt to the GDK
	change a while back, so now we print our X errors again

	* src/display.c (meta_display_begin_grab_op): remove KeyPressMask
	and KeyReleaseMask from the XGrabPointer(), this caused BadValue
	and kept the grab from ever succeeding. Fixes the problem with the
	GTK resize grip - this is why you shouldn't break your X error
	spew. ;-)

	* src/display.c: debug spew tweaks

	* src/window.c (meta_window_client_message): do some
	s/verbose/topic/ stuff
2002-02-24 19:58:27 +00:00
Havoc Pennington
20218dac92 put in hack to keep Pango from mangling our server grab and locking up on
2002-02-19  Havoc Pennington  <hp@pobox.com>

	* src/ui.c (meta_ui_init): put in hack to keep Pango from mangling
	our server grab and locking up on startup. (hack doesn't work
	but I want to fix it on my real computer not this laptop)

	* src/window.c: Implement _NET_WM_STATE_FULLSCREEN

	* src/display.c (meta_display_open): add atoms for
	_NET_WM_STATE_FULLSCREEN
2002-02-23 22:58:02 +00:00
Havoc Pennington
116fc5546f put in some kind of distinctive frame for UTILITY, though it's ugly. Also
2002-02-09  Havoc Pennington  <hp@pobox.com>

	* src/themes/Atlanta/metacity-theme-1.xml: put in some kind of
	distinctive frame for UTILITY, though it's ugly. Also put in the
	borderless look for maximized windows.

	* src/stack.c (compute_layer): put splash screen in the splash
	layer

	* src/stack.h (enum): create a splash screen layer

	* src/place.c (meta_window_place): center splashscreen, and fix a
	typo in the centering code

	* src/window.c (recalc_window_features): disable most features on
	splash screens

	* src/screen.c (set_supported_hint): add UTILITY and SPLASHSCREEN
	hints

	* src/window.c: add UTILITY, SPLASHSCREEN implementation

	* src/window.h (enum): add UTILITY, SPLASHSCREEN types

	* src/theme-parser.c (parse_toplevel_element): parser support
	for has_title attribute

	* src/theme.c (meta_frame_layout_get_borders): handle a has_title
	field in the layout, for utility windows that don't display a
	title (would be better to be able to shrink the title text,
	but that's kind of tricky to implement :-/)
2002-02-09 06:54:44 +00:00
Havoc Pennington
844a8ac13f add _NET_WM_STATE_HIDDEN to _NET_SUPPORTED
2002-02-08  Havoc Pennington  <hp@pobox.com>

	* src/screen.c (set_supported_hint): add _NET_WM_STATE_HIDDEN
	to _NET_SUPPORTED

	* src/keybindings.c (meta_set_keybindings_disabled): put in header
	file, to fix warning.

	* src/display.c (meta_display_open): add _NET_WM_STATE_HIDDEN atom

	* src/window.c (set_net_wm_state): set _NET_WM_STATE_HIDDEN for
	shaded and minimized windows
	(meta_window_show): call set_net_wm_state() if we map the window
	or frame
	(meta_window_hide): call set_net_wm_state() if we unmap the window
	or frame
2002-02-09 04:50:58 +00:00
Havoc Pennington
75fa1d1b09 grab buttons 2 and 3 also, so you can focus a window with those, #70840
002-02-08  Havoc Pennington  <hp@pobox.com>

	* src/display.c (meta_display_grab_focus_window_button): grab
	buttons 2 and 3 also, so you can focus a window with those,
	#70840
	(event_callback): fix this to let you focus a window with any
	unmodified click, and also with Alt+button1

	* configure.in (AC_OUTPUT): add po/Makefile.in

	* autogen.sh: port to glib-gettextize, remove stupid
	auto-find-subdirs crap

	* Makefile.am (SUBDIRS): add po to subdirs, #70615

	* src/window.c (meta_window_activate): unshaded window if shaded,
	I thought this was in bugzilla but I don't see it. anyway thanks
	whoever mentioned it to me.
2002-02-08 06:50:09 +00:00
Havoc Pennington
51d9f9dce6 when mapping a window with struts, invalidate the work areas it's on.
2002-02-08  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_show): when mapping a window with
	struts, invalidate the work areas it's on. Should fix at least
	part of the problem with windows maximizing over panels.

	* src/workspace.c (meta_workspace_invalidate_work_area): also
	queue move/resize on sticky windows

	* src/tools/Makefile.am: consolidate reload-theme, restart into a
	"metacity-message" app and add enable/disable keybindings to the
	messages it knows about.

	* src/keybindings.c:
	(meta_change_keygrab): grab keyboard synchronously
	(meta_display_process_key_event): if all keybindings are toggled
	off, ReplayKeyboard, else AsyncKeyboard, except that the debug
	binding for toggling back on is always processed
	(meta_set_keybindings_disabled): function to disable/enable
	all keybindings
2002-02-08 06:01:58 +00:00
Havoc Pennington
d91715dc8f Throughout: move to meta_topic rather than meta_verbose so metacity.log
2002-02-07  Havoc Pennington  <hp@pobox.com>

        Throughout: move to meta_topic rather than meta_verbose so
	metacity.log can start being more useful

	* src/util.h (enum): add more debug topics

	* src/frames.c: clean up some cruft that caused warnings
2002-02-08 03:34:26 +00:00
Havoc Pennington
84c3050a7c redo window sizes/appearance when the theme changes
2002-02-06  Havoc Pennington  <hp@pobox.com>

	* src/main.c (prefs_changed_callback): redo window
	sizes/appearance when the theme changes

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

	* src/theme-parser.c (locate_attributes): remove error handling
	for MAX_ATTRS reached, add an assert instead, the way this code
	ended up the attrs in the array depend on the code not the theme
	file.
2002-02-07 03:25:34 +00:00
Havoc Pennington
8ae714eeae disable custom log handler and fatal mask for now
2002-02-06  Havoc Pennington  <hp@pobox.com>

	* src/main.c (main): disable custom log handler and fatal mask for
	now

	* src/theme.c (meta_draw_op_list_draw):
	Add META_DRAW_CLIP

	* src/main.c: load theme, monitor current theme setting

	* src/prefs.c: add "current theme" setting

	* src/stack.c (meta_stack_free): don't try to free
	last_root_children_stacked if it doesn't exist

	* src/themewidget.c: pluggable GtkMisc subclass to use
	for menu icons

	* src/screen.c (meta_screen_manage_all_windows): fix
	signed/unsigned warning

	* src/frames.c: port to theme system
	(meta_frames_style_set): chain up

	* theme-format.txt: new file

	* configure.in: add more compiler warnings

	* src/theme.c: add various stuff needed to get theme parser
	working. Remove the "spacer" concept from FrameLayout object.
	Add draw op that references a draw op list.

	* configure.in: require GTK 1.3.13

	* src/Makefile.am: add theme-parser.[hc], implement loading a
	theme

	* src/theme.c: add "draw title" and "draw window icon" operations
	(meta_draw_op_draw): put object_width/object_height in expression
	environment before computing x/y. Handle out-of-memory when
	creating pixbufs. Assorted other cleanups.
2002-02-07 03:07:56 +00:00
Havoc Pennington
8ddeb4f953 move in here so util.c doesn't require display.[hc]
2002-01-27  Havoc Pennington  <hp@pobox.com>

	* src/display.c (meta_set_syncing): move in here so util.c doesn't
	require display.[hc]

	* src/theme.h, src/theme.c: implement coordinate expression
	parser, write MetaShapeSpec declaration

	* src/util.c (meta_exit): move in here so we can link
	to util.c with a different main()

	* src/theme.h: rename the MetaWindow* enums to MetaFrame*
2002-01-28 02:09:12 +00:00
Havoc Pennington
7eac9e4958 make the check for whether to eat focus click a lot more complicated
2002-01-27  Havoc Pennington  <hp@pobox.com>

	* src/display.c (event_callback): make the check for whether to
	eat focus click a lot more complicated

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

	* src/prefs.h, src/prefs.c: add application based pref

	* src/metacity.schemas: add "application_based" setting to
	give me a mode to fool with being application based,
	without being unusable in the meantime. Yeah the crack flows
	freely these days. Everyone knew it would happen.
2002-01-27 05:50:34 +00:00