Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.1:Test
powerdevil
cpu-hog.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File cpu-hog.diff of Package powerdevil
--- daemon/PollSystemLoader.cpp 2008-10-27 14:51:16.000000000 +0100 +++ daemon/PollSystemLoader.cpp 2008-12-05 16:27:41.000000000 +0100 @@ -41,7 +41,7 @@ // Test each polling system WidgetBasedPoller *wpl = new WidgetBasedPoller(this); - XSyncBasedPoller *xpl = new XSyncBasedPoller(this); + XSyncBasedPoller *xpl = XSyncBasedPoller::instance(); TimerBasedPoller *tpl = new TimerBasedPoller(this); if (wpl->isAvailable()) { @@ -55,7 +55,6 @@ } wpl->deleteLater(); - xpl->deleteLater(); tpl->deleteLater(); } @@ -96,7 +95,7 @@ m_poller = new TimerBasedPoller(this); break; case AbstractSystemPoller::XSyncBased: - m_poller = new XSyncBasedPoller(this); + m_poller = XSyncBasedPoller::instance(); break; default: return false; @@ -119,7 +118,9 @@ if (m_poller) { m_poller->unloadPoller(); - m_poller->deleteLater(); + if (m_poller->getPollingType() != AbstractSystemPoller::XSyncBased) { + m_poller->deleteLater(); + } } return true; --- daemon/powerdevil.desktop 2008-10-27 14:51:16.000000000 +0100 +++ daemon/powerdevil.desktop 2008-12-05 16:27:41.000000000 +0100 @@ -9,7 +9,9 @@ X-KDE-Kded-phase=1 Name=PowerDevil +Name[ar]=عفريت الطاقة Name[gu]=પાવરડેવિલ +Name[hi]=पावर-डेविल Name[kn]=ಪವರ್ ಡೆವಿಲ್ Name[nds]=Stroomdüvel Name[pa]=ਪਾਵਰ-ਡੀਵਿਲ @@ -17,21 +19,35 @@ Name[x-test]=xxPowerDevilxx Comment=A Laptop Power Management Daemon +Comment[ar]=مراقب إدارة الطاقة للحواسيب المحمولة Comment[be@latin]=Słužba kiravańnia enerhijaj na laptopie +Comment[ca]=Un dimoni per a la gestió d'energia dels portàtils +Comment[de]=Ein Energieverwaltungsdienst für Notebooks Comment[el]=Ένας δαίμονας διαχείρισης ενέργειας του φορητού υπολογιστή +Comment[es]=Un demonio de gestión de energía de portátiles +Comment[et]=Sülearvuti voolutarbe haldamise deemon Comment[gl]=Un daemon de xestión da enerxía para portátiles Comment[gu]=લેપટોપ પાવર વ્યવસ્થાપક ડેમોન +Comment[hi]=लैपटॉप बिज़ली प्रबंधन डेमन +Comment[it]=Un demone per laptop per la gestione dell'energia +Comment[ja]=ラップトップ電源管理のデーモン Comment[kk]=Лаптоп қуаттандыруын басқару қызметі Comment[km]=ដេមិនគ្រប់គ្រងថាមពលរបស់កុំព្យូទ័រយួរដៃ Comment[kn]=ಉಡಿಗಣಕ (ಲಾಪ್ಟಾಪ್) ವಿದ್ಯುಚ್ಛಕ್ತಿ ವ್ಯವಸ್ಥಾಪನಾ ನೇಪಥಿಕ (ಡೀಮನ್) +Comment[lv]=Klēpjdatora energokontroles dēmons +Comment[ml]=ഒരു ലാപ്ടോപ് പവര് മാനേജ്മെന്റ് നിരന്തരപ്രവ്രത്തി Comment[nb]=Strømstyringsnisse for bærbare maskiner Comment[nds]=En Stroomkuntrull-Dämoon för Klappreekners +Comment[nl]=Een energiebeheerdaemon voor laptops Comment[pa]=ਇੱਕ ਲੈਪਟਾਪ ਪਾਵਰ ਮੈਨਿਜਮੈਂਟ ਡੈਮਨ Comment[pt]=Um Sistema de Gestão da Energia para Portáteis Comment[pt_BR]=Um Sistema de Gestão da Energia para Portáteis +Comment[ro]=Demon pentru gestiunea energiei laptopului Comment[ru]=Служба управления питанием ноутбука Comment[sv]=En strömspardemon för bärbara datorer +Comment[th]=ดีมอนจัดการพลังงานของเครื่องแลปทอป Comment[tr]=Dizüstü Bilgisayarlar için bir Güç Yönetimi Servisi Comment[uk]=Фонова служба керування живленням портативного комп’ютера Comment[x-test]=xxA Laptop Power Management Daemonxx +Comment[zh_CN]=便携式电脑电源管理守护程序 Comment[zh_TW]=筆記型電腦電源管理守護程式 --- daemon/XSyncBasedPoller.cpp 2008-10-27 14:51:16.000000000 +0100 +++ daemon/XSyncBasedPoller.cpp 2008-12-05 16:27:41.000000000 +0100 @@ -22,6 +22,28 @@ #include <QX11Info> #include <klocalizedstring.h> +#include <kglobal.h> + +class XSyncBasedPollerHelper +{ +public: + XSyncBasedPollerHelper() : q(0) {} + ~XSyncBasedPollerHelper() { + delete q; + } + XSyncBasedPoller *q; +}; + +K_GLOBAL_STATIC(XSyncBasedPollerHelper, s_globalXSyncBasedPoller) + +XSyncBasedPoller *XSyncBasedPoller::instance() +{ + if (!s_globalXSyncBasedPoller->q) { + new XSyncBasedPoller; + } + + return s_globalXSyncBasedPoller->q; +} XSyncBasedPoller::XSyncBasedPoller(QObject *parent) : AbstractSystemPoller(parent) @@ -30,65 +52,69 @@ , m_idleCounter(None) , m_timeoutAlarm(None) , m_resetAlarm(None) - , m_error(false) #endif + , m_available(true) { + Q_ASSERT(!s_globalXSyncBasedPoller->q); + s_globalXSyncBasedPoller->q = this; + #ifdef HAVE_XSYNC int sync_major, sync_minor; + int ncounters; if (!XSyncQueryExtension(m_display, &m_sync_event, &m_sync_error)) { - m_error = true; + m_available = false; return; } if (!XSyncInitialize(m_display, &sync_major, &sync_minor)) { - m_error = true; + m_available = false; return; } - kDebug() << "XSync Inited"; -#endif -} - -XSyncBasedPoller::~XSyncBasedPoller() -{ -} - -QString XSyncBasedPoller::name() -{ - return i18n("XSync Based (recommended)"); -} + kDebug() << sync_major << sync_minor; -bool XSyncBasedPoller::isAvailable() -{ -#ifdef HAVE_XSYNC - if (m_error) { - return false; - } - - int ncounters; m_counters = XSyncListSystemCounters(m_display, &ncounters); bool idleFound = false; - for (int i = 0; i < ncounters && !m_idleCounter; ++i) { + for (int i = 0; i < ncounters; ++i) { if (!strcmp(m_counters[i].name, "IDLETIME")) { - m_idleCounter = m_counters[i].counter; idleFound = true; + break; } } XSyncFreeSystemCounterList(m_counters); if (!idleFound) { - return false; + m_available = false; } - return true; - #else - return false; + m_available = false; #endif + + if (m_available) { + kDebug() << "XSync seems available and ready"; + } else { + kDebug() << "XSync seems not available"; + } + +} + +XSyncBasedPoller::~XSyncBasedPoller() +{ +} + +QString XSyncBasedPoller::name() +{ + return i18n("XSync Based (recommended)"); +} + +bool XSyncBasedPoller::isAvailable() +{ + return m_available; } bool XSyncBasedPoller::setUpPoller() @@ -100,6 +126,8 @@ return false; } + kDebug() << "XSync Inited"; + m_counters = XSyncListSystemCounters(m_display, &ncounters); bool idleFound = false; @@ -252,12 +280,13 @@ flags = XSyncCACounter | XSyncCAValueType | XSyncCATestType | XSyncCAValue | XSyncCADelta; - if (*alarm) { + if (*alarm) XSyncChangeAlarm(dpy, *alarm, flags, &attr); - } else { + else *alarm = XSyncCreateAlarm(dpy, flags, &attr); - } } #endif #include "XSyncBasedPoller.moc" + + --- daemon/XSyncBasedPoller.h 2008-10-27 14:51:16.000000000 +0100 +++ daemon/XSyncBasedPoller.h 2008-12-05 16:27:41.000000000 +0100 @@ -39,6 +39,9 @@ Q_OBJECT public: + + static XSyncBasedPoller *instance(); + XSyncBasedPoller(QObject *parent = 0); virtual ~XSyncBasedPoller(); @@ -84,7 +87,9 @@ XSyncAlarm m_resetAlarm; #endif QWidget * m_filterWidget; - bool m_error; + bool m_available; }; #endif /* XSYNCBASEDPOLLER_H */ + + --- kcmodule/CapabilitiesPage.cpp 2008-10-27 14:51:16.000000000 +0100 +++ kcmodule/CapabilitiesPage.cpp 2009-01-16 13:26:54.000000000 +0100 @@ -211,13 +211,17 @@ } #endif -#ifdef HAVE_XSCREENSAVER - xss = true; -#endif - -#ifdef HAVE_XSYNC - xsync = true; -#endif + QDBusMessage msg = QDBusMessage::createMethodCall("org.kde.kded", + "/modules/powerdevil", "org.kde.PowerDevil", "getSupportedPollingSystems"); + QDBusReply<QVariantMap> systems = QDBusConnection::sessionBus().call(msg); + + foreach(const QVariant &ent, systems.value()) { + if (ent.toInt() == XSyncBased) { + xsync = true; + } else if (ent.toInt() == WidgetBased) { + xss = true; + } + } #ifdef HAVE_XTEST xtest = true; @@ -275,28 +279,11 @@ "not available. XSync grants extra efficiency and performance, saving your " "battery and CPU. It is advised to use PowerDevil with XSync enabled.")); - } else if (PowerDevilSettings::pollingSystem() != 2) { - - QDBusMessage msg = QDBusMessage::createMethodCall("org.kde.kded", - "/modules/powerdevil", "org.kde.PowerDevil", "getSupportedPollingSystems"); - QDBusReply<QVariantMap> systems = QDBusConnection::sessionBus().call(msg); - - bool found = false; - - foreach(const QVariant &ent, systems.value()) { - if (ent.toInt() == 2) { - found = true; - } - } - - if (!found) { - setIssue(false, i18n("No issues found with your configuration.")); - } else { - setIssue(true, i18n("XSync does not seem your preferred query backend, though it is available " - "on your system. Using it largely improves performance and efficiency, and " - "it is strongly advised. Click on the button below to enable it now."), - i18n("Enable XSync Backend"), "dialog-ok-apply", SLOT(enableXSync())); - } + } else if (PowerDevilSettings::pollingSystem() != 2 && xsync) { + setIssue(true, i18n("XSync does not seem your preferred query backend, though it is available " + "on your system. Using it largely improves performance and efficiency, and " + "it is strongly advised. Click on the button below to enable it now."), + i18n("Enable XSync Backend"), "dialog-ok-apply", SLOT(enableXSync())); } else { setIssue(false, i18n("No issues found with your configuration.")); } --- kcmodule/CapabilitiesPage.h 2008-09-29 00:24:21.000000000 +0200 +++ kcmodule/CapabilitiesPage.h 2008-12-05 16:27:41.000000000 +0100 @@ -47,6 +47,13 @@ const char *slot = 0, const QString &button2 = QString(), const QString &buticon2 = QString(), const char *slot2 = 0); + enum PollingType { + Abstract = -1, + WidgetBased = 1, + XSyncBased = 2, + TimerBased = 3 + }; + signals: void reload(); void reloadModule(); --- kcmodule/generalPage.ui 2008-10-27 14:51:16.000000000 +0100 +++ kcmodule/generalPage.ui 2008-12-05 16:27:41.000000000 +0100 @@ -124,19 +124,6 @@ </property> </widget> </item> - <item row="3" column="1" > - <widget class="QPushButton" name="notificationsButton" > - <property name="maximumSize" > - <size> - <width>200</width> - <height>16777215</height> - </size> - </property> - <property name="text" > - <string>Configure Notifications</string> - </property> - </widget> - </item> <item row="4" column="0" > <widget class="QCheckBox" name="suspendWait" > <property name="toolTip" > @@ -173,6 +160,36 @@ </property> </widget> </item> + <item row="3" column="1" > + <layout class="QHBoxLayout" name="horizontalLayout_2" > + <item> + <widget class="QPushButton" name="notificationsButton" > + <property name="maximumSize" > + <size> + <width>16777215</width> + <height>16777215</height> + </size> + </property> + <property name="text" > + <string>Configure Notifications</string> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer" > + <property name="orientation" > + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0" > + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> </layout> </widget> </item> @@ -273,8 +290,8 @@ <rect> <x>0</x> <y>0</y> - <width>571</width> - <height>431</height> + <width>263</width> + <height>206</height> </rect> </property> <attribute name="label" > --- kcmodule/powerdevilconfig.desktop 2008-09-29 18:39:20.000000000 +0200 +++ kcmodule/powerdevilconfig.desktop 2008-12-05 16:27:41.000000000 +0100 @@ -11,33 +11,72 @@ X-KDE-System-Settings-Parent-Category=system Name=Power Management +Name[ar]=ادارة الطاقة Name[be@latin]=Kiravańnie enerhijaj +Name[ca]=Gestió d'energia +Name[de]=Energieverwaltung Name[el]=Διαχείριση ενέργειας +Name[es]=Gestión de energía +Name[et]=Voolutarbe haldus Name[gl]=Xestión da enerxía Name[gu]=પાવર વ્યવસ્થાપક +Name[he]=ניהול צריכת חשמל +Name[hi]=बिज़ली प्रबंधन +Name[it]=Gestione energetica +Name[ja]=電源管理 Name[kk]=Қуаттандыруды басқару Name[km]=ការគ្រប់គ្រងថាមពល Name[kn]=ವಿದ್ಯುಚ್ಛಕ್ತಿ ವ್ಯವಸ್ಥಾಪನೆ +Name[lt]=Energijos valdymas +Name[lv]=Energokontrole +Name[ml]=പവര് മാനേജ്മെന്റ് +Name[nb]=Strømstyring Name[nds]=Stroomkuntrull +Name[nl]=Energiebeheer +Name[pa]=ਪਾਵਰ ਮੈਨਿਜਮੈਂਟ Name[pt]=Gestão de Energia -Name[pt_BR]=Gestão de Energia +Name[pt_BR]=Gerenciamento de energia +Name[ro]=Gestiune energie +Name[ru]=Управление питанием Name[sv]=Strömsparhantering +Name[th]=การจัดการพลังงาน Name[tr]=Güç Yönetimi Name[uk]=Керування живленням Name[x-test]=xxPower Managementxx +Name[zh_CN]=电源管理 Name[zh_TW]=電源管理 Comment=Display brightness, suspend and power profile settings +Comment[ar]=تعرض الإضاءءة و التعليق و إعدادات ملف توصيف الطاقة +Comment[be@latin]=Pakažy nałady jarkaści, snu j profil kiravańnia enerhijaj +Comment[ca]=Mostra els paràmetres de la lluminositat, suspensió i del perfil d'energia +Comment[de]=Einstellungen zu Bildschirmhelligkeit, Ruhezustand und Energieprofilen +Comment[el]=Φωτεινότητα οθόνης, αναστολή και ρυθμίσεις προφίλ ενέργειας +Comment[es]=Configuración del perfil de brillo de la pantalla, suspensión y energía +Comment[et]=Heleduse, passiivseisundi ja voolutarbe profiili seadistuste näitamine Comment[gl]=Mostra os axustes de brillo, suspensión e enerxía do perfíl +Comment[gu]=ડિસ્પ્લે ઉજાસ, સસ્પેન્ડ અને પાવર પ્રોફાઇલ ગોઠવણીઓ +Comment[hi]=चमकीलापन, निलंबन तथा पावर प्रोफ़ाइल विन्यास दिखाएँ +Comment[it]=Mostra le impostazioni di luminosità, sospensione e profilo energetico +Comment[ja]=ディスプレイの明るさ、サスペンド、電源プロファイルの設定 Comment[kk]=Дисплей жарықтығы, қалғу, қуаттандыру профилінің параметрлері Comment[km]=បង្ហាញពន្លឺ ផ្អាក និងការកំណត់ទម្រង់ថាមពល Comment[kn]=ಪ್ರದರ್ಶನ ಉಜ್ವಲತೆ (ಬ್ರೈಟ್ನೆಸ್), ವಜಾಮಾಡುವಿಕೆ (ಸಸ್ಪೆಂಡ್) ಹಾಗೂ ವಿದ್ಯುಚ್ಛಕ್ತಿ ವೈಶಿಷ್ಟ್ಯ ಸಂಯೋಜನೆಗಳು +Comment[lv]=Parāda gaišumu, iemigšanas un jaudas profila iestatījumus +Comment[ml]=തെളിച്ചവും, താല്കാലികമായി നിര്ത്തിവെക്കാനുള്ളതിന്റെയും ഊര്ജ്ജത്തിന്റെയും പ്രൊഫൈല് സജ്ജീകരണങ്ങള് കാണിക്കുക. +Comment[nb]=Innstillinger for lysstyrke, hvile/dvale og strømprofiler Comment[nds]=Helligkeit-, Utsett- un Stroomprofil-Instellen wiesen +Comment[nl]=Schermhelderheid-, slaapstand- en energieprofielen instellen +Comment[pa]=ਡਿਸਪਲੇਅ ਚਮਕ, ਸਸਪੈਂਡ ਅਤੇ ਪਾਵਰ ਪਰੋਫਾਇਲ ਸੈਟਿੰਗ Comment[pt]=Mostra a configuração do brilho, suspensão e perfil de energia Comment[pt_BR]=Mostra a configuração do brilho, suspensão e perfil de energia +Comment[ro]=Configurări pentru luminozitatea ecranului, suspendare și profiluri alimentare Comment[sv]=Visar ljusstyrka, och inställningar av viloläge och strömsparprofil +Comment[th]=ตั้งค่าความสว่างการแสดงผล, การหยุดพักการทำงาน และโพรไฟล์จัดการพลังงาน +Comment[tr]=Ekran parlaklığı, askıya alma ve güç profili ayarları Comment[uk]=Показати параметри яскравості, переходу до сну та керування живленням профілю Comment[x-test]=xxDisplay brightness, suspend and power profile settingsxx +Comment[zh_CN]=显示亮度、挂起和电源配置方案的设置 Comment[zh_TW]=顯示亮度、暫停與電源設定檔 X-KDE-Keywords=system,power,power management,energy,laptop,battery,suspension,AC,suspend,hibernate,brightness,performance,lid --- kcmodule/PowerDevilKCM.cpp 2008-09-29 00:24:21.000000000 +0200 +++ kcmodule/PowerDevilKCM.cpp 2008-12-05 16:27:41.000000000 +0100 @@ -142,6 +142,7 @@ if (m_widget) { m_widget->load(); } + emit changed(false); } void PowerDevilKCM::save() @@ -151,6 +152,7 @@ streamToDBus(); } + emit changed(false); } void PowerDevilKCM::defaults()
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor