diff options
Diffstat (limited to 'kde-base/plasma-workspace')
-rwxr-xr-x | kde-base/plasma-workspace/Manifest | 4 | ||||
-rw-r--r-- | kde-base/plasma-workspace/files/plasma-workspace-4.7.0-taskbar.patch | 100 | ||||
-rwxr-xr-x | kde-base/plasma-workspace/plasma-workspace-4.7.0.ebuild | 5 |
3 files changed, 105 insertions, 4 deletions
diff --git a/kde-base/plasma-workspace/Manifest b/kde-base/plasma-workspace/Manifest index 37ee17d..ddcdac6 100755 --- a/kde-base/plasma-workspace/Manifest +++ b/kde-base/plasma-workspace/Manifest @@ -1,4 +1,4 @@ AUX plasma-workspace-4.4.2-xinerama_cmake_automagic.patch 923 RMD160 45519a7e51001e6f16cf4bc13f7ef99eeaff793a SHA1 22102eaa95aa07bce19262842fcda69e0bc751f0 SHA256 c1f605148ba9ea606924c934a3b79bb7b415346a3fbe2e7c1732cc6956a44157 -AUX taskbar-patch.diff 3727 RMD160 448bd7144999eab64573549c0b6a5e9da2cf5749 SHA1 9d6ba94689839103ca13769b7ffed739879a2a2c SHA256 e1bb5847c2bf5b11715d4db645c28a018f76b85aebefb1f5a2d91707f82aee9a +AUX plasma-workspace-4.7.0-taskbar.patch 3728 RMD160 e39567443c5ca2008367758be0894555b6e9288d SHA1 c2f9827de6b1fb99ecbd930a8360f170734330bc SHA256 377b827f5eff4974513342f30c5599961f40a5537a912502429c61d9f5ec317f DIST kde-workspace-4.7.0.tar.bz2 20049430 RMD160 20520845b336d9485bb2149191ad9f5e6a90824d SHA1 cbc61a20013c746f424681020c29480c6249fd10 SHA256 7e30d1a493b2b8981790a255edf0003bab19bf4dc3e77c37694da495a33a3468 -EBUILD plasma-workspace-4.7.0.ebuild 3451 RMD160 c0ab6f67b4d120a93fbe82b347e414cf946cf63e SHA1 b967b7240fd98e744a0561b5fb993638f2c6031c SHA256 c9644d19b3019717adec07e9c92857f0643b98df0764a3716b8760ab92fb9687 +EBUILD plasma-workspace-4.7.0.ebuild 3457 RMD160 1a3faea09514433cef6190dc267978379e5ec829 SHA1 56b5607ca825082e30cf8c2376ea5374df416a01 SHA256 dc659f9abd45a26949a09a26ecb3fe90a46310d78580aa3eb498d0582cdb2959 diff --git a/kde-base/plasma-workspace/files/plasma-workspace-4.7.0-taskbar.patch b/kde-base/plasma-workspace/files/plasma-workspace-4.7.0-taskbar.patch new file mode 100644 index 0000000..a42126f --- /dev/null +++ b/kde-base/plasma-workspace/files/plasma-workspace-4.7.0-taskbar.patch @@ -0,0 +1,100 @@ +commit 00b03781b8106cc9d079d133373af88b23522fc1 +Author: Aaron Seigo <aseigo@kde.org> +Date: Thu Aug 11 16:53:36 2011 +0200 + + if we are supposd to skip a task .. still check for startup items. + + this should prevent the ghost-in-the-taskbar bugs + +diff --git a/libs/taskmanager/groupmanager.cpp b/libs/taskmanager/groupmanager.cpp +index 4d8e4d9..854db2e 100644 +--- a/libs/taskmanager/groupmanager.cpp ++++ b/libs/taskmanager/groupmanager.cpp +@@ -233,14 +233,15 @@ bool GroupManagerPrivate::addTask(TaskPtr task) + << task->className() + << task->classClass(); */ + ++ bool skip = false; + if (!task->showInTaskbar()) { + //kDebug() << "Do not show in taskbar"; +- return false; ++ skip = true; + } + + if (showOnlyCurrentScreen && !task->isOnScreen(currentScreen)) { + //kDebug() << "Not on this screen and showOnlyCurrentScreen"; +- return false; ++ skip = true; + } + + // Should the Task be displayed ? We always display if attention is demaded +@@ -250,25 +251,25 @@ bool GroupManagerPrivate::addTask(TaskPtr task) + if (showOnlyCurrentDesktop && !task->isOnCurrentDesktop()) { + /* kDebug() << "Not on this desktop and showOnlyCurrentDesktop" + << KWindowSystem::currentDesktop() << task->desktop(); */ +- return false; ++ skip = true; + } + + if (showOnlyCurrentActivity && !task->isOnCurrentActivity()) { + /* kDebug() << "Not on this desktop and showOnlyCurrentActivity" + << KWindowSystem::currentActivity() << task->desktop(); */ +- return false; ++ skip = true; + } + + if (showOnlyMinimized && !task->isMinimized()) { + //kDebug() << "Not minimized and only showing minimized"; +- return false; ++ skip = true; + } + + NET::WindowType type = task->info().windowType(NET::NormalMask | NET::DialogMask | + NET::OverrideMask | NET::UtilityMask); + if (type == NET::Utility) { + //kDebug() << "skipping utility window" << task->name(); +- return false; ++ skip = true; + } + + //TODO: should we check for transiency? if so the following code can detect it. +@@ -288,14 +289,14 @@ bool GroupManagerPrivate::addTask(TaskPtr task) + + //Ok the Task should be displayed + TaskItem *item = qobject_cast<TaskItem*>(currentRootGroup()->getMemberByWId(task->window())); +- if (!item) { +- // first search for an existing startuptask for this task ++ if (!item || skip) { ++ TaskItem *startupItem = 0; + QHash<StartupPtr, TaskItem *>::iterator it = startupList.begin(); + QHash<StartupPtr, TaskItem *>::iterator itEnd = startupList.end(); + while (it != itEnd) { + if (it.key()->matchesWindow(task->window())) { + //kDebug() << "startup task found"; +- item = it.value(); ++ item = startupItem = it.value(); + startupList.erase(it); + QObject::disconnect(item, 0, q, 0); + item->setTaskPointer(task); +@@ -304,6 +305,12 @@ bool GroupManagerPrivate::addTask(TaskPtr task) + ++it; + } + ++ // if we are to skip because we don't display, we simply delete the startup related to it ++ if (skip) { ++ delete startupItem; ++ return false; ++ } ++ + if (!item) { + item = new TaskItem(q, task); + } +@@ -324,7 +331,6 @@ bool GroupManagerPrivate::addTask(TaskPtr task) + } + + geometryTasks.insert(task.data()); +- + return true; + } + + diff --git a/kde-base/plasma-workspace/plasma-workspace-4.7.0.ebuild b/kde-base/plasma-workspace/plasma-workspace-4.7.0.ebuild index 9e0bada..c94371c 100755 --- a/kde-base/plasma-workspace/plasma-workspace-4.7.0.ebuild +++ b/kde-base/plasma-workspace/plasma-workspace-4.7.0.ebuild @@ -71,8 +71,9 @@ KMEXTRACTONLY=" KMLOADLIBS="libkworkspace libplasmaclock libplasmagenericshell libtaskmanager" -PATCHES=( "${FILESDIR}/${PN}-4.4.2-xinerama_cmake_automagic.patch" - "${FILESDIR}/taskbar-patch.diff" +PATCHES=( + "${FILESDIR}/${PN}-4.4.2-xinerama_cmake_automagic.patch" + "${FILESDIR}/${PN}-4.7.0-taskbar.patch" ) pkg_setup() { |