Commit graph

62 commits

Author SHA1 Message Date
Victoria Brekenfeld
b40839638a fix: Use globals instead of thread-locals
Better support for multi-threaded applications,
especially cosmic-comp rendering in parallel on
multiple threads, each potentially accessing
global configurations such as the active theme,
icon_theme and more...
2024-08-02 20:27:08 +02:00
Ashley Wulber
9292004642 feat: allow preference for dark or light system theme
also converts applet to use preferred system theme
2024-05-14 07:36:08 -04:00
Michael Aaron Murphy
db5d989972 refactor(theme): create Container::ContextDrawer style variant 2024-03-05 08:35:47 -07:00
Ashley Wulber
06b46f455b wip: support desktop portal color-scheme, and accent variables 2024-03-01 21:30:24 -05:00
Ashley Wulber
c390b2614d wip: support desktop portal color-scheme, and accent variables 2024-03-01 21:30:24 -05:00
Ashley Wulber
09cd1a2319 chore(theme): clippy cleanup 2024-02-26 16:50:40 -07:00
Ashley Wulber
efe4ce2f5b refactor: config improvements 2024-01-18 20:19:32 -07:00
Ashley Wulber
06c33dcf06 refactor: optional config subscriptions using dbus 2024-01-02 15:12:14 +01:00
Ashley Wulber
a4d1b1b651 refactor: cosmic-config granular key updates and remove unused generics from cosmic-theme 2024-01-02 15:12:14 +01:00
Ashley Wulber
7cc791a3f5
feat: add support for dark / light mode switching (#178)
* feat: add support for dark / light mode switching and simultaneouscustom light / dark mode themes

* refactor(color-picker): optional initial color and fallback color

* refactor: used FixedPortion for layout of the settings item

This makes sure that the control always has at least the specified portion of the available space

* refactor: make all members of the ThemeBuilder public

* refactor: add and update palette colors

* fix(theme): typo and derive PartialEq for ThemeBuilder

* fix: update color picker usage

* feat: add more variables to the theme

* fix: radius on headerbar

* fix: Theme CosmicConfigEntry impl

* chore: specify rev of taffy

* fix: theme CosmicConfigEntry missing variables

* fix: apply theme type when theme mode changes

* wip: add plus icon to empty color picker button

* chore: fix rev and imports

* refactor(color-picker): allow custom size for the icon

* refactor(color_picker): make color_button public

* update iced
2023-10-16 16:19:04 -04:00
Michael Aaron Murphy
7f0943924a feat(theme): improvements and refactoring of theme module
fix: theme rebase
2023-09-14 01:38:56 +02:00
Michael Aaron Murphy
4e4eeaac12 feat!(widget): rewrite button & icon widget APIs 2023-09-14 01:38:56 +02:00
Michael Aaron Murphy
a387adcb1b chore: improve documentation 2023-08-16 16:59:15 +02:00
Ashley Wulber
20a5227eca refactor: add button components to theme because they have different overlays than others when they are hovered or pressed 2023-08-14 12:31:16 -04:00
Ashley Wulber
1c5a233a98 chore: update toggler colors 2023-08-14 12:31:16 -04:00
Ashley Wulber
ff83f893ef refactor: updates for buttons and checkboxes 2023-08-14 12:31:16 -04:00
Ashley Wulber
f8c25096fd refactor: update existing buttons 2023-08-14 12:31:16 -04:00
Ashley Wulber
6c57e04e36 refactor: introduce thread local THEME variable and distinguish between custom and system theme settings 2023-08-14 12:31:16 -04:00
Ashley Wulber
a618c1b94a wip: calculate theme using new method 2023-08-14 12:31:16 -04:00
Michael Murphy
a223b60a0c
feat!: implement Application API 2023-08-02 11:54:07 +02:00
Ian Douglas Scott
da9b6345d8 Add 'disabled' style for text-input, instead of panicking with todo! 2023-07-26 07:49:28 -06:00
Ashley Wulber
f17d52f37f card widget 2023-07-20 11:11:50 -04:00
Ashley Wulber
850968715c udpate iced to use latest rebase 2023-06-15 20:38:16 +02:00
Ashley Wulber
a8a2e4ad26 feat: theme helper methods 2023-06-12 12:16:31 -04:00
Ashley Wulber
6699aa4756 fix: derive PartialEq for Theme 2023-06-09 18:13:30 -04:00
Ashley Wulber
e056e8c830
Cosmic advanced text (#103)
* wip: update to use cosmic-advanced-text

* use cosmic-advanced-text branch of iced

* fix: line height and spacing for segmented button and update to get svg fix

* fix: spin button styling & spacing

* update iced to fix segmented button border radius

* feat: example improvements

* feat: helper for loading fonts

* feat: add focus style to button

* fix: slider height and iced fixed

* feat: hash icon width and height

* cleanup

* update ci

* refactor: always use lazy feature of iced

* update iced

* update iced

* cleanup & update iced

* update iced: new slider & tiny-skia quad updates

* update iced: fixes for tiny-skia quad rendering with edge case border radius

* re-export iced_runtime & iced_widget

* merge master

* udpate iced

* update iced

* update iced

* update iced

* fix: make rectangle_tracker subscription only return update if there is some

* feat: derive macro for loading a cosmic-config

* feat (cosmic-config): iced subscription

* fix (example): update to rectangle tracker subscription

* fix (cosmic-config)

* refactor(cosmic-config-derive): add support for types with generic parameters

* fix (cosmic-config): feature gate updates for subscription helpers

* feat: support for custom & system themes + move cosmic-theme to libcosmic

* feat: sorta hacky way of creating header bars for libcosmic + update iced to get support for resizable windows in iced-sctk

* update iced

* update and reexport sctk

* fix: applet border radius

* feat (cosmic-theme): add id and name methods

* fix(cosmic-theme): reexport palette from cosmic-theme

* fix(cosmic-config-derive): allow use with reexported cosmic-config

* feat: update iced with fix and refactor applet env vars

* update iced
2023-05-30 12:03:15 -04:00
Ian Douglas Scott
b85c504d72
theme: Use boxed functions instead fn pointers (#99)
This is more general, and necessary if the custom theming is dynamically
generated.

Iced's builtin theme also uses `Box`ed `Fn`, or `Rc` where clone is
required, so this seems reasonable.

Only `Text` is left using `fn`, since it needs to be `Copy`. Hopefully
that can be changed in Iced at some point.

`::custom` methods are added to make these variants a little more
convenient to construct. This replaces a couple `From` implementations,
which are potentially problematic with a generic.
2023-04-28 16:04:57 -07:00
Ashley Wulber
b510b89b98 fix(entry): entry bg alpha typo & border radius fixes 2023-03-03 11:28:32 -05:00
Ashley Wulber
844aeba379 refactor(theme): make Theme Copy 2023-02-28 12:26:38 -07:00
Ashley Wulber
e279566481 fix(button): button link text should be accent color 2023-02-28 12:26:38 -07:00
Ashley Wulber
13aa5f88cb feat(theme): export cosmic-theme & add CosmicContainers to example 2023-02-28 12:26:38 -07:00
Ashley Wulber
cbb21932d8 feat(theme): use cosmic-theme 2023-02-28 12:26:38 -07:00
Ashley Wulber
becdbb6eb3 wip: use CosmicContainer 2023-02-28 12:26:38 -07:00
Ashley Wulber
4eac5c6839 fix(theme): better progress bar colors and update cosmic-theme 2023-02-28 12:26:38 -07:00
Ashley Wulber
d981eb4c4e wip(theme): remove palette 2023-02-28 12:26:38 -07:00
Ashley Wulber
a449a52dee wip(theme): use transparent overlays for component colors where possible 2023-02-28 12:26:38 -07:00
Michael Aaron Murphy
4b7509e1c3 feat(theme): TextInput::Search style 2023-01-30 21:57:24 +01:00
Michael Aaron Murphy
9a095e4d94 feat(divider): add functions for divider style variants of a Rule 2023-01-30 21:57:24 +01:00
13r0ck
59edb3bbf1 Cosmic example: Add Tab navagation 2023-01-06 10:58:42 -07:00
Victoria Brekenfeld
75687acf2f chore: apply cargo fmt 2023-01-04 05:46:24 +01:00
Michael Aaron Murphy
444e389496 refactor!: separate horizontal and vertical segmented button widgets
- Removes the orientation enum in favor of two separate widgets
- Implements the spacing attribute for both widgets
- Demo is updated to display spaced variants of the widgets
2023-01-03 20:29:50 +01:00
Michael Aaron Murphy
ad0443af3f feat(segmented-button): Vertical orientation functionality 2023-01-03 00:12:28 -05:00
Michael Aaron Murphy
bbac6b9bbf feat(segmented-button): Selection style and implementation 2022-12-28 18:34:45 -05:00
Michael Aaron Murphy
3454483345 feat(segmented-button): Configurable background and hover styling 2022-12-28 18:34:45 -05:00
Michael Aaron Murphy
e97c258422 feat: implement SegmentedButton widget 2022-12-28 10:19:03 -05:00
Michael Aaron Murphy
d732f64fb8
feat: Border radius support for buttons 2022-12-23 16:09:17 +01:00
Michael Aaron Murphy
dcbde3b1f2
chore: Apply clippy lints 2022-12-23 15:10:13 +01:00
Jeremy Soller
98815f5131
Add desktop options page 2022-12-20 16:02:44 -07:00
Jeremy Soller
e8291584c4 Add Svg theme for an icon on top of a primary button 2022-12-19 23:56:02 +01:00
Michael Aaron Murphy
6e30394270
chore: Rebase Iced 2022-12-19 17:03:13 +01:00