Commit graph

499 commits

Author SHA1 Message Date
Michael Aaron Murphy
eda8291678
fix(mime_app): track mime type app default by mime 2026-06-11 17:54:12 +02:00
Hojjat
4ac289f40a improv: lazy load app icons for mime apps 2026-06-09 16:51:21 -06:00
Michael Aaron Murphy
53cfeebe57 feat: improve mime app detection & do it faster 2026-06-02 09:52:14 -04:00
Hojjat
355423a027 chore: fixes after libcosmic update 2026-05-26 14:14:02 -04:00
Oleg Bespalov
03e537abad feat: add text preview for thumbnails and gallery
Preview text files (≤8 MiB) in grid and gallery: read up to 256 KiB,
handle invalid UTF-8, skip empty files. Add unit tests.

Lets users peek at .txt without opening; size caps avoid blocking the UI.
2026-05-15 14:09:14 -06:00
Jeremy Soller
048ed3187b
Merge pull request #1793 from pop-os/icons
Fix small file icons from alternative icon themes
2026-05-12 09:13:49 -06:00
Jeremy Soller
3548615d40
Merge pull request #1777 from norepro/add-clear-recents-button
feat(files): Add button to clear recents
2026-05-11 15:04:34 -06:00
Michael Aaron Murphy
095940e9a9
fix: small grid file icons 2026-05-06 16:40:30 +02:00
Michael Aaron Murphy
6946e95c88
fix: prefer SVG file icons 2026-05-06 16:40:30 +02:00
Michael Aaron Murphy
cd48e4fa30 perf: reduce size of DialogPage enum by 1000 bytes 2026-05-01 19:10:23 +02:00
Michael Aaron Murphy
72b40aece3 perf: use Box with tab::Item to reduce message size by 800 bytes 2026-05-01 19:10:23 +02:00
Vukašin Vojinović
d5dbcc7677 chore: add rustfmt config
Also adds a Zed editor config for automatic formatting with nightly.
2026-04-29 00:53:57 +02:00
Vukašin Vojinović
e91a984da9 chore: clippy 2026-04-29 00:53:57 +02:00
Vukašin Vojinović
93e31d433a chore: update dependencies 2026-04-29 00:53:57 +02:00
Will Sheehan
e7fa2d0fa5 Use existing clear-recents-history string 2026-04-25 00:11:05 -07:00
Will Sheehan
accf5b2ba6 Add button to clear recents 2026-04-25 00:00:29 -07:00
Jeremy Soller
4afacccc8a Fix windows compilation issues 2026-04-17 13:31:55 -06:00
Jeremy Soller
8c57060db2 Only use uzers on unix, do not fork on mac 2026-04-17 12:54:33 -06:00
Jeremy Soller
62bfcc3550 Put libcosmic/desktop behind desktop feature 2026-04-17 12:54:33 -06:00
Jeremy Soller
9c0eb63b82 Refactor trash handling to improve portability 2026-04-17 12:54:33 -06:00
Michael Aaron Murphy
15e40461e5
fix: do not generate thumbnail if file is being written 2026-04-14 17:04:53 +02:00
Michael Aaron Murphy
e35d5123f0
perf: avoid holding async mutex guards across await points
tokio recommends using a sync mutex with a notifier instead of the
async mutex where possible. Rust forbids holding a sync mutex guard
across await points so we can prevent a potential deadlock this way.

This adds a custom channel based on the tokio mpmc example for
handling gvfs events from callbacks to avoid the async mutex
requirement. Messages are held in a `VecDeque` behind a sync mutex
and the receiver will get notified via the notifier when a message
is added to the queue.

