Commit graph

472 commits

Author SHA1 Message Date
Jeremy Soller
b8e02b7df8
Merge pull request #1776 from norepro/network-sidebar-name
fix: Use name for network location
2026-05-04 13:47:08 -06: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
Michael Aaron Murphy
d775f3e5e8
fix: improve desktop entry field code handling
- The %f and %u field codes may now be expanded within a word
- Handle field code escapes (%%)
- Support the %c and %k field codes

This will notably fix desktop entries and context menu actions
that pass files as a long argument, such as `--option=%f`.
2026-04-29 17:31:42 +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
38e4fd3ec7 Use name for network location if available 2026-04-24 23:15:31 -07: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
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
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
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
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
darkfated
39281a6336 Add user-defined context actions 2026-04-06 06:16:27 +03: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
Ashley Wulber
75fe043e73 fix: don't read files if list empty 2026-03-26 16:42:36 +01:00
Ashley Wulber
3a88d7fcf7 fix: update cached clipboard 2026-03-24 16:29:56 -04:00
Vukašin Vojinović
6e2eafe16c chore: clippy 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
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
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
f9d4ca4867
Merge pull request #1631 from jasonrhansen/close-context-menu
fix: close context menus in various cases
2026-02-19 14:01:33 -07:00
Frederic Laing
4e77e398f2
add option to copy path when pressing down shift 2026-02-18 22:42:14 +01:00
Jeremy Soller
3fcaaf1ed7 Add Clear Recents history to Recents nav bar context menu 2026-02-18 12:14:38 -07:00
Jason Rodney Hansen
9def981016 Close context menus on middle click to open in new tab 2026-02-17 17:44:44 -07:00
Sebastiano Giordano
5d3d893c9e feat: add setting to enable/disable the "recents" feature 2026-02-17 13:02:28 -05:00
Jason Rodney Hansen
1dc14b6d39 fix: close context menus in various cases
* When clicking in window outside of context menu.
* When initiating or clearing a search.
* Close location context menu when ESC is pressed.
2026-02-15 12:48:34 -07:00
Ric's Dev
14c96a466e feat: Show count of files affected when 'Replace all' is selected in copy/move operations 2026-02-15 19:33:18 +01:00
vkahl
3ecdb59f3b Clear the prefix selection buffer when changing location
After changing directory, the previously typed in prefix (for finding a selection) is cleared immediately without waiting for the timeout. This allows traversing known directory structures very quickly by typing in very few letters for each prefix and hitting enter in between.
2026-02-13 17:36:57 -07:00
Levi Portenier
fc32390f52
Merge pull request #1579 from joshuamegnauth54/desktop-file-path-key
Respect 'Path' desktop entry key
2026-02-13 15:14:17 -07:00
Jeremy Soller
0029434e12 Generate translated desktop and metainfo files with xdgen 2026-02-12 14:46:38 -07:00
Levi Portenier
28abc518d5
Merge branch 'master' into desktop-file-path-key 2026-02-09 14:57:31 -07:00
Jeremy Soller
9871339215
Merge pull request #1593 from jasonrhansen/move-to
feat: move to and copy to
2026-02-09 14:22:56 -07:00
Josh Megnauth
b8ee38072f
Respect 'Path' desktop entry key
Closes: #1530

XDG desktop entries support an optional key, `Path`, that sets the
current working directory to launch an app in.
2026-02-06 21:15:43 -05:00
Frederic Laing
b8ac39ade5
Return None for unknown MIME types and ignore paste with warning 2026-02-04 08:12:33 +01:00
Frederic Laing
08d442aee2
feat: paste images, videos, and text from clipboard 2026-02-04 08:12:32 +01:00
Jason Rodney Hansen
7e44a0c3de feat: move to and copy to 2026-02-03 16:45:02 -07:00
Levi Portenier
eb1218a0db
Merge branch 'master' into master 2026-02-03 12:09:32 -07:00
Vukašin Vojinović
fcaf6c7e30 chore: update dependencies 2026-01-30 21:10:00 +01:00