Commit Graph

363 Commits

Author SHA1 Message Date
Anders Carlsson
d466c615ed Take Xinerama screen edges into consideration.
2002-05-25  Anders Carlsson  <andersca@gnu.org>

	* src/place.c: (get_vertical_edges), (get_horizontal_edges):
	Take Xinerama screen edges into consideration.

	* src/screen.c: (meta_rectangle_intersect),
	(meta_screen_get_xinerama_for_window):
	* src/screen.h:
	Add a new function that returns the xinerama monitor that
	a window is on.
2002-05-25 16:30:14 +00:00
Havoc Pennington
cc3c995d80 follow windows to their new workspace
2002-05-24  Havoc Pennington  <hp@pobox.com>

	* src/window.c (menu_callback): follow windows to their new
	workspace

	* src/keybindings.c (handle_move_to_workspace): follow windows to
	their new workspace
2002-05-25 02:33:55 +00:00
Havoc Pennington
a4fe1ad960 add minimize window binding
2002-05-24  Havoc Pennington  <hp@pobox.com>

	* src/metacity.schemas: add minimize window binding

	* src/keybindings.c (handle_minimize_window): add minimize keybinding
2002-05-25 02:30:00 +00:00
Havoc Pennington
4f70698493 change how focusing windows on initial map works, so that we only steal
2002-05-24  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_show): change how focusing windows
	on initial map works, so that we only steal focus from our
	transient parent or from a panel/desktop, never from other
	normal windows.
2002-05-25 02:11:33 +00:00
Havoc Pennington
30ff4540d0 modify to ignore PPosition and USPosition once the window has been placed
2002-05-24  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_configure_request): modify to ignore
	PPosition and USPosition once the window has been placed
2002-05-25 02:03:09 +00:00
Anders Carlsson
2536b82084 Redraw the window frame when the icon changes. Fixes #78543, reported by
2002-05-24  Anders Carlsson  <andersca@gnu.org>

	* src/window.c: Redraw the window frame when the icon changes.
	Fixes #78543, reported by Kang Jeong-Hee.
2002-05-24 08:16:59 +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
4e9ac83b15 clean up the font preference
2002-05-23  Havoc Pennington  <hp@pobox.com>

	* src/metacity.schemas: clean up the font preference

	* src/prefs.c: font pref

	* src/frames.c: pay attention to the font pref
2002-05-24 02:50:02 +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
2567ee81b8 fix positioning in fullscreen mode, patch from Gustavo Giráldez
2002-05-21  Havoc Pennington  <hp@redhat.com>

	* src/window.c (constrain_position): fix positioning in fullscreen
	mode, patch from Gustavo Giráldez
2002-05-21 21:02:33 +00:00
Alessio Frusciante
860a1298b5 Added Italian translation. 2002-05-20 19:40:27 +00:00
Pablo Saratxaga
7366527aa7 Added Catalan file 2002-05-20 13:17:52 +00:00
Havoc Pennington
009a439259 2.3.377
2002-05-17  Havoc Pennington  <hp@redhat.com>

	* configure.in: 2.3.377
2002-05-17 22:09:05 +00:00
Havoc Pennington
82b064ed7d fix it, maybe
2002-05-16  Havoc Pennington  <hp@pobox.com>

	* src/workspace.c (meta_workspace_get_neighbor): fix it, maybe
2002-05-17 01:48:57 +00:00
Havoc Pennington
bb35f88925 lock desktop to position 0,0
2002-05-16  Havoc Pennington  <hp@redhat.com>

	* src/window.c (constrain_position): lock desktop to position 0,0
2002-05-16 20:47:29 +00:00
Havoc Pennington
74cf783be3 don't focus dock, desktop, etc. windows on initial map, only windows that
2002-05-16  Havoc Pennington  <hp@redhat.com>

	* src/window.c (meta_window_show): don't focus dock, desktop,
	etc. windows on initial map, only windows that should have focus.
2002-05-16 19:08:20 +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
James M. Cape
2c73ab41ed Minor tweak to minimize button.
2002-05-15  James M. Cape  <jcape@ignore-your.tv>

	* src/themes/Esco/metacity-theme-1.xml: Minor tweak to minimize
	button.
2002-05-15 07:35:47 +00:00
Havoc Pennington
53bddf9ceb add Esco theme from James Cape
2002-05-14  Havoc Pennington  <hp@pobox.com>

	* src/themes/Makefile.am (THEMES): add Esco theme from James Cape
2002-05-14 05:25:04 +00:00
Havoc Pennington
5151c5102d move pposition/usposition honoring code into here, instead of putting it
2002-05-12  Havoc Pennington  <hp@pobox.com>

	* src/place.c (meta_window_place): move pposition/usposition
	honoring code into here, instead of putting it in window.c.
	Makes focusing new windows work, and cleans things up a bit.
	#81585
2002-05-13 00:03:17 +00:00
Havoc Pennington
973662d5c3 remove stray conflict marker 2002-05-12 15:21:57 +00:00
Havoc Pennington
b94beb3289 turn on --g-fatal-warnings if METACITY_G_FATAL_WARNINGS env variable is
2002-05-12  Havoc Pennington  <hp@pobox.com>

	* src/main.c (main): turn on --g-fatal-warnings if
	METACITY_G_FATAL_WARNINGS env variable is set.
