Commit Graph

98 Commits

Author SHA1 Message Date
Havoc Pennington
501a60ab20 use meta_XFree not XFree
2002-01-03  Havoc Pennington  <hp@pobox.com>

	* src/window.c: use meta_XFree not XFree

	* src/display.h (meta_XFree): add null-safe XFree

	* src/util.c (meta_warning): have message prefix indicate that
	it's a warning
	(meta_fatal): indicate it's an error

	* src/window.c (update_sm_hints): clean up using
	meta_prop_get_latin1_string
	(update_role): ditto
	(read_client_leader): clean up using meta_prop_get_window
	(update_net_wm_type): clean up using meta_prop_get_cardinal
	(update_initial_workspace): ditto
	(update_net_wm_type): clean up using meta_prop_get_atom_list
	(read_rgb_icon): get result from XGetWindowProperty return value
	not from error trap
	(update_kwm_icon): ditto
	(meta_window_new): fix to read WM_STATE correctly
2002-01-04 03:25:53 +00:00
Havoc Pennington
b9701454b8 clean up using meta_prop_get_atom_list (update_mwm_hints): clean up using
2002-01-03  Havoc Pennington  <hp@pobox.com>

	* src/window.c (update_net_wm_state): clean up using
	meta_prop_get_atom_list
	(update_mwm_hints): clean up using meta_prop_get_motif_hints

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

	* src/xprops.c: new file with convenience functions for X
	properties
2002-01-04 00:58:39 +00:00
Havoc Pennington
ee1361fb6e focus top window when switching to a new workspace
2002-01-03  Havoc Pennington  <hp@pobox.com>

	* src/workspace.c (meta_workspace_activate): focus top window when
	switching to a new workspace

	* src/util.c (meta_topic): start putting verbose output in
	categories

	* src/window.c (meta_window_shade): focus frame after we queue
	the calc_showing so the maps/unmaps have already happened.

	* src/display.c (meta_display_get_current_time): add the "get time
	of current event" function and call it occasionally.

	* src/window.c (meta_window_free): if we have focus, call
	meta_screen_focus_top_window().
	(meta_window_minimize): ditto
	(meta_window_delete): ditto

	* src/screen.c (meta_screen_ensure_tab_popup): fix memory leak -
	didn't free tab list
	(meta_screen_focus_top_window): new function to use when we unmap
	or unmanage a focused window

	* src/stack.c (meta_stack_get_default_focus_window): function used
	in meta_screen_focus_top_window
2002-01-03 23:28:19 +00:00
Havoc Pennington
86e9191d34 add a server grab here since we were failing to have one when calling the
2001-12-21  Havoc Pennington  <hp@redhat.com>

	* src/frame.c (meta_window_ensure_frame): add a server grab
	here since we were failing to have one when calling the function
2002-01-02 17:42:14 +00:00
Duarte Loreto
edb4d0a8c4 Added portuguese to ALL_LINGUAS
2001-12-27  Duarte Loreto <happyguy_pt@hotmail.com>

        * configure.in: Added portuguese to ALL_LINGUAS
2001-12-27 04:03:11 +00:00
Kjartan Maraas
921e556b3a Added "no" to ALL_LINGUAS.
2001-12-16  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Added "no" to ALL_LINGUAS.
2001-12-16 15:30:04 +00:00
Stanislav Visnovsky
ae659e1c52 Adde "sk" to ALL_LINGUAS.
2001-12-11  Stanislav Visnovsky  <visnovsky@nenya.ms.mff.cuni.cz>

        * configure.in: Adde "sk" to ALL_LINGUAS.
2001-12-11 15:20:03 +00:00
Havoc Pennington
69dae32c37 Rework the click-client-area-to-focus support to use synchronous grabs,
2001-12-10  Havoc Pennington  <hp@pobox.com>

        Rework the click-client-area-to-focus support to use synchronous
	grabs, avoids a big mess, lets us pass through click when
	required (for dock/desktop). Disadvantage is all left-button
	clicks now require window manager approval. ;-)

	* src/display.c (event_callback): don't focus dock/desktop when
	the mouse enters them; require a click.
	(meta_change_button_grab): allow sync grabs
	(meta_display_grab_unfocused_window_buttons): establish a
	synchronous grab and maintain it all the time, rename to
	meta_display_grab_focus_window_button

	* src/window.c: change to reflect display.c
