mirror of
https://github.com/kotatogram/kotatogram-desktop
synced 2025-08-31 14:45:14 +00:00
Implement system-based dark mode for Windows and Linux
This commit is contained in:
@@ -416,6 +416,30 @@ public:
|
||||
[[nodiscard]] rpl::producer<bool> nativeWindowFrameChanges() const {
|
||||
return _nativeWindowFrame.changes();
|
||||
}
|
||||
void setSystemDarkMode(std::optional<bool> value) {
|
||||
_systemDarkMode = value;
|
||||
}
|
||||
[[nodiscard]] std::optional<bool> systemDarkMode() const {
|
||||
return _systemDarkMode.current();
|
||||
}
|
||||
[[nodiscard]] rpl::producer<std::optional<bool>> systemDarkModeValue() const {
|
||||
return _systemDarkMode.value();
|
||||
}
|
||||
[[nodiscard]] rpl::producer<std::optional<bool>> systemDarkModeChanges() const {
|
||||
return _systemDarkMode.changes();
|
||||
}
|
||||
void setSystemDarkModeEnabled(bool value) {
|
||||
_systemDarkModeEnabled = value;
|
||||
}
|
||||
[[nodiscard]] bool systemDarkModeEnabled() const {
|
||||
return _systemDarkModeEnabled.current();
|
||||
}
|
||||
[[nodiscard]] rpl::producer<bool> systemDarkModeEnabledValue() const {
|
||||
return _systemDarkModeEnabled.value();
|
||||
}
|
||||
[[nodiscard]] rpl::producer<bool> systemDarkModeEnabledChanges() const {
|
||||
return _systemDarkModeEnabled.changes();
|
||||
}
|
||||
|
||||
[[nodiscard]] static bool ThirdColumnByDefault();
|
||||
[[nodiscard]] float64 DefaultDialogsWidthRatio();
|
||||
@@ -484,6 +508,8 @@ private:
|
||||
rpl::variable<int> _thirdColumnWidth = kDefaultThirdColumnWidth; // p-w
|
||||
bool _notifyFromAll = true;
|
||||
rpl::variable<bool> _nativeWindowFrame = false;
|
||||
rpl::variable<std::optional<bool>> _systemDarkMode = std::nullopt;
|
||||
rpl::variable<bool> _systemDarkModeEnabled = false;
|
||||
|
||||
bool _tabbedReplacedWithInfo = false; // per-window
|
||||
rpl::event_stream<bool> _tabbedReplacedWithInfoValue; // per-window
|
||||
|
Reference in New Issue
Block a user