From ecd60bc6a5f5181bb5013bea114fae5d8efaab47 Mon Sep 17 00:00:00 2001 From: Mavridis Philippe Date: Thu, 7 Dec 2023 16:26:47 +0200 Subject: TWin: Add DCOP method showWindowMenu(wid) for default menu position Signed-off-by: Mavridis Philippe --- twin/KWinInterface.h | 3 ++- twin/useractions.cpp | 10 ++++++++++ twin/workspace.h | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/twin/KWinInterface.h b/twin/KWinInterface.h index dbc132888..4eb7948fe 100644 --- a/twin/KWinInterface.h +++ b/twin/KWinInterface.h @@ -18,7 +18,8 @@ class KWinInterface : virtual public DCOPObject virtual bool isResumeableWindowID(unsigned long winId) = 0; virtual void refresh() = 0; virtual void doNotManage(TQString)= 0; - virtual void showWindowMenuAt(unsigned long winId, int x, int y)= 0; + virtual void showWindowMenuAt(unsigned long winId, int x, int y) = 0; + virtual void showWindowMenu(unsigned long winId) = 0; virtual void kDestopResized() = 0; virtual void setDesktopLayout(int orientation, int x, int y)= 0; virtual bool setCurrentDesktop(int)= 0; diff --git a/twin/useractions.cpp b/twin/useractions.cpp index 1bcd2dafa..dd29025db 100644 --- a/twin/useractions.cpp +++ b/twin/useractions.cpp @@ -654,6 +654,16 @@ void Workspace::showWindowMenuAt( unsigned long window, int x, int y ) showWindowMenu( x, y, client ); } +void Workspace::showWindowMenu( unsigned long window ) + { + Client *client; + if ((client = findClient(WindowMatchPredicate((WId)window)))) + { + TQPoint pos = client->pos() + client->clientPos(); + showWindowMenu( pos, client ); + } + } + void Workspace::slotActivateAttentionWindow() { if( attention_chain.count() > 0 ) diff --git a/twin/workspace.h b/twin/workspace.h index 47ba7bb15..954ea5191 100644 --- a/twin/workspace.h +++ b/twin/workspace.h @@ -204,8 +204,8 @@ class Workspace : public TQObject, public KWinInterface, public KDecorationDefin void windowToNextDesktop( Client* c ); void sendClientToScreen( Client* c, int screen ); - // KDE4 remove me - and it's also in the DCOP interface :( void showWindowMenuAt( unsigned long id, int x, int y ); + void showWindowMenu( unsigned long id ); void kDestopResized(); /** -- cgit v1.2.1