2001-12-11 04:03:58 +00:00
Havoc Pennington
ac7524508b oops, unbreak this _again_ - reported by Josh Barrow
2001-12-10  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_update_unfocused_button_grabs): oops,
	unbreak this _again_ - reported by Josh Barrow
2001-12-11 03:06:55 +00:00
Havoc Pennington
4af0425d72 don't allow grab on docks/desktop for now; needs fixing later to do the
2001-12-10  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_update_unfocused_button_grabs): don't
	allow grab on docks/desktop for now; needs fixing later to
	do the grab, but pass thru click, so we can focus those windows.
	And in fact we need to do that even in sloppy mode.
2001-12-10 16:15:45 +00:00
Havoc Pennington
fa803fd88f fix broken "tmp = tmp->data"
2001-12-10  Havoc Pennington  <hp@pobox.com>

	* src/screen.c (meta_screen_foreach_window): fix broken
	"tmp = tmp->data"

	Implement do-not-pass-thru-click for click-to-focus mode.

	* src/screen.c (update_focus_mode): when focus mode changes,
	update all the window grabs

	* src/display.c (meta_display_grab_unfocused_window_buttons):
	implement grabbing button 1 on client area of unfocused
	click-to-focus windows

	* src/window.c (meta_window_update_unfocused_button_grabs): update
	whether we're grabbing unmodified button 1 on client area
	according to focus state and focus mode
	(meta_window_new): start out with proper grab state
2001-12-10 07:48:21 +00:00
Havoc Pennington
3fa131695b don't do mnemonics for workspaces above 9
2001-12-10  Havoc Pennington  <hp@pobox.com>

	* src/menu.c (meta_window_menu_new): don't do mnemonics for
	workspaces above 9
2001-12-10 06:56:21 +00:00
Havoc Pennington
7fa28277a1 oops, remove extra workspace creation, and update to current pref.
2001-12-10  Havoc Pennington  <hp@pobox.com>

	* src/screen.c (meta_screen_new): oops, remove extra workspace
	creation, and update to current pref.
2001-12-10 05:47:33 +00:00
Havoc Pennington
041b33c450 update number of workspaces hint
2001-12-09  Havoc Pennington  <hp@pobox.com>

	* src/workspace.c (meta_workspace_free): update number of
	workspaces hint

	* src/screen.c (update_num_workspaces): implement number of
	workspaces setting

	* src/window.c (meta_window_configure_request): honor configure
	requests on windows of type NORMAL, but still be mean to those of
	type DIALOG

	* src/main.c (main): add more log domains to those we set a log
	handler for, and only set warnings fatal in debug mode

	* src/metacity.schemas: add number of workspaces setting
2001-12-10 03:55:26 +00:00
Havoc Pennington
06a0c62f86 in click-to-focus mode don't focus on enter notify. Implement unfocusing
2001-12-09  Havoc Pennington  <hp@pobox.com>

	* src/display.c (event_callback): in click-to-focus mode don't
	focus on enter notify. Implement unfocusing on LeaveNotify in
	mouse focus mode. Click to focus just ends up working if we
	do nothing on enter/leave, because of the way things already
	worked. Except I need to add some relatively complex hack to
	allow clicking on client area, right now you have to click
	on the frame.
2001-12-10 00:38:21 +00:00
Havoc Pennington
6981a8198b move SM init a bit later in the process, and init prefs
2001-12-09  Havoc Pennington  <hp@pobox.com>

	* src/main.c (main): move SM init a bit later in the process, and
	init prefs

	* src/session.c: fix no SM case (though I hardly know why I'm
	bothering)

	* src/main.c (main): call bindtextdomain

	* src/util.h (_): actually call gettext

	* configure.in: put in AM_GLIB_GNU_GETTEXT and gconf stuff

	* src/prefs.c: Preferences - this marks the beginning of our doom.
	None of them are actually implemented yet, but we monitor
	some stuff from gconf.
