Commit graph

81 commits

Author SHA1 Message Date
Cheong Lau
bd438a8581 perf: reduce memory allocations
This also changes `widget::column::with_children` and
`widget::row::with_children` to take an `impl IntoIterator` instead
of a `Vec`, like the `iced` variants of these functions do.

This shouldn't be a breaking change since passing in a `Vec` will still
compile and function exactly as before.

(Using `iced::widget::Column::from_vec` or
`iced::widget::Row::from_vec` isn't possible, since the elements of the
`Vec` aren't checked, so the size of the resulting `Column` or `Row`
won't adapt to the size of its children. Perhaps a new function could
be added to mirror `iced`'s?)
2025-10-22 04:30:57 +02:00
Cheong Lau
a27bb5e05d chore: apply clippy suggestions 2025-10-05 04:40:51 +02:00
Vukašin Vojinović
ea349aca82 chore: use std::syncLazyLock
Also migrates workspace members to Rust 2024.
2025-09-03 21:54:46 +02:00
Vukašin Vojinović
b72b15d719 chore: update dependencies 2025-09-03 21:54:46 +02:00
Ashley Wulber
364c0b9381 refactor(theme): .65 opacity for disabled button text 2025-08-26 15:22:22 -06:00
Ashley Wulber
94ee4e1915 theme: fix disabled button 2025-08-26 13:18:23 -06:00
Ashley Wulber
ba2f4b193a fix(theme): control tint colors need to be reversed for light theme 2025-08-20 17:32:49 +02:00
Ashley Wulber
05874e8ea2 fix: theme updates 2025-07-29 16:18:50 -04:00
Ashley Wulber
8c4cb2e54f chore: theme color updates 2025-07-21 22:59:30 +02:00
Vukašin Vojinović
ec7a531539 chore: use with_alpha() where applicable 2025-07-21 10:52:22 -04:00
Ashley Wulber
7748e59ae6 refactor: better method of implementing tinted control colors 2025-07-17 17:04:04 -04:00
Ashley Wulber
0041fc2d12 Revert "refactor: introduce new palette colors for control tint"
This reverts commit b8f9dc6cb0af2115ff0a0ec2ff9d35076ace16b8.
2025-07-17 17:04:04 -04:00
Ashley Wulber
364af2bcdf refactor: introduce new palette colors for control tint
neutral colors will not be tinted anymore
2025-07-17 09:54:46 -04:00
Michael Aaron Murphy
8cf372c9b9
perf: inline public getters/setters, and use non-generic inner functions
To reduce compile-times and avoid some overhead to binary size, this will modify some of our
generic functions to use non-generic inner functions where possible. The inner functions are
marked carefully with `#[inline(never)]` to prevent being inlined by LLVM at their callsites

While looking for generic functions to optimize, I have also taken the opportunity to annotate
public non-generic getters and setters with `#[inline]` to ensure that LLVM will inline them
across crate boundaries. By default, only generic functions are automatically inlined, and
only when enabling fat LTO are constant functions reliably inlined across crate boundaries.
2025-03-21 13:31:34 +01:00
Michael Aaron Murphy
92b2756e26
chore: update dependencies; including ron 0.9 2025-03-21 13:20:45 +01:00
Ashley Wulber
508753ae69 feat: high contrast theme updates 2025-03-10 16:10:32 +01:00
Ashley Wulber
3f25af87a3 refactor: small widget container colors 2025-02-17 15:13:16 +01:00
Ashley Wulber
25bf8f60cc feat: improve accent_text for low contrast accent colors. 2025-02-17 15:13:16 +01:00
Victoria Brekenfeld
fdfd80f8b1 chore: Update ron to 0.9 2025-01-22 15:50:44 +01:00
Ashley Wulber
aeb87f8886 refactor: backup non-cosmic gtk css files 2024-12-13 15:34:31 -05:00
Vukašin Vojinović
478f3ead75 fix(palette): remove deprecated colors 2024-10-18 14:04:39 -04:00
Vukašin Vojinović
33c60ed87a fix(theme): update color palette 2024-10-18 14:04:39 -04:00
Vukašin Vojinović
8b37f658e2 fix(small_widget_divider): fix alpha value
This makes this color match the designs, and thus fixes the divider color in the horizontal `segmented_button`.
2024-10-08 17:09:26 -04:00
Vukašin Vojinović
e645dee2f0 fix(header_bar): increase compact height
Increases Compact header height to 40 (from 36), to better accommodate larger widgets (e.g. the search bar). This makes it distinct from the SSD header, which is now addressed by the `_` match case.
Also makes the horizontal header padding fixed at 8, so that the app window padding can also be 8.
2024-10-03 15:39:00 +02:00
Vukašin Vojinović
0a34660a80 fix: move density to cosmic_theme 2024-09-23 12:40:22 -04:00
Piotr
b15ae66ac8 fix: dont omit default preference for light theme 2024-08-26 04:14:35 +02:00
Ashley Wulber
cfa1adaf46 fix: return error if vscode config fails to parse, instead of overwriting 2024-07-17 19:48:34 +02:00
Ashley Wulber
80b7049584 Revert "Theme GTK3/4 window controls to match COSMIC theme (#464)"
This reverts commit 9f017de1fa.
2024-06-14 23:58:24 +02:00
nabrious0
9f017de1fa
Theme GTK3/4 window controls to match COSMIC theme (#464)
* Update gtk4_output.rs

* get headerbar border-radius from theme

---------

Co-authored-by: Ashley Wulber <48420062+wash2@users.noreply.github.com>
2024-05-28 09:49:10 -04:00
Ashley Wulber
8b0bb6a677 fix(theme): gtk3 css doesn't allow hex colors with alpha 2024-05-25 06:40:53 -06:00
Ashley Wulber
e302e9505c fix(theme): include alpha value in to_hex 2024-05-21 10:28:11 -04:00
Ashley Wulber
cac3d0b5df chore(theme): set window.autoDetectColorScheme 2024-05-13 11:26:15 -04:00
Ashley Wulber
0ffe3f3a3e cargo fmt 2024-05-13 11:26:15 -04:00
Ashley Wulber
c1cfa024d6 feat: basic vscode theme export support 2024-05-13 11:26:15 -04:00
Eleven
084ce30478
feat(theme): GNOME sessions get dark theme preference from gsettings 2024-04-26 16:38:32 +02:00
Michael Aaron Murphy
14bd633356 improv(theme): theme generation improvements 2024-04-24 18:23:56 +02:00
Michael Aaron Murphy
950a1a54f5
fix(theme): increase dark theme lightness threshold to 91 so that the default theme matches designs 2024-04-23 10:56:19 +02:00
Michael Aaron Murphy
1adeadacf6
fix(theme): dark theme generation affected by previous commit 2024-04-22 23:52:29 +02:00
Michael Aaron Murphy
68becf32c2 fix(theme): light theme surface lightness is inverted
In Figma, themes with background lightness above 88 have their surfaces
darkened; whereas below 88 have their surfaces lightened. This fixes custom
light theme surfaces being unusually dark against a darker background.
2024-04-22 21:04:20 +02:00
Ashley Wulber
537486a4ab fix(theme): divider color 2024-04-18 18:09:48 -04:00
Ashley Wulber
1575aa267c fix(theme): add # to light / dark colors when writing gtk4 css variables 2024-03-19 23:56:37 +01:00
Ashley Wulber
1b62b9686c refactor(theme): use symlink for both gtk4 and gtk3 css and add method for reset 2024-03-18 14:49:40 -06:00
Ashley Wulber
e18e304e0f feat: add method for applying gtk color variables to their respective css files 2024-03-18 14:49:40 -06:00
Ashley Wulber
6696a170c5 cleanup: remove TODOS 2024-03-18 14:49:40 -06:00
Ashley Wulber
7ad48afcbd feat: export palette colors as named colors 2024-03-18 14:49:40 -06:00
Ashley Wulber
d6b87a0222 chore: update gtk4-output for the theme to set adwaita named colors
This is still a bit incomplete, and some apps use their own custom variables as well, for example the text editor.
2024-03-18 14:49:40 -06:00
Ashley Wulber
d4b5c4f198 chore: update theme defaults 2024-03-08 11:48:12 -05:00
Michael Aaron Murphy
f794c53277 refactor(cosmic-theme): Get ThemeMode version from cosmic config derive 2024-03-05 08:36:43 -07:00
Michael Aaron Murphy
912f0665ef refactor(cosmic-theme): reorganize background, primary, and secondary container code 2024-03-05 08:35:47 -07:00
Michael Aaron Murphy
ed03565c0d chore(cosmic-theme): fix linter warnings in derivation module 2024-03-05 08:35:47 -07:00