2002-05-12 14:50:05 +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
41e99288b5 include locale.h, fix from Hidetoshi Tajima
2002-05-11  Havoc Pennington  <hp@pobox.com>

	* src/main.c: include locale.h, fix from Hidetoshi Tajima

	* src/window.c (meta_window_new): disable show desktop mode when a
	new window is managed.
2002-05-11 05:47:04 +00:00
Havoc Pennington
a3460b8ac8 keep the tooltip on the screen horizontally, #76825
2002-05-11  Havoc Pennington  <hp@pobox.com>

	* src/fixedtip.c (meta_fixed_tip_show): keep the tooltip
	on the screen horizontally, #76825

	* src/window.c (meta_window_handle_mouse_grab_op_event): end grab
	op _after_ doing the final update of the move or resize.
	Hopefully I didn't have a reason for the order I was using before.
2002-05-11 05:09: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
2679d3cf00 when maximizing/fullscreening something with a grid, like a terminal,
2002-05-10  Havoc Pennington  <hp@pobox.com>

	* src/window.c (constrain_position): when maximizing/fullscreening
	something with a grid, like a terminal, center it in the
	maximization area in case it can't fill the whole area.
	#70554

	* src/main.c (main): use g_strerror() to get proper UTF-8.
2002-05-11 03:37:51 +00:00
Havoc Pennington
487c6cfaaa put LockMask into the ignored_modifier_mask so that caps lock doesn't mess
2002-05-10  Havoc Pennington  <hp@pobox.com>

	* src/keybindings.c (reload_modmap): put LockMask into the
	ignored_modifier_mask so that caps lock doesn't mess up
	keybindings.
2002-05-11 02:38:58 +00:00
Havoc Pennington
052a794427 if window is not mapped after the calc_showing, don't focus it, it's
2002-05-10  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_focus): if window is not mapped after
	the calc_showing, don't focus it, it's probably on another
	workspace or something.
2002-05-11 02:25:11 +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
8f5c12d76d #ifdef out call to gtk_window_set_screen, reported by Erwann Chenede.
2002-05-08  Anders Carlsson  <andersca@gnu.org>

	* src/fixedtip.c (meta_fixed_tip_show):
	#ifdef out call to gtk_window_set_screen, reported by
	Erwann Chenede.
2002-05-08 17:20:38 +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
3f7203a3a4 Doh, only update the tmp pointer when the screen matches. Fixes a segfault
2002-05-07  Anders Carlsson  <andersca@gnu.org>

	* src/workspace.c (set_work_area_hint): Doh, only update
	the tmp pointer when the screen matches. Fixes a segfault
	when running with multiple screens.
2002-05-07 17:23:31 +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
41120f2a79 on unminimize, queue calc_showing on all transients
2002-05-05  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_unminimize): on unminimize, queue
	calc_showing on all transients
	(meta_window_activate): on activate, unminimize all a window's
	ancestors, not just the window itself.

	* src/workspace.c (set_work_area_hint): don't increment "tmp" by
	16 unsigned long, increment by 4

	* src/window.c (meta_window_free): if a window isn't minimized,
	restore its WM_STATE to NormalState instead of IconicState,
	since IconicState on initial window map means that the window
	should be minimized.

	* src/workspace.c (meta_workspace_invalidate_work_area): queue an
	idle to recompute the work area hint.
	(set_work_area_hint): we need 4*num_workspaces ints, not just
	num_workspaces.

	* src/screen.c (meta_screen_new): add work_area_idle field,
	handle it on screen shutdown

	* src/common.h (META_PRIORITY_PREFS_NOTIFY,
	META_PRIORITY_WORK_AREA_HINT): define some idle priorities

	* src/window.c (meta_window_calc_showing): hide windows if
	their parent window is minimized
	(meta_window_minimize): also queue_calc_showing on all
	transients of the window being minimized

	* src/place.c (constrain_placement): function to apply
	placement-time-only constraints, such as "not off the left of the
	screen"
	(meta_window_place): put dialogs down a bit over their parent,
	not right at the top.
	(meta_window_place): when centering a dialog, center it
	on the current xinerama screen, rather than the entire
	screen.

	* src/screen.c (meta_screen_get_current_xinerama): new function,
	but not implemented
2002-05-05 05:41:13 +00:00
Havoc Pennington
6f8a7f1870 chop out the portion of the region that's outside the screen.
2002-05-04  Havoc Pennington  <hp@pobox.com>

	* src/frames.c (meta_frames_paint_to_drawable): chop out the
	portion of the region that's outside the screen.

	* src/core.c (meta_core_get_screen_size): new function
	(meta_core_get_frame_extents): new function
2002-05-05 00:45:01 +00:00
Havoc Pennington
7fbbd0200f disable automatic GTK double buffering, since it resulted in gigantic
2002-05-04  Havoc Pennington  <hp@pobox.com>

	* src/frames.c (meta_frames_init): disable automatic GTK double
	buffering, since it resulted in gigantic backing pixmaps the size
	of the whole screen.
	(meta_frames_paint_to_drawable): change to take a region argument;
	punch the client area out of the expose region, then iterate over
	rectangles in the region and draw each, manually doing
	begin_paint_rect. Results in 4 long thin backing pixmaps
	per frame repaint, instead of one large backing pixmap.
	Suggested by Owen.
