Commit graph

98 commits

Author SHA1 Message Date
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
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
Jeremy Soller
887211c850
Remove merged libc patch 2025-04-17 08:03:53 -06:00
Ashley Wulber
eea916d783
feat: responsive menu bar (#938) 2025-04-15 18:04:07 -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
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
Jeremy Soller
f8ecc856b3
Move xdg-mime patch to dependencies, remove filetime patch 2025-03-31 09:07:58 -06:00
Jeremy Soller
28ec74d440
Use xz2 instead of liblzma, update dependencies 2025-03-31 09:05:32 -06:00
Jeremy Soller
c665cf3522
Update libcosmic 2025-03-31 08:52:18 -06:00
Ashley Wulber
4828bae81d
chore: update libcosmic 2025-03-15 11:59:03 -04:00
ellieplayswow
082ffbc0c4 adding note for xdg-mime patch 2025-03-09 21:19:07 +00:00
ellieplayswow
b288cd0581 simplifying list generation for mime types, applying xdg-mime patch & cargo fmt 2025-03-09 21:13:27 +00:00
Jeremy Soller
38829f4c00 Move dbus-config to optional feature 2025-02-21 13:23:16 -07:00
Michael Aaron Murphy
1733cc98d4
chore: upgrade dependencies 2025-02-19 18:14:31 +01:00
Jeremy Soller
ceab7835ad
Clean up mime app handling and make it possible to set default application, part of #325 2025-01-24 11:55:56 -07:00
Jeremy Soller
b76484457f
Add optional support to use jemalloc as allocator 2024-11-15 11:10:30 -07:00
Jeremy Soller
a32f25fa95
Remove fs_extra (#655)
* WIP Remove fs_extra

* Finish removing fs_extra
2024-11-13 14:36:11 -07:00
Jeremy Soller
e4a37273fd
Add process feature to tokio 2024-11-11 11:18:15 -07:00
Jeremy Soller
e8df9bf285
Update image crate and libcosmic 2024-11-11 09:14:03 -07:00
Jeremy Soller
20f9292e79
Update dependencies 2024-10-29 14:29:37 -06:00
Jeremy Soller
85a483f638
Fix compilation with wayland feature 2024-10-21 14:23:32 -06:00
Jeremy Soller
390673c70f
Update libcosmic/iced 2024-10-21 13:51:10 -06:00
Jeremy Soller
f352890283
Video thumbnails using totem-video-thumbnailer and improvements for SVGs 2024-09-25 11:30:17 -06:00
Jeremy Soller
a40e6cdff4
Update trash dependency 2024-09-18 08:31:30 -06:00
Jeremy Soller
d0359af0b5
Add support for bzip and xz tar files, part of #122 2024-09-17 12:31:54 -06:00
Jeremy Soller
329c0d3d4e
Fix compilation without desktop feature 2024-09-11 14:40:49 -06:00
Jeremy Soller
5d596239be Desktop mode 2024-09-11 11:15:53 -06:00
Jeremy Soller
4374132e2f
Add support for compressing to .tgz, add gio network mount example 2024-09-10 11:50:14 -06:00
Jeremy Soller
c4c92be708
Merge pull request #400 from francesco-gaglione/recent_section
Recents section
2024-09-10 10:02:13 -06:00
Nathan Rowe
13cd7138cc Add Compress menu option to add files to zip archive 2024-09-05 17:34:41 -04:00
Francesco-gaglione
282757b687 Merge branch 'refs/heads/master' into recent_section
# Conflicts:
#	Cargo.lock
2024-08-27 19:02:56 +02:00
Jeremy Soller
9d077677b5
Use patch for filetime 2024-08-27 08:10:33 -06:00
Jeremy Soller
01426ee445
users is unmaintained, switch to uzers 2024-08-27 07:26:47 -06:00
Francesco-gaglione
65aea7671f update recently used on file open 2024-08-27 09:25:30 +02:00
Francesco-gaglione
a27e67b957 Merge branch 'refs/heads/master' into recent_section
# Conflicts:
#	Cargo.lock
#	src/tab.rs
2024-08-27 08:45:47 +02:00
Austin Riba
8d25f700af Merge branch 'master' into ownership-metadata 2024-08-26 13:15:18 -07:00
Jeremy Soller
f51e4f5016
Make notify support optional, update libcosmic 2024-08-26 13:31:01 -06:00
Jeremy Soller
80783f6cd1
Sort dependencies alphabetically 2024-08-26 13:24:13 -06:00
Austin Riba
4ba816b151 Display file ownership and permissions.
This subsumes #414. Took feedback into account to display more
human-readble permissions. Also, display the owner and group ownership
inline with the permissions themselves.
2024-08-21 13:52:52 -07:00
Francesco Pio Gaglione
bb2833e65e removed examples from cargo.toml 2024-08-20 21:11:49 +02:00
Francesco Pio Gaglione
0c299950c9 recents in dialog mode 2024-08-20 09:43:25 +02:00
Francesco Pio Gaglione
1ffb3b9870 fix merge conflicts 2024-08-20 08:30:41 +02:00
Nathan Rowe
ef23ff77e1 Enable extracting zip files to current folder 2024-08-19 12:12:08 -04:00
Francesco Pio Gaglione
056724268e recent section 2024-08-16 14:42:09 +02:00
Jeremy Soller
da329004aa
Continue operations in the background if the window is closed 2024-08-09 09:59:25 -06:00
Josh Megnauth
748d53fdbe
Localized date strings
Fixes some of #256

This patch also cleans up the `icu` dependencies from my last PR. I
added all of `icu` as a dependency last time because I assumed it would
be needed for this fix. However, `chrono` supports localization and
`icu` seemed harder to use anyway.
2024-07-12 02:20:41 -04:00
Jeremy Soller
eba72e131a
Get TrashItems when deleting 2024-07-11 16:20:59 -06:00
Jeremy Soller
a3ea6d5197
Update cosmic-text to fix clipping, part of #255 2024-07-09 11:23:01 -06:00