mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-14 19:27:05 -04:00
UI: the drop hint and drop errors go through the interface catalog; the Wayland notice points to the README (#447 follow-up)
Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01QiAJeFttZp83Fh7YuzAR5f
This commit is contained in:
3 files changed
+39
-101
No files matched your search
@@ -52,7 +52,7 @@ fn is_project_file(path: &str) -> bool {
|
||||
#[cfg(target_os = "linux")]
|
||||
fn wayland_drop_notice(wayland_display: Option<&std::ffi::OsStr>, backend: Option<&std::ffi::OsStr>) -> Option<&'static str> {
|
||||
(wayland_display.is_some_and(|v| !v.is_empty()) && backend != Some(std::ffi::OsStr::new("x11")))
|
||||
.then_some("Native Wayland file drops are unavailable. Use File > Import > File... or run via XWayland (see docs/footage.md).")
|
||||
.then_some("Native Wayland file drops are unavailable. Use File ▸ Import ▸ File… or run via XWayland (see README, Linux).")
|
||||
}
|
||||
|
||||
/// The command line.
|
||||
@@ -196,10 +196,8 @@ fn main() -> eframe::Result {
|
||||
app.offer_recovery(r);
|
||||
}
|
||||
#[cfg(target_os = "linux")]
|
||||
if let Some(note) = wayland_drop_notice(
|
||||
std::env::var_os("WAYLAND_DISPLAY").as_deref(),
|
||||
std::env::var_os("WINIT_UNIX_BACKEND").as_deref(),
|
||||
) && app.ui.status.is_empty()
|
||||
if let Some(note) = wayland_drop_notice(std::env::var_os("WAYLAND_DISPLAY").as_deref(), std::env::var_os("WINIT_UNIX_BACKEND").as_deref())
|
||||
&& app.ui.status.is_empty()
|
||||
{
|
||||
app.ui.status = note.into();
|
||||
}
|
||||
@@ -386,7 +384,7 @@ mod tests {
|
||||
fn wayland_drop_notice_recommends_import_or_xwayland() {
|
||||
use std::ffi::OsStr;
|
||||
let warning = super::wayland_drop_notice(Some(OsStr::new("wayland-0")), None).unwrap();
|
||||
assert!(warning.contains("File > Import") && warning.contains("XWayland"));
|
||||
assert!(warning.contains("File ▸ Import") && warning.contains("XWayland"));
|
||||
assert!(super::wayland_drop_notice(None, None).is_none());
|
||||
assert!(super::wayland_drop_notice(Some(OsStr::new("")), None).is_none());
|
||||
assert!(super::wayland_drop_notice(Some(OsStr::new("wayland-0")), Some(OsStr::new("x11"))).is_none());
|
||||
|
||||
Reference in new issue
Block a user