2002-05-05 00:21:17 +00:00
Bastien Nocera
cf4ef8cab2 - Wrap-around workspaces (ie. when on the last workspace, "switch_to_workspace_right" goes back to the first one) 2002-05-05 00:11:29 +00:00
Anders Carlsson
011a7f77a6 Fix a spelling error and change switch_to_workspace_up and
2002-05-05  Anders Carlsson  <andersca@gnu.org>

	* src/metacity.schemas: Fix a spelling error and change
	switch_to_workspace_up and switch_to_workspace_down to use
	Ctrl+Alt since Nautilus uses Alt now.
2002-05-04 23:40:12 +00:00
Havoc Pennington
80fb12a0b9 correctly print things if the type_atom is unset (meta_window_new): with
2002-05-04  Havoc Pennington  <hp@pobox.com>

	* src/window.c (update_net_wm_type): correctly print things if the
	type_atom is unset
	(meta_window_new): with workarounds disabled, always allow
	self-placement for windows with PPosition or USPosition set.
2002-05-04 22:53:13 +00:00
Havoc Pennington
80c4897ced fix for automake 1.5, patch from Tomasz Kloczko
2002-05-03  Havoc Pennington  <hp@redhat.com>

	* src/Makefile.am: fix for automake 1.5, patch from Tomasz Kloczko
2002-05-03 18:40:16 +00:00
Laszlo Peter
c56914dd5d add the X libs to METACITY_MESSAGE_LIBS and METACITY_WINDOW_DEMO_LIBS
2002-05-03  Laszlo Peter  <laca@sun.com>

	* configure.in: add the X libs to METACITY_MESSAGE_LIBS and
	METACITY_WINDOW_DEMO_LIBS
2002-05-03 11:40:04 +00:00
Havoc Pennington
559f6e8f19 updates
2002-05-02  Havoc Pennington  <hp@redhat.com>

	* README: updates

	* configure.in: 2.3.233
2002-05-02 22:40:49 +00:00
Bastien Nocera
718b077b82 - change the default for switch_to_workspace_* to be <Control><Alt>arrow as just <Alt>arrow collides with some apps (especially web browsers) 2002-05-02 16:59:52 +00:00
Havoc Pennington
14dccacfde Xlib doesn't like NULL for out arguments; fix for #80472 from lbedford
2002-05-01  Havoc Pennington  <hp@redhat.com>

	* src/screen.c (meta_screen_new): Xlib doesn't like NULL for out
	arguments; fix for #80472 from lbedford
2002-05-01 16:31:58 +00:00
Havoc Pennington
82ceb7c837 finish mopping up mode_switch_mask field
2002-04-30  Havoc Pennington  <hp@pobox.com>

	* src/keybindings.c: finish mopping up mode_switch_mask field

	* src/display.h (struct _MetaDisplay): remove mode_switch_mask
	field
2002-05-01 03:33:06 +00:00
Havoc Pennington
03481ae2d0 don't try to decorate toolbars.
2002-04-30  Havoc Pennington  <hp@pobox.com>

	* src/window.c (recalc_window_features): don't try to decorate
	toolbars.

	* src/tools/metacity-window-demo.c: add menu and toolbar tests

	* src/place.c (meta_window_place): only dialogs should be centered
	over parent, not anything with transient for set.

	* src/window.c (meta_window_configure_request): become more
	fascist about window positioning if workarounds are disabled, and
	less fascist if they are enabled.

	* src/metacity.schemas: add a "disable_workarounds" option.  Kind
	of crack-smoking. But we just can't get all applications
	fixed. And I need no-workarounds mode to monitor which apps are
	broken and what needs fixing in specs.

	* src/window.c (meta_window_configure_request): always allow
	windows to resize themselves

	* src/keybindings.c (reload_modmap): don't filter out Mode_switch,
	apparently some people bind window manager shortcuts to that.
2002-05-01 03:23:46 +00:00
Havoc Pennington
17b4eab4d4 oops, fix maximization. Pointed out by Gustavo Giráldez
2002-04-30  Havoc Pennington  <hp@redhat.com>

	* src/window.c (constrain_position): oops, fix
	maximization. Pointed out by Gustavo Giráldez
2002-04-30 19:52:30 +00:00
Jonathan Blandford
cb1b7deefa give Maximize/Unmaximize and Shade/Unshade the same mnemonic for
Tue Apr 30 06:24:09 2002  Jonathan Blandford  <jrb@gnome.org>

	* src/menu.c: give Maximize/Unmaximize and Shade/Unshade the same
	mnemonic for consistency's sake.
2002-04-30 11:00:53 +00:00
Havoc Pennington
cd40cc9edb require 36 pixels onscreen so you typically get a sliver of titlebar,
2002-04-29  Havoc Pennington  <hp@redhat.com>

	* src/window.c (TITLEBAR_LENGTH_ONSCREEN): require 36 pixels
	onscreen so you typically get a sliver of titlebar, suggested by
	tigert.  Should still fix this to consider actual theme geometry.
	(constrain_position): change to allow movement off the left
