Commit Graph
50 Commits
Author SHA1 Message Date
Roman Makarov 35f548bc25 feat: support amd deep sleep state (#1035)
* upd deps

* migrate to PowerLevelId

* update snapshot

* cleanup

* fix fmt
2026-05-24 00:24:12 +03:00
Roman Makarov 877f550d37 feat: add custom loader (#1031)
* feat: add custom loader

* remove min_init duration for loader

* slowdown animation
2026-05-22 21:55:18 +03:00
Roman MakarovandIlya Zlobintsev a36039ff98 fix: fix regression with dirty init state (#1027)
* fix: prevent SettingsChanged event during fan_curve_frame init

* use blocking instead

* chore: slightly nicer workaround

---------

Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
2026-05-19 21:44:49 +03:00
Roman Makarov 05094b12fe perf: optimize gui bootstrap (#1023)
* feat: optimize gui bootstrap

* prefer dedicated gpu

* refactor profiles init

* upd

* make loader bigger

* fix imports
2026-05-15 23:20:41 +03:00
Roman Makarov 965f9ced2d feat: remember window size (#1022) 2026-05-14 22:09:32 +03:00
Roman Makarov 79f9532d72 chore: improve p-state reads logs (#1019)
* chore: improve p-state reads logs

* add more logs

* fmt

* use inspects
2026-05-12 20:35:55 +03:00
Roman Makarov 1d5e8306ad feat: consolidate MessageDialogs under generic InfoDialog (#997)
* feat: add error dialog

* use adw prelude::* imports

* wip

* add info dialog

* use the new dialog for version mismatch

* wip

* replace confirmationDialog with info

* some formatting

* migrate ask_settings_confirmation

* refactor

* use ResponseAppearance

* move callbacks to app.rs

* use ref for completed

* refactoring

* use callback with timer to set body text

* remove ResetConfigConfirmed

* simplify api

* remove delayed confirmation logic from info_dialog

* fmt

* replace callback api with appMsg
2026-05-09 17:05:11 +03:00
Roman Makarov b7976754cf chore: add debug log for p-states initial load (#1016)
* add trace log for p-states initial load

* use debug, update wording
2026-05-08 20:29:38 +03:00
Roman Makarov 892b1b927a feat: groom profiles (#986)
* upd new/rename profile

* upd rule window

* upd margins

* switch activation tab to listboxes

* update hooks tab
2026-04-24 23:21:38 +03:00
Roman Makarov 8ea8628732 fix: correctly disable navigation after panic event (#987) 2026-04-24 23:19:21 +03:00
Roman Makarov 28d67af5c7 feat: groom charts dialog (#983)
* groom charts dialog

* move edit buttons to overlay

* remove frame

* use "natural" backgrounds for plots

* remove unused css

* remove background fill in thermals chart

* return background

* move edit chart buttons to top-right corner

* revert vf_curve.rs changes
2026-04-24 23:08:58 +03:00
Roman Makarov 3e9add3172 feat: groom process monitor (#984) 2026-04-24 10:39:17 +03:00
Roman Makarov 6262c313f0 feat: groom features window (#985) 2026-04-24 10:38:15 +03:00
Roman Makarov ab83c4c281 feat: rework preferences popover (#972)
* implement preferences dialog

* move stats update interval to sidebar

* fmt

* add about dialog

* fix build

* close MenuPopover on element click

* center update_interval number

* move stats_update_interval to preferences_dialog
2026-04-23 22:39:32 +03:00
Roman Makarov 673787959f fix: apply no_scroll fix to SpinButtons on thermals page (#981) 2026-04-23 22:26:23 +03:00
Roman Makarov 2907bad7de chore: update PageSection api to handle better hide_visible_container prop (#970)
* feat/move-cache-info-to-dedicated-block

* rollback the cache block
2026-04-23 21:26:06 +03:00
Roman MakarovandIlya Zlobintsev 618072afd1 feat: remove some redundant category titles (#980)
* remove some titles, move how-historical-charts to header

* align cards with gpu picker

* remvoe unused imports

* chore: update graphs button text

---------

Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
2026-04-23 21:21:24 +03:00
Roman Makarov 5959e5e89d fix: incorrect scrollbar position when clamped, better spacing around content (#971)
* fix: fix incorrect scrollbar position when clamped

* set set_tightening_threshold

* significantly reduce margins and increase default width

* remove spacing on adjustment_row and rollback window width to 1100
2026-04-22 00:36:52 +03:00
Roman Makarov e8d63e83e1 feat: modernize overdrive dialog UI (#975)
* update overdrive dialog ui

* save parent
2026-04-19 19:03:01 +03:00
Roman MakarovandIlya Zlobintsev 46eb95b7e2 feat: use adwBanner to show enable AMD OC message (#965)
* feat: use adwBanner to show enable AMD OC message

* add hyperlink and remove mock

* chore: change wording slightly

---------

Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
2026-04-19 17:58:19 +03:00
Roman Makarov 773a5eb44e feat: sync selected page title into content's Toolbox header (#964)
* feat: sync selected page title into content's Toolbox header

* fmt

* update translations
2026-04-18 20:37:48 +03:00
Roman Makarov e01d77e21e fix: remove scale decimals in vf curve (#963) 2026-04-18 17:30:04 +03:00
Roman Makarov 3b4d262731 chore: improve sidebar look (#962) 2026-04-18 16:43:07 +03:00
Roman MakarovandIlya Zlobintsev b7a75fb9cf feat: move header gpu picker to dedicated component (#934)
* feat: enable adwaita by default

* upd readme

* bump feature gate to 1.5

* feat: always build with adwaita

* wip: add breeze styles (not loaded yet)

* feat: theme selector

* feat: better theme selector

* chore: cleanup readme

* Update README.md

* chore: drop old flatpak theme override

* fix: set higher priority for custom css

* use toggle for the theme selection

* upd settings popover spacing/align

* fix: bump bindgen to build on clang 22

* fix levelbar render

* fix header

# Conflicts:
#	lact-gui/src/app/header.rs

* remove debug flag

* basic OC page fixes

* clocks page fixes

* fmt

* use less aggressive border radius

* move gpu selector to portable component

* wip

* upd styles

* use custom widget for gpu selector popup

* wip

* ugly-wip

* use template labels

* move ReloadData call

* rename gpu_index

* remove default adw

* use GPUListItem for GpuPicker main body

* keep id even for selected unit

* remove default pointer

* fnt

* remove autohide flag

* move reload logic app init

* reduce width request for profile_row

* wip

* move to dropdown

* refactor

* dedupe dumb component markup. move dropdown to the view

* fix align

* fix model

* simplify init

* refactor

* fmt

* replace unsafe access with tree walking

* add gpu type sub-label

---------

Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
2026-03-22 23:32:50 +02:00
Roman MakarovandIlya Zlobintsev 67818515cc feat: restrict content max width (#944)
* feat: restrict content max width

* remove empty line

* fmt

* wrap scrollwindow in clap instead of other way around

---------

Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
2026-03-21 12:38:36 +02:00
Roman MakarovandIlya Zlobintsev caf279916b feat: add level bar animation (#911)
* add animation

* move animation into dedicated module

* upd comments, add type for callback to fix clippy

* add basic tests

* fmt

* clean up comments

* switch to linear animation

* fix: bump bindgen to build on clang 22

* merge set_level_value

* migrate to adw Animation

* clean up

* fix typo

---------

Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
2026-03-20 09:39:22 +02:00
Roman MakarovandIlya Zlobintsev b9cf30ba87 feat: groom adwaita build (#930)
* feat: enable adwaita by default

* upd readme

* bump feature gate to 1.5

* feat: always build with adwaita

* wip: add breeze styles (not loaded yet)

* feat: theme selector

* feat: better theme selector

* chore: cleanup readme

* Update README.md

* chore: drop old flatpak theme override

* fix: set higher priority for custom css

* use toggle for the theme selection

* upd settings popover spacing/align

* fix levelbar render

* fix header

# Conflicts:
#	lact-gui/src/app/header.rs

* remove debug flag

* basic OC page fixes

# Conflicts:
#	lact-gui/src/app/page_section.css
#	lact-gui/src/app/page_section.rs

* clocks page fixes

* fmt

* use less aggressive border radius

* add margins to settings popover separators

* fix: bump bindgen to build on clang 22

* remove autohide

---------

Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
2026-03-19 19:13:31 +02:00
Roman MakarovandIlya Zlobintsev 3fbfb24d6e feat: enable adwaita by default, add theme selector and detection (#931)
* feat: enable adwaita by default

* upd readme

* bump feature gate to 1.5

* feat: always build with adwaita

* wip: add breeze styles (not loaded yet)

* feat: theme selector

* feat: better theme selector

* chore: cleanup readme

* Update README.md

* chore: drop old flatpak theme override

* fix: set higher priority for custom css

* use toggle for the theme selection

* upd settings popover spacing/align

---------

Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
2026-03-15 20:51:42 +01:00
Roman MakarovandIlya Zlobintsev ec0630c819 fix: regression in clocks_frame widget (#928)
* fix regression in clocks_frame widget

* refactor: use old logic for get_commands since it's shorter

---------

Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
2026-02-28 11:56:42 +02:00
Roman Makarov 3b8d3359c3 feat: add support for nvidia acoustic target temp (#917)
* upd nvml

* wip

* don't set target temp if none is provided and reset

* refactor

* naming

* cache current init target temp in config for pseudo-reset

* cleanup

* fmt/tests

* pass gpu config to cleanup

* upd capture_initial_pmfw_values
fix clippy warnings

* remove redundant read

* remove redundant config read

* clean up

* refactor reset_pmfw config lock

* remove initial_target_temp from config

* return reset_pmfw_settings back to intel

* revert the flags override

* remove diff noise

* remove deprecated value from default config
2026-02-28 10:59:27 +02:00
Roman Makarov d1351fb27d feat: improve gpu stats UI (#903)
* 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
2026-02-26 19:45:20 +02:00
Roman MakarovandIlya Zlobintsev d39b963ca3 feat: support multi-column layout for adjustment-rows lists (#892)
* move box styles

* split into 2 lists

* wrap into flow-box

* clean up

clean up

clean up

clean up

replace get_factory with less verbose set_clock method

* fmt

* split Adjustment rows into multiple groups

* try columns

* wip

* finish markup

* move nvidia OC info popover

* fmt

* remove comments from schema

* fmt

* refactor

* add adjustment groups

* change warning text

* upd spacing

* move AdjustmentGroups

* refactor: make AdjustmentGroup a factory component, create them dynamically

* fix layout

* chore: drop unused param

* remove misleading comment

---------

Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
2026-02-21 22:36:29 +02:00
Roman Makarov 02037ddea6 fix: tolerate unsuccessful clock offset reset (#918) 2026-02-21 14:09:55 +01:00
Roman Makarov b4740fdeca feat: improve pstates UI (#896)
* move state_row to dedicated component

* remove selectable behavior

* highlight active pstate

* hide checkboxes when not configurable
use monospace for text

* hide pstates table when there is no data

* prevents container width jumps when active row change

* add page_section_expander and wrap PowerStatesFrame into it

* move active indicator to the beginning and use opacity instead of visilibity to keep layout stable

* improve listbox captions styles

* remove states_expanded state from PowerStatesFrame

* remove no longer relevant styles

* improve margins

* move SelectionMode to view, kinda

* clean up

* align expaner label

* organize imports

* hide active p-state indicator if non is active

* use bindings for configurable
update label

* fix PowerStateRow props visibility

* move bindings inits

* fix set_sensitive on enable-pstate-config checkbox
2026-02-15 11:55:53 +02:00
Roman Makarov 579a04c14d feat: add css loader (#891) 2026-02-07 15:38:21 +02:00
Roman Makarov eebd44fe32 chore: upd time to 0.3.47 (#901)
* chore: upd time

* upd flatpak lockfile
2026-02-07 15:06:04 +02:00
Roman MakarovandIlya Zlobintsev 38e3e8e486 feat: disable scroll on adjustment row inputs (#879)
* feat: disable scroll on adjustment row inputs

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* rename controller factory

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* add debounce for spin button

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* fmt

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* feat: forward scroll events to parent ScrolledWindow

* chore: drop debounce period due to validation issue

---------

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>
Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
2026-02-01 23:28:59 +02:00
Roman Makarov 05c85cd111 feat: refactor formatters and add gui tests (#883)
* move formatters to formatting file and add tests

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* implement feedback

* fmt

* fix i18n mock

* fmt

* move tests

* trim .0 differently

---------

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>
2026-01-31 21:24:33 +02:00
Roman MakarovandIlya Zlobintsev 02277fe27f chore: update rust to 1.93.0 (#876)
* chore: update rust to 1.91.1

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* feat: update to rust 1.93, fix warnings

* fix: bump nightly version used for sanitizers

* fix: bump generated-sources

* fix: exclude sanitizer tests on non-lib targets

---------

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>
Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
2026-01-31 19:46:13 +02:00
Roman Makarov 60be0343dc fix: deduplicate vulkan device (#884)
* fix: remove duplicated vulkan device entry

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* fmt

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* add is_flatbox check

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* add link

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* change comment

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

---------

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>
2026-01-31 18:31:23 +02:00
Roman Makarov 9847edcbd8 chore: add renovate for dependency updates (#875)
* add renovate

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* use github app token

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* enable platform_commit

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* pass repo to renovate workflow

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* pass repos via env var instead

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* use different preset

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* renovate: ignore pkg/images

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* try to parse rust

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* only parse .github

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* set default log level to info

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* fix grammar

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* move conf

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* Remove configurationFile from Renovate GitHub Action

Removed configurationFile parameter from Renovate action.

---------

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>
2026-01-26 23:45:01 +02:00
Roman Makarov dc45c54b6d feat: update apply toolbar and move scrollwindow to apps.rs (#861)
* update the toolbar look and move the scrollbarwindow out of the page

* upd margin on action-bar

* restore root_box ref

* set_margin_bottom: 60 for less invasive apply-toolbar

* fix page height and paddigns
2026-01-25 19:34:21 +02:00
Roman Makarov e28f16c4ee fix: use pstate index instead of list index to set active p-state (#867)
* fix: use pstate index instead of list index to set active p-state

* rename var
2026-01-24 12:56:34 +02:00
Roman Makarov 9ddc98b9cf feat: add crash page and handle panic (#858)
* add crash page and handle panic

* add i18N and remove debug button

* fmt

* fmt
2026-01-17 20:19:25 +02:00
Roman Makarov 2b7c91f74c feat: improve spacing and margins on gpu/profile select (#860)
* improve spacing/margins in profiles popup

* improve spacing/margins in profiles popup

* move Label from Frame

* fix empty popup

* fmt
2026-01-17 17:44:12 +02:00
Roman Makarov b1ea5215a3 feat: update defaults for PageContent and InfoRow (#854)
* 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
2026-01-17 17:14:31 +02:00
Roman Makarov 8cf56f2128 feat: oc page move buttons to pageContent header (#853)
* implement append_header

* move show-historical-charts button to the header

* oc page: update action buttons

* remove color from action reset buttons

* fix weird broken fmt

* make oc reset button red again

* fmt
2026-01-11 13:55:47 +02:00
Roman Makarov 07f6a92c7c fix: replace broken icons (#851) 2026-01-09 00:10:58 +02:00
Roman Makarov 2727958ca8 feat: add fan speed value on OC page (#848)
* add fan speed on OC page

* oc-page: hide fan-speed when there is value

* thermals-page: hide fan-speed when there is value

* Revert "thermals-page: hide fan-speed when there is value"

This reverts commit 8a4d7ba2a6.

* switch from append to append_child and move visibility check
2026-01-08 20:31:23 +02:00
Roman Makarov 582ba12cd5 fix: replace removed checkmark icon in vulkan info (#849)
Hi,
I wanted to tinker a bit with UI and noticed that the icon looks weird. Apparently it was removed.
https://bugzilla.redhat.com/show_bug.cgi?id=2351354
2026-01-07 22:58:04 +02:00