feat(options): menu bar, ribbon and HPASSOC switches; see-through command line by default

Options > Display gains Window Elements with "Show the menu bar"
(MENUBAR) and "Show the ribbon" (RIBBON / RIBBONCLOSE); Options > User
Preferences gains a Hatch switch for HPASSOC. The command line now
starts at 80 % opacity so the drawing shows through it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-10-13 16:14:26 +03:00
1 parent ee18f7ad3c
commit 8a2bc443e0
29 files changed
+163 -3

No files matched your search

+2 -2
View File
@@ -192,7 +192,7 @@ pub struct CommandLine {
/// the pinned step prompt still shows.
fade_ms: u32,
/// COMMANDLINEOPACITY: how opaque the command line's panels are, in
/// percent (20–100, default 100), so the drawing shows through.
/// percent (20–100, default 80), so the drawing shows through.
opacity_percent: u8,
}
@@ -220,7 +220,7 @@ impl Default for CommandLine {
step_options: Vec::new(),
cliprompt_lines: 3,
fade_ms: DEFAULT_COMMANDLINE_FADE_MS,
opacity_percent: 100,
opacity_percent: 80,
}
}
}
+41
View File
@@ -55,6 +55,12 @@ pub struct AppPrefs {
pub commandline_fade_ms: i32,
/// COMMANDLINEOPACITY: command-line panel opacity in percent.
pub command_line_opacity: u8,
/// MENUBAR: the pull-down menus show above the ribbon.
pub show_menu_bar: bool,
/// The ribbon shows (RIBBON / RIBBONCLOSE).
pub show_ribbon: bool,
/// HPASSOC: new hatches follow their boundary objects.
pub hatch_associative: bool,
/// ZOOMWHEEL: reverse the mouse-wheel zoom direction.
pub zoom_wheel_reversed: bool,
/// Scroll pans and Ctrl+scroll zooms (touchpads).
@@ -920,6 +926,30 @@ pub fn view_window<'a>(
.align_y(iced::Center),
)
.push(Space::new().height(24))
.push(text(crate::t!("Window Elements")).size(15))
.push(Space::new().height(10))
.push(
row![
iced::widget::checkbox(prefs.show_menu_bar)
.on_toggle(Message::MenuBarChanged)
.size(15),
text(crate::t!("Show the menu bar (MENUBAR)")).size(12),
]
.spacing(8)
.align_y(iced::Center),
)
.push(Space::new().height(8))
.push(
row![
iced::widget::checkbox(prefs.show_ribbon)
.on_toggle(Message::RibbonVisibleChanged)
.size(15),
text(crate::t!("Show the ribbon (RIBBON / RIBBONCLOSE)")).size(12),
]
.spacing(8)
.align_y(iced::Center),
)
.push(Space::new().height(24))
.push(text(crate::t!("Command Line")).size(15))
.push(Space::new().height(10))
.push(
@@ -1479,6 +1509,17 @@ pub fn view_window<'a>(
]
.spacing(10)
.align_y(iced::Center),
Space::new().height(24),
text(crate::t!("Hatch")).size(15),
Space::new().height(10),
row![
iced::widget::checkbox(prefs.hatch_associative)
.on_toggle(Message::HatchAssociativeChanged)
.size(15),
text(crate::t!("New hatches follow their boundaries (HPASSOC)")).size(12),
]
.spacing(8)
.align_y(iced::Center),
]
.spacing(0)
.width(sizing.width);