From owner-svn-ports-all@freebsd.org Sat Feb 25 15:55:53 2017 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 000F1CED84C; Sat, 25 Feb 2017 15:55:52 +0000 (UTC) (envelope-from rezny@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9868CAF0; Sat, 25 Feb 2017 15:55:52 +0000 (UTC) (envelope-from rezny@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v1PFtpoC017257; Sat, 25 Feb 2017 15:55:51 GMT (envelope-from rezny@FreeBSD.org) Received: (from rezny@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v1PFtnrH017237; Sat, 25 Feb 2017 15:55:49 GMT (envelope-from rezny@FreeBSD.org) Message-Id: <201702251555.v1PFtnrH017237@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rezny set sender to rezny@FreeBSD.org using -f From: Matthew Rezny Date: Sat, 25 Feb 2017 15:55:49 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r434823 - in head/x11/kde4-workspace: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Feb 2017 15:55:53 -0000 Author: rezny Date: Sat Feb 25 15:55:49 2017 New Revision: 434823 URL: https://svnweb.freebsd.org/changeset/ports/434823 Log: Multiple enhancements to components of kde4-workspaces KInfoCenter: * obey user's unit preferences (IEC vs JEDEC) when displaying PCI info * correct the units, someone forgot about terabytes KSysGuard: * make plotter obey user's unit preferences (status bar was correct) * change tooltip to use same or adjacent unit scale as the plot * support a description different from the sensor name for use as the label * add an additional step to label widths so horizontal resize is smoother * change status bar elements from fixed layout to proportional layout * space permitting, show more detailed memory stats in the status bar * replace simplistic (app) memory & swap graph with a detailed graph Plasma Desktop: * hide the Desktop Toolbox (aka "the cashew") when widgets are locked NB: KSysGuard caches the layouts, delete ~/.kde4/share/apps/ksysguard/* when upgrading so the new layout (detailed memory graph) is used Reviewed by: tcberner Approved by: swills (mentor) Differential Revision: https://reviews.freebsd.org/D9760 Added: head/x11/kde4-workspace/files/patch-kinfocenter_Modules_pci_kpci.cpp (contents, props changed) head/x11/kde4-workspace/files/patch-ksysguard_gui_SensorDisplayLib_FancyPlotter.cpp (contents, props changed) head/x11/kde4-workspace/files/patch-ksysguard_gui_SensorDisplayLib_FancyPlotter.h (contents, props changed) head/x11/kde4-workspace/files/patch-ksysguard_gui_SystemLoad2.sgrd (contents, props changed) head/x11/kde4-workspace/files/patch-ksysguard_gui_ksysguard.cpp (contents, props changed) head/x11/kde4-workspace/files/patch-ksysguard_gui_ksysguard.h (contents, props changed) head/x11/kde4-workspace/files/patch-plasma_desktop_toolboxes_desktoptoolbox.cpp (contents, props changed) head/x11/kde4-workspace/files/patch-plasma_desktop_toolboxes_desktoptoolbox.h (contents, props changed) Modified: head/x11/kde4-workspace/Makefile head/x11/kde4-workspace/files/patch-CMakeLists.txt head/x11/kde4-workspace/files/patch-ConfigureChecks.cmake head/x11/kde4-workspace/files/patch-kdm-kfrontend-CMakeLists.txt head/x11/kde4-workspace/files/patch-kdm__backend__client.c head/x11/kde4-workspace/files/patch-kinfocenter head/x11/kde4-workspace/files/patch-kwin_opengltest_CMakeLists.txt head/x11/kde4-workspace/files/patch-powerdevil__daemon__backends__upower__xrandrbrightness.cpp head/x11/kde4-workspace/files/patch-startkde.cmake head/x11/kde4-workspace/files/patch-usbview Modified: head/x11/kde4-workspace/Makefile ============================================================================== --- head/x11/kde4-workspace/Makefile Sat Feb 25 15:51:01 2017 (r434822) +++ head/x11/kde4-workspace/Makefile Sat Feb 25 15:55:49 2017 (r434823) @@ -2,7 +2,7 @@ PORTNAME= kde-workspace PORTVERSION= ${KDE4_WORKSPACE_VERSION} -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= x11 kde MASTER_SITES= KDE/${KDE4_APPLICATIONS_BRANCH}/applications/${KDE4_APPLICATIONS_VERSION}/src DIST_SUBDIR= KDE/${PORTVERSION} Modified: head/x11/kde4-workspace/files/patch-CMakeLists.txt ============================================================================== --- head/x11/kde4-workspace/files/patch-CMakeLists.txt Sat Feb 25 15:51:01 2017 (r434822) +++ head/x11/kde4-workspace/files/patch-CMakeLists.txt Sat Feb 25 15:55:49 2017 (r434823) @@ -1,6 +1,6 @@ ---- ./CMakeLists.txt.orig 2011-07-19 23:37:36.000000000 +0200 -+++ ./CMakeLists.txt 2011-08-09 20:45:40.975563521 +0200 -@@ -90,7 +90,7 @@ +--- CMakeLists.txt.orig 2015-06-26 03:17:21 UTC ++++ CMakeLists.txt +@@ -198,7 +198,7 @@ if(NOT WIN32) configure_file(config-unix.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-unix.h ) configure_file(config-X11.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-X11.h ) if(NOT CMAKE_INSTALL_PREFIX STREQUAL "/usr") Modified: head/x11/kde4-workspace/files/patch-ConfigureChecks.cmake ============================================================================== --- head/x11/kde4-workspace/files/patch-ConfigureChecks.cmake Sat Feb 25 15:51:01 2017 (r434822) +++ head/x11/kde4-workspace/files/patch-ConfigureChecks.cmake Sat Feb 25 15:55:49 2017 (r434823) @@ -1,6 +1,6 @@ ---- ./ConfigureChecks.cmake.orig 2009-11-21 12:44:36.000000000 +0300 -+++ ./ConfigureChecks.cmake 2010-01-27 00:04:40.445046695 +0300 -@@ -16,16 +16,7 @@ +--- ConfigureChecks.cmake.orig 2015-06-26 03:17:21 UTC ++++ ConfigureChecks.cmake +@@ -21,16 +21,7 @@ if (PAM_FOUND) endmacro(define_pam_service) macro(install_pam_service APP) Modified: head/x11/kde4-workspace/files/patch-kdm-kfrontend-CMakeLists.txt ============================================================================== --- head/x11/kde4-workspace/files/patch-kdm-kfrontend-CMakeLists.txt Sat Feb 25 15:51:01 2017 (r434822) +++ head/x11/kde4-workspace/files/patch-kdm-kfrontend-CMakeLists.txt Sat Feb 25 15:55:49 2017 (r434823) @@ -1,6 +1,6 @@ ---- ./kdm/kfrontend/CMakeLists.txt.orig 2008-07-30 17:02:54.000000000 +0300 -+++ ./kdm/kfrontend/CMakeLists.txt 2008-07-30 17:03:26.000000000 +0300 -@@ -113,6 +113,6 @@ +--- kdm/kfrontend/CMakeLists.txt.orig 2015-06-26 03:17:21 UTC ++++ kdm/kfrontend/CMakeLists.txt +@@ -111,6 +111,6 @@ install(TARGETS kdmctl ${INSTALL_TARGETS # use 'GENKDMCONF_FLAGS=... make install' to add flags to the config generation (try genkdmconf -h) Modified: head/x11/kde4-workspace/files/patch-kdm__backend__client.c ============================================================================== --- head/x11/kde4-workspace/files/patch-kdm__backend__client.c Sat Feb 25 15:51:01 2017 (r434822) +++ head/x11/kde4-workspace/files/patch-kdm__backend__client.c Sat Feb 25 15:55:49 2017 (r434823) @@ -1,6 +1,6 @@ ---- kdm/backend/client.c.orig 2014-11-06 23:36:58.000000000 +0100 -+++ kdm/backend/client.c 2015-03-09 13:20:24.870430799 +0100 -@@ -1322,6 +1322,9 @@ +--- kdm/backend/client.c.orig 2015-06-26 03:17:21 UTC ++++ kdm/backend/client.c +@@ -1322,6 +1322,9 @@ startClient(volatile int *pid) char ckDeviceBuf[20] = ""; const char *ckDevice = ckDeviceBuf; dbus_bool_t isLocal; @@ -10,7 +10,7 @@ #endif char *failsafeArgv[2]; char *buf, *buf2; -@@ -1353,6 +1356,13 @@ +@@ -1353,6 +1356,13 @@ startClient(volatile int *pid) # ifdef HAVE_VTS if (td->serverVT > 0) sprintf(ckDeviceBuf, "/dev/tty%d", td->serverVT); @@ -24,7 +24,7 @@ # endif isLocal = ((td->displayType & d_location) == dLocal); # ifdef XDMCP -@@ -1532,7 +1542,7 @@ +@@ -1532,7 +1542,7 @@ startClient(volatile int *pid) environ = pam_env; # endif removeCreds = True; /* set it first - i don't trust PAM's rollback */ Modified: head/x11/kde4-workspace/files/patch-kinfocenter ============================================================================== --- head/x11/kde4-workspace/files/patch-kinfocenter Sat Feb 25 15:51:01 2017 (r434822) +++ head/x11/kde4-workspace/files/patch-kinfocenter Sat Feb 25 15:55:49 2017 (r434823) @@ -5,7 +5,7 @@ Improve GetInfo_ReadfromPipe function to use Qt types, pass program name and its parameters as separate arguments. ---- /dev/null +--- cmake/modules/FindBSDDevinfo.cmake.orig 2016-12-13 11:26:31 UTC +++ cmake/modules/FindBSDDevinfo.cmake @@ -0,0 +1,15 @@ +# Find FreeBSD devinfo library @@ -23,7 +23,7 @@ +find_package_handle_standard_args(BSDDEVINFO DEFAULT_MSG BSDDEVINFO_LIBRARY BSDDEVINFO_INCLUDE_DIR) + +mark_as_advanced(BSDDEVINFO_INCLUDE_DIR BSDDEVINFO_LIBRARY) ---- kinfocenter/Modules/base/CMakeLists.txt +--- kinfocenter/Modules/base/CMakeLists.txt.orig 2015-06-26 03:17:21 UTC +++ kinfocenter/Modules/base/CMakeLists.txt @@ -1,6 +1,7 @@ # TODO: HAVE_LIBDEVINFO_H (for Solaris 7 and later) @@ -34,8 +34,8 @@ +macro_bool_to_01(BSDDEVINFO_FOUND HAVE_DEVINFO_H) configure_file (../base/config-infocenter.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-infocenter.h ) ---- kinfocenter/Modules/base/info_fbsd.cpp.orig 2014-11-06 22:36:58.000000000 +0000 -+++ kinfocenter/Modules/base/info_fbsd.cpp 2015-02-20 22:40:53.380666149 +0000 +--- kinfocenter/Modules/base/info_fbsd.cpp.orig 2015-06-26 03:17:21 UTC ++++ kinfocenter/Modules/base/info_fbsd.cpp @@ -15,8 +15,6 @@ */ @@ -45,7 +45,7 @@ #ifdef HAVE_DEVINFO_H extern "C" { -@@ -24,13 +22,16 @@ +@@ -24,13 +22,16 @@ extern "C" { } #endif @@ -65,7 +65,7 @@ void ProcessChildren(QString name); #ifdef HAVE_DEVINFO_H -@@ -44,13 +45,12 @@ +@@ -44,13 +45,12 @@ extern "C" { bool GetInfo_IRQ(QTreeWidget* tree) { #ifdef HAVE_DEVINFO_H @@ -84,7 +84,7 @@ devinfo_foreach_rman(print_irq, tree); return true; #else -@@ -60,9 +60,13 @@ +@@ -60,9 +60,13 @@ bool GetInfo_IRQ(QTreeWidget* tree) { bool GetInfo_DMA(QTreeWidget* tree) { #ifdef HAVE_DEVINFO_H @@ -100,7 +100,7 @@ devinfo_foreach_rman(print_dma, tree); return true; #else -@@ -72,9 +76,12 @@ +@@ -72,9 +76,12 @@ bool GetInfo_DMA(QTreeWidget* tree) { bool GetInfo_IO_Ports(QTreeWidget* tree) { #ifdef HAVE_DEVINFO_H @@ -115,7 +115,7 @@ devinfo_foreach_rman(print_ioports, tree); return true; #else -@@ -83,50 +90,28 @@ +@@ -83,50 +90,28 @@ bool GetInfo_IO_Ports(QTreeWidget* tree) } bool GetInfo_SCSI(QTreeWidget* tree) { @@ -125,15 +125,15 @@ - if (!QFileInfo(QLatin1String("/sbin/camcontrol")).exists()) { - s = i18n("SCSI subsystem could not be queried: /sbin/camcontrol could not be found"); - QStringList list; +- QStringList list; - list << s; -+ list << i18n("SCSI subsystem could not be queried: /sbin/camcontrol could not be found"); - new QTreeWidgetItem(tree, list); +- new QTreeWidgetItem(tree, list); - } else if ((pipe = popen("/sbin/camcontrol devlist 2>&1", "r")) == NULL) { - s = i18n("SCSI subsystem could not be queried: /sbin/camcontrol could not be executed"); -- QStringList list; + QStringList list; - list << s; -- new QTreeWidgetItem(tree, list); ++ list << i18n("SCSI subsystem could not be queried: /sbin/camcontrol could not be found"); + new QTreeWidgetItem(tree, list); - } else { - - /* This prints out a list of all the scsi devies, perhaps eventually we could @@ -180,13 +180,13 @@ const QStringList headers(i18nc("@title:column Column name for PCI information", "Information")); tree->setHeaderLabels(headers); -@@ -136,40 +121,11 @@ +@@ -136,40 +121,11 @@ bool GetInfo_PCI(QTreeWidget* tree) { list << i18n("Could not find any programs with which to query your system's PCI information"); new QTreeWidgetItem(tree, list); return true; - } else { - cmd = "/usr/sbin/pciconf -l -v 2>&1"; -- } + } - - // TODO: GetInfo_ReadfromPipe should be improved so that we could pass the program name and its - // arguments to it and remove most of the code below. @@ -208,7 +208,7 @@ - } - - pclose(pipe); - } +- } - - if (!tree->topLevelItemCount()) { - QString str = i18n("The PCI subsystem could not be queried, this may need root privileges."); @@ -223,7 +223,7 @@ } bool GetInfo_XServer_and_Video(QTreeWidget* tree) { -@@ -179,12 +135,7 @@ +@@ -179,12 +135,7 @@ bool GetInfo_XServer_and_Video(QTreeWidg #ifdef HAVE_DEVINFO_H int print_irq(struct devinfo_rman *rman, void *arg) { @@ -236,7 +236,7 @@ devinfo_foreach_rman_resource(rman, print_resource, arg); } return 0; -@@ -192,11 +143,7 @@ +@@ -192,11 +143,7 @@ int print_irq(struct devinfo_rman *rman, int print_dma(struct devinfo_rman *rman, void *arg) { @@ -248,7 +248,7 @@ devinfo_foreach_rman_resource(rman, print_resource, arg); } return(0); -@@ -230,29 +177,25 @@ +@@ -230,29 +177,25 @@ int print_resource(struct devinfo_res *r int hexmode; QTreeWidget* tree = (QTreeWidget*) arg; @@ -290,21 +290,9 @@ new QTreeWidgetItem(tree, list); return 0; ---- kinfocenter/Modules/info/CMakeLists.txt -+++ kinfocenter/Modules/info/CMakeLists.txt -@@ -13,6 +13,9 @@ set(kcm_info_PART_SRCS main.cpp info.cpp ../base/os_current.cpp ) - kde4_add_plugin(kcm_info ${kcm_info_PART_SRCS}) - - target_link_libraries(kcm_info ${KDE4_KDEUI_LIBS} ${QT_QTGUI_LIBRARY} ${X11_X11_LIB}) -+if(BSDDEVINFO_FOUND) -+ target_link_libraries(kcm_info ${BSDDEVINFO_LIBRARY}) -+endif(BSDDEVINFO_FOUND) - - install(TARGETS kcm_info DESTINATION ${PLUGIN_INSTALL_DIR} ) - ---- kinfocenter/Modules/base/info_hpux.cpp +--- kinfocenter/Modules/base/info_hpux.cpp.orig 2015-06-26 03:17:21 UTC +++ kinfocenter/Modules/base/info_hpux.cpp -@@ -30,6 +30,7 @@ along with this program. If not, see . +@@ -30,6 +30,7 @@ along with this program. If not, see #include #include @@ -330,9 +318,9 @@ } /* Parts taken from fsusage.c from the Midnight Commander (mc) ---- kinfocenter/Modules/base/info_linux.cpp +--- kinfocenter/Modules/base/info_linux.cpp.orig 2015-06-26 03:17:21 UTC +++ kinfocenter/Modules/base/info_linux.cpp -@@ -33,6 +33,7 @@ along with this program. If not, see . +@@ -33,6 +33,7 @@ along with this program. If not, see #include #include @@ -356,9 +344,9 @@ /* if lspci failed, read the contents of /proc/pci */ return GetInfo_ReadfromFile(tree, INFO_PCI, 0); ---- kinfocenter/Modules/base/os_base.h +--- kinfocenter/Modules/base/os_base.h.orig 2015-06-26 03:17:21 UTC +++ kinfocenter/Modules/base/os_base.h -@@ -320,12 +320,12 @@ static bool GetInfo_XServer_Generic(QTreeWidget *lBox) { +@@ -330,12 +330,12 @@ static bool GetInfo_XServer_Generic(QTre } /* Helper-function to read output from an external program */ @@ -373,3 +361,15 @@ if (!proc.waitForFinished()) { // Process hanged or did not start return 0; +--- kinfocenter/Modules/info/CMakeLists.txt.orig 2015-06-26 03:17:21 UTC ++++ kinfocenter/Modules/info/CMakeLists.txt +@@ -13,6 +13,9 @@ set(kcm_info_PART_SRCS main.cpp info.cpp + kde4_add_plugin(kcm_info ${kcm_info_PART_SRCS}) + + target_link_libraries(kcm_info ${KDE4_KDEUI_LIBS} ${QT_QTGUI_LIBRARY} ${X11_X11_LIB}) ++if(BSDDEVINFO_FOUND) ++ target_link_libraries(kcm_info ${BSDDEVINFO_LIBRARY}) ++endif(BSDDEVINFO_FOUND) + + install(TARGETS kcm_info DESTINATION ${PLUGIN_INSTALL_DIR} ) + Added: head/x11/kde4-workspace/files/patch-kinfocenter_Modules_pci_kpci.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/kde4-workspace/files/patch-kinfocenter_Modules_pci_kpci.cpp Sat Feb 25 15:55:49 2017 (r434823) @@ -0,0 +1,56 @@ +* Obey user's unit preferences when displaying PCI info. +* Use correct units, someone forgot about terabytes +* +--- kinfocenter/Modules/pci/kpci.cpp.orig 2015-06-26 03:17:21 UTC ++++ kinfocenter/Modules/pci/kpci.cpp +@@ -22,6 +22,8 @@ extern "C" { + #include + #include + #include ++#include ++#include + + static const QString& getNameById(const id2name *const table, int id) { + for (int i=0;; i++) { +@@ -238,31 +240,35 @@ static QTreeWidgetItem* addBist(QTreeWid + }//addBist + + static QTreeWidgetItem* addSize(QTreeWidgetItem *parent, QTreeWidgetItem *after, pciaddr_t size) { ++ static bool realUnits = (KGlobal::locale()->binaryUnitDialect() == KLocale::JEDECBinaryDialect); + if (size<0x400) { + after=create(parent, i18n("Size"), QString("%1 B").arg(static_cast(size))); + }//if + else if (size<0x100000) { +- after=create(parent, i18n("Size"), QString("%1 kiB").arg(static_cast(size/0x400))); ++ after=create(parent, i18n("Size"), QString(realUnits ? "%1 KB" : "%1 KiB").arg(static_cast(size/0x400))); + }//elif + else if (size<0x40000000) { +- after=create(parent, i18n("Size"), QString("%1 MiB").arg(static_cast(size/0x100000))); ++ after=create(parent, i18n("Size"), QString(realUnits ? "%1 MB" : "%1 MiB").arg(static_cast(size/0x100000))); + }//elif + + #ifdef HAVE_PCIADDR_T64 + + else if (size<0x10000000000LL) { +- after=create(parent, i18n("Size"),QString("%1 GiB").arg(static_cast(size/0x40000000))); ++ after=create(parent, i18n("Size"),QString(realUnits ? "%1 GB" : "%1 GiB").arg(static_cast(size/0x40000000))); + }//elif + else if (size<0x4000000000000LL) { +- after=create(parent, i18n("Size"),QString("%1 PiB").arg(static_cast(size/0x10000000000LL))); ++ after=create(parent, i18n("Size"),QString(realUnits ? "%1 TB" : "%1 TiB").arg(static_cast(size/0x10000000000LL))); + }//elif + else if (size<0x1000000000000000LL) { +- after=create(parent, i18n("Size"),QString("%1 EiB").arg(static_cast(size/0x4000000000000LL))); ++ after=create(parent, i18n("Size"),QString(realUnits ? "%1 PB" : "%1 PiB").arg(static_cast(size/0x4000000000000LL))); + }//elif ++ else { ++ after=create(parent, i18n("Size"),QString(realUnits ? "%1 EB" : "%1 EiB").arg(static_cast(size/0x1000000000000000LL))); ++ }//else + + #else //HAVE_PCIADDR_T64 + else { +- after=create(parent, i18n("Size"), QString("%1 GiB").arg(static_cast(size/0x40000000))); ++ after=create(parent, i18n("Size"), QString(realUnits ? "%1 GB" : "%1 GiB").arg(static_cast(size/0x40000000))); + }//else + + #endif //HAVE_PCIADDR_T64 Added: head/x11/kde4-workspace/files/patch-ksysguard_gui_SensorDisplayLib_FancyPlotter.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/kde4-workspace/files/patch-ksysguard_gui_SensorDisplayLib_FancyPlotter.cpp Sat Feb 25 15:55:49 2017 (r434823) @@ -0,0 +1,306 @@ +* Fix the unit handling in KSysGuard's Plotter to respect user's unit preferences +* +* Improve the handling of labels so the display is nicer when horizontally constrained +* +* Use reasonable units for the Plotter's tooltip (used to be unscaled) +* +* Allow a stored description for sensors to override the label +* +--- ksysguard/gui/SensorDisplayLib/FancyPlotter.cpp.orig 2015-06-26 03:17:21 UTC ++++ ksysguard/gui/SensorDisplayLib/FancyPlotter.cpp +@@ -48,6 +48,7 @@ class SensorToAdd { + QRegExp name; + QString hostname; + QString type; ++ QString description; + QList colors; + QString summationName; + }; +@@ -58,13 +59,15 @@ class FancyPlotterLabel : public QLabel + setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); + longHeadingWidth = 0; + shortHeadingWidth = 0; ++ minHeadingWidth = 0; + textMargin = 0; + setLayoutDirection(Qt::LeftToRight); //We do this because we organise the strings ourselves.. is this going to muck it up though for RTL languages? + } + ~FancyPlotterLabel() { + } + void setLabel(const QString &name, const QColor &color) { +- labelName = name; ++ labelLongName = name; ++ labelShortName = name.split(QChar(' ')).first(); + + if(indicatorSymbol.isNull()) { + if(fontMetrics().inFont(QChar(0x25CF))) +@@ -73,7 +76,6 @@ class FancyPlotterLabel : public QLabel + indicatorSymbol = '#'; + } + changeLabel(color); +- + } + void setValueText(const QString &value) { + //value can have multiple strings, separated with the 0x9c character +@@ -87,63 +89,72 @@ class FancyPlotterLabel : public QLabel + if(valueText.isEmpty()) { + if(longHeadingWidth < width()) + setText(longHeadingText); +- else ++ else if(shortHeadingWidth < width()) + setText(shortHeadingText); ++ else ++ setText(minHeadingText); + return; + } +- QString value = valueText.first(); + +- int textWidth = fm.boundingRect(value).width(); +- if(textWidth + longHeadingWidth < width()) +- setBothText(longHeadingText, value); +- else if(textWidth + shortHeadingWidth < width()) +- setBothText(shortHeadingText, value); +- else { +- int valueTextCount = valueText.count(); +- int i; +- for(i = 1; i < valueTextCount; ++i) { +- textWidth = fm.boundingRect(valueText.at(i)).width(); +- if(textWidth + shortHeadingWidth <= width()) { +- break; +- } ++ int i, textWidth, valueTextCount = valueText.count(); ++ for(i = 0; i < valueTextCount; ++i) { ++ textWidth = fm.boundingRect(valueText.at(i)).width(); ++ if(textWidth + longHeadingWidth <= width()) { ++ setBothText(longHeadingText, valueText.at(i)); ++ return; + } +- if(i < valueTextCount) ++ if(textWidth + shortHeadingWidth <= width()) { + setBothText(shortHeadingText, valueText.at(i)); +- else +- setText(noHeadingText + valueText.last()); //This just sets the color of the text ++ return; ++ } + } ++ for(i = 0; i < valueTextCount; ++i) { ++ textWidth = fm.boundingRect(valueText.at(i)).width(); ++ if(textWidth + minHeadingWidth <= width()) { ++ setBothText(minHeadingText, valueText.at(i)); ++ return; ++ } ++ } ++ setBothText(noHeadingText, valueText.last()); //This just sets the color of the text + } + void changeLabel(const QColor &_color) { + color = _color; + +- if ( kapp->layoutDirection() == Qt::RightToLeft ) +- longHeadingText = QString(": ") + labelName + " " + indicatorSymbol + ""; +- else +- longHeadingText = QString("" + indicatorSymbol + " " + labelName + " :"; +- shortHeadingText = QString("" + indicatorSymbol + ""; ++ if ( kapp->layoutDirection() == Qt::RightToLeft ) { ++ longHeadingText = QString(" : ") + labelLongName + " " + indicatorSymbol + ""; ++ shortHeadingText = QString(" :") + labelShortName + " " + indicatorSymbol + ""; ++ } else { ++ longHeadingText = QString("" + indicatorSymbol + " " + labelLongName + " : "; ++ shortHeadingText = QString("" + indicatorSymbol + " " + labelShortName + ": "; ++ } ++ minHeadingText = QString("" + indicatorSymbol + " "; + noHeadingText = QString(""; + +- textMargin = fontMetrics().width('x') + margin()*2 + frameWidth()*2; +- longHeadingWidth = fontMetrics().boundingRect(labelName + " :" + indicatorSymbol + " x").width() + textMargin; +- shortHeadingWidth = fontMetrics().boundingRect(indicatorSymbol).width() + textMargin; +- setMinimumWidth(shortHeadingWidth); ++ textMargin = margin()*2 + frameWidth()*2; ++ longHeadingWidth = fontMetrics().boundingRect(labelLongName + " : " + indicatorSymbol + " x").width() + textMargin; ++ shortHeadingWidth = fontMetrics().boundingRect(labelShortName + ": " + indicatorSymbol + " x").width() + textMargin; ++ minHeadingWidth = fontMetrics().boundingRect(indicatorSymbol + " x").width() + textMargin; ++ setMinimumWidth(minHeadingWidth); + update(); + } + private: + void setBothText(const QString &heading, const QString & value) { + if(QApplication::layoutDirection() == Qt::LeftToRight) +- setText(heading + ' ' + value); ++ setText(heading + value); + else +- setText("" + value + ' ' + heading); ++ setText("" + value + heading); + } + int textMargin; + QString longHeadingText; + QString shortHeadingText; ++ QString minHeadingText; + QString noHeadingText; + int longHeadingWidth; + int shortHeadingWidth; ++ int minHeadingWidth; + QList valueText; +- QString labelName; ++ QString labelLongName; ++ QString labelShortName; + QColor color; + static QChar indicatorSymbol; + }; +@@ -162,6 +173,7 @@ FancyPlotter::FancyPlotter( QWidget* par + mUseManualRange = false; + mNumAnswers = 0; + mLabelsWidget = NULL; ++ mRealUnits = (KGlobal::locale()->binaryUnitDialect() == KLocale::JEDECBinaryDialect); + + //The unicode character 0x25CF is a big filled in circle. We would prefer to use this in the tooltip. + //However it's maybe possible that the font used to draw the tooltip won't have it. So we fall back to a +@@ -510,10 +522,17 @@ void FancyPlotter::setTooltip() + + if(sensor->isOk()) { + lastValue = KGlobal::locale()->formatNumber( sensor->lastValue, (sensor->isInteger)?0:-1 ); +- if (sensor->unit() == "%") ++ if (sensor->unit() == "%") { + lastValue = i18nc("units", "%1%", lastValue); +- else if( !sensor->unit().isEmpty() ) +- lastValue = i18nc("units", QString(QString("%1 ") + sensor->unit()).toUtf8(), lastValue); ++ } else if( !sensor->unit().isEmpty() ) { ++ qreal scale = (mPlotter->scaleDownBy() == 1) ? 1 : (sensor->lastValue / mPlotter->scaleDownBy() < 0.1) ? (mPlotter->scaleDownBy() / 1024) : mPlotter->scaleDownBy(); ++ if(scale > 1) { ++ QString unit = (scale == 1024) ? (sensor->unit()).replace("K","M") : (scale == 1024*1024) ? (sensor->unit()).replace("K","G") : (sensor->unit()).replace("K","T"); ++ lastValue = i18nc("units", QString(QString("%1 ") + unit).toUtf8(), KGlobal::locale()->formatNumber( sensor->lastValue / scale )); ++ } else { ++ lastValue = i18nc("units", QString(QString("%1 ") + sensor->unit()).toUtf8(), lastValue); ++ } ++ } + } else { + lastValue = i18n("Error"); + } +@@ -615,33 +634,33 @@ void FancyPlotter::plotterAxisScaleChang + disconnect(mPlotter, SIGNAL(axisScaleChanged()), this, SLOT(plotterAxisScaleChanged())); + KLocalizedString unit; + double value = mPlotter->currentMaximumRangeValue(); +- if(mUnit == "KiB") { +- if(value >= 1024*1024*1024*0.7) { //If it's over 0.7TiB, then set the scale to terabytes ++ if(mUnit == "KB" || mUnit == "KiB") { ++ if(value >= 1024*1024*1024) { + mPlotter->setScaleDownBy(1024*1024*1024); +- unit = ki18nc("units", "%1 TiB"); // the unit - terabytes +- } else if(value >= 1024*1024*0.7) { //If it's over 0.7GiB, then set the scale to gigabytes ++ unit = ki18nc("units", mRealUnits ? "%1 TB" : "%1 TiB"); // the unit - terabytes ++ } else if(value >= 1024*1024) { + mPlotter->setScaleDownBy(1024*1024); +- unit = ki18nc("units", "%1 GiB"); // the unit - gigabytes ++ unit = ki18nc("units", mRealUnits ? "%1 GB" : "%1 GiB"); // the unit - gigabytes + } else if(value > 1024) { + mPlotter->setScaleDownBy(1024); +- unit = ki18nc("units", "%1 MiB"); // the unit - megabytes ++ unit = ki18nc("units", mRealUnits ? "%1 MB" : "%1 MiB"); // the unit - megabytes + } else { + mPlotter->setScaleDownBy(1); +- unit = ki18nc("units", "%1 KiB"); // the unit - kilobytes ++ unit = ki18nc("units", mRealUnits ? "%1 KB" : "%1 KiB"); // the unit - kilobytes + } +- } else if(mUnit == "KiB/s") { +- if(value >= 1024*1024*1024*0.7) { //If it's over 0.7TiB, then set the scale to terabytes ++ } else if(mUnit == "KB/s" || mUnit == "KiB/s") { ++ if(value >= 1024*1024*1024) { + mPlotter->setScaleDownBy(1024*1024*1024); +- unit = ki18nc("units", "%1 TiB/s"); // the unit - terabytes per second +- } else if(value >= 1024*1024*0.7) { //If it's over 0.7GiB, then set the scale to gigabytes ++ unit = ki18nc("units", mRealUnits ? "%1 TB/s" : "%1 TiB/s"); // the unit - terabytes per second ++ } else if(value >= 1024*1024) { + mPlotter->setScaleDownBy(1024*1024); +- unit = ki18nc("units", "%1 GiB/s"); // the unit - gigabytes per second ++ unit = ki18nc("units", mRealUnits ? "%1 GB/s" : "%1 GiB/s"); // the unit - gigabytes per second + } else if(value > 1024) { + mPlotter->setScaleDownBy(1024); +- unit = ki18nc("units", "%1 MiB/s"); // the unit - megabytes per second ++ unit = ki18nc("units", mRealUnits ? "%1 MB/s" : "%1 MiB/s"); // the unit - megabytes per second + } else { + mPlotter->setScaleDownBy(1); +- unit = ki18nc("units", "%1 KiB/s"); // the unit - kilobytes per second ++ unit = ki18nc("units", mRealUnits ? "%1 KB/s" : "%1 KiB/s"); // the unit - kilobytes per second + } + } else if(mUnit == "%") { + mPlotter->setScaleDownBy(1); +@@ -694,9 +713,9 @@ void FancyPlotter::answerReceived( int i + KSGRD::SensorFloatInfo info( answer ); + QString unit = info.unit(); + if(unit.toUpper() == "KB" || unit.toUpper() == "KIB") +- unit = "KiB"; ++ unit = mRealUnits ? "KB" : "KiB"; + if(unit.toUpper() == "KB/S" || unit.toUpper() == "KIB/S") +- unit = "KiB/s"; ++ unit = mRealUnits ? "KB/s" : "KiB/s"; + + if(id == 100) //if we are the first sensor, just use that sensors units as the global unit + mUnit = unit; +@@ -714,7 +733,8 @@ void FancyPlotter::answerReceived( int i + sensor->maxValue = info.max(); + sensor->minValue = info.min(); + sensor->setUnit( unit ); +- sensor->setDescription( info.name() ); ++ if(sensor->description().isEmpty()) ++ sensor->setDescription( info.name() ); + + QString summationName = sensor->summationName; + int beamId = sensor->beamId; +@@ -723,7 +743,7 @@ void FancyPlotter::answerReceived( int i + Q_ASSERT(beamId < mLabelLayout->count()); + + if(summationName.isEmpty()) +- static_cast((static_cast(mLabelLayout->itemAt(beamId)))->widget())->setLabel(info.name(), mPlotter->beamColor(beamId)); ++ static_cast((static_cast(mLabelLayout->itemAt(beamId)))->widget())->setLabel(sensor->description(), mPlotter->beamColor(beamId)); + + } else if( id == 200) { + /* FIXME This doesn't check the host! */ +@@ -743,8 +763,8 @@ void FancyPlotter::answerReceived( int i + else if(KSGRD::Style->numSensorColors() != 0) + color = KSGRD::Style->sensorColor( beamId % KSGRD::Style->numSensorColors()); + addSensor( sensor->hostname, sensorName, +- (sensor->type.isEmpty()) ? "float" : sensor->type +- , "", color, sensor->name.pattern(), beamId, sensor->summationName); ++ (sensor->type.isEmpty()) ? "float" : sensor->type, ++ sensor->description, color, sensor->name.pattern(), beamId, sensor->summationName); + } + } + } +@@ -823,7 +843,7 @@ bool FancyPlotter::restoreSettings( QDom + } else + addSensor( el.attribute( "hostName" ), el.attribute( "sensorName" ), + ( el.attribute( "sensorType" ).isEmpty() ? "float" : +- el.attribute( "sensorType" ) ), "", restoreColor( el, "color", ++ el.attribute( "sensorType" ) ), el.attribute( "description" ), restoreColor( el, "color", + KSGRD::Style->sensorColor( i ) ), QString(), mBeams, el.attribute("summationName") ); + } + +@@ -873,16 +893,18 @@ bool FancyPlotter::saveSettings( QDomDoc + } else { + QDomElement beam = doc.createElement( "beam" ); + element.appendChild( beam ); ++ beam.setAttribute( "sensorType", sensor->type() ); + beam.setAttribute( "hostName", sensor->hostName() ); +- if(regExpName.isEmpty()) ++ if(regExpName.isEmpty()) { + beam.setAttribute( "sensorName", sensor->name() ); +- else { ++ if(sensor->hasDescription) ++ beam.setAttribute( "description", sensor->description() ); ++ } else { + beam.setAttribute( "regexpSensorName", sensor->regExpName() ); + hash[regExpName] = beam; ++ if(!sensor->summationName.isEmpty()) ++ beam.setAttribute( "summationName", sensor->summationName); + } +- if(!sensor->summationName.isEmpty()) +- beam.setAttribute( "summationName", sensor->summationName); +- beam.setAttribute( "sensorType", sensor->type() ); + saveColor( beam, "color", mPlotter->beamColor( beamId ) ); + } + } +@@ -918,6 +940,7 @@ FPSensorProperties::FPSensorProperties( + minValue = 0; + lastValue = 0; + isInteger = (type == "integer"); ++ hasDescription = !description.isEmpty(); + } + + FPSensorProperties::~FPSensorProperties() Added: head/x11/kde4-workspace/files/patch-ksysguard_gui_SensorDisplayLib_FancyPlotter.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/kde4-workspace/files/patch-ksysguard_gui_SensorDisplayLib_FancyPlotter.h Sat Feb 25 15:55:49 2017 (r434823) @@ -0,0 +1,29 @@ +* Add a couple variables for the additional functionality in FancyPlotter.cpp +* +--- ksysguard/gui/SensorDisplayLib/FancyPlotter.h.orig 2015-06-26 03:17:21 UTC ++++ ksysguard/gui/SensorDisplayLib/FancyPlotter.h +@@ -52,6 +52,7 @@ class FPSensorProperties : public KSGRD: + double minValue; + double lastValue; + bool isInteger; ++ bool hasDescription; + + private: + QColor mColor; +@@ -104,7 +105,7 @@ class FancyPlotter : public KSGRD::Senso + private: + void sendDataToPlotter(); + uint mBeams; +- ++ + int mNumAnswers; + /** When we talk to the sensor, it tells us a range. Record the max here. equals 0 until we have an answer from it */ + double mSensorReportedMax; +@@ -131,6 +132,7 @@ class FancyPlotter : public KSGRD::Senso + QLabel *mHeading; + + QString mUnit; ++ bool mRealUnits; + + QList mSensorsToAdd; + QBoxLayout *mLabelLayout; Added: head/x11/kde4-workspace/files/patch-ksysguard_gui_SystemLoad2.sgrd ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/kde4-workspace/files/patch-ksysguard_gui_SystemLoad2.sgrd Sat Feb 25 15:55:49 2017 (r434823) @@ -0,0 +1,24 @@ +* Provide a detailed view of Memory and Swap Used instead of the simplistic and +* misleading view that showed only application use (kernel use was neglected) +* +--- ksysguard/gui/SystemLoad2.sgrd.orig 2015-06-26 03:17:21 UTC ++++ ksysguard/gui/SystemLoad2.sgrd +@@ -3,11 +3,14 @@ + + + +- ++ + +- +- +- ++ ++ ++ ++ ++ ++ + + + Added: head/x11/kde4-workspace/files/patch-ksysguard_gui_ksysguard.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/kde4-workspace/files/patch-ksysguard_gui_ksysguard.cpp Sat Feb 25 15:55:49 2017 (r434823) @@ -0,0 +1,73 @@ +* More detailed Memory stats in the KSysGuard's Status Bar +* +* Make the the Status Bar elements reasonably proportional in size +* +--- ksysguard/gui/ksysguard.cpp.orig 2015-06-26 03:17:21 UTC ++++ ksysguard/gui/ksysguard.cpp +@@ -93,19 +93,21 @@ TopLevel::TopLevel() + /* Create the status bar. It displays some information about the + * number of processes and the memory consumption of the local + * host. */ +- const int STATUSBAR_STRETCH=1; +- + sbProcessCount = new QLabel(); +- statusBar()->addWidget( sbProcessCount, STATUSBAR_STRETCH ); ++ sbProcessCount->setAlignment( Qt::AlignHCenter ); ++ statusBar()->addWidget( sbProcessCount, 3 ); // 1 long label + 1 value = 3 + + sbCpuStat = new QLabel(); +- statusBar()->addWidget( sbCpuStat, STATUSBAR_STRETCH ); ++ sbCpuStat->setAlignment( Qt::AlignHCenter ); ++ statusBar()->addWidget( sbCpuStat, 2 ); // 1 short label + 1 value = 2 + + sbMemTotal = new QLabel(); +- statusBar()->addWidget( sbMemTotal, STATUSBAR_STRETCH ); ++ sbMemTotal->setAlignment( Qt::AlignHCenter ); ++ statusBar()->addWidget( sbMemTotal, 5 ); // 1 label + 4 values = 5 + + sbSwapTotal = new QLabel(); +- statusBar()->addWidget( sbSwapTotal, STATUSBAR_STRETCH ); ++ sbSwapTotal->setAlignment( Qt::AlignHCenter ); ++ statusBar()->addWidget( sbSwapTotal, 3 ); // 1 label + 2 values = 3 + + statusBar()->hide(); + +@@ -453,11 +455,7 @@ void TopLevel::answerReceived( int id, c + + case 4: + mUsedApplication = answer.toLongLong(); +- //Use a multi-length string +- s = i18nc( "Arguments are formatted byte sizes (used/total)", "Memory: %1 / %2" "\xc2\x9c" "Mem: %1 / %2" "\xc2\x9c" "Mem: %1" "\xc2\x9c" "%1", +- KGlobal::locale()->formatByteSize( mUsedApplication*1024), +- KGlobal::locale()->formatByteSize( (mFree+mUsedTotal)*1024 ) ); +- sbMemTotal->setText( s ); ++ setMemInfo( mUsedApplication, mUsedTotal, mFree, unit ); + break; + + case 5: +@@ -477,6 +475,17 @@ void TopLevel::answerReceived( int id, c + } + } + ++void TopLevel::setMemInfo(qlonglong usedapps, qlonglong usedtotal, qlonglong free, const QString & ) ++{ ++ QString msg; ++ msg = i18nc( "Arguments are formatted byte sizes (used/total)", "Memory: (K %4 + U %3) %1 / %2" "\xc2\x9c" "Memory: (U %3) %1 / %2" "\xc2\x9c" "Memory: %1 / %2" "\xc2\x9c" "Mem: %1 / %2" "\xc2\x9c" "Mem: %1" "\xc2\x9c" "%1", ++ KGlobal::locale()->formatByteSize( usedtotal*1024 ), ++ KGlobal::locale()->formatByteSize( (free+usedtotal)*1024 ), ++ KGlobal::locale()->formatByteSize( usedapps*1024 ), ++ KGlobal::locale()->formatByteSize( (usedtotal-usedapps)*1024 ) ); ++ sbMemTotal->setText( msg ); ++} ++ + void TopLevel::setSwapInfo( qlonglong used, qlonglong free, const QString & ) + { + QString msg; +@@ -487,7 +496,6 @@ void TopLevel::setSwapInfo( qlonglong us + KGlobal::locale()->formatByteSize( used*1024 ), + KGlobal::locale()->formatByteSize( (free+used)*1024) ); + } +- + sbSwapTotal->setText( msg ); + } + Added: head/x11/kde4-workspace/files/patch-ksysguard_gui_ksysguard.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/kde4-workspace/files/patch-ksysguard_gui_ksysguard.h Sat Feb 25 15:55:49 2017 (r434823) @@ -0,0 +1,12 @@ +* Add the detailed setMemInfo used in ksysguard.cpp +* +--- ksysguard/gui/ksysguard.h.orig 2015-06-26 03:17:21 UTC ++++ ksysguard/gui/ksysguard.h +@@ -77,6 +77,7 @@ class TopLevel : public KXmlGuiWindow, p + void configureCurrentSheet(); + + private: ++ void setMemInfo( qlonglong, qlonglong, qlonglong, const QString& ); + void setSwapInfo( qlonglong, qlonglong, const QString& ); + void changeEvent( QEvent * event ); + void retranslateUi(); Modified: head/x11/kde4-workspace/files/patch-kwin_opengltest_CMakeLists.txt ============================================================================== --- head/x11/kde4-workspace/files/patch-kwin_opengltest_CMakeLists.txt Sat Feb 25 15:51:01 2017 (r434822) +++ head/x11/kde4-workspace/files/patch-kwin_opengltest_CMakeLists.txt Sat Feb 25 15:55:49 2017 (r434823) @@ -1,4 +1,4 @@ ---- kwin/opengltest/CMakeLists.txt.orig 2014-11-06 22:36:58 UTC +--- kwin/opengltest/CMakeLists.txt.orig 2015-06-26 03:17:21 UTC +++ kwin/opengltest/CMakeLists.txt @@ -2,9 +2,11 @@ Added: head/x11/kde4-workspace/files/patch-plasma_desktop_toolboxes_desktoptoolbox.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/kde4-workspace/files/patch-plasma_desktop_toolboxes_desktoptoolbox.cpp Sat Feb 25 15:55:49 2017 (r434823) @@ -0,0 +1,25 @@ +* Hide the desktop toolbox (aka "cashew") when widgets are locked +* +--- plasma/desktop/toolboxes/desktoptoolbox.cpp.orig 2015-06-26 03:17:21 UTC ++++ plasma/desktop/toolboxes/desktoptoolbox.cpp +@@ -177,6 +177,8 @@ void DesktopToolBox::init() + connect(Plasma::Theme::defaultTheme(), SIGNAL(themeChanged()), + this, SLOT(updateTheming())); + Plasma::ToolTipManager::self()->registerWidget(this); ++ QObject::connect(m_containment, SIGNAL(immutabilityChanged(Plasma::ImmutabilityType)), ++ this, SLOT(immutabilityChanged(Plasma::ImmutabilityType))); + + if (KAuthorized::authorizeKAction("logout")) { + QAction *action = new QAction(i18n("Leave..."), this); +@@ -761,6 +763,11 @@ void DesktopToolBox::toggle() + setShowing(!isShowing()); + } + ++void DesktopToolBox::immutabilityChanged(Plasma::ImmutabilityType immutability) ++{ ++ setVisible(immutability == Plasma::Mutable); ++} ++ + void DesktopToolBox::adjustBackgroundBorders() const + { + Plasma::FrameSvg *background = const_cast(m_background); Added: head/x11/kde4-workspace/files/patch-plasma_desktop_toolboxes_desktoptoolbox.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/kde4-workspace/files/patch-plasma_desktop_toolboxes_desktoptoolbox.h Sat Feb 25 15:55:49 2017 (r434823) @@ -0,0 +1,12 @@ +* Add handler for change of mutability of the desktop toolbox +* +--- plasma/desktop/toolboxes/desktoptoolbox.h.orig 2015-06-26 03:17:21 UTC ++++ plasma/desktop/toolboxes/desktoptoolbox.h +@@ -81,6 +81,7 @@ protected Q_SLOTS: + * show/hide the toolbox + */ + void toggle(); ++ void immutabilityChanged(Plasma::ImmutabilityType immutability); + + // basic desktop controls + void startLogout(); Modified: head/x11/kde4-workspace/files/patch-powerdevil__daemon__backends__upower__xrandrbrightness.cpp ============================================================================== --- head/x11/kde4-workspace/files/patch-powerdevil__daemon__backends__upower__xrandrbrightness.cpp Sat Feb 25 15:51:01 2017 (r434822) +++ head/x11/kde4-workspace/files/patch-powerdevil__daemon__backends__upower__xrandrbrightness.cpp Sat Feb 25 15:55:49 2017 (r434823) @@ -1,6 +1,6 @@ ---- ./powerdevil/daemon/backends/upower/xrandrbrightness.cpp.orig 2012-11-30 08:24:40.000000000 +0100 -+++ ./powerdevil/daemon/backends/upower/xrandrbrightness.cpp 2013-01-22 20:44:13.303230302 +0100 -@@ -69,6 +69,9 @@ +--- powerdevil/daemon/backends/upower/xrandrbrightness.cpp.orig 2015-06-26 03:17:21 UTC ++++ powerdevil/daemon/backends/upower/xrandrbrightness.cpp +@@ -62,6 +62,9 @@ XRandrBrightness::XRandrBrightness() qWarning("No available Randr resources"); return; } @@ -10,7 +10,7 @@ } XRandrBrightness::~XRandrBrightness() -@@ -85,7 +88,7 @@ +@@ -89,7 +92,7 @@ bool XRandrBrightness::isSupported() con float XRandrBrightness::brightness() const { Modified: head/x11/kde4-workspace/files/patch-startkde.cmake ============================================================================== --- head/x11/kde4-workspace/files/patch-startkde.cmake Sat Feb 25 15:51:01 2017 (r434822) +++ head/x11/kde4-workspace/files/patch-startkde.cmake Sat Feb 25 15:55:49 2017 (r434823) @@ -1,12 +1,12 @@ ---- startkde.cmake.orig 2009-10-07 08:37:24.000000000 +1100 -+++ startkde.cmake 2009-12-28 10:02:07.133352180 +1000 -@@ -337,7 +337,8 @@ - fi +--- startkde.cmake.orig 2015-06-26 03:17:21 UTC ++++ startkde.cmake +@@ -271,7 +271,8 @@ export XDG_DATA_DIRS + # Make sure that D-Bus is running # D-Bus autolaunch is broken if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then - eval `dbus-launch --sh-syntax --exit-with-session` + uuid="`dbus-uuidgen --get`" + eval `dbus-launch --sh-syntax --exit-with-session --autolaunch $uuid` fi - if qdbus >/dev/null 2>/dev/null; then + if $qdbus >/dev/null 2>/dev/null; then : # ok Modified: head/x11/kde4-workspace/files/patch-usbview ============================================================================== --- head/x11/kde4-workspace/files/patch-usbview Sat Feb 25 15:51:01 2017 (r434822) +++ head/x11/kde4-workspace/files/patch-usbview Sat Feb 25 15:55:49 2017 (r434823) @@ -4,7 +4,7 @@ Old code probably works on NetBSD, but let it use libusb-1 as well. Use DeviceNotifier instead of polling. ---- /dev/null +--- cmake/modules/FindLibUSB1.cmake.orig 2016-12-13 11:26:31 UTC +++ cmake/modules/FindLibUSB1.cmake @@ -0,0 +1,21 @@ +# - Try to find libusb v1.0 library @@ -28,7 +28,7 @@ +find_package_handle_standard_args(LIBUSB1 DEFAULT_MSG LIBUSB1_LIBRARY LIBUSB1_INCLUDE_DIR) + +mark_as_advanced(LIBUSB1_INCLUDE_DIR LIBUSB1_LIBRARY) ---- kinfocenter/Modules/usbview/CMakeLists.txt +--- kinfocenter/Modules/usbview/CMakeLists.txt.orig 2015-06-26 03:17:21 UTC +++ kinfocenter/Modules/usbview/CMakeLists.txt @@ -1,15 +1,25 @@ +macro_optional_find_package(LibUSB1) @@ -58,12 +58,12 @@ install(TARGETS kcm_usb DESTINATION ${PLUGIN_INSTALL_DIR} ) ---- /dev/null +--- kinfocenter/Modules/usbview/config-kcmusb.h.cmake.orig 2016-12-13 11:26:31 UTC +++ kinfocenter/Modules/usbview/config-kcmusb.h.cmake @@ -0,0 +1,2 @@ +/* Defined if you have libusb */ +#cmakedefine HAVE_LIBUSB1 1 ---- kinfocenter/Modules/usbview/kcmusb.cpp +--- kinfocenter/Modules/usbview/kcmusb.cpp.orig 2015-06-26 03:17:21 UTC +++ kinfocenter/Modules/usbview/kcmusb.cpp @@ -12,7 +12,6 @@ #include @@ -81,7 +81,7 @@ #include #include -@@ -63,11 +63,8 @@ USBViewer::USBViewer(QWidget *parent, const QVariantList &) : +@@ -63,11 +63,8 @@ USBViewer::USBViewer(QWidget *parent, co _details = new QTextEdit(splitter); _details->setReadOnly(true); @@ -95,7 +95,7 @@ connect(_devices, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)), this, SLOT(selectionChanged(QTreeWidgetItem*))); KAboutData *about = new KAboutData(I18N_NOOP("kcmusb"), 0, ki18n("KDE USB Viewer"), -@@ -113,8 +110,12 @@ static void delete_recursive(QTreeWidgetItem *item, const QMap new_items; @@ -108,7 +108,7 @@ int level = 0; bool found = true; ---- kinfocenter/Modules/usbview/usbdevices.cpp +--- kinfocenter/Modules/usbview/usbdevices.cpp.orig 2015-06-26 03:17:21 UTC +++ kinfocenter/Modules/usbview/usbdevices.cpp @@ -27,9 +27,9 @@ @@ -131,7 +131,7 @@ static QString catFile(QString fname) { char buffer[256]; QString result; -@@ -129,6 +130,7 @@ void USBDevice::parseLine(const QString& line) { +@@ -129,6 +130,7 @@ void USBDevice::parseLine(const QString& } else if (line.startsWith("P:")) sscanf(line.toLocal8Bit().data(), "P: Vendor=%x ProdID=%x Rev=%x.%x", &_vendorID, &_prodID, &_revMajor, &_revMinor); } @@ -275,7 +275,7 @@ bool USBDevice::parse(const QString &fname) { _devices.clear(); -@@ -290,146 +362,19 @@ bool USBDevice::parseSys(const QString &dname) { +@@ -290,146 +362,19 @@ bool USBDevice::parseSys(const QString & return d.count(); } @@ -428,7 +428,7 @@ -#endif // !(defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD)) +#endif // defined(Q_OS_LINUX) +#endif // defined(HAVE_LIBUSB1) ---- kinfocenter/Modules/usbview/usbdevices.h +--- kinfocenter/Modules/usbview/usbdevices.h.orig 2015-06-26 03:17:21 UTC +++ kinfocenter/Modules/usbview/usbdevices.h @@ -14,18 +14,9 @@ #include