Skip to content
This repository has been archived by the owner on Sep 22, 2022. It is now read-only.

Dependency for fedora, addition in "README.md" #66

Open
wants to merge 229 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
229 commits
Select commit Hold shift + click to select a range
5396b96
ui: Use QML Layouts
frankenfruity Aug 14, 2021
c584505
ui: combobox: Use QtQuick.Controls 2.2
frankenfruity Aug 12, 2021
f876d43
ui: slider: Update to QtQuick.Controls 2.2
frankenfruity Aug 13, 2021
bbdc01f
ui: radio: Update to QtQuick.Controls 2.2
frankenfruity Aug 13, 2021
d12e8be
ui: FullRepresentation: Remove unused import
frankenfruity Aug 13, 2021
32dfbab
ui: pushbutton: Update to QtQuick.Controls 2.2
frankenfruity Aug 13, 2021
7fe1327
ui: switch: Update to QtQuick.Controls 2.2
frankenfruity Aug 13, 2021
dc40752
ui: CompactRepresentation: Update to QtQuick.Controls 2.2
frankenfruity Aug 13, 2021
d7441c2
ui: main: Remove unused imports
frankenfruity Aug 13, 2021
fe25909
ui: Convert Group and Header to Qt Quick Controls 2
frankenfruity Aug 14, 2021
54b6d18
ui: Set width/height declaratively
frankenfruity Aug 11, 2021
87dfe9d
ui: group: Fix item visible check
frankenfruity Aug 16, 2021
c5be021
ui: FullRepresentation: Set clip true
frankenfruity Aug 16, 2021
b716740
ui: header: Initialize sensor text
frankenfruity Aug 16, 2021
2469fed
ui: main: Fix crash when sensor key is not in the model
frankenfruity Aug 16, 2021
043b513
ui: group: Decrease minimum slider width
frankenfruity Aug 15, 2021
3d11b37
ui: header: Align top left
frankenfruity Aug 15, 2021
dc0da27
ui: header: Add property to hide the label icon
frankenfruity Aug 15, 2021
405678b
ui: combobox: Change to column layout
frankenfruity Aug 15, 2021
4900648
ui: comboxbox: Disable mouse scroll
frankenfruity Aug 15, 2021
489185f
ui: header: Reduce promenence of the sensor text
frankenfruity Aug 16, 2021
0c4a9e3
ui: header: Smaller title font size
frankenfruity Aug 16, 2021
a6cf2cf
Add id to model headers
frankenfruity Aug 15, 2021
6c28599
Change radio items to combobox
frankenfruity Aug 15, 2021
f871786
Move is_present into Util
frankenfruity Jul 28, 2021
06fb535
Tray icon representation
frankenfruity Aug 15, 2021
85859b1
ui: TabbedRepresentation: Add indicator for currently selected tab
frankenfruity Aug 16, 2021
1f8a549
ui: TabbedRepresentation: Custom tab hover style
frankenfruity Aug 17, 2021
89bbd4c
ui: TabbedRepresentation: Add separator between toolbar and conent
frankenfruity Aug 16, 2021
77763f6
util: check if vendor sensor value is undefined
frankenfruity Aug 15, 2021
06f626b
Remove stale sensor data
frankenfruity Jul 29, 2021
327afd0
set_prefs.sh: Disable nvidia check
frankenfruity Apr 18, 2021
8252271
ui: main: Start data source monitor using QML API
frankenfruity Aug 16, 2021
09fe40a
ui: main: Use QML API to fire off the command execution
frankenfruity Aug 16, 2021
9ed5285
ui: main: Clean up systemmonitorDS
frankenfruity Aug 16, 2021
e600ac7
ui: main: Remove unused code
frankenfruity Aug 16, 2021
8f83791
ui: main: Clean up powermanagementDS
frankenfruity Aug 16, 2021
ac8dbe1
ui: main: Clean up monitor_sources
frankenfruity Aug 16, 2021
a62ae55
ui: main: Trigger an immediate data source update after setting a value
frankenfruity Aug 16, 2021
9f22586
ui: main: Clean up command definition
frankenfruity Aug 16, 2021
a7bebc1
ui: main: Inline the data source monitor command
frankenfruity Aug 16, 2021
3dde719
ui: main: Don't open code monitorDS stop/(re)start
frankenfruity Aug 16, 2021
02c8265
Add a one-shot Nvidia PowerMizer data source
frankenfruity Aug 16, 2021
561c206
set_prefs.sh: Add append_json helper function
frankenfruity Aug 15, 2021
532fcac
set_prefs.sh: Add -read-available arg
frankenfruity Aug 15, 2021
63e8bb3
Add data source to read sysfs available values
frankenfruity Aug 16, 2021
520117a
ui: combobox: Filter by available values
frankenfruity Aug 15, 2021
4243b4a
Add more CPU governors to the model
frankenfruity Aug 15, 2021
39c06fe
set_prefs.sh: Do checks before reading
frankenfruity Aug 15, 2021
8f63385
WIP: Hide sensors with no value
frankenfruity Aug 15, 2021
e45fe44
Add Intel Thermal Control Circuit (TCC)
frankenfruity Aug 15, 2021
7336679
Shorten the name to P-state and CPUFreq
frankenfruity Aug 16, 2021
2427c14
Data source polling interval setting
frankenfruity Aug 16, 2021
154678a
ui: main: Throttle systemmonitorDS updates
frankenfruity Aug 16, 2021
3c91220
Support write-only knobs
frankenfruity Aug 16, 2021
c800927
Mark powermizer sensor as write-only
frankenfruity Aug 16, 2021
e1e16aa
set_prefs.sh: Add Dell fan mode
frankenfruity Aug 16, 2021
72a7053
Add Dell Fan mode combobox
frankenfruity Aug 16, 2021
3ca07d3
ui: main: Don't trigger sensorsValuesChanged so often
frankenfruity Aug 16, 2021
0752dbc
Show fan speed sensor under Fan Control header
frankenfruity Aug 16, 2021
a4e8751
set_prefs.sh: shellcheck fixes
frankenfruity Aug 16, 2021
ab937c5
ui: pushbutton: Code style
frankenfruity Aug 16, 2021
2015c0b
ui: Shrink radio buttons a bit to better fit system tray representation
frankenfruity Aug 16, 2021
d1c3c9d
Change combobox back to radiobox
frankenfruity Aug 16, 2021
8fddc38
Show notification if a set command returned an error
frankenfruity Aug 17, 2021
d07c50a
ui: Custom combobox that is inline with the sensor label text
frankenfruity Aug 17, 2021
de993bf
Add passive mode
frankenfruity Aug 18, 2021
c6d1785
ui: main: Signal sensorsValuesChanged only when values have changed
frankenfruity Aug 18, 2021
da72424
Refresh UI after setting a value
frankenfruity Aug 18, 2021
fb782fa
set_prefs.sh: Support selective reading sensors
frankenfruity Aug 18, 2021
c186f99
set_prefs.sh: Split into separate files
frankenfruity Aug 18, 2021
528b288
set_prefs.sh: Dynamic arg parsing
frankenfruity Aug 18, 2021
542cb46
set_prefs.sh: Remove the argument flag variables
frankenfruity Aug 18, 2021
35d2247
set_prefs.sh: Code clean up
frankenfruity Aug 18, 2021
9d176d5
Poll only the sensors that have been detected after first init
frankenfruity Aug 18, 2021
34d6fdf
ui: header: Smaller bottom margin on child components
frankenfruity Aug 18, 2021
61e62f4
ui: slider: Don't update sensor on value change
frankenfruity Aug 18, 2021
9e33a39
Add Intel Running Average Power Limit (RAPL)
frankenfruity Aug 18, 2021
24e6a73
ui: main: Fix polling interval changed
frankenfruity Aug 20, 2021
8241c9c
util: Fix error in remove_stale_data
frankenfruity Aug 20, 2021
59e594b
Rename directory to package
frankenfruity Aug 19, 2021
74b971d
Update install script
frankenfruity Aug 20, 2021
fbfa531
Move QML to sub-directory
frankenfruity Aug 19, 2021
8713f05
Import QML/C++ template
frankenfruity Aug 19, 2021
e04f310
Set X-KDE-Library property
frankenfruity Aug 22, 2021
c94402d
Fix cmake package name
frankenfruity Aug 20, 2021
afa2876
cmake: Make set_prefs.sh executable
frankenfruity Aug 20, 2021
b24c48d
set_prefs.sh: Factor out print usage
frankenfruity Aug 22, 2021
5b7d545
set_prefs.sh: Factor out write sensor function
frankenfruity Aug 22, 2021
cee73b0
set_prefs.sh: Add daemon mode
frankenfruity Aug 22, 2021
7e7e334
set_prefs.sh: Add -list-sensors command
frankenfruity Aug 20, 2021
fec4c7a
dell_laptop.sh: Always return a json string on set command
frankenfruity Aug 22, 2021
0cb2e72
Implement native execution of set_prefs.sh
frankenfruity Aug 22, 2021
7684b16
ui: main: Factor out the command executable
frankenfruity Aug 20, 2021
67b6999
ui: main: Add native backend
frankenfruity Aug 22, 2021
22ded85
ui: main: Enable native backend
frankenfruity Aug 22, 2021
eb586da
Don't use QML required keyword
frankenfruity Aug 21, 2021
21d953b
Factor out common code
frankenfruity Aug 22, 2021
14b44f3
Fix stale data check
frankenfruity Aug 22, 2021
e2c8998
Define sensor_type in sensor model
frankenfruity Aug 22, 2021
63ee190
Don't send sensors from systemmonitor DataSource to set_prefs.sh script
frankenfruity Aug 22, 2021
a83d2a3
Implement a QML class to manage data from set_prefs.sh
frankenfruity Aug 22, 2021
8f0cfc0
ui: TabbedRepresentation: Work around crash on plasmoid removal
frankenfruity Aug 22, 2021
73ddd41
ui: TabbedRepresentation: Align the tab indicator against the separator
frankenfruity Aug 23, 2021
4d29803
Wait for the shell process to start
frankenfruity Aug 23, 2021
fdf92cd
native: Add startScript function
frankenfruity Aug 23, 2021
731f1f4
ui: Fix race conditions on first init
frankenfruity Aug 23, 2021
2a4f41d
ui: main: Remove isReady
frankenfruity Aug 22, 2021
84e9d7e
ui: Full representations shouldn't handle initialize on complete
frankenfruity Aug 22, 2021
464e4d7
code: nvidia.sh: Set function must always write a json string to stdout
frankenfruity Aug 23, 2021
50ef8dc
code: nvidia.sh: Redirect stdout from nvidia-settings to /dev/null
frankenfruity Aug 23, 2021
f27b4b5
Only poll the sensors that are readable
frankenfruity Aug 23, 2021
a4e7610
Use SPDX headers
frankenfruity Aug 23, 2021
b512b2f
Simplify stale data check
frankenfruity Aug 23, 2021
38975dd
ui: Always refresh after setting a value
frankenfruity Aug 23, 2021
2309d8a
Nvidia runtime status
frankenfruity Aug 18, 2021
2b4c322
ui: group: Allow group to contain combobox
frankenfruity Aug 23, 2021
c414c91
ui: combobox: Populate with available_values
frankenfruity Aug 24, 2021
f68066a
cpufreq scaling min/max frequencies
frankenfruity Aug 19, 2021
22c56fb
ui: main: Start/stop function for powermanagement data source
frankenfruity Aug 24, 2021
a2db1b1
ui: main: Start/stop function for systemmonitor data source
frankenfruity Aug 24, 2021
b54088f
ui: main: Add start/stop monitors function
frankenfruity Aug 24, 2021
1440a87
config: Add setting to monitor sensors when the applet is hidden
frankenfruity Aug 24, 2021
607b9d7
ui: main: Don't update the tooltip with sensor data unless it's enabled
frankenfruity Aug 24, 2021
d61b498
ui: main: Don't override the icon
frankenfruity Aug 24, 2021
ecb0e19
ui: Move update sensor into SetPrefsManager
frankenfruity Aug 24, 2021
cb3b754
config: Remove passiveMode and sensorInterval
frankenfruity Aug 24, 2021
ebd7f1c
config: Add slowPollingInterval
frankenfruity Aug 24, 2021
772948c
ui: main: Add slowPollingInterval
frankenfruity Aug 24, 2021
3b90e5f
ui: main: Fix check if applet is in system tray
frankenfruity Aug 24, 2021
59265cf
ui: main: Add setMonitorInterval function
frankenfruity Aug 24, 2021
9037bc6
ui: main: Add shouldMonitor function
frankenfruity Aug 24, 2021
6775420
ui: main: Fix polling interval logic
frankenfruity Aug 24, 2021
26e9104
Dynamic detection of Intel GPU
frankenfruity Aug 24, 2021
5c60a75
code: intel: shellcheck
frankenfruity Sep 10, 2021
af65cf0
ui: main: Main controls which tab is shown on init
frankenfruity Aug 25, 2021
d81f099
ui: TabbedRepresentation: Simplify the layout a bit
frankenfruity Aug 25, 2021
4a7c381
ui: TabbedRepresentation: Code clean up
frankenfruity Aug 25, 2021
41ab311
native: Add functions to save/load profile data
frankenfruity Aug 25, 2021
940a58c
Profile manager
frankenfruity Aug 27, 2021
c960c57
ui: TabbedRepresentation: Tool tips for tab buttons
frankenfruity Aug 27, 2021
df310ac
ui: TabbedRepresentation: Tool tip for profile button
frankenfruity Aug 27, 2021
0ad71c8
util: Handle actual boolean values in to_bool
frankenfruity Aug 27, 2021
faa0bd1
util: Return an actual string from to_string
frankenfruity Aug 27, 2021
0ae12fc
code: profile: Add a function to get string representation of a sensor
frankenfruity Aug 27, 2021
c534b19
ui: profile: Use getValueText function
frankenfruity Aug 27, 2021
9b09b60
ui: main: Global sensor update rate limit
frankenfruity Aug 27, 2021
a6e12fb
ui: main: Remove systemmonitorDS rate limit
frankenfruity Aug 27, 2021
be5fb0f
ui: main: Allow powermanagementDS to call sensor values changed too
frankenfruity Aug 27, 2021
aa6a30a
ui: profile: Don't apply profile names on accept signal
frankenfruity Aug 27, 2021
fc1f4f5
ui: profile: Workaround broken combobox on Kubuntu 20.04
frankenfruity Aug 27, 2021
02a341b
ui: TabbedRepresentation: Active focus highlighting
frankenfruity Aug 27, 2021
59727ba
ui: TabbedRepresentation: Simplify toolbar button component
frankenfruity Aug 28, 2021
3bb4a3a
ui: main: Remove unused variable
frankenfruity Aug 28, 2021
f54102e
code: datasource: Clean up logic for parsing write-only sensors
frankenfruity Aug 28, 2021
d3665ea
code: dell_laptop.sh: Return a value from the set value command
frankenfruity Aug 27, 2021
ab16970
Implement sensors model as a QtObject
frankenfruity Aug 29, 2021
525e8d1
Move available_values into sensor manager
frankenfruity Aug 30, 2021
e0e233b
Move sensors_detected into sensor manager
frankenfruity Aug 30, 2021
a2f4d3f
More resilient GPU detection
frankenfruity Aug 31, 2021
c6cf2fa
ui: main: Guard monitors in edit mode
frankenfruity Aug 31, 2021
301fde3
ui: main: Remove direct call to monitorDS restart
frankenfruity Sep 5, 2021
ca895f1
Use Polkit
frankenfruity Aug 22, 2021
91647ea
ui: DataSourceBackend: Change to polkit
frankenfruity Sep 11, 2021
8246917
ui: profile: Size the toolbar buttons
frankenfruity Sep 2, 2021
460f66a
set_prefs.sh: Generate a function to read sensors
frankenfruity Sep 3, 2021
e84265b
code: intel.sh: More resilient sensor detection
frankenfruity Sep 3, 2021
0d92926
ui: combobox: Don't override the drop down menu style
frankenfruity Sep 5, 2021
b50cf18
ui: config: Use QtQuick.Controls 2
frankenfruity Sep 6, 2021
0ddadd8
ui: config: Hide sudo for reading option with native backend
frankenfruity Sep 6, 2021
ca6f267
code: dell_laptop: Read pwm value
frankenfruity Sep 8, 2021
54ee6e3
code: dell_laptop: Correct minimum pwm value
frankenfruity Sep 8, 2021
7a8bc97
code: set_prefs.sh: Check if variable exists before appending
frankenfruity Sep 10, 2021
f57a079
Change update signal to take args array
frankenfruity Sep 10, 2021
4526b86
ui: DataSourceBackend: Change update signal to take args array
frankenfruity Sep 11, 2021
2aa1e87
ui: Model: Sensor: Implement copy function
frankenfruity Sep 10, 2021
7c1689c
ui: Model: SensorsManager: Cache the Sensor component
frankenfruity Sep 10, 2021
4b18dff
ui: Header: Factor out control creation
frankenfruity Sep 10, 2021
1fd5a57
code: set_prefs.sh: Allow multiple args to set_* functions
frankenfruity Sep 10, 2021
49befd0
code: datasource: Parse enumerable sensor_type
frankenfruity Sep 10, 2021
a088961
code: util: Add is_enum_sensor function
frankenfruity Sep 10, 2021
b5e56d4
code: util: Add deepCopy function
frankenfruity Sep 10, 2021
0869fe8
Enumerable sensors
frankenfruity Sep 10, 2021
5d91495
Dell fan pwm
frankenfruity Sep 10, 2021
2a0f804
ui: A warning label component to signify write-only sensors
frankenfruity Sep 10, 2021
71efdc1
ui: Radio: Add write-only mode warning
frankenfruity Sep 10, 2021
7c67cf7
ui: ComboBox: Add write-only mode label
frankenfruity Sep 10, 2021
6a77dd4
Fix qtcreator warnings
frankenfruity Sep 10, 2021
28452e4
Fix empty object initialization
frankenfruity Sep 10, 2021
69961c4
ui: Group: Replace eval statement
frankenfruity Sep 10, 2021
6396ed6
code: set_prefs: Fix error path in daemon mode
frankenfruity Sep 10, 2021
061246f
ui: NativeBackend: Send notification on error
frankenfruity Sep 11, 2021
a113354
Initialize profile view alongside tabbed view init
frankenfruity Sep 11, 2021
6053d7c
code: profile: Handle enum type sensors
frankenfruity Sep 11, 2021
8ed79e3
code: Simplify append_json
frankenfruity Sep 25, 2021
c9a3303
code: set_prefs: Double quote to prevent globbing and word splitting
frankenfruity Sep 25, 2021
9d4d6c6
code: set_prefs: read limit in daemon mode
frankenfruity Sep 25, 2021
50a4ef0
ui: NativeBackend: Decouple explicit dependency from main
frankenfruity Sep 29, 2021
4bbf626
ui: NvidiaPowerMizerDS: Decouple explicit dependency on main
frankenfruity Sep 29, 2021
55ba36c
ui: Decouple full/tabbed representation on main
frankenfruity Sep 29, 2021
11b0f12
ui: main: Remove dataSourceReady signal
frankenfruity Sep 29, 2021
6367fd4
Add -write-sensor arg to shell script
frankenfruity Sep 29, 2021
b7653c9
ui: DataSourceBackend: Updater: Fix notifications
frankenfruity Oct 3, 2021
bbd931b
code: set_prefs: Remove sensor name check
frankenfruity Oct 1, 2021
d47a5b9
code: set_prefs: Add default case to read_sensor
frankenfruity Oct 1, 2021
3b55302
ui: Model: SensorsManager: Don't add enum sensor name to detected sen…
frankenfruity Oct 1, 2021
968b4ab
code: set_prefs: Remove unused function
frankenfruity Oct 1, 2021
c370abd
ui: main: Fix typo
frankenfruity Oct 3, 2021
ee12ff7
ui: TabbedRepresentation: Don't show profile page without native backend
frankenfruity Oct 3, 2021
cd732c8
ui: DataSourceBackend: Updater: Fix sensor name variable
frankenfruity Oct 3, 2021
84c920c
Fix initialization of Nvidia data source
frankenfruity Oct 4, 2021
9d6c5f9
ui: TabbedRepresentation: Create toolbar on subsequent calls to initi…
frankenfruity Oct 4, 2021
67c7bf6
ui: main: Check for show_item function
frankenfruity Oct 4, 2021
de33f73
ui: Model: ProfileManager: Fix initial profile creation
frankenfruity Oct 4, 2021
f5da49a
ui: Model: ProfileManager: Get profile by name property
frankenfruity Oct 4, 2021
0a38765
Remove old install scripts
frankenfruity Oct 4, 2021
4483779
ui: main: Define properties as explicit types
frankenfruity Oct 4, 2021
381f70e
ui: TabbedRepresentation: Fix indicator height
frankenfruity Oct 18, 2021
5e5730a
ui: TabbedRepresentation: Don't load profile button without native ba…
frankenfruity Oct 18, 2021
c344388
ui: TabbedRepresentation: Set maximum icon size
frankenfruity Oct 18, 2021
cfc2fad
ui: TabbedRepresentation: Center profile button
frankenfruity Oct 18, 2021
d99de83
README: Remove Issues section
frankenfruity Oct 18, 2021
1a6b66d
README: Remove How to update
frankenfruity Oct 18, 2021
68c021c
README: Native compile method
frankenfruity Oct 18, 2021
18d17e8
README: Document profile manager
frankenfruity Oct 18, 2021
ab657cf
README: Update screenshot links
frankenfruity Oct 18, 2021
4baaede
README: Update git clone url
frankenfruity Oct 18, 2021
a70f1f0
Revert "Update README.md"
frankenfruity Oct 18, 2021
024e1c0
Bump to version 2.0.0
frankenfruity Oct 18, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion 99-plasma-pstate

