tuxedocomputers / tuxedo-control-center

A tool to help you control performance, energy, fan and comfort settings on TUXEDO laptops.
GNU General Public License v3.0
486 stars 63 forks source link

Feature request: Support changing profile when power mode button is pressed #372

Open brunoais opened 3 months ago

brunoais commented 3 months ago

Note: Discussion about this happened at https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/merge_requests/8 which I will summarize what makes sense for this feature request.

What

Allow additional mode for reacting to AltSuperF6. In that alternative mode, pressing that key sequence (which doesn't exist in the keyboard) cycles to the next of the 2 or 3 profiles which has System Profile image configured to the subsequent power profile.

In more detail

In a laptop with 3 power modes. System profile can be any of: image

  1. power_save
  2. enthusiast
  3. overboost

At this point, pressing the power mode button will change to the first profile which matches both the battery/mains activation setting and the system profile (or power profile), falling back to the default profiles, if the user didn't set any matching.

Examples with this alt mode enabled

Example 1

User didn't create any profiles. Only the 3 default ones exist. Laptop has 3 power modes.

A. Current System profile: power_save Current profile: Default

User presses power mode button: B. Current System profile: enthusiast Current profile: Cool and breezy

User presses power mode button: C. Current System profile: overboost Current profile: Default

User presses power mode button: D. Current System profile: power_save Current profile: Default Explanation: After reaching overboost, it rolls back to "0" which is power save. However, no profile is configured with that profile, so the System Profile changes but the profile does not.

Example 2

User created 2 profiles: Mains save, Battery save. Both are copies of Powersave Extreme. Laptop has 3 power modes.

A. Current System profile: power_save Current profile: Mains save

User presses power mode button: B. Current System profile: enthusiast Current profile: Cool and breezy

User presses power mode button: C. Current System profile: overboost Current profile: Default

User presses power mode button: D. Current System profile: power_save Current profile: Mains save

User disconnects mains E. Current System profile: power_save Current profile: Battery save

User presses power mode button: F. Current System profile: enthusiast Current profile: Cool and breezy

User presses power mode button: User presses power mode button: H. Current System profile: power_save Current profile: Battery save

Features related to this change which should be included

User being able to set multiple profiles for mains and multiple profiles for Battery. As many as the power modes the computer has.

Rationale

  1. Make use of the dedicated power modes button the system already has.
  2. Single button to change performance of the system.
  3. Single button to handle a near non-responding system and starting to respond again (happens 1-3 times a day to me and I do use the button to get temporary quick responsiveness).
  4. The LED count allows confirmation about the profile the user is at (ever started a full screen game and barely could leave because it was hogging the CPU trying to render content but the CPU was limited? I have... Many times...)
  5. (a dependency of a different feature request I'm making)