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.cpp | |
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.cpp')
-rw-r--r-- | src-qt5/core/libLumina/NativeWindowSystem.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src-qt5/core/libLumina/NativeWindowSystem.cpp b/src-qt5/core/libLumina/NativeWindowSystem.cpp index c8e6d483..c2af0560 100644 --- a/src-qt5/core/libLumina/NativeWindowSystem.cpp +++ b/src-qt5/core/libLumina/NativeWindowSystem.cpp @@ -152,8 +152,9 @@ bool NativeWindowSystem::start(){ //Initialize all the extra atoms that the EWMH object does not have if( !obj->init_ATOMS() ){ return false; } } //Done with private object init - - return true; + bool ok = obj->register_wm(); + if(ok){ ok = obj->startSystemTray(); } + return ok; } void NativeWindowSystem::stop(){ @@ -165,6 +166,7 @@ void NativeWindowSystem::UpdateWindowProperties(NativeWindow* win, QList< Native } + // === PUBLIC SLOTS === //These are the slots which are only used by the desktop system itself or the NativeWindowEventFilter void NativeWindowSystem::RegisterVirtualRoot(WId){ @@ -176,6 +178,10 @@ void NativeWindowSystem::NewWindowDetected(WId){ } +void NativeWindowSystem::NewTrayWindowDetected(WId){ + +} + void NativeWindowSystem::WindowCloseDetected(WId){ } @@ -202,6 +208,16 @@ void NativeWindowSystem::NewMouseRelease(int buttoncode){ // === PRIVATE SLOTS === //These are the slots which are built-in and automatically connected when a new NativeWindow is created +void NativeWindowSystem::RequestPropertiesChange(WId win, QList<NativeWindow::Property> props, QList<QVariant> vals){ + //Find the window object associated with this id + bool istraywin = false; //just in case we care later if it is a tray window or a regular window + NativeWindow *WIN = findWindow(win); + if(WIN==0){ istraywin = true; WIN = findTrayWindow(win); } + if(WIN==0){ return; } //invalid window ID - no longer available + //Now make any changes as needed + +} + void NativeWindowSystem::RequestActivate(WId){ } |