feat(command-line): adjustable command line opacity

COMMANDLINEOPACITY (20-100 percent, default 100) and a slider under
Options > Display make the floating command line's panels see-through,
so the drawing stays visible behind it. The input field stays opaque
for legibility. The value is an application setting that persists.

Refs #1494

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-10-13 15:46:28 +03:00
1 parent 5a6f69f3f8
commit 5dd05bca18
32 files changed
+98 -5

No files matched your search

+1
View File
@@ -754,6 +754,7 @@ inventory::submit!(crate::command::CommandRegistration {
"SKTOLERANCE",
"CLIPROMPTLINES",
"COMMANDLINEFADETIME",
"COMMANDLINEOPACITY",
"COLORTHEME",
"SELECTIONAREA",
"SELECTIONAREAOPACITY",
+18
View File
@@ -1149,6 +1149,7 @@ impl OpenCADStudio {
| "CURSORSIZE"
| "PICKBOX"
| "HPASSOC"
| "COMMANDLINEOPACITY"
| "CURSORTYPE"
| "SNAPANG"
| "TEXTFILL"
@@ -2537,6 +2538,22 @@ impl OpenCADStudio {
false,
)),
},
"COMMANDLINEOPACITY" => match &value {
Some(v) => match v.parse::<u8>() {
Ok(n) if (20..=100).contains(&n) => {
self.command_line.set_opacity_percent(n);
Ok((format!("COMMANDLINEOPACITY = {n}"), true))
}
_ => Err("SETVAR: integer from 20 to 100 required.".into()),
},
None => Ok((
format!(
"COMMANDLINEOPACITY = {}",
self.command_line.opacity_percent()
),
false,
)),
},
"COMMANDLINEFADETIME" => match &value {
Some(v) => match v.parse::<i32>() {
Ok(n) if (0..=60000).contains(&n) => {
@@ -3147,6 +3164,7 @@ impl OpenCADStudio {
| "CURSORSIZE"
| "PICKBOX"
| "HPASSOC"
| "COMMANDLINEOPACITY"
| "CURSORTYPE"
| "SNAPANG"
| "CLIPROMPTLINES"