From 39f2c6a84cd715b11fb3ffa82a86abf2fb9bcd70 Mon Sep 17 00:00:00 2001 From: Slávek Banko Date: Thu, 1 Oct 2015 17:05:29 +0200 Subject: Initial import of kooldock 0.4.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko --- src/clip.cpp | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/clip.cpp (limited to 'src/clip.cpp') diff --git a/src/clip.cpp b/src/clip.cpp new file mode 100644 index 0000000..de71d2b --- /dev/null +++ b/src/clip.cpp @@ -0,0 +1,47 @@ +#include "clip.h" + +#include +#include +#include +#include +#include +#include + +#include + +clip::clip(QWidget *parent, const char *name) : QWidget(parent, name, WStyle_Customize | WStyle_NoBorder | WNoAutoErase | WDestructiveClose | WMouseNoMask | WStyle_StaysOnTop) +{ + info = new NETWinInfo( qt_xdisplay(), winId(), qt_xrootwin(), NET::WMState); + info->setDesktop( NETWinInfo::OnAllDesktops ); + + info->setState(NETWinInfo::SkipTaskbar | NETWinInfo::SkipPager, NETWinInfo::SkipTaskbar | NETWinInfo::SkipPager); + hide(); + setBackgroundMode(NoBackground); + + KWin::setOnAllDesktops(winId(), true); + KWin::setState(winId(), NET::SkipTaskbar | NET::SkipPager); + KWin::setType(winId(), NET::Dock); + + setCaption("kooldock clipping window"); +} + +clip::~clip() +{ +} + +void clip::clipDesktop(int p1,int p2,int p3,int p4,int p5,int p6,int p7,int p8,int p9,int p10,int p11,int p12) +{ +KWin::setExtendedStrut(winId(), p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); +} + +void clip::paintEvent(QPaintEvent *) +{ + QBitmap bm(size()); + QPainter mp; + + mp.begin(&bm, this); + mp.fillRect(rect(), Qt::black); + mp.end(); + + setMask(bm); +} -- cgit v1.2.3