Commit graph

1169 commits

Author SHA1 Message Date
Jeremy Soller
3d18d7f390
Update dependencies 2025-05-01 09:19:40 -06:00
ellieplayswow
16c8c0df30 bugfix(zoom): use global modifiers for checking if ctrl is used for zoom instead of mouse area events
example(copy): fixing copy example to use correct Method type
2025-04-30 13:57:33 -06:00
Jeremy Soller
037190babd
Remove unused icon sizes argument from preview 2025-04-30 08:27:55 -06:00
Jeremy Soller
6fa890e3f3
Attempt atomic renames when moving top-level files and folders, fixes #607 2025-04-29 19:12:33 -06:00
Jeremy Soller
dd5fa29e9a
Adjust permanently delete dialog 2025-04-29 18:49:19 -06:00
Jeremy Soller
4f7d13f391
Merge branch 'permanently-delete' of https://github.com/gwen-lg/cosmic-files 2025-04-29 18:39:11 -06:00
Jeremy Soller
5573e36400
Copy to external drives when drag and dropping, part of #828 2025-04-29 18:07:57 -06:00
Jeremy Soller
dd98622cfa Reduce features used on remote filesystems
This attempts to detect remote filesystems on Linux using the
/proc/self/mountinfo file and checking the filesystem against a
hardcoded list of remote filesystems. Remote filesystems will not
thumbnail, read file data to determine mime types, or calculate
directory sizes.
2025-04-29 14:51:11 -06:00
Tim Dengel
caa3d54e83 Add de translation for permanently delete dialog 2025-04-29 20:18:30 +02:00
Gwen Lg
8d313e7c11 Add fr translation for permanent delete 2025-04-29 20:18:30 +02:00
Gwen Lg
160ef5f414 feat: include permanent delete in menu_bar 2025-04-29 20:18:30 +02:00
Gwen Lg
95aba7c74e Add context menu management of permanently deleting files and folders
The action replace move-to-trash when shift modifier is active, like on
other desktop environement.
Use modifiers value stored in Tab struct as needed to forward to context_menu
creation.
Started from work of Tim Dengel <tim.dengel.debian@gmail.com>
2025-04-29 20:18:30 +02:00
Gwen Lg
e220268954 Add ModifiersChanged message on Tab and keep value
The message is forwarded from app/dialog Message, and used to
keep the value of the status of modifiers in Tab.
2025-04-29 20:18:30 +02:00
Gwen Lg
d8a198e836 clean: rename Modifiers message to ModifiersChanged
to be more explicit/accurate.
2025-04-29 20:18:30 +02:00
Tim Dengel
1a66d7b184 Support permanently deleting files and directories using Shift+Del
Add a confirmation dialog to limit risks of data lost.
2025-04-29 20:18:30 +02:00
Jeremy Soller
8ced8b0551
Show all applications that handle any mime types in open with dialog, fixes #568, fixes #226, fixes #721 2025-04-29 09:53:51 -06:00
Aindriú Mac Giolla Eoin
d9ffb5d599
Updated Irish translations (#953) 2025-04-28 07:36:29 -06:00
Daniel
569247acfb
visualise cut items (#954) 2025-04-28 07:35:27 -06:00
19MisterX98
2d22b6d516
fix #878 (#951) 2025-04-26 18:12:31 -06:00
Jeremy Soller
697f89e785
Make io-uring optional (fixes redox build) 2025-04-26 18:10:42 -06:00
Jeremy Soller
3beda45a6f
Make io-uring/bindgen optional but default 2025-04-26 18:08:57 -06:00
luishugo
9856db389b
feat: "Open in terminal" now respects the default terminal application (#948)
This uses the same method as cosmic/settings to determine the default terminal application. This is more of a quick fix for the moment, because it does not yet adhere to the rules of https://github.com/Vladimir-csp/xdg-terminal-exec
2025-04-26 15:39:21 -06:00
Ryan Brue
372cdf9127
Fix building on s390x, ppc64le (#950)
Signed-off-by: Ryan Brue <ryanbrue.dev@gmail.com>
2025-04-26 15:35:18 -06:00
Joshua Megnauth
63176a1e2a
Fix macOS build (#944)
Closes #921
2025-04-22 08:13:43 -06:00
Jeremy Soller
90fc680666
Handle error from trash::os_limited::is_empty 2025-04-21 13:34:16 -06:00
Joshua Megnauth
bc1b68153b
perf: Only enumerate trash items when necessary (#604)
Closes: #310

Depends on Byron/trash-rs#120 which implements a function that only
checks if the trash is empty or not instead of parsing each item.
2025-04-21 13:33:03 -06:00
Jeremy Soller
387b364e58
Update trash crate 2025-04-21 13:32:41 -06:00
Jeremy Soller
4f8d22c120
Format 2025-04-21 13:32:29 -06:00
Jeremy Soller
7598130650
Fall back to unmount if eject is not supported, fixes #941 2025-04-21 13:21:02 -06:00
David Carvalho
08f0cab550
i18n(pt-BR) - Update translations (#943) 2025-04-21 09:57:41 -06:00
Jeremy Soller
887211c850
Remove merged libc patch 2025-04-17 08:03:53 -06:00
Ashley Wulber
133dab261d chore: update libcosmic 2025-04-16 12:29:28 -04:00
Ashley Wulber
eea916d783
feat: responsive menu bar (#938) 2025-04-15 18:04:07 -06:00
Joshua Megnauth
b6c033562b
Add tests for exec_to_command (#935) 2025-04-15 09:09:31 -06:00
therealmate
7f73ddf204
Update Hungarian translations (#937) 2025-04-14 14:45:03 -06:00
Jason Hansen
5e21c7cf99
Use icu for date and time localization (#934)
* Use icu for date and time localization

* Handle military time config in dialog
2025-04-14 08:59:32 -06:00
Luna Jernberg
3245f762a6
Update Swedish translation (#932)
* Update cosmic_files.ftl

Update Swedish translation

* Update cosmic_files.ftl (SV)

Update Swedish translation
2025-04-11 09:21:57 -06:00
David Carvalho
3194ea1ddb
i18n - Update portuguese translations (#929) 2025-04-10 18:20:04 -06:00
Joshua Megnauth
5033b9dfed
fix: Handle complex Exec keys in desktop entries (#930)
Closes: #922, #924, #925, #928

My original patch, #891, mishandled Exec keys. The ordering of arguments
matters for the keys, such as for Flatpak apps.
2025-04-10 18:19:07 -06:00
Jeremy Soller
d6f1efbf67
Only write what was read during copy, fixes #931 2025-04-10 18:14:24 -06:00
Jeremy Soller
32bda4b585
Patches to fix redox support 2025-04-10 09:06:59 -06:00
Michael Murphy
79aa8f887a
feat: use io_uring / IOCP when available for async file IO (#911)
Spawns a single thread for handling async file IO on the [compio runtime](https://github.com/compio-rs/compio).
It is a completion-based IO runtime that can dynamically select a polling mechanism at runtime. It defaults to
io_uring on Linux, IOCP on Windows, and the polling crate everywhere else. On Linux systems where io_uring is
unavailable or disabled, it will fall back to the polling crate.

This eliminates most of the threads that were needed previously. It significantly reduced the amount of memory
needed in the recursive Context to get a good transfer rate for each copy operation—from a 4 MB buffer to 128 KB.
Copies on a nvme drive are somewhat faster with the async IO changes, and use less CPU than before.

Although it uses a single thread for non-blocking tasks, it still manages to 100% max out my nvme drive's
activity for the whole duration of multiple long transfers. But it would be possible to enable compio's
dispatcher to spread operations across worker threads if necessary.

All but the extract and compress operations were updated to be async. I had to switch the `CondVar` in the
`Controller` to a `tokio::sync::Notify` to prevent the IO thread from being put to sleep when an operation is paused.
Fixed a deadlock in the `operation_copy` test function that was performing an operation without concurrently pulling
from the channel in the operation. Reduced the rate that `Message::None` is sent from a subscription to trigger a UI
redraw, and fixed it to not run when operations are paused.
2025-04-09 15:15:07 -06:00
Gabriele
7a657c646b
Refactor translation (#923) 2025-04-08 08:06:20 -06:00
Matei Pralea
084578b792
i18n(ro): Improve Romanian translation (#926)
* i18n(ro): Improve Romanian translation

* i18n(ro): Fix `extract-here`
2025-04-08 08:05:47 -06:00
Jeremy Soller
c7aab10e2e
Merge pull request #919 from Wasabi375/unmount
Fix move to home location on unmount
2025-04-05 16:02:52 -06:00
Jeremy Soller
38b98e84e7
empty commit to force rebuild 2025-04-03 15:45:11 -06:00
Burkhard Mittelbach
f4b92c73ed Fix move to home location on unmount
Previously this would only work if the root of the unmounted file-system
is open in a tab. This also checks for any sub-path.

fixes: #915
2025-04-02 16:03:49 +02:00
Jeremy Soller
995e149e13
Merge pull request #918 from feikedonia/master
i18n(nl) improve Dutch, and fix a spell mistake
2025-04-02 07:45:28 -06:00
Feike Donia
99e01e0245
i18n(nl) fix some Dutch spell mistakes 2025-04-02 11:29:16 +02:00
Jeremy Soller
070a570687
Merge pull request #913 from LinuxBoy-96/Fr-translation
Fr translation
2025-03-31 19:54:51 -06:00