2001-12-09 22:41:12 +00:00
Havoc Pennington
8c8d500495 when unminimizing an app, if we're in "show desktop" (all windows
2001-12-07  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_unminimize): when unminimizing an app,
	if we're in "show desktop" (all windows minimized) mode, leave
	show desktop mode. Will occasionally be a bit weird, but allows
	people to recover via task list if they accidentally do the show
	desktop thing, and don't know what's going on.
2001-12-07 06:33:30 +00:00
Havoc Pennington
e312daffd5 fix gdkatom/xatom screwup - gee, I should read my warnings
2001-12-06  Havoc Pennington  <hp@redhat.com>

	* src/ui.c (meta_text_property_to_utf8): fix gdkatom/xatom screwup
	- gee, I should read my warnings
2001-12-07 00:54:32 +00:00
Laszlo Peter
3f05f34286 add a dummy element to the enum so the signals array is not empty. (breaks
2001-12-03  Laszlo Peter  <laca@ireland.sun.com>

        * src/frames.c: add a dummy element to the enum so
          the signals array is not empty. (breaks the build with Forte C)

        * src/window.c: s/__FUNCTION__/G_GNUC_FUNCTION/
2001-12-03 15:22:57 +00:00
Havoc Pennington
248487a63c change so that window can be offscreen to the bottom or the right, as long
2001-11-27  Havoc Pennington  <hp@pobox.com>

	* src/window.c (constrain_position): change so that window can be
	offscreen to the bottom or the right, as long as a small top-left
	corner of the window remains onscreen. However, windows still
	can't go off the left or top.
2001-11-27 05:14:57 +00:00
Havoc Pennington
420c29dea9 add error trap
2001-11-26  Havoc Pennington  <hp@redhat.com>

        * src/window.c (window_query_root_pointer): add error trap
2001-11-27 03:41:43 +00:00
Jesus Bravo Alvarez
5ccb32efed Added Galician translation 2001-11-26 23:29:08 +00:00
Owen Taylor
4f107f84eb Add some additional quoting to make it work with autoconf-2.5x.
Tue Nov 20 18:49:16 2001  Owen Taylor  <otaylor@redhat.com>
        * configure.in (found_sm): Add some additional quoting to
        make it work with autoconf-2.5x.
2001-11-20 23:51:13 +00:00
Laszlo Peter
6bae734d41 protect meta_verbose from a NULL pointer.
2001-11-02  Laszlo Peter  <laca@ireland.sun.com>

	* src/window.c (update_sm_hints): protect meta_verbose from
	a NULL pointer.
2001-11-02 14:55:00 +00:00
Havoc Pennington
8c5e683296 bump version
2001-10-29  Havoc Pennington  <hp@pobox.com>

	* configure.in: bump version
2001-10-30 05:46:06 +00:00
Havoc Pennington
ff5315d551 handle queue/unqueue of calc showings as we are iterating over the pending
2001-10-29  Havoc Pennington  <hp@pobox.com>

	* src/window.c (idle_calc_showing): handle queue/unqueue of
	calc showings as we are iterating over the pending list
	(meta_window_show): focus placed transients in here instead
	of in meta_window_place - now it should actually work, yay

	* src/place.c (meta_window_place): remove focusing of transient
	child from here; this was really broken
2001-10-30 02:00:53 +00:00
Yuri Syrota
4395fd581a Added Ukrainian Translation 2001-10-29 09:51:05 +00:00
Havoc Pennington
3b9c81f390 note exciting new unminimize feature for the tab popup
2001-10-29  Havoc Pennington  <hp@pobox.com>

	* README: note exciting new unminimize feature for the tab popup

	* src/keybindings.c (process_tab_grab): use meta_window_activate()
	when choosing a window with tab popup, this should deiconify it

	* src/window.c (meta_window_client_message): use
	meta_window_activate for _NET_ACTIVE_WINDOW message
	(meta_window_activate): new function to raise/focus/unminimize
	(meta_window_flush_calc_showing): new function
	(meta_window_focus): force a calc showing on focus, so that we can
	focus the window if appropriate (it must be mapped)
2001-10-29 07:00:46 +00:00
Havoc Pennington
f663a511b3 fix for ignoring NumLock on Alt-windowclick (previous NumLock fix was only
2001-10-26  Havoc Pennington  <hp@pobox.com>

	* src/display.c (meta_display_grab_window_buttons): fix for
	ignoring NumLock on Alt-windowclick (previous NumLock fix
	was only for key grabs not button grabs)
2001-10-26 04:00:38 +00:00
Havoc Pennington
3e92e3b1df set the current workspace hint
2001-10-25  Havoc Pennington  <hp@redhat.com>

	* src/window.c (meta_window_new): set the current workspace hint
2001-10-26 03:54:55 +00:00
Havoc Pennington
d080f816b6 I was using meta_workspace_contains_window() in a number of places where
2001-10-25  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_visible_on_workspace):
	I was using meta_workspace_contains_window() in a number of
	places where on_all_workspaces should also have been considered,
	thus this new function. Fixes bugs such as pinned windows
	not appearing in the tab order.
	(meta_window_client_message): use meta_window_visible_on_workspace

	* src/stack.c (find_tab_forward): ditto
	(find_tab_backward): ditto
	(meta_stack_get_tab_next): ditto
	(meta_stack_get_tab_list): ditto

	* src/place.c (get_windows_on_same_workspace): ditto

	* src/keybindings.c (handle_focus_previous): ditto
	(handle_focus_previous): ditto
2001-10-25 04:51:25 +00:00
Havoc Pennington
bacc9c0afc use bg/fg not base/text for the window title area.
2001-10-24  Havoc Pennington  <hp@pobox.com>

	* src/frames.c (meta_frames_expose_event): use bg/fg not base/text
	for the window title area.
2001-10-25 03:08:48 +00:00
Havoc Pennington
2af36b1e56 support initial on-all-workspaces setting
2001-10-24  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_new): support initial
	on-all-workspaces setting