Weak references used in gio callbacks in case the sender is dropped
by the application.
2026-04-14 17:04:48 +02:00
Michael Aaron Murphy
93dd775f3c
perf: get image dimensions from background thread
This caused the tab subscription to block the tokio executor.
Instead store the image dimensions in the `Item`, which is
created on a background thread.
2026-04-14 16:51:51 +02:00
sandroid
91243b99b5 feat: repeat a key to cycle through items in type-to-select mode 2026-04-13 16:24:28 -04:00
sandroid
da05a85fc5 feat: start type-to-select search from the current focus 2026-04-13 16:24:28 -04:00
Jeremy Soller
175f8ba724
Merge pull request #1728 from darkfated/add-context-actions
Add user-defined context actions
2026-04-10 15:42:42 -06:00
Hojjat
b17f8889a8 chore: update to the latest libcosmic 2026-04-08 15:15:48 -06:00
Jeremy Soller
781e99d293 Use row, column with_capacity 2026-04-06 18:08:44 -06:00
darkfated
39281a6336 Add user-defined context actions 2026-04-06 06:16:27 +03:00
Jonatan Pettersson
23b5d98dcc feat: set placeholder for permission dropdowns 2026-04-02 13:43:03 -06:00
Jonatan Pettersson
41cdf89604 feat: allow setting permissions in multi preview
This adds a Message::ShiftPermissions to handle setting
permissions for user, group or other for either 1 or
more items and a Command::SetMultiplePermissions to
set permissions on multiple items at the same time.

The permission dropdown will only have a selection if
all selected items have the same permission, otherwise it
will be empty but still allow changing.

Up to 5 owners and groups will be displayed for all
selected items with an ellipses if there are more.

The OperationSelection for setting permissions now also
returns the path as selected such that the tab will be re-scanned
and update the dropdown to correctly.
2026-04-02 13:43:03 -06:00
Jonatan Pettersson
17325a5f5a feat: add open-with in multi preview
Adds the ability to set the open-with setting for
multiple selected items. This setting will only appear
if all selected items have the same mime type.
2026-04-02 13:43:03 -06:00
Vukašin Vojinović
6e2eafe16c chore: clippy 2026-03-24 11:25:59 -06:00
Vukašin Vojinović
3b1bc4430b refactor: use jiff instead of chrono 2026-03-24 11:25:59 -06:00
Vukašin Vojinović
4414d2f4b2 chore: update dependencies
Also utilizes the `jxl-oxide` image decoding hook.
2026-03-24 11:25:59 -06:00
Ashley Wulber
360973175c
feat: rebase libcosmic onto iced 0.14 2026-03-13 21:04:17 +01:00
Levi Portenier
ca15a1bde4
Merge pull request #1558 from jpttrssn/exclude-trash
fix: exclude trash from multi-preview
2026-03-02 11:49:53 -07:00
Jason Rodney Hansen
bba95c3fc0 feat: search in Recents and Trash 2026-02-27 18:34:58 -07:00
Jeremy Soller
4e0b44b5bb
Merge pull request #1613 from FreddyFunk/feat/clipboard-paste-menu-graying
feat: gray out paste menu when clipboard is empty or location unsupported
2026-02-19 19:00:04 -07:00
Hojjat
059f0227f9 feat: use ellipsizing for item names 2026-02-19 16:50:54 -07:00
Frederic Laing
591ba0f9b9 feat: gray out paste menu when clipboard is empty or location unsupported 2026-02-19 14:19:26 -07:00
Jeremy Soller
3fcaaf1ed7 Add Clear Recents history to Recents nav bar context menu 2026-02-18 12:14:38 -07:00
Jeremy Soller
6801307bbd Fix compilation when gvfs feature not enabled 2026-02-09 14:44:55 -07:00
Michael Meuli
439bedcc1c fix display_name_for_file() for gvfs 2026-02-09 14:31:25 -07:00
Vukašin Vojinović
fcaf6c7e30 chore: update dependencies 2026-01-30 21:10:00 +01:00
Vukašin Vojinović
1e25e7dd69 chore: clippy 2026-01-30 21:05:46 +01:00
Michael Meuli
e729ebe2b2 only show open button if something can be opened 2026-01-28 16:15:28 -07:00
Jonatan Pettersson
b793d025c2 fix: filter for items with paths in multi-preview 2026-01-23 18:01:03 +01:00
Nathan Rowe
452adb9602 Stop immediately listing hidden files 2026-01-20 13:55:44 -07:00
Jeremy Soller
a3b80d6fde
Merge pull request #1499 from jpttrssn/multi-preview-open
feat: Add open button to multi preview
2026-01-14 11:32:21 -07:00