Tk Source Code

View Ticket
Ticket UUID: 2918731
Title: TIP#359: EWMH Window Type Support
Type: Patch Version: TIP Implementation
Submitter: dkf Created on: 2009-12-21 15:25:03
Subsystem: 67. Unix Window Operations Assigned To: patthoyts
Priority: 9 Immediate Severity:
Status: Closed Last Modified: 2010-01-23 14:43:11
Resolution: Accepted Closed By: dkf
    Closed on: 2010-01-23 07:43:11
User Comments: dkf added on 2010-01-23 14:43:11:

allow_comments - 1

dkf added on 2010-01-21 17:52:02:

allow_comments - 0

You can't close this yet; a backport to 8.4 was promised.

patthoyts added on 2010-01-21 06:45:36:

allow_comments - 1

Applied backport to 8.5 branch

patthoyts added on 2010-01-19 09:02:00:
Applied patch to 8.6 HEAD.

patthoyts added on 2010-01-09 19:04:38:
[SG]etNetWmType functions have already been fixed. I'll add static to TkSetTransientFor. It is not needed to be exposed.

nijtmans added on 2010-01-07 02:48:58:
In order to form an opinion about this patch for TIP #359, a few minor remarks. The functions SetNetWmType and GetNetWmType lack a "static" keyword in its implementation. The function TkSetTransientFor should either be static or included in some (X11-specific) stub table.

patthoyts added on 2009-12-22 05:02:56:

File Added - 356058: 0001-ewmh-Add-support-for-extended-window-manager-hints.patch

patthoyts added on 2009-12-22 05:01:59:
Updated the patch to conform to the TIP as currently written and to accommodate Joe's comments on the style and using a single function for setting the window type. This patch also makes use of this feature in the Tk library scripts and the demo.
Still to be applied against core-8-5-branch.

jenglish added on 2009-12-21 23:50:30:
(pat notes on the chat: patch was made against Tk 8.5.   unix/tkUnixWm.c has suffered from constipation and emacs auto-formatting between 8.5 and current HEAD, which is why the patch wouldn't apply there.  Suggested course of action: finish the patch on HEAD, then copy final tkUnixWm.c wholesale to core-8-5-branch.)

jenglish added on 2009-12-21 23:29:54:
... but reading the patch itself, looks good.  Couple stylistic notes: new routines should be defined 'static' in addition to being declared static.  Also it's best if the code can be organized so that internal routines are defined before use, then you can omit the forward declarations altogether.

Substantive notes:  since _NET_WM_WINDOW_TYPE is set (only) by the application, GetNetWmType() doesn't need to query the window property; it would work just as well to add a new Tcl_Obj * member to struct WmInfo. 

The earlier fix for Bug#2864685 should be reworked to use this feature; _NET_WM_WINDOW_TYPE is being set in multiple code paths now, which is not good.

jenglish added on 2009-12-21 23:19:33:
Patch fails to apply -- neither 'patch -p1' nor 'git apply' seem to want to take it.

What branch was this made against?

dkf added on 2009-12-21 22:25:04:

File Added - 356007: ewmh.patch