Changes to allow "no input" windows (#64613):

Thu Dec 11 00:35:12 2003  Matthias Clasen  <maclas@gmx.de>

	Changes to allow "no input" windows (#64613):

	* gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean
	field accept_focus.

	* gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to
	set it.

	* gtk/gtkwindow.[hc]: Add a boolean property "accept_focus"
	and gtk_window_get_focus() and gtk_window_set_focus().

	* gdk/win32/gdkwindow-win32.c (gdk_window_new):
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_new):
	Initialize the accept_focus field to TRUE.

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_accept_focus):
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_accept_focus):
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_accept_focus):
	Implementations for the various backends. The Win32 and linux-fb
	implementations set the accept_focus field, but don't use it yet
	to actually implement noinput windows. The X implementation updates
	the WM_HINTS to select the globally active input model (see the
	ICCCM) if accept_focus is FALSE.

	* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Ignore the
	WM_TAKE_FOCUS message if accept_focus is FALSE.
This commit is contained in:
Matthias Clasen
2003-12-10 23:58:23 +00:00
committed by Matthias Clasen
parent c9c99b3f1b
commit 5fb61f3075
15 changed files with 332 additions and 9 deletions

View File

@ -1,3 +1,8 @@
Thu Dec 11 00:04:10 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtk-sections.txt: Add gtk_window_[sg]et_accept_focus().
* gdk/gdk-sections.txt: Add gdk_window_set_accept_focus().
Wed Dec 10 00:09:51 2003 Matthias Clasen <maclas@gmx.de>
* gdk/gdk-sections.txt: Add gdk_window_get_group(),

View File

@ -658,6 +658,7 @@ gdk_window_get_internal_paint_info
<SUBSECTION>
gdk_window_set_user_data
gdk_window_set_override_redirect
gdk_window_set_accept_focus
gdk_window_add_filter
gdk_window_remove_filter
GdkFilterFunc

View File

@ -4376,6 +4376,7 @@ gtk_window_set_role
gtk_window_set_type_hint
gtk_window_set_skip_taskbar_hint
gtk_window_set_skip_pager_hint
gtk_window_set_accept_focus
gtk_window_get_decorated
gtk_window_get_default_icon_list
gtk_window_get_default_size
@ -4394,6 +4395,7 @@ gtk_window_get_transient_for
gtk_window_get_type_hint
gtk_window_get_skip_taskbar_hint
gtk_window_get_skip_pager_hint
gtk_window_get_accept_focus
gtk_window_move
gtk_window_parse_geometry
gtk_window_reshow_with_initial_size