mirror of
https://github.com/Ximi1970/systray-x.git
synced 2026-05-07 06:05:54 +02:00
Merge branch 'feature-fix-close' into develop
This commit is contained in:
@@ -23,6 +23,9 @@
|
||||
#include <QApplication>
|
||||
#include <QTime>
|
||||
#include <QTimer>
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 4, 0)
|
||||
#include <QElapsedTimer>
|
||||
#endif
|
||||
#include <QFileInfo>
|
||||
|
||||
|
||||
@@ -827,8 +830,13 @@ void WindowCtrlUnix::normalizeWindow( quint64 window )
|
||||
/*
|
||||
* Let us wait a bit, maybe this helps...
|
||||
*/
|
||||
#if QT_VERSION < QT_VERSION_CHECK(5, 4, 0)
|
||||
QTime state_wait;
|
||||
#else
|
||||
QElapsedTimer state_wait;
|
||||
#endif
|
||||
state_wait.start();
|
||||
|
||||
bool win_normal = false;
|
||||
while( state_wait.elapsed() < 1000 && !win_normal )
|
||||
{
|
||||
|
||||
@@ -417,22 +417,18 @@ void GetWindowFrameExtensions( void *display, quint64 window, long* left, lon
|
||||
unsigned long remain;
|
||||
unsigned long len;
|
||||
unsigned char* list = NULL;
|
||||
XEvent event;
|
||||
|
||||
while( XGetWindowProperty( dsp, window, prop, 0, 4, False, AnyPropertyType,
|
||||
&type, &format, &len, &remain, &list ) != Success || len != 4 || remain != 0 ||
|
||||
XPending( dsp ) > 0 )
|
||||
if( XGetWindowProperty( dsp, window, prop, 0, 4, False, AnyPropertyType,
|
||||
&type, &format, &len, &remain, &list ) == Success )
|
||||
{
|
||||
XNextEvent( dsp, &event );
|
||||
}
|
||||
|
||||
if( list && len == 4 )
|
||||
{
|
||||
long* extents = (long*)list;
|
||||
*left = extents[ 0 ];
|
||||
*right = extents[ 1 ];
|
||||
*top = extents[ 2 ];
|
||||
*bottom = extents[ 3 ];
|
||||
if( list && len == 4 )
|
||||
{
|
||||
long* extents = (long*)list;
|
||||
*left = extents[ 0 ];
|
||||
*right = extents[ 1 ];
|
||||
*top = extents[ 2 ];
|
||||
*bottom = extents[ 3 ];
|
||||
}
|
||||
}
|
||||
|
||||
if( list )
|
||||
|
||||
@@ -362,6 +362,8 @@ SysTrayX.Messaging = {
|
||||
},
|
||||
|
||||
onCloseButton: function () {
|
||||
//console.debug("Minimize all")
|
||||
|
||||
SysTrayX.Link.postSysTrayXMessage({ window: "minimized_all" });
|
||||
/*
|
||||
browser.windows.update(browser.windows.WINDOW_ID_CURRENT, {
|
||||
|
||||
@@ -105,6 +105,10 @@ var windowListener = new (class extends ExtensionCommon.EventEmitter {
|
||||
true
|
||||
);
|
||||
windowListener.hijackTitlebarCloseButton(window);
|
||||
|
||||
windowListener.oldClose = window.close;
|
||||
window.close = () => windowListener.onCloseButton(null);
|
||||
|
||||
console.log("Close listener added");
|
||||
}
|
||||
},
|
||||
@@ -129,6 +133,8 @@ var windowListener = new (class extends ExtensionCommon.EventEmitter {
|
||||
windowListener.onCloseButton,
|
||||
true
|
||||
);
|
||||
window.close = windowListener.oldClose;
|
||||
|
||||
console.log("Close listener removed");
|
||||
}
|
||||
}
|
||||
@@ -137,8 +143,8 @@ var windowListener = new (class extends ExtensionCommon.EventEmitter {
|
||||
}
|
||||
|
||||
onCloseButton(event) {
|
||||
windowListener.emit("close-clicked");
|
||||
if (event) event.preventDefault();
|
||||
windowListener.emit("close-clicked");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user