This file was deleted.

25 changes: 25 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
cmake_minimum_required(VERSION 3.16)

project(plasma-pstate)

find_package(ECM 1.4.0 REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})

include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDECompilerSettings NO_POLICY_SCOPE)
include(FeatureSummary)

find_package(KF5 REQUIRED COMPONENTS
Plasma
I18n
)

find_package(Qt5 CONFIG REQUIRED COMPONENTS
Quick
Core
)

add_subdirectory(src)

feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
2 changes: 2 additions & 0 deletions Messages.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#! /usr/bin/env bash
$XGETTEXT `find . -name \*.js -o -name \*.qml -o -name \*.cpp` -o $podir/plasma_applet_gr.ictpro.jsalatas.plasma.pstate.pot
66 changes: 41 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
# Intel P-state and CPUFreq Manager Widget

```diff
-Important
```
as of October 11, 2020, I'm not willing to maintain this widget anymore. I will maintain it based only to my personal needs. I thank you for your support and feedback all this time. Hope the community will take over from here and make the widget even better than it is now.

## What it is
Intel P-state and CPUFreq Manager is a KDE Plasma widget in order to control
the frequencies of Intel CPUs and their integrated GPUs for any modern Intel
Expand All @@ -16,22 +11,22 @@ It can also manage the processor's energy consumption through Energy-Performance
Preference (EPP) knob (if supported) or the Energy-Performance Bias (EPB) knob
(otherwise).

