Bug 91766 - re-launching single-instance app should put existing window on top
Summary: re-launching single-instance app should put existing window on top
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-10-20 17:50 UTC by Dik Takken
Modified: 2004-10-22 14:51 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dik Takken 2004-10-20 17:50:06 UTC
Version:            (using KDE KDE 3.3.0)
Installed from:    Gentoo Packages
OS:                Linux

When the user attempts to launch a kde application that allows only one instance, and there is already one instance running, kwin should put the existing instances window(s) on top. Currently KWin does not do this, which gives the impression that the application is unable to start, when in fact there is an existing instance running behind another window.

Example: korganizer.
Comment 1 Lubos Lunak 2004-10-21 17:15:17 UTC
I don't see any problem with KOrganizer at all.
Comment 2 Dik Takken 2004-10-22 11:42:55 UTC
Well, when I launch KOrganizer by clicking the alarm daemon systray icon, and I put it behind another window, clicking the systray again does not show KOrganizer. The only thing that happens is that KOrganizer's taskbar button is highlighted. But since my external taskbar is on auto-hide, that's not enough. The window should be put on top.
Comment 3 Lubos Lunak 2004-10-22 14:51:41 UTC
CVS commit by lunakl: 

Lame mistake.
BUG: 91766


  M +1 -1      activation.cpp   2.43


--- kdebase/kwin/activation.cpp  #2.42:2.43
@@ -815,5 +815,5 @@ void Client::startupIdChanged()
     if( timestamp != 0 )
         {
-        bool activate = workspace()->allowClientActivation( this, asn_data.timestamp());
+        bool activate = workspace()->allowClientActivation( this, timestamp );
         if( asn_data.desktop() != 0 && !isOnCurrentDesktop())
             activate = false; // it was started on different desktop than current one