Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package applet-window-appmenu for openSUSE:Factory checked in at 2022-05-30 12:44:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/applet-window-appmenu (Old) and /work/SRC/openSUSE:Factory/.applet-window-appmenu.new.2254 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "applet-window-appmenu" Mon May 30 12:44:06 2022 rev:11 rq:979748 version:0.8.0 Changes: -------- --- /work/SRC/openSUSE:Factory/applet-window-appmenu/applet-window-appmenu.changes 2022-01-07 12:47:03.631873758 +0100 +++ /work/SRC/openSUSE:Factory/.applet-window-appmenu.new.2254/applet-window-appmenu.changes 2022-05-30 12:45:01.940476927 +0200 @@ -1,0 +2,7 @@ +Sun May 29 20:08:49 UTC 2022 - Cor Blom <corne...@solcon.nl> + +- Update to 0.8.0: + * use applet geometry to accept mouse events when inside latte docks and panels + * show menu only after the previous one has already become hidden + +------------------------------------------------------------------- Old: ---- applet-window-appmenu-0.7.1.tar.gz New: ---- applet-window-appmenu-0.8.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ applet-window-appmenu.spec ++++++ --- /var/tmp/diff_new_pack.Wh2TFk/_old 2022-05-30 12:45:02.464477625 +0200 +++ /var/tmp/diff_new_pack.Wh2TFk/_new 2022-05-30 12:45:02.468477630 +0200 @@ -1,7 +1,7 @@ # # spec file for package applet-window-appmenu # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,7 +20,7 @@ %define qt5_version 5.9 Name: applet-window-appmenu -Version: 0.7.1 +Version: 0.8.0 Release: 0 Summary: Plasma 5 applet to show the window appmenu License: GPL-2.0-or-later ++++++ applet-window-appmenu-0.7.1.tar.gz -> applet-window-appmenu-0.8.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/applet-window-appmenu-0.7.1/CHANGELOG.md new/applet-window-appmenu-0.8.0/CHANGELOG.md --- old/applet-window-appmenu-0.7.1/CHANGELOG.md 2021-07-21 07:09:04.000000000 +0200 +++ new/applet-window-appmenu-0.8.0/CHANGELOG.md 2022-05-22 09:43:19.000000000 +0200 @@ -1,5 +1,10 @@ ### CHANGELOG +#### Version 0.8.0 + +* use applet geometry to accept mouse events when inside latte docks and panels +* show menu only after the previous one has already become hidden + #### Version 0.7.1 * do not show any appmenu on empty and inactive screens diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/applet-window-appmenu-0.7.1/CMakeLists.txt new/applet-window-appmenu-0.8.0/CMakeLists.txt --- old/applet-window-appmenu-0.7.1/CMakeLists.txt 2021-07-21 07:09:04.000000000 +0200 +++ new/applet-window-appmenu-0.8.0/CMakeLists.txt 2022-05-22 09:43:19.000000000 +0200 @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.0 FATAL_ERROR) set(CMAKE_CXX_STANDARD 14) -set(VERSION 0.7.1) +set(VERSION 0.8.0) set(AUTHOR "Michail Vourlakos") set(EMAIL "mvourla...@gmail.com") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/applet-window-appmenu-0.7.1/INSTALLATION.md new/applet-window-appmenu-0.8.0/INSTALLATION.md --- old/applet-window-appmenu-0.7.1/INSTALLATION.md 2021-07-21 07:09:04.000000000 +0200 +++ new/applet-window-appmenu-0.8.0/INSTALLATION.md 2022-05-22 09:43:19.000000000 +0200 @@ -23,6 +23,12 @@ sudo dnf install make cmake extra-cmake-modules qt5-qtdeclarative-devel kf5-plasma-devel qt5-qtx11extras-devel gcc-c++ libSM-devel kf5-kconfigwidgets-devel kdecoration-devel kf5-kitemmodels-devel plasma-workspace-devel kf5-kwayland-devel ``` +### Arch + +``` +sudo pacman -Sy base-devel libxcb plasma-workspace qt5-base qt5-declarative extra-cmake-modules kwindowsystem plasma-framework libdbusmenu-gtk2 libdbusmenu-gtk3 +``` + ### Building and Installing **Now you can run the installation script.** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/applet-window-appmenu-0.7.1/lib/appmenuapplet.cpp new/applet-window-appmenu-0.8.0/lib/appmenuapplet.cpp --- old/applet-window-appmenu-0.7.1/lib/appmenuapplet.cpp 2021-07-21 07:09:04.000000000 +0200 +++ new/applet-window-appmenu-0.8.0/lib/appmenuapplet.cpp 2022-05-22 09:43:19.000000000 +0200 @@ -303,19 +303,8 @@ } //end workaround - // hide the old menu only after showing the new one to avoid brief flickering - // in other windows as they briefly re-gain focus QMenu *oldMenu = m_currentMenu; - if (oldMenu && oldMenu != actionMenu) { - //don't initialize the currentIndex when another menu is already shown - disconnect(oldMenu, &QMenu::aboutToHide, this, &AppMenuApplet::onMenuAboutToHide); - disconnect(oldMenu->windowHandle(), &QWindow::widthChanged, this, &AppMenuApplet::repositionMenu); - disconnect(oldMenu->windowHandle(), &QWindow::heightChanged, this, &AppMenuApplet::repositionMenu); - disconnect(oldMenu, &QObject::destroyed, this, &AppMenuApplet::menuIsShownChanged); - oldMenu->hide(); - } - QPoint pos = ctx->window()->mapToGlobal(ctx->mapToScene(QPointF()).toPoint()); m_currentParentGeometry = QRect(pos, QSize(ctx->width(), ctx->height())); @@ -345,6 +334,17 @@ actionMenu->popup(pos); + // hide the old menu only after showing the new one to avoid brief flickering + // in other windows as they briefly re-gain focus + if (oldMenu && oldMenu != actionMenu) { + //don't initialize the currentIndex when another menu is already shown + disconnect(oldMenu, &QMenu::aboutToHide, this, &AppMenuApplet::onMenuAboutToHide); + disconnect(oldMenu->windowHandle(), &QWindow::widthChanged, this, &AppMenuApplet::repositionMenu); + disconnect(oldMenu->windowHandle(), &QWindow::heightChanged, this, &AppMenuApplet::repositionMenu); + disconnect(oldMenu, &QObject::destroyed, this, &AppMenuApplet::menuIsShownChanged); + oldMenu->hide(); + } + emit menuIsShownChanged(); } else { // is it just an action without a menu? const QVariant data = m_model->index(idx, 0).data(AppMenuModel::ActionRole); @@ -396,7 +396,17 @@ const QPointF &windowLocalPos = m_buttonGrid->window()->mapFromGlobal(e->globalPos()); QPointF buttonGridLocalPos = m_buttonGrid->mapFromScene(windowLocalPos); - if (inPanel() && m_buttonGrid->window()->geometry().contains(e->globalPos()) && !m_buttonGrid->contains(buttonGridLocalPos)) { + // In Latte panel >= v0.10 we can access applets visual geometry + QVariant appletsVisualGeomVariant = m_buttonGrid->window() ? m_buttonGrid->window()->property("_applets_layout_geometry") : QVariant(); + QRect windowVisualGeom = m_buttonGrid->window()->geometry(); + + if (appletsVisualGeomVariant.isValid()) { + QRect appletsVisualGeom = appletsVisualGeomVariant.toRect(); + appletsVisualGeom.moveTopLeft(windowVisualGeom.topLeft()); + windowVisualGeom = appletsVisualGeom; + } + + if (inPanel() && windowVisualGeom.contains(e->globalPos()) && !m_buttonGrid->contains(buttonGridLocalPos)) { if (formFactor() == Plasma::Types::Horizontal) { buttonGridLocalPos.setY(1); } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/applet-window-appmenu-0.7.1/package/metadata.desktop new/applet-window-appmenu-0.8.0/package/metadata.desktop --- old/applet-window-appmenu-0.7.1/package/metadata.desktop 2021-07-21 07:09:04.000000000 +0200 +++ new/applet-window-appmenu-0.8.0/package/metadata.desktop 2022-05-22 09:43:19.000000000 +0200 @@ -7,7 +7,7 @@ X-KDE-PluginInfo-Email=mvourla...@gmail.com X-KDE-PluginInfo-License=GPL-2.0+ X-KDE-PluginInfo-Name=org.kde.windowappmenu -X-KDE-PluginInfo-Version=0.7.1 +X-KDE-PluginInfo-Version=0.8.0 X-KDE-PluginInfo-Website=https://github.com/psifidotos/applet-window-appmenu X-KDE-ServiceTypes=Plasma/Applet X-Plasma-API=declarativeappletscript