mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-06-06 07:28:42 +03:00
refactor: attempted autoupdate configuration
This commit is contained in:

committed by
Mitchell Hashimoto

parent
5e553f2743
commit
fd9d38481b
@ -12,6 +12,7 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
@ -108,7 +108,13 @@ class AppDelegate: NSObject,
|
|||||||
|
|
||||||
// Initial config loading
|
// Initial config loading
|
||||||
configDidReload(ghostty)
|
configDidReload(ghostty)
|
||||||
|
|
||||||
|
updaterController.updater.updateCheckInterval = 60
|
||||||
|
updaterController.updater.automaticallyChecksForUpdates =
|
||||||
|
ghostty.config.autoUpdates == "check" || ghostty.config.autoUpdates == "download"
|
||||||
|
updaterController.updater.automaticallyDownloadsUpdates =
|
||||||
|
ghostty.config.autoUpdates == "download"
|
||||||
|
|
||||||
// Register our service provider. This must happen after everything is initialized.
|
// Register our service provider. This must happen after everything is initialized.
|
||||||
NSApp.servicesProvider = ServiceProvider()
|
NSApp.servicesProvider = ServiceProvider()
|
||||||
|
|
||||||
|
@ -360,6 +360,17 @@ extension Ghostty {
|
|||||||
_ = ghostty_config_get(config, &v, key, UInt(key.count))
|
_ = ghostty_config_get(config, &v, key, UInt(key.count))
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var autoUpdates: String {
|
||||||
|
let defaultValue = "off"
|
||||||
|
guard let config = self.config else { return defaultValue }
|
||||||
|
let key = "auto-updates"
|
||||||
|
|
||||||
|
var value: UnsafePointer<Int8>? = nil
|
||||||
|
guard ghostty_config_get(config, &value, key, UInt(key.count)) else { return defaultValue }
|
||||||
|
guard let pointer = value else { return defaultValue }
|
||||||
|
return String(cString: pointer)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1462,6 +1462,13 @@ term: []const u8 = "xterm-ghostty",
|
|||||||
/// running. Defaults to an empty string if not set.
|
/// running. Defaults to an empty string if not set.
|
||||||
@"enquiry-response": []const u8 = "",
|
@"enquiry-response": []const u8 = "",
|
||||||
|
|
||||||
|
/// This controls the automatic update functionality on macOS by setting the
|
||||||
|
/// properties on the Squirrel automatic update component. By default this is
|
||||||
|
/// set to "off" which doesn't do anything. The "check" option will automatically
|
||||||
|
/// check for updates but will NOT download them, while as the "download" option
|
||||||
|
/// will both check AND download updates automatically for the user.
|
||||||
|
@"auto-updates": AutoUpdates = .off,
|
||||||
|
|
||||||
/// This is set by the CLI parser for deinit.
|
/// This is set by the CLI parser for deinit.
|
||||||
_arena: ?ArenaAllocator = null,
|
_arena: ?ArenaAllocator = null,
|
||||||
|
|
||||||
@ -4096,6 +4103,13 @@ pub const LinuxCgroup = enum {
|
|||||||
@"single-instance",
|
@"single-instance",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/// See auto-updates
|
||||||
|
pub const AutoUpdates = enum {
|
||||||
|
check,
|
||||||
|
download,
|
||||||
|
off,
|
||||||
|
};
|
||||||
|
|
||||||
pub const Duration = struct {
|
pub const Duration = struct {
|
||||||
/// Duration in nanoseconds
|
/// Duration in nanoseconds
|
||||||
duration: u64 = 0,
|
duration: u64 = 0,
|
||||||
|
Reference in New Issue
Block a user