2002-04-29 21:29:51 +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
Havoc Pennington
c64ada94a5 2.3.144
2002-04-29  Havoc Pennington  <hp@redhat.com>

	* configure.in: 2.3.144
2002-04-29 18:09:24 +00:00
Havoc Pennington
a32503a75a don't leak the PangoContext
2002-04-29  Havoc Pennington  <hp@pobox.com>

	* src/ui.c (meta_ui_init): don't leak the PangoContext
2002-04-29 06:08:59 +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
e3156b007d fix to install gconf schemas
2002-04-25  Havoc Pennington  <hp@redhat.com>

	* metacity.spec: fix to install gconf schemas
2002-04-25 18:23:11 +00:00
jacob berkman
e691b664e3 g_file_get_contents() takes a gsize not int (fixes bus error on 64-bit
2002-04-25  jacob berkman  <jacob@ximian.com>

	* src/session.c (load_state): g_file_get_contents() takes a gsize
	not int (fixes bus error on 64-bit platforms)
2002-04-25 16:25:07 +00:00
Havoc Pennington
5fd4fb96f7 call setlocale ourselves because due to a GLib bug that sticks us in ASCII
2002-04-22  Havoc Pennington  <hp@redhat.com>

	* src/main.c (main): call setlocale ourselves because due to a
	GLib bug that sticks us in ASCII if you call g_print or anything
	prior to setlocale, and print a warning if we don't set the locale
	successfully. #79280

	* src/workspace.c (meta_workspace_get_work_area): be more verbose
	about how the work area was computed, to help find bugs here.

	* src/main.c (main): put locale and codeset in the log file
2002-04-22 18:18:38 +00:00
Havoc Pennington
8183c509d9 add error trap, fixes a possible BadWindow if a window closed itself in
2002-04-21  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_send_icccm_message): add error trap,
	fixes a possible BadWindow if a window closed itself in response
	to the delete window message prior to us sending the ping message.
2002-04-22 03:23:29 +00:00
Havoc Pennington
115c086eb9 never revert to user_rect.width, user_rect.height. Maybe fixes assorted
2002-04-21  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_move_resize_now): never revert to
	user_rect.width, user_rect.height. Maybe fixes assorted resize
	screwups e.g. with gnome-terminal.
2002-04-22 03:10:53 +00:00
Anders Carlsson
6603ee6084 Add padding if icon width and height differ.
2002-04-21  Anders Carlsson  <andersca@gnu.org>

	* src/iconcache.c (scaled_from_pixdata): Add padding if
	icon width and height differ.
2002-04-21 20:17:44 +00:00
Havoc Pennington
f5c10f387b query Xinerama screen information if HAVE_XINERAMA
2002-04-17  Havoc Pennington  <hp@pobox.com>

	* src/screen.c (meta_screen_new): query Xinerama screen
	information if HAVE_XINERAMA

	* configure.in (found_xinerama): check for Xinerama
2002-04-21 19:35:02 +00:00
Changwoo Ryu
d23fa8c870 Added ko (Korean).
* configure.in (ALL_LINGUAS): Added ko (Korean).
2002-04-17 12:11:21 +00:00
Akira TAGOH
4c64e88631 add ja.po entry.
2002-04-16  Akira TAGOH  <tagoh@gnome.gr.jp>

	* configure.in (ALL_LINGUAS): add ja.po entry.
2002-04-16 12:19:22 +00:00
Havoc Pennington
afcd24b603 fix issue with GNU libc mangling %.10s format
2002-04-15  Havoc Pennington  <hp@pobox.com>

	* src/window.c (update_title): fix issue with GNU libc
	mangling %.10s format

	* metacity.spec: Fix up spec file

	* README: update README

	* configure.in (ALL_LINGUAS): require GTK 2.0.0
2002-04-16 03:23:21 +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
206cff1547 same fix as libwnck, avoid using cmap with the wrong depth
2002-04-13  Havoc Pennington  <hp@pobox.com>

	* src/ui.c (get_cmap): same fix as libwnck, avoid using cmap
	with the wrong depth
2002-04-13 20:26:45 +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
f965726d15 make one of the toolbar buttons lock up the demo
2002-04-12  Havoc Pennington  <hp@redhat.com>

	* src/tools/metacity-window-demo.c (do_appwindow): make one of the
	toolbar buttons lock up the demo

	* src/window.c (meta_window_delete): move error trap to be around
	a narrower part of the function, and add part of the ping stuff,
	nothing user-visible yet

	* src/metacity-dialog.c (main): metacity-dialog executable to
	live in libexecdir and pop up dialogs for us.
2002-04-12 23:00:46 +00:00
Havoc Pennington
38ff6a49c4 fix alpha multiplication routine to perhaps work correctly, reported by
2002-04-09  Havoc Pennington  <hp@pobox.com>

	* src/theme.c (multiply_alpha): fix alpha multiplication routine
	to perhaps work correctly, reported by tigert. Also, be sure
	we always copy the image if necessary before modifying the
	alpha channel.
2002-04-10 04:00:32 +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
Johan Dahlin
a500a7e668 Make sure all menu items are translated.
2002-03-31  Johan Dahlin  <jdahlin@telia.com>

        * src/menu.c (meta_window_menu_new): Make sure all menu items are
	        translated.
