Commit graph

74 commits

Author SHA1 Message Date
Michael Aaron Murphy
e7b7c3a126 improv: enable dbus-config by default, but only for Linux targets 2025-08-20 17:31:26 +02:00
Ashley Wulber
1b988ed1e9 fix(theme change): make sure that all theme variables are in sync after a change 2025-07-24 12:59:36 -06:00
Ian Douglas Scott
b8eaad2a7e
feat: add dbus_connection() method to app::Application trait 2025-07-21 22:59:09 +02:00
Ashley Wulber
0943f131c2 refactor: track focus chain 2025-07-16 22:23:13 +02:00
Ashley Wulber
50367b96e3 fix(headerbar): handle zero length segments 2025-07-08 23:07:54 +02:00
Ashley Wulber
00ba16fe01 refactor(menu): fallback behavior for non wayland windowing system 2025-06-12 10:21:45 -06:00
Josh Megnauth
944c6761f7 fix(windows): Mingw doesn't support trim
Closes: #872
2025-05-29 07:28:38 +02:00
Ashley Wulber
7151638f51 fix(theme mode subscription): avoid checking the keys because this interferes with the first value from the subscription
the check should be redundant, because we also later check whether the value has changed or not anyway
2025-05-01 21:40:35 -06:00
Ashley Wulber
bbcd874d9c refactor: responsive headers should allow some options 2025-04-15 17:02:32 -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
Ashley Wulber
337b80d4ca
feat: Tooltips and Better Surface Management 2025-03-14 16:56:21 +01:00
Michael Aaron Murphy
1f826e38b9
improv: call malloc_trim after view and update calls 2025-02-19 18:13:24 +01:00
Michael Aaron Murphy
76348bb985
chore: handle more sources of excess cosmic-config logs 2025-02-19 16:57:28 +01:00
Ashley Wulber
aaadf7199e refactor: add is_daemon setting
The app can request to be treated by iced as a daemon so it can perform cleanup when its main window is closed.
2024-11-14 11:01:54 -05:00
Eduardo Flores
d8357d0ea3
refactor: about page as a widget 2024-11-10 02:42:16 +01:00
Eduardo Flores
8d4afb90da
feat(app): add context view method for creating About views 2024-11-06 03:36:33 +01:00
Ashley Wulber
07763aca8e refactor: allow resetting main window id to None 2024-10-21 17:33:10 -06:00
Ashley Wulber
cf3ba4ca07 refactor: allow resetting the main window id 2024-10-21 17:37:51 -04:00
Ashley Wulber
0491c4baaa libcosmic updates 2024-10-18 14:04:39 -04:00
Michael Aaron Murphy
9e064e7fa0 feat: configurable fonts 2024-10-05 01:47:37 +02:00
Jeremy Soller
e56a94b783 feat(app): allow context drawer to be laid out next to content 2024-09-20 11:31:29 -06:00
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
Michael Aaron Murphy
5474232796 fix: widget unfocus on mouse click 2024-07-22 07:05:47 +02:00
Ashley Wulber
d35cc71b90
feat(applets): add overflow support 2024-07-16 17:15:22 +02:00
Michael Aaron Murphy
e04c9eaf6d fix: window menus now supported by windows using wayland feature 2024-07-10 16:55:28 +02:00
Ashley Wulber
80879213af fix: use the user provided theme even when setting system theme
the user may have set a preferred value which should be used.
2024-05-30 13:48:16 -04:00
Michael Aaron Murphy
6720b8277c feat: CosmicTk::header_size density config 2024-05-29 06:25:15 -06:00
Ashley Wulber
428dafe37c fix: retry portal when it fails, and only apply theme changes when there is a relevant change 2024-05-22 15:41:56 -04: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
Jeremy Soller
ac95b571ec feat: allow on_app_exit to override closing the application 2024-05-13 17:39:21 +02:00
Jeremy Soller
42cfdbf585
fix(app): restore on_context_drawer functionality that was removed in 59a913c 2024-04-26 10:22:51 -06:00
Michael Aaron Murphy
59a913c15d feat!(segmented_button): Add context menu support and integrations 2024-04-18 17:18:53 +02:00
Michael Aaron Murphy
4154428a63 feat(config): add icon theme property to CosmicTk config 2024-03-18 09:51:37 -06:00
Ashley Wulber
e47684ffdb refactor: icon styling and headerbar icon styling
Headerbar icons are transparent when their window is not focused, but otherwise share the same style as icons with selection. This updates the icon styles to match figma when selected.
2024-03-11 16:26:48 -04:00
Michael Aaron Murphy
4f07d05ee8 feat(config): add CosmicTk config for configuring window controls 2024-03-05 08:36:43 -07:00
Ashley Wulber
d9228d78c6 refactor: single instance subscription 2024-03-01 21:30:24 -05: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
3e68e39366 refactor: allow opting out of automatic keyboard navigation 2024-03-01 15:22:28 -05:00
Ashley Wulber
08b2e1ca38 cleanup 2024-02-14 11:05:24 -05:00
Jeremy Soller
b430656966 Format 2024-02-13 10:38:35 -07:00
Jeremy Soller
3c5dcecf2b Changes for multiple Application support
- Add Application::main_window_id to allow ids other than MAIN
- Make Cosmic and Cosmic::app public to allow custom use
2024-02-13 10:38:35 -07:00
Ian Douglas Scott
cc8033d74b
feat(header_bar): Show window menu on right click
With this, apps like cosmic-term require no changes to show the
compositor window menu when the header is right clicked.
2024-02-13 17:10:04 +01:00
Jeremy Soller
02cee1d805
fix: maximize instead of fullscreen
This fixes interactions with the window manager including dodging
exclusive zones, correctly sharpening corners when the window manager
sets the maximized mode, and correctly toggling the maximized state when
either F11 or the maximize button are clicked.
2024-02-12 17:53:59 +01:00
Ashley Wulber
045dca649a chore: add doc comment to SurfaceClosed 2024-02-06 11:28:27 -05:00
Ashley Wulber
054b93990b refactor: call the close requested method 2024-02-06 11:28:27 -05:00
Ashley Wulber
f4ad098647 wip: update to use latest iced 2024-02-06 11:28:27 -05:00
Ashley Wulber
efe4ce2f5b refactor: config improvements 2024-01-18 20:19:32 -07:00
Ashley Wulber
994e93d6d2 fix: better handling of secure inputs 2024-01-17 14:57:06 -07:00
Jeremy Soller
68c760e652 Allow apps to return a command when context drawer is toggled 2024-01-09 12:07:38 -07:00