* wip
* clean up
* upd comment
* fix vfcurve flip to enabled
* fmt
* rename old curve_is_configured
* move enable edit checkbox from VFCurve to OC panel
* cleanup tests
* set offset 0 on curve reset
* add defauilt to freq_offset
* bail if vf_curve is invalid or not editable
* hide apply/default buttons on ro curve
* fix curve margins
* vfcurve - show info that editing is disabled
* move top vf curve ceiling a bit
* center vf-curve-editing label
* fix flipping edit vfcurve checkbox
* easen up warning
* add abs to offset migration
* fix point_min_offset_mhz calculation
* don't let offset to be same or bigger than basefreq
* fix test
* feat: WIP service setup GUI
* fix: avoid crash when closing dialog with app already running
* wip
* feat: make it more usable
* wip logs
* feat: working logs display
* feat: use new dialog for version mismatch
* chore: cleanup
* fix: tcp functionality
* feat: handle setup errors
* perf: avoid refetching system info
* fix test
* feat: add detach/reattach option to temporarily ignore a GPU
* chore: require explicit gpu id arg for detach
* feat: keep NVML and NvAPI behind a refcount instead of global init
* fix: clippy
* update nvml bindings
* add basic power-mizer get/set
* upd generated-sources
* simplify schema
* finish rename
* gui: drop nvidia_power_mizer_modes
* controller: remove get_nvidia_power_mizer_info
* minor clean-ups
* hacky fix of tests
* use correct repo url for nvml-wrapper
* controller: rollback to Auto when no value is supplied
* gui: handle set_model reset on each tick
* chore: extremely minor cleanup
---------
Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
* feat: add hold/release cookie mechanism for profile state management
Clients that need to temporarily activate a profile had no safe
way to restore the previous state on cleanup, and concurrent clients
would silently overwrite each other's profile choice.
Introduce HoldProfile/ReleaseProfile commands modelled after
power-profiles-daemon's HoldProfile/ReleaseProfile API. Acquiring a
hold activates the requested profile and returns an opaque cookie; the
previous state is saved automatically. Releasing the cookie restores
it. Multiple concurrent holds are supported with last-write-wins
semantics — releasing the active hold falls back to the next most
recent one, and releasing the last hold restores the original state.
If the client connection drops without releasing, the hold is released
automatically.
* fix: extract type aliases for profile hold fields
* refactor: remove requester field from HoldProfile request
* refactor: improve hold lifecycle signalling
* feat: filter out "non-primary" temperatures for immediate display, move them to a popdown
* fix: use different item based on presence of secondary sensors
* feat: WIP nvidia VF curve support
* feat: drag whole curve by holding shift
* feat: add right click menu to flatten curve
* feat: more controls on the VF curve, add button to open editor
* feat: add locked clocks indicators to vf curve
* chore: hide editor button on no curve
* feat: make visible curve range configurable
* fix: disallow right click menu when readonly
* chore: button sizing
* gpu-stats: split into 2 sections
* wip
* move clocks to the top
* use p-states to calcualte min/max
* re-arrange layout
* add css
* remove % sign from fmt_fan
* clean up
* make spacing more consistent
* refactor clocks level
* fix typo and remove unnecessary margin
* fix warning
* switch stats and leverbars
* add default width
* upd stat minwidth
* add GpuStatsSectionMsg
* add a test-case for fmt_human_bytes with 90mb and GB precision
* upd style for the power limit widget
* re-ogranise content of gpu stats block
* rework InfoRow component to use dim labels
* update PageSection
* page_section: set the default padding
* migrate custom PageContent children to InfoRow
* add info_row_level component
* fix fmt
* page_section fmt
* use css consts from relm
* make info_row parent of info_row_level
* fix fmt
* set max_children_per_line to 2
* upd info page to fit 2 rows
* upd software page
* software_page: upd opencl and handle set_visible correctly
* migrate features and extensions to separate clickable rows instead of buttons
* fmt
* rework cache-row to fit current design
* move cache-info InfoRow into main FlowBox
* add frame with accent color for non-adw build
* remove offsets from the level_bar to
* "fix" warning
* remove recolor for the frame border
* thermals page: move InfoRows into flowBox
* add warning css on oc-warning
* add margin to pstates to follow the margins of other elements
* page_section: move styles to macro, remove container class from thermals_page widget
* fmt
* fix thermals Stack container
* remove unused import
* remove some checker exceptions from setters on InfoRowExt
* add spacing 5 between info row value and label
* fix warnings and use view macro on info_row_level
* set static width for the main container
* add hover effect clickable infoRows
* set set_max_children_per_line: 4
* use include_str! to load css
* set `set_max_children_per_line` to 4 consistently
* feat: add extra temperature and voltage readings on AMD
* fix: use correct temperature scale
* fix: correct temperature values
* feat: add additional clockspeed measurements
* chore: adjust labels
* fix: typo in name