aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core/libLumina/NativeWindowSystem.h
diff options
context:
space:
mode:
authorKen Moore <ken@ixsystems.com>2017-03-03 14:25:29 -0500
committerKen Moore <ken@ixsystems.com>2017-03-03 14:25:29 -0500
commite51eb7f9b51dc29be83a00abf2ebf95cc17d0ba7 (patch)
tree65276d138bec55ca4a37e5788269aaf027eb0a9f /src-qt5/core/libLumina/NativeWindowSystem.h
parentUpdate the .gitignore file a bit. (diff)
downloadlumina-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.h21
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*);
bgstack15