Re: Main window's focus with active transient

Konstantin Kletschke <[email protected]>
Newsgroups gmane.comp.window-managers.ion.general
Message-ID <20080523095301.GE4932@anita>
Am 2008-05-21 08:30 +0000 schrieb Tuomo Valkonen:
> > When the application is tiled, I can switch focus back to it with mouse
> > but not type keys to it.
> 
> If you can't type in it, you can't switch focus to it.. unless the

May be I was misleaded by the fact, that the color of the titlebar keeps
color style of focused frame but in the frame the transient does not
give focus away though.

> application is itself refusing the input. Focus means keyboard input,

Thats not the case here, this works fine in float mode.

> although some toolkits also expect the pointer to be in the field and
> indicate that.

Yes :-) Even more annoying this is.

> I consider all transients modal. They're _transient_ windows, after

But not in float mode, right? In float mode of these Application the
DRC-Error Box is above the Main Application though, but I can move back
to Main Window and type keys into it then.

When i invoke the application in float mode and activate the DRC-Error
toolbox and tag main application and attach it to a new tiled frame, 
still I can input keys into main application and use the tool box.

Only when invoked from tiled mode this tool box seems to not give 
keyboard focus away. I realize now in order to poke around with xprops.
This is what me annoys a bit since the "not not givefocus away" is my
desired behaviour...

Before there is misunderstanding on my side, is this a transient?
tool box involed in float mode:

_NET_WM_STATE(ATOM) =
WM_STATE(WM_STATE):
                window state: Normal
                icon window: 0x0
_NET_WM_NAME(UTF8_STRING) = 0x44, 0x52, 0x43, 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72
, 0x73
WM_CLIENT_LEADER(WINDOW): window id # 0x1400008
WM_WINDOW_ROLE(STRING) = "Dialog.Errors"
_NET_WM_PID(CARDINAL) = 3466
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_DIALOG, _NET_WM_WINDOW_TYPE_NORM
AL
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _N
ET_WM_CONTEXT_HELP
WM_NAME(STRING) = "DRC Errors"
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
WM_CLASS(STRING) = "eagle", "eagle"
WM_HINTS(WM_HINTS):
                Client accepts input or input focus: True
                Initial state is Normal State.
                bitmap id # to use for icon: 0x1400268
                bitmap id # of mask for icon: 0x1400269
                window id # of group leader: 0x140026b
WM_NORMAL_HINTS(WM_SIZE_HINTS):
                user specified location: 738, 269
                program specified location: 738, 269
                user specified size: 323 by 443
                program specified size: 323 by 443
                program specified minimum size: 175 by 133
                window gravity: NorthWest
WM_CLIENT_MACHINE(STRING) = "elektra"
WM_TRANSIENT_FOR(WINDOW): window id # 0x140026b

invoked in tiled mode:

WM_STATE(WM_STATE):
                window state: Normal
                icon window: 0x0
_NET_WM_STATE(ATOM) =
WM_ICON_NAME(STRING) = "untitled.brd"
_NET_WM_NAME(UTF8_STRING) = 0x31, 0x20, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x20, 0x2d, 0x20, 0x2f, 0x68, 0x6f, 0x6d, 0x65, 0x2f, 0x6b, 0x6f, 0x6e, 0x73, 0x74, 0x69, 0x2f, 0x75, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x64, 0x2e, 0x62, 0x72, 0x64, 0x20, 0x2d, 0x20, 0x45, 0x41, 0x47, 0x4c, 0x45, 0x20, 0x34, 0x2e, 0x31, 0x36, 0x72, 0x32, 0x20, 0x50, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c
XdndAware(ATOM) = ATOM
_MOTIF_DRAG_RECEIVER_INFO(_MOTIF_DRAG_RECEIVER_INFO) = 0x6c, 0x0, 0x5, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0
_QT_SIZEGRIP(WINDOW): window id # 0x1400275
WM_CLIENT_LEADER(WINDOW): window id # 0x1400008
WM_WINDOW_ROLE(STRING) = "unnamed"
_NET_WM_PID(CARDINAL) = 3466
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING
WM_NAME(STRING) = "1 Board - /home/konsti/untitled.brd - EAGLE 4.16r2 Professional"
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
WM_CLASS(STRING) = "eagle", "eagle"
WM_HINTS(WM_HINTS):
                Client accepts input or input focus: True
                Initial state is Normal State.
                bitmap id # to use for icon: 0x1400268
                bitmap id # of mask for icon: 0x1400269
WM_NORMAL_HINTS(WM_SIZE_HINTS):
                program specified minimum size: 263 by 161
                window gravity: NorthWest
WM_CLIENT_MACHINE(STRING) = "elektra"

Semi-PS.:
Such Dialogs invoked in tiled frames are strechted about the horizontal
width completely, can this be switched off somewhere?

> all. Separate _toolbox windows_ -- which are in themselves a fundamental 
> design flaw -- should not be marked as transient. 

I agree completely, this is a rotten mess...

> client in the current frame. The 'float' winprop might do something more
> useful. Maybe some of the scripts in the scripts repository also did 
> something useful; check it. 

Nice Idea, I woll check this area for something like this now.

> It is also possible to put windows managed in the group of a main window 
> on a non-modal stacking level. This will, however, require a custom
> clientwin_do_manage_alt hook handler or an attach script, as it is only
> possible to set the stacking level from a WMPlex.attach[_new] call. 
> (Levels starting from 1024 are modal.) Maybe someone can write a script...

This also sounds useful and I am interested getting a point to look at
where and how to start such a script :-)

Kind Regards, Konsti


-- 
GPG KeyID EF62FCEF
Fingerprint: 13C9 B16B 9844 EC15 CC2E  A080 1E69 3FDA EF62 FCEF
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.