Commit graph

499 commits

Author SHA1 Message Date
1488e2b01b Merge remote-tracking branch 'upstream/master' into local/libcosmic-path-patch
# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	src/app.rs
#	src/dialog.rs
#	src/menu.rs
#	src/tab.rs
2026-08-19 22:02:40 +02:00
d78a22d87c feat: add "edit desktop entry" to the desktop file context menu
Opening a .desktop file launches the application it describes, so the
file manager offered no way to look at or change the file itself: the
only way out was a terminal. Reported upstream on 2025-05-11 and still
open.

Add an "Edit desktop entry" action to the context menu, next to the
entry own desktop actions. It opens the file with the default
text/plain handler instead of its application/x-desktop one.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 20:42:34 +02:00
Will Sheehan
95035166d3 fix infinite dialog on network mount failure 2026-08-04 23:09:19 -07:00
30e562c8c2 fix: nav_context_menu must produce one submenu per nav item
The segmented_button widget asserts that context_menu children
count matches model length. The yoda fork was building a single
flat menu for the clicked item instead of iterating over all
nav_model items like upstream, causing an assertion panic on
right-click in the sidebar (trash, folders, etc.).

Align with upstream: iterate self.nav_model.iter() and use
menu::nav_context() instead of menu::items().
2026-07-25 22:53:11 +02:00
fd4a2ba610 fix: absorb libcosmic theme-v2 API (nav_context_menu, app_popup LiveSettings)
Leyoda 2026 – GPLv3
2026-07-03 15:26:15 +02:00
Leyoda
17fc1cabbb yoda: cosmic-files customizations (squashed 21 commits)
This commit squashes the 21 local commits that customize cosmic-files for
the yoda stack, to allow a clean rebase on upstream/master.

Original commits (chronological):

- 9bcfe7a Cargo.toml: patch libcosmic via local path for dev builds
- 04abd13 yoda: depend on libcosmic-yoda (path) instead of upstream libcosmic
- 02adcc3 lockfile: libcosmic-yoda 0.1.0-yoda -> 0.1.0-yoda.2
- a025fd6 yoda: prefer cosmic-yoterm over upstream cosmic-term in terminal fallback
- e8d62ae yoda: add "Always use this app" toggle to OpenWith dialog
- 8fb2b15 yoda wayland-v5: redirect window_clipboard + cosmic-text to local forks
- 0595296 yoda: Dolphin-style quick actions toolbar under the headerbar
- 4b6d345 yoda: fix missing rename icon in toolbar
- 8b51af1 yoda: use pencil-symbolic for the Rename toolbar button
- 33a5c8f yoda: phase 2 - customizable toolbar (settings toggles per button)
- 1cf17dc yoda: phase 3 - drag-drop toolbar editor in Settings
- 11d4357 yoda: add up/down buttons next to drag handle in toolbar editor
- af843d2 yoda: direct drag-drop reorder on the toolbar itself
- 94c3e6c yoda: toolbar as segmented_button for working drag reorder
- f053819 yoda: toolbar icon-only + clean visual (Control style, 32px squares)
- 338354c Improve initial directory listing latency
- d080bc8 Resolve cosmic-files warnings without masking
- 69c35ab yoda: switch window_clipboard patch to public Forgejo fork
- 35e115f yoda: switch cosmic-text patch to public Forgejo fork
- 6f3adcd chore: clean feature-gated warnings
- 57ab1ec fix: clean files warnings for terminal build

Original tip preserved as tag backup/pre-rebase-upstream-20260524.
2026-07-03 15:21:21 +02:00
Ashley Wulber
908218e3e0 fix: remove background style for container around tab bar 2026-07-01 15:18:11 -04:00
Ashley Wulber
8fc5182486 fix: popup corner improvements 2026-07-01 15:18:11 -04:00
Ashley Wulber
e00725a450 chore: update for navbar popup 2026-07-01 15:18:11 -04:00
Ashley Wulber
0e761ba811 fix: no blur for desktop mode
fix: desktop blur

chore: update libcosmic

chore: update libcosmic

chore: update libcosmic
2026-07-01 15:18:11 -04:00
JADella94
cd427c746c
fix: panic when a second zip extract dialog is opened
* Syncs extracted zip files on the compio executor's thread
* Close the first zip extract dialog before opening a new one to fix a panic
---------

Co-authored-by: James A DellaMorte <dellamorte.james@comcast.net>
2026-06-24 20:12:10 +02:00
Gene Wood
65f5f454be
feat: add PageUp and PageDown bindings 2026-06-22 23:37:41 +02:00
Michael Aaron Murphy
e8fdb28a24
feat(mime_app): show related apps in open with dropdown in preview 2026-06-11 18:56:23 +02:00
Michael Aaron Murphy
eda8291678
fix(mime_app): track mime type app default by mime 2026-06-11 17:54:12 +02:00
Michael Aaron Murphy
3cd0d0c00a
refactor: move mime app logic to mime_app module 2026-06-11 17:29:17 +02:00
Hojjat
42577aa467 fix: take user's Added Association into account when hiding apps 2026-06-09 16:51:21 -06:00
Hojjat
4ac289f40a improv: lazy load app icons for mime apps 2026-06-09 16:51:21 -06:00
Michael Aaron Murphy
814b49114b
fix: sort other apps section 2026-06-08 18:24:52 +02:00
Michael Aaron Murphy
7c7970d0c0
fix: hide no-display apps only in other category 2026-06-06 20:26:45 +02:00
Michael Aaron Murphy
fca0753781 fix: gate desktop features for no-default-features build 2026-06-02 09:52:14 -04:00
Michael Aaron Murphy
bb1ae9d458 feat: reload mime app cache when mime app config is updated 2026-06-02 09:52:14 -04: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
Rrogntudju
b4df354585 don't overwrite military time 2026-05-11 20:07:35 -04:00
lorduskordus
4b5c6d2c1b fix(i18n): use separate 'rename' keys for menu and dialog confirm button 2026-05-11 16:49:33 -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
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
accf5b2ba6 Add button to clear recents 2026-04-25 00:00:29 -07: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