SHA256
1
0
forked from pool/breeze
Hrvoje Senjan 2015-10-10 14:10:05 +00:00 committed by Git OBS Bridge
parent 6876350cae
commit f11e7ba9ea
2 changed files with 183 additions and 0 deletions

View File

@ -1 +1,22 @@
From: Harald Sitter <sitter@kde.org>
Date: Mon, 05 Oct 2015 13:14:00 +0000
Subject: Install emotes and mimtetypes directories of the dark icon theme
X-Git-Url: http://quickgit.kde.org/?p=breeze.git&a=commitdiff&h=12d8b9a9907b28ba1cbaffc380f4eeae4de9774d
---
Install emotes and mimtetypes directories of the dark icon theme
CCMAIL: kainz.a@gmail.com
---
--- a/icons-dark/CMakeLists.txt
+++ b/icons-dark/CMakeLists.txt
@@ -11,7 +11,7 @@
########### install files ###############
-set( breeze_icon_dark_dirs actions apps categories devices emblems places status)
+set( breeze_icon_dark_dirs actions apps categories devices emblems emotes mimetypes places status)
set(BREEZE_INSTALL_DIR ${ICON_INSTALL_DIR}/breeze-dark)

View File

@ -1 +1,163 @@
From: David Rosca <nowrep@gmail.com>
Date: Thu, 08 Oct 2015 18:46:45 +0000
Subject: Use NETRootInfo to initiate wm move operation
X-Git-Url: http://quickgit.kde.org/?p=breeze.git&a=commitdiff&h=ca72ca904f7fb8872667322bf5143e2b81eaf2f3
---
Use NETRootInfo to initiate wm move operation
Also remove hack that messes with cursor position, which results in
window sometimes rendered in wrong position for a moment after starting
window move.
REVIEW: 125522
BUG: 353749
---
--- a/kstyle/breezewindowmanager.cpp
+++ b/kstyle/breezewindowmanager.cpp
@@ -83,6 +83,14 @@
#if BREEZE_HAVE_X11
#include <QX11Info>
+#include <xcb/xcb.h>
+
+#if BREEZE_USE_KDE4
+#include <NETRootInfo>
+#else
+#include <NETWM>
+#endif
+
#endif
namespace Breeze
@@ -139,11 +147,8 @@
//* application-wise event.
/** needed to catch end of XMoveResize events */
- bool appMouseEvent( QObject*, QEvent* event )
- {
-
- // store target window (see later)
- QWidget* window( _parent->_target.data()->window() );
+ bool appMouseEvent( QObject*, QEvent* )
+ {
/*
post some mouseRelease event to the target, in order to counter balance
@@ -151,19 +156,6 @@
*/
QMouseEvent mouseEvent( QEvent::MouseButtonRelease, _parent->_dragPoint, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier );
qApp->sendEvent( _parent->_target.data(), &mouseEvent );
-
- if( event->type() == QEvent::MouseMove )
- {
- /*
- HACK: quickly move the main cursor out of the window and back
- this is needed to get the focus right for the window children
- the origin of this issue is unknown at the moment
- */
- const QPoint cursor = QCursor::pos();
- QCursor::setPos(window->mapToGlobal( window->rect().topRight() ) + QPoint(1, 0) );
- QCursor::setPos(cursor);
-
- }
return false;
@@ -194,19 +186,6 @@
_appEventFilter = new AppEventFilter( this );
qApp->installEventFilter( _appEventFilter );
- #if BREEZE_HAVE_X11
- _moveResizeAtom = 0;
- if( Helper::isX11() )
- {
- // create move-resize atom
- xcb_connection_t* connection( Helper::connection() );
- const QString atomName( QStringLiteral( "_NET_WM_MOVERESIZE" ) );
- xcb_intern_atom_cookie_t cookie( xcb_intern_atom( connection, false, atomName.size(), qPrintable( atomName ) ) );
- ScopedPointer<xcb_intern_atom_reply_t> reply( xcb_intern_atom_reply( connection, cookie, nullptr) );
- _moveResizeAtom = reply ? reply->atom:0;
- }
- #endif
-
}
//_____________________________________________________________
@@ -755,43 +734,15 @@
const qreal dpiRatio = 1;
#endif
- // from bespin/virtuality
- xcb_button_release_event_t releaseEvent;
- memset(&releaseEvent, 0, sizeof(releaseEvent));
-
- releaseEvent.response_type = XCB_BUTTON_RELEASE;
- releaseEvent.event = window;
- releaseEvent.child = XCB_WINDOW_NONE;
- releaseEvent.root = QX11Info::appRootWindow();
- releaseEvent.event_x = _dragPoint.x()*dpiRatio;
- releaseEvent.event_y = _dragPoint.y()*dpiRatio;
- releaseEvent.root_x = position.x()*dpiRatio;
- releaseEvent.root_y = position.y()*dpiRatio;
- releaseEvent.detail = XCB_BUTTON_INDEX_1;
- releaseEvent.state = XCB_BUTTON_MASK_1;
- releaseEvent.time = XCB_CURRENT_TIME;
- releaseEvent.same_screen = true;
- xcb_send_event( connection, false, window, XCB_EVENT_MASK_BUTTON_RELEASE, reinterpret_cast<const char*>(&releaseEvent));
+ #if BREEZE_USE_KDE4
+ Display* net_connection = QX11Info::display();
+ #else
+ xcb_connection_t* net_connection = connection;
+ #endif
xcb_ungrab_pointer( connection, XCB_TIME_CURRENT_TIME );
-
- // from QtCurve
- xcb_client_message_event_t clientMessageEvent;
- memset(&clientMessageEvent, 0, sizeof(clientMessageEvent));
-
- clientMessageEvent.response_type = XCB_CLIENT_MESSAGE;
- clientMessageEvent.format = 32;
- clientMessageEvent.window = window;
- clientMessageEvent.type = _moveResizeAtom;
- clientMessageEvent.data.data32[0] = position.x()*dpiRatio;
- clientMessageEvent.data.data32[1] = position.y()*dpiRatio;
- clientMessageEvent.data.data32[2] = 8; // NET::Move
- clientMessageEvent.data.data32[3] = XCB_KEY_BUT_MASK_BUTTON_1;
- xcb_send_event( connection, false, QX11Info::appRootWindow(),
- XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY |
- XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT, reinterpret_cast<const char*>(&clientMessageEvent) );
-
- xcb_flush( connection );
+ NETRootInfo rootInfo( net_connection, NET::WMMoveResize );
+ rootInfo.moveResizeRequest( window, position.x() * dpiRatio, position.y() * dpiRatio, NET::Move );
#else
--- a/kstyle/breezewindowmanager.h
+++ b/kstyle/breezewindowmanager.h
@@ -31,10 +31,6 @@
#include <QString>
#include <QWidget>
-#if BREEZE_HAVE_X11
-#include <xcb/xcb.h>
-#endif
-
namespace Breeze
{
@@ -260,10 +256,6 @@
//* application event filter
QObject* _appEventFilter;
- #if BREEZE_HAVE_X11
- xcb_atom_t _moveResizeAtom;
- #endif
-
//* allow access of all private members to the app event filter
friend class AppEventFilter;