Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
<== Date ==> <== Thread ==>

Subject: RE: Design strategies for CSS BOY screens
From: Emmanuel Mayssat <emayssat@outlook.com>
To: "tom.cobb@diamond.ac.uk" <tom.cobb@diamond.ac.uk>, EPICS mailing list <tech-talk@aps.anl.gov>
Date: Wed, 18 Dec 2013 23:01:20 -0800
Although your initial email was calling for a widget toolkit to replace edm, you may find that workspace management can be done with a combination of tools: GUI framework, window manager, and window matching utility.

For windows management, we are also using wmctl and devilspie.
We use wmctl for initial population of workspaces (go to workspace 1, open applications, go to workspace 2, open applications, ...)

A more sophisticated tool you may want to look at is devilspie, a window matching utility.
Window matching utilities can run from the command line or as a daemon.
A window matching utility capture every windows event and can execute action based on it.
Example:
If the application firefox is open, send the application to workspace 5
With a matching utility, you can identify windows based on any x properties, for instance its title (man xprop), and act on them (or others). Example of actions are minimize, bring to front, close, make visible on all workspaces, and of course change the geometry.
Practically, you can use devilspie as follow:
1/ After working on my OPI for a few days, my windows are all scattered. My desktop is a mess. I click on a button, devilspie kicks in and reorganize all the windows in a preset configuration
2/ Today, I want to commission the injector laser. I click on a button. The injector laser environment set, the electron beam environment is hidden.
3/ This is a shared workstation where users are using the same account. User1 click on a button, his environment is restored.
wmctl: http://tomas.styblo.name/wmctrl/
devilspie: https://wiki.gnome.org/action/show/Projects/DevilsPie?action="">

Enjoy,
--
Emmanuel


From: emayssat@outlook.com
To: tom.cobb@diamond.ac.uk; tech-talk@aps.anl.gov
Subject: RE: Design strategies for CSS BOY screens
Date: Wed, 18 Dec 2013 18:07:47 -0800

> Multiply this by 4 monitors and 8 Linux workspaces and users have an awful lot of screen real estate to get lost in. The main synoptic typically gets buried in the background, so the users open another one, then you have multiple copies of everything and can never find what you're looking for.

* 30 workspaces, dual screen per OPI x 5 (only 2.5 are heavily used though)
* Great for commissioning, not so for normal operations
* Our stretch goal is to have 4 summary work-spaces (i.e to be used for normal operations)
* Currently, we have motif, tk, matlab, labview, CSS, Qt... in a GTk environment.
Well, we are moving everything to Qt.

> Now the simplistic approach when converting to CSS BOY would be to translate every EDM screen into a BOY screen, launched in its own window. But then we aren't really solving any problems, we're just making BOY look like EDM, and it takes a lot of work to persuade eclipse not to put toolbars everywhere...

As Emma mentioned, if you want to have a look at dock areas and dock-able tabs, simply start qt-designer.
Regardless of the framework, with this approach they are limitations.
* You also cannot dock 2 tabs outside the dock area (i.e outside main window or on central widget)
* If you close the main window (the one with the menu and the central widget), you also close the detached tabs.
That behavior may or may not be the desired behavior

If you want 2 independent windows (you can close one without closing the other), you need 2 main windows.
(In Qt, a widget with no parent is automatically contained in an menu-less main window)
If you put one main window on the top of another that implements a dock-area... well, they just stay on the top of one another.
What you need here  is to have a look at window managers.
(the fancy beryl-compiz or those included in Windows/OS X/Linux(Gtk/KDE)
 
http://en.wikipedia.org/wiki/Window_manager

That being said they are new kids on the block, like win8/metro and Qt/QML both designed for touch interfaces.
With metro and QML, you navigate on a canvas. Certainly, we are a few years away from those touch-based interfaces.
How long can you wait?

--
Emmanuel





References:
Design strategies for CSS BOY screens tom.cobb
RE: Design strategies for CSS BOY screens Emmanuel Mayssat

Navigate by Date:
Prev: RE: Design strategies for CSS BOY screens Emmanuel Mayssat
Next: Cothread pre-release michael.abbott
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
Navigate by Thread:
Prev: RE: Design strategies for CSS BOY screens Emmanuel Mayssat
Next: RE: Design strategies for CSS BOY screens kathryn.baker
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·