mirror of
https://github.com/ghostty-org/ghostty.git
synced 2026-04-06 07:38:21 +00:00
config: add progress-style option
Add option to disable OSC 9;4 ConEmu progress bars via config. Fixes #11241
This commit is contained in:
@@ -1934,6 +1934,15 @@ extension Ghostty {
|
||||
case GHOSTTY_TARGET_SURFACE:
|
||||
guard let surface = target.target.surface else { return }
|
||||
guard let surfaceView = self.surfaceView(from: surface) else { return }
|
||||
guard let config = (NSApplication.shared.delegate as? AppDelegate)?.ghostty.config else { return }
|
||||
|
||||
guard config.progressStyle else {
|
||||
Ghostty.logger.debug("progress_report action blocked by config")
|
||||
DispatchQueue.main.async {
|
||||
surfaceView.progressReport = nil
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
let progressReport = Ghostty.Action.ProgressReport(c: v)
|
||||
DispatchQueue.main.async {
|
||||
|
||||
@@ -717,6 +717,14 @@ extension Ghostty {
|
||||
let buffer = UnsafeBufferPointer(start: v.commands, count: v.len)
|
||||
return buffer.map { Ghostty.Command(cValue: $0) }
|
||||
}
|
||||
|
||||
var progressStyle: Bool {
|
||||
guard let config = self.config else { return true }
|
||||
var v = true
|
||||
let key = "progress-style"
|
||||
_ = ghostty_config_get(config, &v, key, UInt(key.lengthOfBytes(using: .utf8)))
|
||||
return v
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1012,6 +1012,14 @@ pub const Surface = extern struct {
|
||||
priv.progress_bar_timer = null;
|
||||
}
|
||||
|
||||
if (priv.config) |config| {
|
||||
if (!config.get().@"progress-style") {
|
||||
log.debug("progress_report action blocked by config", .{});
|
||||
priv.progress_bar_overlay.as(gtk.Widget).setVisible(@intFromBool(false));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
const progress_bar = priv.progress_bar_overlay;
|
||||
switch (value.state) {
|
||||
// Remove the progress bar
|
||||
|
||||
@@ -3636,6 +3636,11 @@ else
|
||||
/// notifications using certain escape sequences such as OSC 9 or OSC 777.
|
||||
@"desktop-notifications": bool = true,
|
||||
|
||||
/// If `true` (default), applications running in the terminal can show
|
||||
/// graphical progress bars using the ConEmu OSC 9;4 escape sequence.
|
||||
/// If `false`, progress bar sequences are silently ignored.
|
||||
@"progress-style": bool = true,
|
||||
|
||||
/// Modifies the color used for bold text in the terminal.
|
||||
///
|
||||
/// This can be set to a specific color, using the same format as
|
||||
|
||||
Reference in New Issue
Block a user