From 443467c3ab28ed9ca18dac022b9fb4a42c9d36e9 Mon Sep 17 00:00:00 2001 From: akanyan Date: Mon, 3 Mar 2025 21:29:45 +0000 Subject: [PATCH] feat: borderless fullscreen --- README.md | 11 ++++------- rust/src/display.rs | 9 ++++++++- src/components/OptionList.vue | 16 ++++++++++++++-- 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index ba0935c..dce09d1 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,14 @@ ## STARTLINER -wipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwipwip - -A simple (_not yet_) and easy to use (_not yet_) mod manager for [many games](https://silentblue.remywiki.com/ONGEKI:bright_MEMORY) (_more to come_) using [Rainycolor Watercolor](https://rainy.patafour.zip). +A simple and easy to use launcher and mod manager for [many games](https://silentblue.remywiki.com/ONGEKI:bright_MEMORY) (more to come) using [Rainycolor Watercolor](https://rainy.patafour.zip). Intended for those who just want a glorified `start.bat` clicker, without VHDs, keychips etc. (for an all-in-one solution, check out the [BlueSteel launcher](https://yozora.bluesteel.737.jp.net/HarmonyPublic/SOS-Kongou)). -Made with Rust (Tauri) and Vue. Contributions welcome. +Made with Rust (Tauri) and Vue. Technically multiplatform. Contributions welcome. ### Usage -wipwipwipwipwipwipwipwipwipwipwipwip - ```sh bun install bun run tauri dev @@ -43,7 +39,8 @@ Arbitrary scripts are not supported by design and that will probably never chang ### Features - Clean data modding -- Technically multi-platform +- Monitor selection +- Etc ### Architecture details diff --git a/rust/src/display.rs b/rust/src/display.rs index 20e8cf0..e095358 100644 --- a/rust/src/display.rs +++ b/rust/src/display.rs @@ -55,6 +55,13 @@ pub async fn prepare_display(p: &Profile) -> Result> { } } + if p.get_str("display-mode", "borderless") == "borderless" && p.get_bool("borderless-fullscreen", false) { + settings.borrow_mut().resolution = Resolution::new( + p.get_int("rez-w", 1080).try_into().expect("Negative resolution"), + p.get_int("rez-h", 1920).try_into().expect("Negative resolution") + ); + } + display_set.apply()?; displayz::refresh()?; @@ -65,7 +72,7 @@ pub async fn prepare_display(p: &Profile) -> Result> { #[cfg(target_os = "windows")] pub async fn undo_display(info: DisplayInfo) -> Result<()> { - use displayz::{query_displays, Resolution}; + use displayz::query_displays; let display_set = query_displays()?; diff --git a/src/components/OptionList.vue b/src/components/OptionList.vue index 191a3f4..512fce8 100644 --- a/src/components/OptionList.vue +++ b/src/components/OptionList.vue @@ -39,6 +39,7 @@ const displayRotationList = [ { title: 'Portrait', value: 90 }, { title: 'Portrait (flipped)', value: 270 }, ]; +const cfgBorderlessFullscreen = _cfg('borderless-fullscreen', false); const cfgAime = _cfg('aime', false); const aimeCode = ref(''); @@ -112,7 +113,7 @@ const aimeCodeModel = computed({ option-value="value" > - + + + + - +