2002-03-31 21:19:58 +00:00
Havoc Pennington
4aea4e7dc6 remove unmanaged windows from save set, and unselect input so we don't get
2002-03-27  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_free): remove
	unmanaged windows from save set, and unselect
	input so we don't get events from them. Fixes annoying
	bug where withdrawn windows would decide to map themselves
	due to save set stuff.
2002-03-28 03:49:18 +00:00
Zbigniew Chyla
661c0fdad9 Added pl (Polish).
2002-03-22  Zbigniew Chyla  <cyba@gnome.pl>

	* configure.in (ALL_LINGUAS): Added pl (Polish).
2002-03-22 18:36:41 +00:00
Havoc Pennington
faf818940d Added "Bright" theme from Gaute Lindkvist, with some small clipping tweaks
2002-03-21  Havoc Pennington  <hp@pobox.com>

	* src/themes/Bright/metacity-theme-1.xml: Added "Bright" theme
	from Gaute Lindkvist, with some small clipping tweaks to keep
	text/icons from overlapping their frames.
2002-03-22 04:23:47 +00:00
Havoc Pennington
615abebd9d disable the little shaped windows with the window size, they caused a
2002-03-19  Havoc Pennington  <hp@redhat.com>

	* src/resizepopup.c (place_vertical_size_window)
	(place_horizontal_size_window): disable the little shaped windows
	with the window size, they caused a crash anytime you tried to
	resize with Xft. And they were kind of on crack anyway.
2002-03-19 20:09:47 +00:00
Havoc Pennington
62c5d3df06 turn off the tick marks, that got annoying after about 5 minutes. One big
2002-03-17  Havoc Pennington  <hp@pobox.com>

	* src/resizepopup.c (ensure_tick_windows): turn off the tick
	marks, that got annoying after about 5 minutes. One big shape
	window instead of lots of little windows might fix it.
