Add DVD support (#134)

Co-authored-by: AVG <avg@no.email>
Co-authored-by: sxyazi <sxyazi@gmail.com>
This commit is contained in:
av-gantimurov
2025-08-11 15:50:33 +03:00
committed by GitHub
parent de53d90cb2
commit e95c7b384e
2 changed files with 8 additions and 4 deletions

View File

@@ -4,8 +4,8 @@ A mount manager for Yazi, providing disk mount, unmount, and eject functionality
Supported platforms:
- Linux with [`udisksctl`](https://github.com/storaged-project/udisks) and [`lsblk`](https://github.com/util-linux/util-linux)
- macOS with `diskutil`
- Linux with [`udisksctl`](https://github.com/storaged-project/udisks), `lsblk` and `eject` both provided by [`util-linux`](https://github.com/util-linux/util-linux)
- macOS with `diskutil`, which is pre-installed
https://github.com/user-attachments/assets/c6f780ab-458b-420f-85cf-2fc45fcfe3a2
@@ -40,7 +40,7 @@ Available keybindings:
## TODO
- Custom keybindings
- Windows support (I don't have an Windows machine for testing, PRs welcome!)
- Windows support (I don't use Windows myself, PRs welcome!)
- Support mount, unmount, and eject the entire disk
## License

View File

@@ -224,6 +224,7 @@ function M.split(src)
{ "^/dev/nvme%d+n%d+", "p%d+$" }, -- /dev/nvme0n1p1
{ "^/dev/mmcblk%d+", "p%d+$" }, -- /dev/mmcblk0p1
{ "^/dev/disk%d+", ".+$" }, -- /dev/disk1s1
{ "^/dev/sr%d+", ".+$" }, -- /dev/sr0
}
for _, p in ipairs(pats) do
local main = src:match(p[1])
@@ -274,7 +275,10 @@ function M.operate(type)
output, err = Command("diskutil"):arg({ type, active.src }):output()
end
if ya.target_os() == "linux" then
if type == "eject" then
if type == "eject" and active.src:match("^/dev/sr%d+") then
Command("udisksctl"):arg({ "unmount", "-b", active.src }):status()
output, err = Command("eject"):arg({ "--traytoggle", active.src }):output()
elseif type == "eject" then
Command("udisksctl"):arg({ "unmount", "-b", active.src }):status()
output, err = Command("udisksctl"):arg({ "power-off", "-b", active.src }):output()
else