refact, linux headless option, ui

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou 2023-07-29 15:45:16 +08:00
parent 55972bfac5
commit 19c8ba719a
3 changed files with 28 additions and 13 deletions

View File

@ -312,20 +312,26 @@ class _GeneralState extends State<_General> {
}
Widget other() {
return _Card(title: 'Other', children: [
final children = [
_OptionCheckBox(context, 'Confirm before closing multiple tabs',
'enable-confirm-closing-tabs'),
_OptionCheckBox(context, 'Adaptive Bitrate', 'enable-abr'),
if (Platform.isLinux)
Tooltip(
message: translate('software_render_tip'),
child: _OptionCheckBox(
context,
"Always use software rendering",
'allow-always-software-render',
),
)
]);
_OptionCheckBox(context, 'Adaptive Bitrate', 'enable-abr')
];
if (Platform.isLinux) {
children.add(Tooltip(
message: translate('software_render_tip'),
child: _OptionCheckBox(
context,
"Always use software rendering",
'allow-always-software-render',
),
));
}
if (bind.mainShowOption(key: 'allow-linux-headless')) {
children.add(_OptionCheckBox(
context, 'Allow linux headless', 'allow-linux-headless'));
}
return _Card(title: 'Other', children: children);
}
Widget hwcodec() {

View File

@ -33,7 +33,7 @@ const SERIAL: i32 = 3;
const PASSWORD_ENC_VERSION: &str = "00";
// config2 options
#[cfg(all(target_os = "linux"))]
#[cfg(target_os = "linux")]
pub const CONFIG_OPTION_ALLOW_LINUX_HEADLESS: &str = "allow-linux-headless";
#[cfg(target_os = "macos")]

View File

@ -614,6 +614,15 @@ pub fn main_get_error() -> String {
get_error()
}
pub fn main_show_option(key: String) -> SyncReturn<bool> {
if key.eq(config::CONFIG_OPTION_ALLOW_LINUX_HEADLESS) {
#[cfg(all(target_os = "linux", feature = "linux_headless"))]
#[cfg(not(any(feature = "flatpak", feature = "appimage")))]
return SyncReturn(true)
}
SyncReturn(false)
}
pub fn main_set_option(key: String, value: String) {
if key.eq("custom-rendezvous-server") {
set_option(key, value);