2001-10-25 01:39:36 +00:00
Havoc Pennington
7069fc9b50 fix to keep desktop window from appearing on top of everything else, among
2001-10-22  Havoc Pennington  <hp@pobox.com>

	* src/stack.c (meta_stack_sync_to_server): fix to keep desktop
	window from appearing on top of everything else, among other stack
	bugs. Untested.
2001-10-23 00:55:29 +00:00
Havoc Pennington
01a5b5762d use queried attributes to check whether window should be initially
2001-10-15  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_new): use queried attributes to check
	whether window should be initially maximized, rather than window
	rect
2001-10-15 04:39:05 +00:00
Havoc Pennington
1c1f4d7c93 add a restart feature, for debugging
2001-10-15  Havoc Pennington  <hp@pobox.com>

	* src/main.c (meta_restart): add a restart feature, for debugging

	* src/tools/metacity-restart.c: little utility program to trigger
	the restart
2001-10-15 04:14:58 +00:00
Havoc Pennington
a29c93a95a raise/focus windows on left-click, seem to have broken that yesterday
2001-10-14  Havoc Pennington  <hp@pobox.com>

	* src/frames.c (meta_frames_button_press_event): raise/focus
	windows on left-click, seem to have broken that yesterday

	* src/keybindings.c, src/display.c, src/window.c: add keybinding
	to show/hide all normal windows (so you can see the desktop).
	Currently Ctrl+Alt+D, which I don't like, but yay.
2001-10-15 03:39:41 +00:00
Havoc Pennington
842eb3fa93 take a window mapped at fullscreen size/pos to desire maximization; once I
2001-10-14  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_new): take a window mapped at
	fullscreen size/pos to desire maximization; once I add a
	fullscreen state, will change to copy kwin and take this mapping
	as a desire for fullscreen, but for now testing with maximization.

	* src/window.h: remove fullscreen window type, now proposing it
	as a window state instead.

2001-10-14  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_maximize): always raise windows on
	maximize
	(meta_window_client_message): when activating a window, move
	it to current workspace, instead of moving user to the
	window's workspace.
