auto commit

This commit is contained in:
arcan1s 2014-12-12 00:02:48 +03:00
parent 0533ee8cd5
commit 2272b0c2c0
2 changed files with 17 additions and 10 deletions

View File

@ -142,12 +142,12 @@ void DesktopPanel::init()
} }
WId DesktopPanel::getDesktopId(const int num) QPixmap DesktopPanel::getDesktopId(const int num)
{ {
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Number" << num; if (debug) qDebug() << PDEBUG << ":" << "Number" << num;
WId wid = 0; QList<WId> desktops;
QList<WId> windows = KWindowSystem::windows(); QList<WId> windows = KWindowSystem::windows();
for (int i=0; i<windows.count(); i++) { for (int i=0; i<windows.count(); i++) {
KWindowInfo winInfo = KWindowSystem::windowInfo(windows[i], NET::Property::WMName | KWindowInfo winInfo = KWindowSystem::windowInfo(windows[i], NET::Property::WMName |
@ -155,13 +155,19 @@ WId DesktopPanel::getDesktopId(const int num)
NET::Property::WMState | NET::Property::WMWindowType); NET::Property::WMState | NET::Property::WMWindowType);
if (winInfo.windowType(NET::WindowTypeMask::DesktopMask) != NET::WindowType::Desktop) continue; if (winInfo.windowType(NET::WindowTypeMask::DesktopMask) != NET::WindowType::Desktop) continue;
if (!winInfo.isOnDesktop(num)) continue; if (!winInfo.isOnDesktop(num)) continue;
wid = winInfo.win(); desktops.append(winInfo.win());
break;
} }
qDebug() << QApplication::desktop()->winId(); if (desktops.count() == 0) return QPixmap();
wid = QApplication::desktop()->winId();
return wid; QPixmap pixmap = QPixmap::grabWindow(desktops[0]);
QPainter painter(&pixmap);
for (int i=0; i<desktops.count(); i++)
painter.drawPixmap(KWindowSystem::windowInfo(desktops[i], NET::Property::WMGeometry).geometry(),
QPixmap::grabWindow(desktops[i]));
return pixmap;
// return desktops;
} }
@ -360,8 +366,9 @@ void DesktopPanel::paintTooltip(const int active)
toolTip.setImage(QPixmap::grabWidget(toolTipView).scaledToWidth(configuration[QString("tooltipWidth")].toInt())); toolTip.setImage(QPixmap::grabWidget(toolTipView).scaledToWidth(configuration[QString("tooltipWidth")].toInt()));
} else { } else {
// desktop preview // desktop preview
toolTip.setImage(QPixmap::grabWindow(getDesktopId(active + 1)).scaledToWidth(configuration[QString("tooltipWidth")].toInt())); toolTip.setImage(getDesktopId(active + 1).scaledToWidth(configuration[QString("tooltipWidth")].toInt()));
toolTip.setWindowsToPreview(KWindowSystem::windows()); // toolTip.setImage(QPixmap::grabWindow(getDesktopId(active + 1)).scaledToWidth(configuration[QString("tooltipWidth")].toInt()));
// toolTip.setWindowsToPreview(KWindowSystem::windows());
} }
Plasma::ToolTipManager::self()->setContent(this, toolTip); Plasma::ToolTipManager::self()->setContent(this, toolTip);

View File

@ -71,7 +71,7 @@ public:
DesktopPanel(QObject *parent, const QVariantList &args); DesktopPanel(QObject *parent, const QVariantList &args);
~DesktopPanel(); ~DesktopPanel();
void init(); void init();
WId getDesktopId(const int num); QPixmap getDesktopId(const int num);
DesktopWindowsInfo getInfoByDesktop(const int num); DesktopWindowsInfo getInfoByDesktop(const int num);
QString parsePattern(const QString rawLine, const int num); QString parsePattern(const QString rawLine, const int num);