[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwin
Subject:    [Kwin] support for _NET_WM_PID
From:       Bradley T Hughes <bhughes () trolltech ! com>
Date:       2002-09-09 7:53:38
[Download RAW message or body]

At Matthias' request, I have added _NET_WM_PID support to Qt 3.1.  Here
is the entire change required.  This change will appear in the release
of 3.1 beta2.

Affected files ...

... //depot/qt/main/src/kernel/qapplication_x11.cpp#1005 edit
... //depot/qt/main/src/kernel/qwidget_x11.cpp#582 edit

Differences ...

==== //depot/qt/main/src/kernel/qapplication_x11.cpp#1005 (text) ====

@@ -246,6 +246,7 @@
 Atom            qt_net_wm_window_type_override	= 0;	// KDE extension
 Atom		qt_net_wm_frame_strut		= 0;	// KDE extension
 Atom		qt_net_wm_state_stays_on_top	= 0;	// KDE extension
+Atom		qt_net_wm_pid		= 0;
 // Enlightenment support
 Atom		qt_enlightenment_desktop	= 0;
 
@@ -1819,6 +1820,7 @@
 	qt_x11_intern_atom( "_KDE_NET_WM_FRAME_STRUT", &qt_net_wm_frame_strut );
 	qt_x11_intern_atom( "_NET_WM_STATE_STAYS_ON_TOP",
 			    &qt_net_wm_state_stays_on_top );
+	qt_x11_intern_atom( "_NET_WM_PID", &qt_net_wm_pid );
 	qt_x11_intern_atom( "ENLIGHTENMENT_DESKTOP", &qt_enlightenment_desktop );
 
 	qt_xdnd_setup();

==== //depot/qt/main/src/kernel/qwidget_x11.cpp#582 (text) ====

@@ -105,6 +105,7 @@
 extern Atom qt_net_wm_window_type_dialog;
 extern Atom qt_net_wm_window_type_toolbar;
 extern Atom qt_net_wm_window_type_override;
+extern Atom qt_net_wm_pid;
 extern Atom qt_enlightenment_desktop;
 extern Atom qt_net_virtual_roots;
 extern bool qt_broken_wm;
@@ -482,7 +483,6 @@
             XChangeProperty(dpy, id, qt_xa_motif_wm_hints, qt_xa_motif_wm_hints, 32,
                             PropModeReplace, (unsigned char *) &mwmhints, 5);
 
-
 	// set _NET_WM_WINDOW_TYPE
 	if (curr_wintype > 0)
 	    XChangeProperty(dpy, id, qt_net_wm_window_type, XA_ATOM, 32, PropModeReplace,
@@ -493,6 +493,11 @@
 	    XChangeProperty(dpy, id, qt_net_wm_state, XA_ATOM, 32, PropModeReplace,
 			    (unsigned char *) net_winstates, curr_winstate);
 
+	// set _NET_WM_PID
+	long curr_pid = getpid();
+	XChangeProperty(dpy, id, qt_net_wm_pid, XA_CARDINAL, 32, PropModeReplace,
+			(unsigned char *) &curr_pid, 1);
+
 	// when we create a toplevel widget, the frame strut should be dirty
 	fstrut_dirty = 1;
 

-- 
Bradley T. Hughes - bhughes at trolltech.com
Trolltech AS - Waldemar Thranes gt. 98 N-0175 Oslo, Norway

_______________________________________________
Kwin mailing list
Kwin@mail.kde.org
http://mail.kde.org/mailman/listinfo/kwin
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic