Commit graph

23 commits

Author SHA1 Message Date
Stephan Buys
690f1d331d
feat(desktop): add DesktopEntryCache and unit tests for known problematic entries 2025-11-13 16:02:12 +01:00
Ashley Wulber
d40e9fa4e4 fix: support NotShowIn 2025-10-07 21:59:45 +02:00
Cheong Lau
a27bb5e05d chore: apply clippy suggestions 2025-10-05 04:40:51 +02:00
Joshua Megnauth
46cbce033b
fix(header_bar): Windows build fix 2025-06-26 06:36:52 +02:00
Michael Aaron Murphy
8edbbec1e8
fix!(desktop): support launching terminal-based desktop entries 2025-06-11 09:26:18 +02:00
Ashley Wulber
76c7100ef4 refactor: add only_show_in filter for loaded apps 2025-04-30 12:26:08 -04:00
Michael Aaron Murphy
9b9600a5d6
fix(desktop): matching the wrong desktop enrties and not getting icons 2025-04-04 01:56:19 +02: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
Ashley Wulber
26ea70a6bd chore: update fde 2025-03-12 23:40:31 +01:00
Eduardo Flores
b2ce4ccea2 fix: add cfg for unix only packages 2024-12-26 15:31:54 +01:00
Jeremy Soller
9c62f19e4b Make use of systemd scopes optional 2024-10-16 16:10:37 -06:00
Victoria Brekenfeld
c9f8f48537 Revert "fix: new matching algorithm for desktop entries"
This reverts commit 9519b86ec9.
2024-08-13 09:12:50 -06:00
Ian Douglas Scott
82fb781746 Use tokio to asynchronously read from pipe
Avoids either `spawn_blocking`, or potentially blocking call in an async
function (though it shouldn't block for long).
2024-07-26 12:01:40 -07:00
Ian Douglas Scott
621de17cad Call systemd StartTransientUnit what starting app
This is needed for things like `xdg-desktop-portal` to get the app ID
from a pid, in unsandboxed apps.

https://systemd.io/DESKTOP_ENVIRONMENTS documents this, and this sets
things similarly to how Gnome does. Which should be good for now.

Making `spawn_desktop_exec` an `async` function is reasonable given it
is called in `async` functions in
`cosmic-app-list`/`cosmic-launcher`/`cosmic-applibrary`.
2024-07-26 12:01:40 -07:00
wiiznokes
9519b86ec9
fix: new matching algorithm for desktop entries 2024-05-31 05:05:36 +02:00
Ryan Brue
64ecb0ea48 feat: add public function to determine app id matches 2024-03-12 01:36:22 -04:00
Ashley Wulber
6754aeb0dc fix: allow filtering out desktop entries with NoDisplay=true 2024-03-11 17:20:33 -04:00
Ashley Wulber
6f6eeec0e7 fix: de fallback name check 2024-03-11 10:51:22 -04:00
Ryan Brue
cbda93a514 fix: lowercase startup_wm_class, name fallbacks 2024-03-11 10:24:26 -04:00
Jeremy Soller
be00b0ec4b fix(desktop): split categories by semi-colon terminator 2024-03-04 09:15:09 -07:00
Jeremy Soller
0a7327c91a
Add mime types to desktop entry data 2024-03-01 11:53:26 -07:00
Victoria Brekenfeld
bf0508816b libcosmic: Add desktop-file helpers 2024-01-31 15:10:32 +01:00