summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMavridis Philippe <mavridisf@gmail.com>2023-12-07 16:26:47 +0200
committerMavridis Philippe <mavridisf@gmail.com>2023-12-21 19:53:03 +0200
commitecd60bc6a5f5181bb5013bea114fae5d8efaab47 (patch)
tree1eccd7e6eff9ff6368879722f59209483a49c886
parent6b30fb07918385ab02a97c27df5e3e2954f03487 (diff)
downloadtdebase-ecd60bc6a5f5181bb5013bea114fae5d8efaab47.tar.gz
tdebase-ecd60bc6a5f5181bb5013bea114fae5d8efaab47.zip
TWin: Add DCOP method showWindowMenu(wid) for default menu position
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
-rw-r--r--twin/KWinInterface.h3
-rw-r--r--twin/useractions.cpp10
-rw-r--r--twin/workspace.h2
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();
/**