mirror of
https://bitbucket.org/smil3y/kde-workspace.git
synced 2025-02-23 10:22:49 +00:00
libs: implement KTaskManager::demandsAttention() and handle transient window in KTaskManager::isActive()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
54bd23f900
commit
d158170c10
1 changed files with 14 additions and 4 deletions
|
@ -305,14 +305,24 @@ QList<KTaskManager::Task> KTaskManager::tasks() const
|
|||
|
||||
bool KTaskManager::isActive(const KTaskManager::Task &task) const
|
||||
{
|
||||
// TODO: transients
|
||||
return (task.window == KWindowSystem::activeWindow());
|
||||
const WId activewindow = KWindowSystem::activeWindow();
|
||||
return (task.window == activewindow || KWindowSystem::transientFor(task.window) == activewindow);
|
||||
}
|
||||
|
||||
bool KTaskManager::demandsAttention(const KTaskManager::Task &task) const
|
||||
{
|
||||
// TODO: including transients
|
||||
return false;
|
||||
KWindowInfo kwindowinfo = KWindowSystem::windowInfo(
|
||||
task.window,
|
||||
NET::WMState | NET::XAWMState
|
||||
);
|
||||
if (kwindowinfo.hasState(NET::DemandsAttention)) {
|
||||
return true;
|
||||
}
|
||||
kwindowinfo = KWindowSystem::windowInfo(
|
||||
KWindowSystem::transientFor(task.window),
|
||||
NET::WMState | NET::XAWMState
|
||||
);
|
||||
return kwindowinfo.hasState(NET::DemandsAttention);
|
||||
}
|
||||
|
||||
void KTaskManager::activateRaiseOrIconify(const KTaskManager::Task &task)
|
||||
|
|
Loading…
Add table
Reference in a new issue