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
Jeremy Soller
b895b07bb2
Merge pull request #1742 from pop-os/mtp
...
Fix unsupported errors when copying large files over MTP
2026-04-16 15:51:33 -06:00
Levi Portenier
afca6aef73
Merge pull request #1735 from hojjatabdollahi/hojjat/select-until-last
...
feat: select file name until the extension in rename and save dialog
2026-04-15 11:14:40 -06:00
Michael Aaron Murphy
1c4ab75814
fix: gate gio file copy fallback with gvfs feature
2026-04-14 17:15:19 +02:00
Michael Aaron Murphy
e21989aaa3
chore: use compio::fs::rename for quick renames
2026-04-14 17:04:53 +02: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
0bd20e57e7
refactor: use select macro for gio copy futures
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
971374f60b
perf: use atomics for controller progress and state
2026-04-14 16:51:51 +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
Michael Aaron Murphy
e2bdcf8da4
fix: use gio file copy fallback to fix MTP unsupported I/O errors
2026-04-14 16:51:51 +02:00
Michael Aaron Murphy
b299f1a172
chore: add methods to Controller to pause and unpause futures
...
- Use `Controller::until_paused` as a signal in a select to pause futures
- Use `Controller::until_unpaused` to block futures in a select loop
2026-04-14 16:51:51 +02:00
Michael Aaron Murphy
c114759c9e
chore: use tracing for structured logs
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
Hojjat
fc25260a5f
feat: select file name until the extension in rename and save dialog
2026-04-13 12:06:49 -06:00
Ashley Wulber
1c1f8fdf6e
fix: retry reading clipboard if data is empty
2026-04-13 11:53:25 -06:00
Ashley Wulber
cf328771c3
fix: handle slight delay in availability of clipboard data
...
a better fix in the future would probably be an event indicating availability of the data.
2026-04-13 11:53:25 -06: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
darkfated
ad0e66dceb
Fix: remove context actions from open/save dialog
2026-04-10 02:58:20 +03:00
Hojjat
b17f8889a8
chore: update to the latest libcosmic
2026-04-08 15:15:48 -06:00
Ashley Wulber
9547da2b25
fix: reset focus when opening a new tab
2026-04-07 15:39:29 -06:00
Jeremy Soller
781e99d293
Use row, column with_capacity
2026-04-06 18:08:44 -06:00
User
079c82ee43
fix: assign replace dialog button id
2026-04-06 15:12:13 -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
4c6f2db5f2
feat: join multiple operations
...
Allow for joining operations into a single Task that
will produce a single Message:PendingResults message such
that multiple Message::PendingComplete and Message::PendingError
messages can be handled together to, for example, show
a single error dialog with multiple errors.
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
Josh Megnauth
e50c41aa24
fix: Respect show_recents conf in dialog
...
Closes : #1698
2026-03-27 13:04:03 -06:00
Ashley Wulber
75fe043e73
fix: don't read files if list empty
2026-03-26 16:42:36 +01:00
Levi Portenier
0b7294d4e4
Merge pull request #1699 from jasonrhansen/open-item-location
...
feat: add 'Open item location' to search
2026-03-24 15:14:12 -06:00
Ashley Wulber
3a88d7fcf7
fix: update cached clipboard
2026-03-24 16:29:56 -04:00
Ashley Wulber
f6ca0cb460
cleanup
2026-03-24 16:29:56 -04: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
Jason Rodney Hansen
b041feec48
feat: add 'Open item location' to search
2026-03-20 08:41:19 -06:00
Ashley Wulber
360973175c
feat: rebase libcosmic onto iced 0.14
2026-03-13 21:04:17 +01:00
Levi Portenier
747e2a91e4
Merge pull request #1662 from jasonrhansen/compress-dates
...
Preserve modified time when creating/extracting zip files
2026-03-06 16:44:21 -07:00
Levi Portenier
bfb2c6d5b8
Merge pull request #1650 from hojjatabdollahi/hojjat/fix-open-dialog-mime
...
Fix mimetype based filtering in dialog
2026-03-06 16:43:41 -07: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
7a90e62093
fix: preserve modified time when creating/extracting zip files
2026-02-28 14:18:36 -07:00
Jason Rodney Hansen
bba95c3fc0
feat: search in Recents and Trash
2026-02-27 18:34:58 -07:00
Valentin Kahl
183f59eb95
Make new windows open at the location of the currently active tab
2026-02-24 17:49:24 -05:00
Jeremy Soller
f645c55a38
Merge pull request #1614 from Rics-Dev/feat/count-files-replace-all
...
feat: Show count of files affected when "Apply to all" is selected in copy/move operations
2026-02-24 10:25:16 -07:00
Hojjat
5b65c7f456
fix: dialog uses parsed mime to match the type
...
It used to try to match images/* to the image/png and fail. Now it
matches the type if the subtype is STAR.
2026-02-23 11:37:29 -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