feat: add time offset configuration

This commit is contained in:
2026-03-24 07:20:52 +01:00
parent 560cb67722
commit 195028d994
14 changed files with 148 additions and 27 deletions
+7
View File
@@ -113,6 +113,13 @@ namespace Montauk {
static constexpr uint64_t SYS_BTLIST = 87;
static constexpr uint64_t SYS_BTINFO = 88;
// Power management
static constexpr uint64_t SYS_SUSPEND = 89;
// Timezone
static constexpr uint64_t SYS_SETTZ = 90;
static constexpr uint64_t SYS_GETTZ = 91;
// Audio control commands (for SYS_AUDIOCTL)
static constexpr int AUDIO_CTL_SET_VOLUME = 0;
static constexpr int AUDIO_CTL_GET_VOLUME = 1;
+1
View File
@@ -52,6 +52,7 @@ struct DesktopSettings {
bool show_shadows; // window shadows on/off
bool clock_24h; // 24-hour clock format
int ui_scale; // 0=Small, 1=Default, 2=Large
int tz_offset_minutes; // timezone offset from UTC in minutes
};
struct DesktopState {
@@ -249,6 +249,10 @@ namespace montauk {
// Timekeeping (wall-clock)
inline void gettime(Montauk::DateTime* out) { syscall1(Montauk::SYS_GETTIME, (uint64_t)out); }
// Timezone offset (total minutes from UTC)
inline void settz(int offset_minutes) { syscall1(Montauk::SYS_SETTZ, (uint64_t)(int64_t)offset_minutes); }
inline int gettz() { return (int)syscall0(Montauk::SYS_GETTZ); }
// Random number generation
inline int64_t getrandom(void* buf, uint32_t len) {
return syscall2(Montauk::SYS_GETRANDOM, (uint64_t)buf, (uint64_t)len);