2001-10-14 22:13:53 +00:00
Hector Garcia
bbd6396f40 Added Spanish translation 2001-10-14 16:49:52 +00:00
Havoc Pennington
282b52d6b7 only handle events here if the modmask from our button grab is active.
2001-10-14  Havoc Pennington  <hp@pobox.com>

	* src/display.c (event_callback): only handle events here if
	the modmask from our button grab is active. i.e. only the
	Alt-click is handled here.

	* src/frames.c: add check for whether button presses are in the
	frame client area before handling them, so we don't weirdly let
	you move a frame by clicking in its client area if the client
	hasn't selected button press events.
2001-10-14 04:11:42 +00:00
Havoc Pennington
9c8824542e set last window before setting newp, so we don't get the current window as
2001-10-13  Havoc Pennington  <hp@pobox.com>

	* src/stack.c (meta_stack_sync_to_server): set last window before
	setting newp, so we don't get the current window as the last
	window and screw everything up
	(IN_TAB_CHAIN): use type not layer to decide if a window is
	in the tab chain, keeps panel out of alt-tab choices
2001-10-13 04:42:28 +00:00
Havoc Pennington
e8bc8e95e2 add bad hack to work with GTK 1.3.9.90 RPMs from gnomehide for now
2001-10-13  Havoc Pennington  <hp@redhat.com>

	* configure.in: add bad hack to work with GTK 1.3.9.90 RPMs from
	gnomehide for now

	* src/ui.c: another piece of bad hack in here
2001-10-13 04:15:25 +00:00
Havoc Pennington
cfd3cdd64e bump version
2001-10-13  Havoc Pennington  <hp@redhat.com>

	* configure.in: bump version
2001-10-13 04:03:56 +00:00
Havoc Pennington
ec4edcb78c hmm, fix build
2001-10-13  Havoc Pennington  <hp@pobox.com>

	* src/session.c (meta_session_init): hmm, fix build
2001-10-13 04:02:59 +00:00
Havoc Pennington
f83ac8476c set the session manager priority so we start up before other apps.
2001-10-12  Havoc Pennington  <hp@pobox.com>

	* src/session.c (meta_session_init): set the session manager
	priority so we start up before other apps.
2001-10-12 04:52:53 +00:00
Mikael Hallendal
4edccc4eb5 use gdk_pixbuf_new_from_inline (meta_ui_get_default_mini_icon): use
2001-10-12  Mikael Hallendal  <micke@codefactory.se>

	* src/ui.c (meta_ui_get_default_window_icon): use
	gdk_pixbuf_new_from_inline
	(meta_ui_get_default_mini_icon): use
	gdk_pixbuf_new_from_inline
2001-10-12 00:20:02 +00:00
Christian Rose
ec6a455fb0 Added "sv" to ALL_LINGUAS. Added Swedish translation. Added files. Added
2001-10-11  Christian Rose  <menthos@menthos.com>

	* configure.in: Added "sv" to ALL_LINGUAS.
	* po/sv.po: Added Swedish translation.
	* po/POTFILES.in: Added files.
	* po/.cvsignore: Added messages and *.pot.
2001-10-11 08:40:04 +00:00
Havoc Pennington
e55ead0419 fix mem leak of the MetaStack object (meta_stack_sync_to_server): try to
2001-10-10  Havoc Pennington  <hp@pobox.com>

	* src/stack.c (meta_stack_free): fix mem leak of the MetaStack
	object
	(meta_stack_sync_to_server): try to avoid the restack-flicker
	thing
2001-10-11 01:29:20 +00:00
Havoc Pennington
f22b9dfd94 set _NET_ACTIVE_WINDOW hint
2001-10-07  Havoc Pennington  <hp@pobox.com>

	* src/display.c (meta_display_update_active_window_hint):
	set _NET_ACTIVE_WINDOW hint

	* src/window.c (meta_window_client_message): support
	_NET_ACTIVE_WINDOW client message
2001-10-07 23:06:19 +00:00
Havoc Pennington
ec4dfd0cbc don't allow shade/maximize/minimize for windows that don't support those
2001-10-07  Havoc Pennington  <hp@pobox.com>

	* src/window.c (meta_window_client_message): don't allow
	shade/maximize/minimize for windows that don't support those
	operations. (minimizing the panel = bad)
2001-10-07 22:11:13 +00:00