FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 06-25-2012, 12:05 PM
Radek Vykydal
 
Default Stacking windows of processes run by anaconda (e.g. nm-c-e)

The problem is that clicking on spoke/lightbox pulls the spoke/lightbox above nm-c-e window. I tried these approaches to cope with it:

1) Embedding nm-c-e window in anaconda using Gtk.Socket, Gtk.Plug. This requires patch in nm-connection-editor (adding plug). I made simple POC patch adding --socket XID option to nm-c-e (XID is id of socket window created in anaconda). Embedding the window in our UIObject we can e.g make screenshots and control other things. For main connection editor window it works nice even with lightbox. The problem is that other windows created by nm-c-e (e.g. routes dialog) stay owned by nm-c-e process and therefore are stacked below spoke after cliking on it.
Also this can't probably be used easily for secret agent's dialogs (wifi authentication) which are run by dbus service.

2) Setting keep_below hints of windows. With hub, spoke, and lighbox we'd need to set it in this order:
1. lightbox
2. spoke
3. hub
which means we need access hub from spoke (in the moment when lightbox is created). Without lighbox we could set the parameters already in hub before running a spoke. Or we can hide hub before displaying spoke and show it after it is destroyed, but it makes transition between hub and spoke not smooth (kind of flashing). I am sending raw patch for this last approach (with hiding of hub window) - "Keep nm-c-e-windows...". NMCEEmbedder class is what remained of UIobject using socket/plug (approach 1) - see the second patch "Embed nm-c-e...". It does not make much sense to use UIObject in this case, but strangely when I try to use just function (the third patch) I get this error when accessing lightbox object in the third patch (applied on top of the first one) "Use function...":

Fatal Python error: PyEval_SaveThread: NULL tstate

Any ideas, comments, hints?
Can we hide the hub (perhaps there is finer way to do it, i.e. in callback after spoke is realized...)?
Or perhaps we could try to tame our window manager somehow?

Radek

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
 

Thread Tools




All times are GMT. The time now is 01:47 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org