diff options
author | Ken Moore <ken@ixsystems.com> | 2017-03-03 14:25:29 -0500 |
---|---|---|
committer | Ken Moore <ken@ixsystems.com> | 2017-03-03 14:25:29 -0500 |
commit | e51eb7f9b51dc29be83a00abf2ebf95cc17d0ba7 (patch) | |
tree | 65276d138bec55ca4a37e5788269aaf027eb0a9f /src-qt5/core/libLumina/NativeWindowSystem.h | |
parent | Update the .gitignore file a bit. (diff) | |
download | lumina-e51eb7f9b51dc29be83a00abf2ebf95cc17d0ba7.tar.gz lumina-e51eb7f9b51dc29be83a00abf2ebf95cc17d0ba7.tar.bz2 lumina-e51eb7f9b51dc29be83a00abf2ebf95cc17d0ba7.zip |
Another large batch of updates to the Native Window "plumbing":
1) Handle all property changes in bulk groups for efficiency
2) Add simplification functions for changing single properties.
3) Automatically prune redundant property settings from signals
4) Add another property or two, and simplify the number of "extra" signals/functions for non-property changes/requests.
5) Starting cleaning up the new NativeWindowSystem class to use the new plumbing, and get it ready for the XCB "guts" to be copied in.
Diffstat (limited to 'src-qt5/core/libLumina/NativeWindowSystem.h')
-rw-r--r-- | src-qt5/core/libLumina/NativeWindowSystem.h | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src-qt5/core/libLumina/NativeWindowSystem.h b/src-qt5/core/libLumina/NativeWindowSystem.h index ef169059..b26400a6 100644 --- a/src-qt5/core/libLumina/NativeWindowSystem.h +++ b/src-qt5/core/libLumina/NativeWindowSystem.h @@ -33,7 +33,7 @@ private: } //Now define a simple private_objects class so that each implementation - // has a storage container for placing private objects as needed + // has a storage container for defining/placing private objects as needed class p_objects; p_objects* obj; @@ -51,6 +51,7 @@ public: //General-purpose listing functions QList<NativeWindow*> currentWindows(){ return NWindows; } + QList<NativeWindow*> currentTrayWindows(){ return TWindows; } public slots: //These are the slots which are typically only used by the desktop system itself or the NativeWindowEventFilter @@ -64,21 +65,21 @@ public slots: //NativeWindowEventFilter interactions void NewWindowDetected(WId); //will automatically create the new NativeWindow object + void NewTrayWindowDetected(WId); //will automatically create the new NativeWindow object void WindowCloseDetected(WId); //will update the lists and make changes if needed - void WindowPropertyChanged(WId, NativeWindow::Property); //will rescan the window and update the object as needed - void NewKeyPress(int keycode); - void NewKeyRelease(int keycode); - void NewMousePress(int buttoncode); - void NewMouseRelease(int buttoncode); + void WindowPropertiesChanged(WId, NativeWindow::Property); //will rescan the window and update the object as needed + void NewKeyPress(int keycode, WId win = 0); + void NewKeyRelease(int keycode, WId win = 0); + void NewMousePress(int buttoncode, WId win = 0); + void NewMouseRelease(int buttoncode, WId win = 0); void CheckDamageID(WId); private slots: //These are the slots which are built-in and automatically connected when a new NativeWindow is created - void RequestActivate(WId); + void RequestPropertiesChange(WId, QList<NativeWindow::Property>, QList<QVariant>); void RequestClose(WId); - void RequestSetVisible(WId, bool); - void RequestSetGeometry(WId, QRect); - void RequestSetFrameExtents(WId, QList<int>); //[Left,Right,Top,Bottom] in pixels + void RequestKill(WId); + void RequestPing(WId); signals: void NewWindowAvailable(NativeWindow*); |