<a target="_blank" rel="noopener noreferrer" href="https://github.com/jsalatas/plasma-pstate/raw/master/screenshots/screenshot_1.png"><img src="https://github.com/jsalatas/plasma-pstate/raw/master/screenshots/screenshot_1.png" alt="Intel P-state and CPUFreq Manager Widget" title="Intel P-state and CPUFreq Manager Widget" width="500px"></a>
<a target="_blank" rel="noopener noreferrer" href="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_1.png"><img src="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_1.png" alt="Intel P-state and CPUFreq Manager Widget" title="Intel P-state and CPUFreq Manager Widget" width="500px"></a>

Furthermore, it allows you to interact with the following vendor specific settings

1. [Dell's Thermal Management Feature](https://www.dell.com/support/manuals/ba/en/babsdt1/dell-command-power-manager-v2.2/userguide_dell/thermal-management?guid=guid-c05d2582-fc07-4e3e-918a-965836d20752&lang=en-us)
through [libsmbios library](https://github.com/dell/libsmbios).

<a target="_blank" rel="noopener noreferrer" href="https://github.com/jsalatas/plasma-pstate/raw/master/screenshots/screenshot_2.png"><img src="https://github.com/jsalatas/plasma-pstate/raw/master/screenshots/screenshot_2.png" alt="Intel P-state and CPUFreq Manager Widget with Dell's Thermal Management Feature" title="Intel P-state and CPUFreq Manager Widget with Dell's Thermal Management Feature" width="500px"></a>
<a target="_blank" rel="noopener noreferrer" href="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_2.png"><img src="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_2.png" alt="Intel P-state and CPUFreq Manager Widget with Dell's Thermal Management Feature" title="Intel P-state and CPUFreq Manager Widget with Dell's Thermal Management Feature" width="500px"></a>

2. LG Gram laptop [Battery care limit](https://github.com/torvalds/linux/blob/master/Documentation/laptops/lg-laptop.rst#battery-care-limit), [USB charge](https://github.com/torvalds/linux/blob/master/Documentation/laptops/lg-laptop.rst#usb-charge) and [Fan mode](https://github.com/torvalds/linux/blob/master/Documentation/laptops/lg-laptop.rst#fan-mode) features (on kernel 4.20 and higher).

<a target="_blank" rel="noopener noreferrer" href="https://github.com/jsalatas/plasma-pstate/raw/master/screenshots/screenshot_3.png"><img src="https://github.com/jsalatas/plasma-pstate/raw/master/screenshots/screenshot_3.png" alt="Intel P-state and CPUFreq Manager Widget with LG Laptop Support features" title="Intel P-state and CPUFreq Manager Widget with LG Laptop Support features" width="500px"></a>
<a target="_blank" rel="noopener noreferrer" href="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/screenshot_3.png"><img src="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/screenshot_3.png" alt="Intel P-state and CPUFreq Manager Widget with LG Laptop Support features" title="Intel P-state and CPUFreq Manager Widget with LG Laptop Support features" width="500px"></a>

3. [Nvidia PowerMizer Settings](https://www.nvidia.com/object/feature_powermizer.html).

<a target="_blank" rel="noopener noreferrer" href="https://github.com/jsalatas/plasma-pstate/raw/master/screenshots/screenshot_4.png"><img src="https://github.com/jsalatas/plasma-pstate/raw/master/screenshots/screenshot_4.png" alt="Intel P-state and CPUFreq Manager Widget with Nvidia PowerMizer Settings" title="Intel P-state and CPUFreq Manager Widget with Nvidia PowerMizer Settings" width="500px"></a>
<a target="_blank" rel="noopener noreferrer" href="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_4.png"><img src="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_4.png" alt="Intel P-state and CPUFreq Manager Widget with Nvidia PowerMizer Settings" title="Intel P-state and CPUFreq Manager Widget with Nvidia PowerMizer Settings" width="500px"></a>


## What it isn't
Expand All @@ -58,10 +53,19 @@ First of all you need to be in sudoers' group. After that you can just clone
the code and install it using the following commands:

```
git clone https://github.com/jsalatas/plasma-pstate
git clone https://github.com/frankenfruity/plasma-pstate
cd plasma-pstate
sudo ./install.sh
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE=Release ..
make
make install

cd ..
cp ./src/plasma_pstate.policy /usr/share/polkit-1/actions/
chmod 644 /usr/share/polkit-1/actions/plasma_pstate.policy
```

**Notice:** If your processor doesn't support EPP(ie older generations without
HWP), then you need also to install the ``x86_energy_perf_policy`` which (in
case of Ubuntu 18.04 distros) is provided by the ``linux-tools`` package and
Expand All @@ -70,26 +74,38 @@ can be installed using the following command
```
sudo apt install linux-tools-generic linux-tools-`uname -r`
```
## How to update
Assuming that you have checked out the latest code, you just need to run the following commands as root:

```
sudo kpackagetool5 -g -t Plasma/Applet -u gr.ictpro.jsalatas.plasma.pstate
## Custom profiles

sudo chmod 755 /usr/share/plasma/plasmoids/gr.ictpro.jsalatas.plasma.pstate/contents/code/set_prefs.sh
```
A profile applies multiple settings at once.

<a target="_blank" rel="noopener noreferrer" href="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_5a.jpg"><img src="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_5a.jpg"></a>

## Contributions
Please feel free to clone, hack, and contribute anything you may find useful,
especially in relation to similar to Dell's Thermal Management Feature that
may be available in other hardware platforms.
Click the Edit profiles button to manage profiles.

<a target="_blank" rel="noopener noreferrer" href="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_5b.jpg"><img src="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_5b.jpg"></a>

## Issues
The widget uses a shell script that needs to be run as root user (sudo) and which apparently floods your log files with security related messages as described in [issue #16](https://github.com/jsalatas/plasma-pstate/issues/16).
In edit mode, use the toolbar buttons to create or delete a profile.

If you want to get rid of these messages, please see a workaround at
<a target="_blank" rel="noopener noreferrer" href="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_5c.jpg"><img src="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_5c.jpg"></a>

https://github.com/jsalatas/plasma-pstate/wiki/Too-many-messages-in-system-log
Edit a profile name in the text box.

<a target="_blank" rel="noopener noreferrer" href="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_5d.jpg"><img src="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_5d.jpg"></a>

Select the settings to be included in a profile.

<a target="_blank" rel="noopener noreferrer" href="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_5f.jpg"><img src="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_5f.jpg"></a>

Colors of the navigation bar are inverted in edit mode. The config menus modify the values of the current profile.

<a target="_blank" rel="noopener noreferrer" href="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_5e.jpg"><img src="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_5e.jpg"></a>

Save or discard changes to exit edit mode.

<a target="_blank" rel="noopener noreferrer" href="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_5g.jpg"><img src="https://github.com/frankenfruity/plasma-pstate/raw/master/screenshots/Screenshot_5g.jpg"></a>

## Contributions
Please feel free to clone, hack, and contribute anything you may find useful,
especially in relation to similar to Dell's Thermal Management Feature that
may be available in other hardware platforms.
Loading