diff --git a/src/amorwidget.cpp b/src/amorwidget.cpp --- a/src/amorwidget.cpp +++ b/src/amorwidget.cpp @@ -20,15 +20,10 @@ #include #include #include -#include #include #include -#include -#include -#include - AmorWidget::AmorWidget() : QWidget( 0, Qt::WindowTitleHint | Qt::X11BypassWindowManagerHint ), m_pixmap( 0 ), @@ -49,14 +44,7 @@ const auto mask = m_pixmap->scaled(m_pixmap->width() * dpr, m_pixmap->height() * dpr, Qt::KeepAspectRatio, Qt::FastTransformation).mask(); if (!mask.isNull()) { - const auto conn = QX11Info::connection(); - auto img = mask.toImage().convertToFormat(QImage::Format_MonoLSB); - auto bitmap = xcb_create_pixmap_from_bitmap_data(conn, winId(), - (uint8_t*) img.constBits(), - mask.width(), mask.height(), mask.depth(), - 0, 0, nullptr); - xcb_shape_mask(conn, XCB_SHAPE_SO_SET, XCB_SHAPE_SK_BOUNDING, winId(), 0, 0, bitmap); - xcb_free_pixmap(conn, bitmap); + QWidget::setMask(mask); repaint(); } update();