HIG (Future of KDE Development)

Benjamin Meyer ben at meyerhome.net
Fri Feb 18 00:05:19 GMT 2005


On Thursday 17 February 2005 9:20 pm, Richard Moore wrote:
> Ok - rather than talk in the abstract I'll present two different use
> cases, and if IDEAL can support them both then there's no problem
> (assuming I don't need to click 10 million things to configure it so
> that these happen).
>
> 1. I use paintshop pro a lot. I frequently need to have a large number
> of images visible at the same time either to compare them, or because
> I'm using them to edit fragments of images that I stick together later
> to make a single image. In this example having lots of pseudo-toplevel
> widgets inside the app makes a lot of sense and is very easy to use.
>
> 2. I frequently use ksirc to have several different chat channels
> open. I want each to use the full space allocated to the window and I
> want to be able to switch between them quickly.
>
> Cheers
>
> Rich.

I have a patch for kwin that will raise all windows from the same application 
when you click on one window.  Needs some some pollish, but I have been using 
it for a few months.  So when using Gimp, ksirc, or the new Qt Designer in 
Qt4 when I click on one window in the application the rest raise up.  
Personally I don't know why we didn't have this all along.

-Benjamin Meyer


Index: layers.cpp
===================================================================
RCS file: /home/kde/kdebase/kwin/layers.cpp,v
retrieving revision 2.36
diff -u -3 -p -r2.36 layers.cpp
--- layers.cpp 30 Nov 2004 14:26:09 -0000 2.36
+++ layers.cpp 2 Jan 2005 16:54:34 -0000
@@ -334,6 +334,18 @@ void Workspace::raiseClient( Client* c )
 
     StackingUpdatesBlocker blocker( this );
 
+    // Raise all members in the group
+    for( ClientList::ConstIterator it = c->group()->members().begin();
+         it != c->group()->members().end();
+         ++it )
+      {
+      if( c == *it )
+        continue;
+        
+      unconstrained_stacking_order.remove( *it );
+      unconstrained_stacking_order.append( *it );
+      }
+
     if( c->isTransient())
         {
         ClientList mainclients = ensureStackingOrder( c->mainClients());

-- 
aka icefox
Public Key: http://www.icefox.net/public_key.asc




More information about the kde-core-devel mailing list