2002-03-17 17:42:13 +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
80cd793f75 use proper property name for SmDiscardCommand (instead of setting the
2002-03-17  Havoc Pennington  <hp@pobox.com>

	* src/session.c (set_clone_restart_commands): use proper property
	name for SmDiscardCommand (instead of setting the clone command to
	"rm"). Also fix typo that iterated over clonev not discardv to
	fill in prop list, and NULL-terminate discardv. #74584 from Kang
	Jeong-Hee.
2002-03-17 15:26:13 +00:00
Havoc Pennington
42936562de put back --sm-client-id argument, needed for including us in a default
2002-03-13  Havoc Pennington  <hp@pobox.com>

	* src/main.c (main): put back --sm-client-id argument, needed
	for including us in a default session
2002-03-14 04:36:02 +00:00
Havoc Pennington
9e2cfcd699 don't save a file here, only in response to SaveYourself. Change the code
2002-03-13  Havoc Pennington  <hp@pobox.com>

	* src/session.c (meta_session_init): don't save a file here, only
	in response to SaveYourself. Change the code to properly use a
	unique state file for each SaveYourself. Totally, totally
	untested.
2002-03-14 04:09:42 +00:00
Havoc Pennington
9b86849068 improve the theme viewer so people can see the broken aspects of their
2002-03-12  Havoc Pennington  <hp@pobox.com>

	* src/theme-viewer.c: improve the theme viewer so people
	can see the broken aspects of their themes.
2002-03-12 06:25:30 +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
Laszlo Peter
5e8ceda7e7 fix the X linker flags
2002-03-08  Laszlo Peter  <laca@ireland.sun.com>

	* configure.in: fix the X linker flags
2002-03-08 17:07:17 +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
d443d92446 Work on opaque animations more, still suck too much to turn on. Not sure
2002-03-05  Havoc Pennington  <hp@pobox.com>

        Work on opaque animations more, still suck too much
	to turn on. Not sure how to make them good.

	* src/effects.c (meta_effects_draw_box_animation):
	add a slide-up mode for shading

	* src/ui.c (meta_image_window_set): change image window to work by
	setting back pixmap on the GtkWindow, instead of using GtkImage.
2002-03-05 05:05:00 +00:00
Havoc Pennington
5429690467 try ignoring SIGXFSZ, though I'm not sure what that does exactly. I'm
2002-03-04  Havoc Pennington  <hp@pobox.com>

	* src/main.c (main): try ignoring SIGXFSZ, though I'm not
	sure what that does exactly. I'm hoping it gives me EFBIG.

	* src/util.c (ensure_logfile): log to a file in /tmp instead
	of to ~/metacity.log.
2002-03-05 02:43:22 +00:00
Havoc Pennington
a922dadde0 fix configure.in since GTK no longer gives us -L/usr/X11R6/lib
2002-03-04  Havoc Pennington  <hp@redhat.com>

	* configure.in: fix configure.in since GTK no longer gives us
	-L/usr/X11R6/lib
2002-03-04 17:24:15 +00:00
Havoc Pennington
c1358625c9 improve debug spew about initial workspace
2002-03-03  Havoc Pennington  <hp@pobox.com>

	* src/window.c: improve debug spew about initial workspace
2002-03-04 04:54:46 +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
2d01419577 fix the be-sure-we-create-coverage-cache hack
2002-02-23  Havoc Pennington  <hp@pobox.com>

	* src/ui.c (meta_ui_init): fix the
	be-sure-we-create-coverage-cache hack
2002-02-23 23:24:03 +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
Kjartan Maraas
1feeb731c9 Use bind_textdomain_codeset etc.
2002-02-16  Kjartan Maraas  <kmaraas@gnome.org>

	* src/main.c: Use bind_textdomain_codeset etc.
2002-02-16 14:32:16 +00:00
Havoc Pennington
a7378b709b use the preview widget here
2002-02-14  Havoc Pennington  <hp@pobox.com>

	* src/theme-viewer.c: use the preview widget here

	* src/preview-widget.h, src/preview-widget.c: make the theme
	preview into a nice widget

	* src/frames.c (meta_frames_ensure_layout): replace frame layout
	if the frame style changes, this only ends up mattering if you
	e.g. changed the font size for windows in a different state such
	as maximized, which is crack, but the code may as well be correct

	* src/theme.c (meta_theme_get_frame_style): new function so we can
	detect an invalid cache of the PangoLayout in a frame
2002-02-15 02:32:48 +00:00
Anders Carlsson
813e6f459f Fix some bugs with prelighting.
2002-02-14  Anders Carlsson  <andersca@gnu.org>

	* src/themes/Crux/metacity-theme-1.xml: Fix some bugs with
	prelighting.
2002-02-13 23:30:55 +00:00
Anders Carlsson
0ed0c3bab6 Use pango_context_get_metrics instead of loading the font.
2002-02-13  Anders Carlsson  <andersca@gnu.org>

	* src/theme.c (meta_pango_font_desc_get_text_height): Use
	pango_context_get_metrics instead of loading the font.
2002-02-13 22:50:57 +00:00
Anders Carlsson
0ca04ed7aa Set prelit_control to META_FRAME_CONTROL_NONE.
2002-02-12  Anders Carlsson  <andersca@gnu.org>

	* src/frames.c (meta_frames_manage_window): Set prelit_control
	to META_FRAME_CONTROL_NONE.
	(meta_frames_update_prelit_control): New function for setting
	the prelit control.
	(meta_frames_paint_to_drawable): Set prelight state.
	(meta_frames_enter_notify_event): Update prelit control.
	(meta_frames_leave_notify_event): Likewise.
	(meta_frames_motion_notify_event): Likewise.

	* src/frames.h (struct _MetaUIFrame): add prelit_control.
2002-02-12 05:01:22 +00:00
Anders Carlsson
78478110fa and MWM_FUNC_ALL with hints->functions instead of hints->flags.
2002-02-12  Anders Carlsson  <andersca@gnu.org>

	* src/window.c (update_mwm_hints): and MWM_FUNC_ALL
	with hints->functions instead of hints->flags.
2002-02-12 01:02:42 +00:00
Anders Carlsson
1b0100792f Only disable functions if MWM_FUNC_ALL _is_ set, not when it isn't.
2002-02-12  Anders Carlsson  <andersca@gnu.org>

	* src/window.c (update_mwm_hints): Only disable functions if
	MWM_FUNC_ALL _is_ set, not when it isn't.
2002-02-12 00:31:26 +00:00
Anders Carlsson
a9b7683110 Set title_scale to 1.0.
2002-02-11  Anders Carlsson  <andersca@gnu.org>

	* src/theme.c (meta_frame_layout_new): Set title_scale to 1.0.
2002-02-11 16:28:17 +00:00
Anders Carlsson
a2d4594e19 Always set title_scale_val.
2002-02-11  Anders Carlsson  <andersca@gnu.org>

	* src/theme-parser.c (parse_toplevel_element): Always set
	title_scale_val.
2002-02-11 15:04:48 +00:00
Bastien Nocera
dffad0e982 - change default theme-viewer theme to be Atlanta 2002-02-11 03:58:50 +00:00
Havoc Pennington
e5b944ce09 add $(icon_DATA)
2002-02-10  Havoc Pennington  <hp@pobox.com>

	* src/tools/Makefile.am (EXTRA_DIST): add $(icon_DATA)

	* configure.in: 2.3.55

	* HACKING: update

	* README: update
2002-02-10 18:00:16 +00:00
Havoc Pennington
f5e9ff5a82 add a newline to an error message
2002-02-09  Havoc Pennington  <hp@pobox.com>

	* src/theme.c (meta_theme_set_current): add a newline to an error
	message

	* src/themes/Gorilla: add Gorilla theme by Jakub Steiner ported to
	metacity by Kenneth Christiansen
2002-02-10 04:28:33 +00:00
Havoc Pennington
2bad2844f5 implement wacky "tile" draw op to lose some of the PNG files in Gorilla
2002-02-09  Havoc Pennington  <hp@pobox.com>

	* src/theme.c (meta_draw_op_draw_with_env): implement wacky "tile"
	draw op to lose some of the PNG files in Gorilla theme

	* src/theme-parser.c: parse the tile primitive
2002-02-10 01:10:33 +00:00
Havoc Pennington
245c9c2d7e port to icon cache
2002-02-09  Havoc Pennington  <hp@pobox.com>

	* src/window.c (update_icon): port to icon cache

	* src/iconcache.c, src/iconcache.c: begin process of cleaning up
	window.c by moving the icon-reading code in here, based on the
	code in libwnck, which was in turn based on the earlier metacity
	code
2002-02-09 23:03:52 +00:00
Havoc Pennington
29a86695d1 hmm, and don't set last_window at all if we don't ++newp. Fixes even more
2002-02-09  Havoc Pennington  <hp@pobox.com>

	* src/stack.c (meta_stack_sync_to_server): hmm, and don't set
	last_window at all if we don't ++newp. Fixes even more obscure
	stacking bug.
2002-02-09 17:46:23 +00:00
Havoc Pennington
7b9eccb489 assign last_window prior to ++newp, so we don't try to stack windows with
2002-02-09  Havoc Pennington  <hp@pobox.com>

	* src/stack.c (meta_stack_sync_to_server): assign last_window
	prior to ++newp, so we don't try to stack windows with respect to
	themselves. Fixes some obscure stacking bugs.
2002-02-09 17:41:42 +00:00
Havoc Pennington
339bdf8dd2 try to make more error message strings the same, easier for translators
2002-02-09  Havoc Pennington  <hp@pobox.com>

	* src/theme-parser.c: try to make more error message strings the
	same, easier for translators

	* src/theme.c (meta_draw_op_free): free color spec for line op
	(meta_theme_free): free the integer_constants hash

	* src/theme-parser.c (parse_boolean): move above first use

	* src/theme-viewer.c: fixes for theme.h changes

	* src/frames.c (queue_recalc_func): don't recreate layout
	immediately, just save title text. should speed things up.
	(meta_frames_set_title): just remove the layout here also,
	and save title text.

	* src/theme-parser.c (parse_toplevel_element): parse title_scale
	attribute on frame_geometry

	* src/theme.c: support setting the text size

	* src/frames.c: support setting the text size

	* theme-format.txt: updates
2002-02-09 17:02:38 +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
bd712d7f8f only set skip pager/tasklist if the app set it, don't set it again based
2002-02-08  Havoc Pennington  <hp@pobox.com>

	* src/window.c (set_net_wm_state): only set skip pager/tasklist if
	the app set it, don't set it again based on semantic type.
2002-02-09 04:15:41 +00:00
Anders Carlsson
9d84a23cd1 If we're only scaling horizontally or vertically, use GDK_INTERP_NEAREST.
2002-02-08  Anders Carlsson  <andersca@gnu.org>

	* src/theme.c (scale_and_alpha_pixbuf): If we're only
	scaling horizontally or vertically, use GDK_INTERP_NEAREST.
2002-02-08 19:12:55 +00:00
Havoc Pennington
4f3b78c64c unbreak
2002-02-08  Havoc Pennington  <hp@pobox.com>

	* autogen.sh: unbreak
2002-02-08 07:32:09 +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
ced833fdfc add modal dialog test
2002-02-08  Havoc Pennington  <hp@pobox.com>

	* src/tools/metacity-window-demo.c (menu_items): add modal dialog test
2002-02-08 06:22:24 +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
43b67afc41 if DEMO_TEST is set then run the window demo
2002-02-07  Havoc Pennington  <hp@pobox.com>

	* src/run-metacity.sh: if DEMO_TEST is set then run the window
	demo

	* src/tools/metacity-window-demo.c: Create an app with all the
	semantic window types, for testing and for designing themes.
2002-02-08 04:44:56 +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
090096b1e2 do random voodoo on the algorithm
2002-02-07  Havoc Pennington  <hp@pobox.com>

	* src/theme.c (colorize_pixbuf): do random voodoo on the algorithm
2002-02-07 06:24:10 +00:00
Havoc Pennington
d2061f8398 use the intensity of the gray pixel for both saturation and value, not
2002-02-07  Havoc Pennington  <hp@pobox.com>

	* src/theme.c (colorize_pixbuf): use the intensity of the gray
	pixel for both saturation and value, not just value.
2002-02-07 05:46:40 +00:00
Havoc Pennington
835863e397 don't define the macro twice
2002-02-07  Havoc Pennington  <hp@pobox.com>

	* src/theme.c (INTENSITY): don't define the macro twice
2002-02-07 05:15:37 +00:00
Havoc Pennington
e605dff37f get algorithm right (use HSV/RGB conversion) at cost of making it a lot
2002-02-07  Havoc Pennington  <hp@pobox.com>

	* src/theme.c (colorize_pixbuf): get algorithm right (use HSV/RGB
	conversion) at cost of making it a lot slower. It doesn't matter
	anyhow with the cache, though.
2002-02-07 05:13:26 +00:00
Havoc Pennington
e6984e727c handle out-of-memory creating target pixbuf
2002-02-06  Havoc Pennington  <hp@pobox.com>

	* src/theme.c (colorize_pixbuf): handle out-of-memory creating
	target pixbuf

	* src/themes/Crux/*.png: convert the green-channel images to grayscale
2002-02-07 05:01:56 +00:00
Havoc Pennington
5ad12fbe90 s/update_focus_mode/update_theme/ in case of theme key changing
2002-02-06  Havoc Pennington  <hp@pobox.com>

	* src/prefs.c (change_notify): s/update_focus_mode/update_theme/
	in case of theme key changing
2002-02-07 04:32:48 +00:00
Havoc Pennington
8f1cfefbb2 benchmark theme on startup
2002-02-06  Havoc Pennington  <hp@pobox.com>

	* src/theme-viewer.c: benchmark theme on startup

	* src/theme-parser.c (parse_draw_op_element): fix "colorize !=
	NULL" to "colorize_spec != NULL" and free pixbuf on color spec
	failure

	* src/theme.c (colorize_pixbuf): minor reformatting, raise
	function calls out of inner loop, clamp r/g/b values to uchar
	range before assigning to uchar
	(draw_op_as_pixbuf): cache the colorized pixbuf
	(meta_draw_op_free): free the cache pixbuf
2002-02-07 04:22:57 +00:00
Anders Carlsson
f33a46072b Add support for "colorize" image attribute.
2002-02-07  Anders Carlsson  <andersca@gnu.org>

	* src/theme-parser.c: (parse_draw_op_element):
	Add support for "colorize" image attribute.

	* src/theme.c: (colorize_pixbuf):
	New function that colorizes a pixbuf.

	(pos_tokenize): Allow "\n" as a whitespace character.

	(meta_draw_op_free): Free colorize_spec;

	(draw_op_as_pixbuf): Colorize image if needed.

	* src/theme.h: Add colorize_spec to struct.
2002-02-07 03:43:13 +00:00
Anders Carlsson
7279f2a9cd Add maximized and shaded_and_maximized frame styles.
2002-02-07  Anders Carlsson  <andersca@gnu.org>

	* src/themes/Crux/metacity-theme-1.xml: Add maximized and
	shaded_and_maximized frame styles.
2002-02-07 03:38:54 +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
Anders Carlsson
2be2d8ccbe Simplify things so we can remove some now unnecessary .png files. Remove
2002-02-07  Anders Carlsson  <andersca@gnu.org>

	* src/themes/Crux/metacity-theme-1.xml:
	Simplify things so we can remove some
	now unnecessary .png files.
	* src/themes/Crux/*.png: Remove some files.
2002-02-06 23:49:59 +00:00
Kenneth Rohde Christiansen
fee55e548c add da to ALL_LINGUAS add Danish translation
2002-02-07  Kenneth Rohde Christiansen  <kenneth@gnu.org>

	* configure.in: add da to ALL_LINGUAS
	* po/da.po: add Danish translation
2002-02-06 23:34:30 +00:00
Havoc Pennington
089eb7e6de test % operator
2002-02-02  Havoc Pennington  <hp@pobox.com>

	* src/theme-viewer.c: test % operator

	* src/theme.c (pos_tokenize): add % to switch for operators

	* src/theme.c: rework theme stuff so we have
	MetaDrawOp/MetaDrawOpList instead of MetaTextureSpec/MetaShapeSpec
2002-02-02 05:09:19 +00:00
Havoc Pennington
f374f94644 fix shadowed variable (stupid -Wall should have that)
2002-01-28  Havoc Pennington  <hp@pobox.com>

	* src/theme.c (meta_texture_spec_render): fix shadowed variable
	(stupid -Wall should have that)

	* src/theme-viewer.c (main): implement a simple
	viewer for frame styles

	* src/theme.c (meta_frame_style_get_test): create partial
	frame style to test drawing
2002-01-28 07:30:44 +00:00
Havoc Pennington
838d999d86 implement (meta_texture_spec_draw): implement shape spec and blank texture
2002-01-27  Havoc Pennington  <hp@pobox.com>

	* src/theme.c (meta_shape_spec_draw): implement
	(meta_texture_spec_draw): implement shape spec and blank
	texture support
	(meta_frame_style_draw): implement
2002-01-28 05:16:04 +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
Peteris Krisjanis
d1889d1395 configure.in - Added lv to ALL_LINGUAS
2002-01-27 Peteris Krisjanis <peteris.krisjanis@ttc.lv>
configure.in - Added lv to ALL_LINGUAS
2002-01-27 18:19:04 +00:00
Havoc Pennington
b52ee424e4 Only consider the bottom of the titlebar a resize control; I keep
2002-01-27  Havoc Pennington  <hp@pobox.com>

	* src/frames.c (get_control): Only consider the bottom of the
	titlebar a resize control; I keep accidentally resizing windows
	instead of activating them. Also, give south resizing priority
	over north, if the window is so small the active regions overlap

	* src/theme.c: add MetaTheme, get MetaFrameStyleSet into
	a usable state

	* src/common.h: move window type back to window.h, decided
	not to use it on frame side
	(MetaFrameType): add this instead
2002-01-27 08:21:53 +00:00
Havoc Pennington
5b4e9c01cc implement all kinds of crazy compositing-one-texture-onto-another BS.
2002-01-27  Havoc Pennington  <hp@pobox.com>

	* src/theme.h, src/theme.c: implement all kinds of crazy
	compositing-one-texture-onto-another BS.
2002-01-27 07:32:46 +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
Havoc Pennington
855d19cc0a separate code to draw frame from the expose_event handler, so in principle
2002-01-27  Havoc Pennington  <hp@pobox.com>

	* src/frames.c: separate code to draw frame from the
	expose_event handler, so in principle we can draw the
	frame to a pixmap, but this isn't used yet.
2002-01-27 05:27:11 +00:00