mirror of
https://gitlab.com/asus-linux/asusctl.git
synced 2026-02-06 00:15:04 +01:00
Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| aee465aced | |||
| 192e5ccaa3 | |||
| f164583792 | |||
| b4d657b866 | |||
| f7bf7aeef9 | |||
| 2cd4c4850f | |||
| 805ccfe451 | |||
| 5655f63dff | |||
| a2795e4d78 | |||
| 0684c16bf5 | |||
| a08ca3af98 | |||
| efa379e778 | |||
| 5cbf0816fe | |||
| 2951d3926c | |||
| eb19d59d52 | |||
| 3e4d594b05 | |||
| a206591e97 |
Executable
+53
@@ -0,0 +1,53 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
ROOT_DIR=$(git rev-parse --show-toplevel)
|
||||||
|
AURA_DATA="${ROOT_DIR}/rog-aura/data/aura_support.ron"
|
||||||
|
SPEC_FILE="${ROOT_DIR}/distro-packaging/asusctl.spec"
|
||||||
|
TRANSLATION="${ROOT_DIR}/rog-control-center/translations/en/rog-control-center.po"
|
||||||
|
VERSION=$(grep -Pm1 'version = "(\d+.\d+.\d+.*)"' "${ROOT_DIR}/Cargo.toml" | cut -d'"' -f2)
|
||||||
|
|
||||||
|
if [ -z "$VERSION" ]; then
|
||||||
|
echo "Error: Could not extract version from Cargo.toml"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ ! -f "$SPEC_FILE" ]; then
|
||||||
|
echo "Error: Spec file not found at ${SPEC_FILE}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update spec file
|
||||||
|
sed -i "s/^%define version.*/%define version ${VERSION}/" "$SPEC_FILE"
|
||||||
|
if git diff --quiet "$SPEC_FILE"; then
|
||||||
|
echo "No changes to spec file"
|
||||||
|
else
|
||||||
|
git add "$SPEC_FILE"
|
||||||
|
git commit --no-verify -m "chore: update spec file version to ${VERSION}"
|
||||||
|
echo "Updated spec file version to ${VERSION}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update translations only if UI files changed
|
||||||
|
if git diff-tree -r HEAD@{1} HEAD --name-only | grep -q "^rog-control-center/ui/"; then
|
||||||
|
echo 'find -name \*.slint | xargs slint-tr-extractor -o ${TRANSLATION}'
|
||||||
|
find -name \*.slint | xargs slint-tr-extractor -o $TRANSLATION
|
||||||
|
if git diff --quiet "$TRANSLATION"; then
|
||||||
|
echo "No changes to translation file"
|
||||||
|
else
|
||||||
|
git add "$TRANSLATION"
|
||||||
|
git commit --no-verify -m "chore: update translations"
|
||||||
|
echo "Updated ${TRANSLATION}"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "No changes in rog-control-center/ui/, skipping translation update"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update aura data
|
||||||
|
cargo test --package rog_aura --lib -- aura_detection::tests::check_data_file_parse --exact
|
||||||
|
cargo test --package rog_aura --lib -- aura_detection::tests::find_data_file_groups --exact
|
||||||
|
if git diff --quiet "$AURA_DATA"; then
|
||||||
|
echo "No changes to aura data file"
|
||||||
|
else
|
||||||
|
git add "$AURA_DATA"
|
||||||
|
git commit --no-verify -m "chore: update aura data"
|
||||||
|
echo "Updated $AURA_DATA"
|
||||||
|
fi
|
||||||
@@ -1,18 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
echo 'find -name \*.slint | xargs slint-tr-extractor -o rog-control-center/translations/en/rog-control-center.po'
|
|
||||||
find -name \*.slint | xargs slint-tr-extractor -o rog-control-center/translations/en/rog-control-center.po
|
|
||||||
|
|
||||||
echo '+cargo +nightly fmt --all -- --check'
|
echo '+cargo +nightly fmt --all -- --check'
|
||||||
cargo +nightly fmt --all -- --check
|
cargo +nightly fmt --all -- --check
|
||||||
|
git add -u
|
||||||
echo '+cargo clippy --all -- -D warnings'
|
|
||||||
cargo clippy --all -- -D warnings
|
|
||||||
|
|
||||||
echo '+cargo test --all'
|
|
||||||
cargo test --all -- --test-threads=1
|
|
||||||
|
|
||||||
echo '+cargo cranky'
|
|
||||||
cargo cranky
|
|
||||||
|
|||||||
@@ -2,6 +2,19 @@
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [v6.1.9]
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- ROGCC: better handling of platform profiles
|
||||||
|
|
||||||
|
## [v6.1.8]
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Testing CI for opensuse RPM build
|
||||||
|
- ROGCC: Fixes to showing the PPT enablement toggle
|
||||||
|
- ROGCC: Fixes to how PPT and NV sliders work and enable/disable
|
||||||
|
- RGOCC: Fix quiet fan-curves availability
|
||||||
|
|
||||||
## [v6.1.7]
|
## [v6.1.7]
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|||||||
Generated
+164
-491
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "6.1.7"
|
version = "6.1.9"
|
||||||
rust-version = "1.82"
|
rust-version = "1.82"
|
||||||
license = "MPL-2.0"
|
license = "MPL-2.0"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
|
|||||||
+21
-7
@@ -74,22 +74,36 @@ fn main() {
|
|||||||
println!("\nError: {e}\n");
|
println!("\nError: {e}\n");
|
||||||
print_info();
|
print_info();
|
||||||
}) {
|
}) {
|
||||||
let asusd_version = platform_proxy
|
let asusd_version = match platform_proxy.version() {
|
||||||
.version()
|
Ok(version) => version,
|
||||||
.map_err(|e| {
|
Err(e) => {
|
||||||
error!(
|
error!(
|
||||||
"Could not get asusd version: {e:?}\nIs asusd.service running? {}",
|
"Could not get asusd version: {e:?}\nIs asusd.service running? {}",
|
||||||
check_service("asusd")
|
check_service("asusd")
|
||||||
);
|
);
|
||||||
})
|
return;
|
||||||
.unwrap();
|
}
|
||||||
|
};
|
||||||
|
|
||||||
if asusd_version != self_version {
|
if asusd_version != self_version {
|
||||||
println!("Version mismatch: asusctl = {self_version}, asusd = {asusd_version}");
|
println!("Version mismatch: asusctl = {self_version}, asusd = {asusd_version}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let supported_properties = platform_proxy.supported_properties().unwrap();
|
let supported_properties = match platform_proxy.supported_properties() {
|
||||||
let supported_interfaces = list_iface_blocking().unwrap();
|
Ok(props) => props,
|
||||||
|
Err(e) => {
|
||||||
|
error!("Could not get supported properties: {e:?}");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
let supported_interfaces = match list_iface_blocking() {
|
||||||
|
Ok(ifaces) => ifaces,
|
||||||
|
Err(e) => {
|
||||||
|
error!("Could not get supported interfaces: {e:?}");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
if parsed.version {
|
if parsed.version {
|
||||||
println!("asusctl v{}", env!("CARGO_PKG_VERSION"));
|
println!("asusctl v{}", env!("CARGO_PKG_VERSION"));
|
||||||
|
|||||||
@@ -43,6 +43,8 @@ pub struct Config {
|
|||||||
/// The energy_performance_preference for this platform profile
|
/// The energy_performance_preference for this platform profile
|
||||||
pub profile_balanced_epp: CPUEPP,
|
pub profile_balanced_epp: CPUEPP,
|
||||||
/// The energy_performance_preference for this platform profile
|
/// The energy_performance_preference for this platform profile
|
||||||
|
pub profile_custom_epp: CPUEPP,
|
||||||
|
/// The energy_performance_preference for this platform profile
|
||||||
pub profile_performance_epp: CPUEPP,
|
pub profile_performance_epp: CPUEPP,
|
||||||
pub ac_profile_tunings: Tunings,
|
pub ac_profile_tunings: Tunings,
|
||||||
pub dc_profile_tunings: Tunings,
|
pub dc_profile_tunings: Tunings,
|
||||||
@@ -79,6 +81,7 @@ impl Default for Config {
|
|||||||
profile_quiet_epp: CPUEPP::Power,
|
profile_quiet_epp: CPUEPP::Power,
|
||||||
profile_balanced_epp: CPUEPP::BalancePower,
|
profile_balanced_epp: CPUEPP::BalancePower,
|
||||||
profile_performance_epp: CPUEPP::Performance,
|
profile_performance_epp: CPUEPP::Performance,
|
||||||
|
profile_custom_epp: CPUEPP::Performance,
|
||||||
ac_profile_tunings: HashMap::default(),
|
ac_profile_tunings: HashMap::default(),
|
||||||
dc_profile_tunings: HashMap::default(),
|
dc_profile_tunings: HashMap::default(),
|
||||||
armoury_settings: HashMap::default(),
|
armoury_settings: HashMap::default(),
|
||||||
@@ -167,6 +170,7 @@ impl From<Config601> for Config {
|
|||||||
profile_quiet_epp: c.profile_quiet_epp,
|
profile_quiet_epp: c.profile_quiet_epp,
|
||||||
profile_balanced_epp: c.profile_balanced_epp,
|
profile_balanced_epp: c.profile_balanced_epp,
|
||||||
profile_performance_epp: c.profile_performance_epp,
|
profile_performance_epp: c.profile_performance_epp,
|
||||||
|
profile_custom_epp: c.profile_performance_epp,
|
||||||
last_power_plugged: c.last_power_plugged,
|
last_power_plugged: c.last_power_plugged,
|
||||||
ac_profile_tunings: HashMap::default(),
|
ac_profile_tunings: HashMap::default(),
|
||||||
dc_profile_tunings: HashMap::default(),
|
dc_profile_tunings: HashMap::default(),
|
||||||
|
|||||||
@@ -66,11 +66,8 @@ impl CtrlFanCurveZbus {
|
|||||||
info!("Fetching default fan curves");
|
info!("Fetching default fan curves");
|
||||||
|
|
||||||
let current = platform.get_platform_profile()?;
|
let current = platform.get_platform_profile()?;
|
||||||
for this in [
|
let profiles = platform.get_platform_profile_choices()?;
|
||||||
PlatformProfile::Balanced,
|
for this in profiles {
|
||||||
PlatformProfile::Performance,
|
|
||||||
PlatformProfile::Quiet,
|
|
||||||
] {
|
|
||||||
// For each profile we need to switch to it before we
|
// For each profile we need to switch to it before we
|
||||||
// can read the existing values from hardware. The ACPI method used
|
// can read the existing values from hardware. The ACPI method used
|
||||||
// for this is what limits us.
|
// for this is what limits us.
|
||||||
|
|||||||
@@ -212,6 +212,7 @@ impl CtrlPlatform {
|
|||||||
PlatformProfile::Performance => self.config.lock().await.profile_performance_epp,
|
PlatformProfile::Performance => self.config.lock().await.profile_performance_epp,
|
||||||
PlatformProfile::Quiet => self.config.lock().await.profile_quiet_epp,
|
PlatformProfile::Quiet => self.config.lock().await.profile_quiet_epp,
|
||||||
PlatformProfile::LowPower => self.config.lock().await.profile_quiet_epp,
|
PlatformProfile::LowPower => self.config.lock().await.profile_quiet_epp,
|
||||||
|
PlatformProfile::Custom => self.config.lock().await.profile_custom_epp,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -354,16 +355,7 @@ impl CtrlPlatform {
|
|||||||
|
|
||||||
#[zbus(property)]
|
#[zbus(property)]
|
||||||
fn platform_profile(&self) -> Result<PlatformProfile, FdoErr> {
|
fn platform_profile(&self) -> Result<PlatformProfile, FdoErr> {
|
||||||
let choices = self.platform.get_platform_profile_choices()?;
|
|
||||||
let policy: PlatformProfile = self.platform.get_platform_profile()?.as_str().into();
|
let policy: PlatformProfile = self.platform.get_platform_profile()?.as_str().into();
|
||||||
let policy = if policy == PlatformProfile::LowPower
|
|
||||||
&& choices.contains(&PlatformProfile::LowPower)
|
|
||||||
{
|
|
||||||
PlatformProfile::Quiet
|
|
||||||
} else {
|
|
||||||
policy
|
|
||||||
};
|
|
||||||
|
|
||||||
Ok(policy)
|
Ok(policy)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -382,13 +374,12 @@ impl CtrlPlatform {
|
|||||||
self.config.lock().await.write();
|
self.config.lock().await.write();
|
||||||
|
|
||||||
let choices = self.platform.get_platform_profile_choices()?;
|
let choices = self.platform.get_platform_profile_choices()?;
|
||||||
let policy = if policy == PlatformProfile::Quiet
|
if !choices.contains(&PlatformProfile::LowPower) {
|
||||||
&& choices.contains(&PlatformProfile::LowPower)
|
return Err(FdoErr::NotSupported(format!(
|
||||||
{
|
"RogPlatform: platform_profile: {} not supported",
|
||||||
PlatformProfile::LowPower
|
policy
|
||||||
} else {
|
)));
|
||||||
policy
|
}
|
||||||
};
|
|
||||||
|
|
||||||
self.platform
|
self.platform
|
||||||
.set_platform_profile(policy.into())
|
.set_platform_profile(policy.into())
|
||||||
@@ -651,6 +642,7 @@ impl ReloadAndNotify for CtrlPlatform {
|
|||||||
PlatformProfile::Performance => data.profile_performance_epp,
|
PlatformProfile::Performance => data.profile_performance_epp,
|
||||||
PlatformProfile::Quiet => data.profile_quiet_epp,
|
PlatformProfile::Quiet => data.profile_quiet_epp,
|
||||||
PlatformProfile::LowPower => data.profile_quiet_epp,
|
PlatformProfile::LowPower => data.profile_quiet_epp,
|
||||||
|
PlatformProfile::Custom => data.profile_custom_epp,
|
||||||
};
|
};
|
||||||
warn!("setting epp to {epp:?}");
|
warn!("setting epp to {epp:?}");
|
||||||
self.check_and_set_epp(epp, true);
|
self.check_and_set_epp(epp, true);
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package asus-nb-ctrl
|
# spec file for package asus-nb-ctrl
|
||||||
#
|
#
|
||||||
# Copyright (c) 2020-2021 Luke Jones <luke@ljones.dev>
|
# Copyright (c) 2020-2025 Luke Jones <luke@ljones.dev>
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -20,42 +20,43 @@
|
|||||||
%global debug_package %{nil}
|
%global debug_package %{nil}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%define version 6.1.9
|
||||||
%define specrelease %{?dist}
|
%define specrelease %{?dist}
|
||||||
%define pkg_release 3%{specrelease}
|
%define pkg_release 9%{specrelease}
|
||||||
|
|
||||||
# Use hardening ldflags.
|
# Use hardening ldflags.
|
||||||
%global rustflags -Clink-arg=-Wl,-z,relro,-z,now
|
%global rustflags -Clink-arg=-Wl,-z,relro,-z,now
|
||||||
Name: asusctl
|
Name: asusctl
|
||||||
Version: 6.0.7
|
Version: %{version}
|
||||||
Release: %{pkg_release}
|
Release: %{pkg_release}
|
||||||
Summary: Control fan speeds, LEDs, graphics modes, and charge levels for ASUS notebooks
|
Summary: Control fan speeds, LEDs, graphics modes, and charge levels for ASUS notebooks
|
||||||
License: MPLv2
|
License: MPLv2
|
||||||
|
|
||||||
Group: System Environment/Kernel
|
Group: System Environment/Kernel
|
||||||
|
|
||||||
URL: https://gitlab.com/asus-linux/asusctl
|
URL: https://gitlab.com/asus-linux/asusctl
|
||||||
Source: %{name}-%{version}.tar.gz
|
Source: https://gitlab.com/asus-linux/asusctl/-/archive/%{version}/%{name}-%{version}.tar.gz
|
||||||
Source1: vendor_%{name}_%{version}.tar.xz
|
|
||||||
Source2: cargo-config
|
|
||||||
|
|
||||||
BuildRequires: cargo
|
%if %{defined fedora}
|
||||||
BuildRequires: rust-packaging
|
BuildRequires: rust-packaging
|
||||||
BuildRequires: systemd-rpm-macros
|
BuildRequires: systemd-rpm-macros
|
||||||
|
%else
|
||||||
|
BuildRequires: cargo-packaging
|
||||||
|
%endif
|
||||||
|
BuildRequires: git
|
||||||
BuildRequires: clang-devel
|
BuildRequires: clang-devel
|
||||||
|
BuildRequires: cargo
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: rust
|
BuildRequires: rust
|
||||||
BuildRequires: rust-std-static
|
BuildRequires: rust-std-static
|
||||||
BuildRequires: pkgconfig(expat)
|
BuildRequires: pkgconfig(gbm)
|
||||||
BuildRequires: pkgconfig(dbus-1)
|
BuildRequires: pkgconfig(libinput)
|
||||||
|
BuildRequires: pkgconfig(libseat)
|
||||||
BuildRequires: pkgconfig(libudev)
|
BuildRequires: pkgconfig(libudev)
|
||||||
BuildRequires: pkgconfig(xkbcommon)
|
BuildRequires: pkgconfig(xkbcommon)
|
||||||
BuildRequires: pkgconfig(libzstd)
|
BuildRequires: pkgconfig(libzstd)
|
||||||
BuildRequires: pkgconfig(gtk+-3.0)
|
|
||||||
BuildRequires: pkgconfig(gdk-3.0)
|
|
||||||
BuildRequires: desktop-file-utils
|
BuildRequires: desktop-file-utils
|
||||||
|
|
||||||
# expat-devel pcre2-devel
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
asus-nb-ctrl is a utility for Linux to control many aspects of various
|
asus-nb-ctrl is a utility for Linux to control many aspects of various
|
||||||
ASUS laptops but can also be used with non-Asus laptops with reduced features.
|
ASUS laptops but can also be used with non-Asus laptops with reduced features.
|
||||||
@@ -72,21 +73,28 @@ A one-stop-shop GUI tool for asusd/asusctl. It aims to provide most controls,
|
|||||||
a notification service, and ability to run in the background.
|
a notification service, and ability to run in the background.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
# %setup -D -T -a 1 -c -n %{name}-%{version}/vendor
|
|
||||||
# %setup -D -T -a 0 -c
|
|
||||||
%autosetup
|
%autosetup
|
||||||
%setup -D -T -a 1
|
%if %{defined fedora}
|
||||||
|
|
||||||
mv Cargo.lock{,.bak}
|
|
||||||
%cargo_prep
|
%cargo_prep
|
||||||
mv Cargo.lock{.bak,}
|
sed -i 's|offline = true|offline = false|' .cargo/config.toml
|
||||||
sed -i 's|replace-with = "local-registry"|replace-with = "vendored-sources"|' .cargo/config
|
sed -i 's|source.crates-io|source.ignore_this|' .cargo/config.toml
|
||||||
cat %{SOURCE2} >> .cargo/config
|
%else
|
||||||
|
mkdir -p .cargo
|
||||||
|
cat > .cargo/config.toml << 'EOF'
|
||||||
|
[term]
|
||||||
|
verbose = true
|
||||||
|
[net]
|
||||||
|
offline = false
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
%build
|
%build
|
||||||
export RUSTFLAGS="%{rustflags}"
|
export RUSTFLAGS="%{rustflags}"
|
||||||
|
%if %{defined fedora}
|
||||||
%cargo_build
|
%cargo_build
|
||||||
#cargo build --release --frozen --offline --config .cargo/config.toml
|
%else
|
||||||
|
/usr/bin/cargo auditable build --release
|
||||||
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
export RUSTFLAGS="%{rustflags}"
|
export RUSTFLAGS="%{rustflags}"
|
||||||
|
|||||||
@@ -51,7 +51,6 @@ default-features = false
|
|||||||
features = [
|
features = [
|
||||||
"compat-1-2",
|
"compat-1-2",
|
||||||
"gettext",
|
"gettext",
|
||||||
"accessibility",
|
|
||||||
"backend-winit-wayland",
|
"backend-winit-wayland",
|
||||||
"renderer-femtovg",
|
"renderer-femtovg",
|
||||||
# "renderer-skia-opengl",
|
# "renderer-skia-opengl",
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ use std::time::Duration;
|
|||||||
use config_traits::{StdConfig, StdConfigLoad1};
|
use config_traits::{StdConfig, StdConfigLoad1};
|
||||||
use dmi_id::DMIID;
|
use dmi_id::DMIID;
|
||||||
use gumdrop::Options;
|
use gumdrop::Options;
|
||||||
use log::{info, warn, LevelFilter};
|
use log::{debug, info, warn, LevelFilter};
|
||||||
use rog_control_center::cli_options::CliStart;
|
use rog_control_center::cli_options::CliStart;
|
||||||
use rog_control_center::config::Config;
|
use rog_control_center::config::Config;
|
||||||
use rog_control_center::error::Result;
|
use rog_control_center::error::Result;
|
||||||
@@ -35,21 +35,20 @@ async fn main() -> Result<()> {
|
|||||||
// If we're running under gamescope we have to set WAYLAND_DISPLAY for winit to
|
// If we're running under gamescope we have to set WAYLAND_DISPLAY for winit to
|
||||||
// use
|
// use
|
||||||
if let Ok(gamescope) = env::var("GAMESCOPE_WAYLAND_DISPLAY") {
|
if let Ok(gamescope) = env::var("GAMESCOPE_WAYLAND_DISPLAY") {
|
||||||
dbg!(1);
|
debug!("Gamescope detected");
|
||||||
if !gamescope.is_empty() {
|
if !gamescope.is_empty() {
|
||||||
dbg!(2);
|
debug!("Setting WAYLAND_DISPLAY to {}", gamescope);
|
||||||
env::set_var("WAYLAND_DISPLAY", gamescope);
|
env::set_var("WAYLAND_DISPLAY", gamescope);
|
||||||
}
|
}
|
||||||
// gamescope-0
|
// gamescope-0
|
||||||
else if let Ok(wayland) = env::var("WAYLAND_DISPLAY") {
|
else if let Ok(wayland) = env::var("WAYLAND_DISPLAY") {
|
||||||
dbg!(3);
|
debug!("Wayland display detected");
|
||||||
if wayland.is_empty() {
|
if wayland.is_empty() {
|
||||||
dbg!(4);
|
debug!("Setting WAYLAND_DISPLAY to gamescope-0");
|
||||||
env::set_var("WAYLAND_DISPLAY", "gamescope-0");
|
env::set_var("WAYLAND_DISPLAY", "gamescope-0");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dbg!("SHITR");
|
|
||||||
|
|
||||||
// Try to open a proxy and check for app state first
|
// Try to open a proxy and check for app state first
|
||||||
{
|
{
|
||||||
@@ -76,7 +75,7 @@ async fn main() -> Result<()> {
|
|||||||
.unwrap();
|
.unwrap();
|
||||||
if asusd_version != self_version {
|
if asusd_version != self_version {
|
||||||
println!("Version mismatch: asusctl = {self_version}, asusd = {asusd_version}");
|
println!("Version mismatch: asusctl = {self_version}, asusd = {asusd_version}");
|
||||||
return Ok(());
|
// return Ok(());
|
||||||
}
|
}
|
||||||
|
|
||||||
// start tokio
|
// start tokio
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ impl From<Profile> for PlatformProfile {
|
|||||||
Profile::Performance => PlatformProfile::Performance,
|
Profile::Performance => PlatformProfile::Performance,
|
||||||
Profile::Quiet => PlatformProfile::Quiet,
|
Profile::Quiet => PlatformProfile::Quiet,
|
||||||
Profile::LowPower => PlatformProfile::LowPower,
|
Profile::LowPower => PlatformProfile::LowPower,
|
||||||
|
Profile::Custom => PlatformProfile::Custom,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -21,6 +22,7 @@ impl From<PlatformProfile> for Profile {
|
|||||||
PlatformProfile::Performance => Profile::Performance,
|
PlatformProfile::Performance => Profile::Performance,
|
||||||
PlatformProfile::Quiet => Profile::Quiet,
|
PlatformProfile::Quiet => Profile::Quiet,
|
||||||
PlatformProfile::LowPower => Profile::LowPower,
|
PlatformProfile::LowPower => Profile::LowPower,
|
||||||
|
PlatformProfile::Custom => Profile::Custom,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -86,8 +86,13 @@ pub fn setup_window(config: Arc<Mutex<Config>>) -> MainWindow {
|
|||||||
slint::set_xdg_app_id("rog-control-center")
|
slint::set_xdg_app_id("rog-control-center")
|
||||||
.map_err(|e| warn!("Couldn't set application ID: {e:?}"))
|
.map_err(|e| warn!("Couldn't set application ID: {e:?}"))
|
||||||
.ok();
|
.ok();
|
||||||
let ui = MainWindow::new().unwrap();
|
let ui = MainWindow::new()
|
||||||
ui.window().show().unwrap();
|
.map_err(|e| warn!("Couldn't create main window: {e:?}"))
|
||||||
|
.unwrap();
|
||||||
|
ui.window()
|
||||||
|
.show()
|
||||||
|
.map_err(|e| warn!("Couldn't show main window: {e:?}"))
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
let available = list_iface_blocking().unwrap_or_default();
|
let available = list_iface_blocking().unwrap_or_default();
|
||||||
ui.set_sidebar_items_avilable(
|
ui.set_sidebar_items_avilable(
|
||||||
|
|||||||
@@ -54,14 +54,17 @@ pub fn update_fan_data(
|
|||||||
global.set_performance_available(true);
|
global.set_performance_available(true);
|
||||||
match fan.fan {
|
match fan.fan {
|
||||||
rog_profiles::FanCurvePU::CPU => {
|
rog_profiles::FanCurvePU::CPU => {
|
||||||
|
global.set_cpu_fan_available(true);
|
||||||
global.set_performance_cpu_enabled(fan.enabled);
|
global.set_performance_cpu_enabled(fan.enabled);
|
||||||
global.set_performance_cpu(collect(&fan.temp, &fan.pwm))
|
global.set_performance_cpu(collect(&fan.temp, &fan.pwm))
|
||||||
}
|
}
|
||||||
rog_profiles::FanCurvePU::GPU => {
|
rog_profiles::FanCurvePU::GPU => {
|
||||||
|
global.set_gpu_fan_available(true);
|
||||||
global.set_performance_gpu_enabled(fan.enabled);
|
global.set_performance_gpu_enabled(fan.enabled);
|
||||||
global.set_performance_gpu(collect(&fan.temp, &fan.pwm))
|
global.set_performance_gpu(collect(&fan.temp, &fan.pwm))
|
||||||
}
|
}
|
||||||
rog_profiles::FanCurvePU::MID => {
|
rog_profiles::FanCurvePU::MID => {
|
||||||
|
global.set_mid_fan_available(true);
|
||||||
global.set_performance_mid_enabled(fan.enabled);
|
global.set_performance_mid_enabled(fan.enabled);
|
||||||
global.set_performance_mid(collect(&fan.temp, &fan.pwm))
|
global.set_performance_mid(collect(&fan.temp, &fan.pwm))
|
||||||
}
|
}
|
||||||
@@ -71,12 +74,18 @@ pub fn update_fan_data(
|
|||||||
global.set_quiet_available(true);
|
global.set_quiet_available(true);
|
||||||
match fan.fan {
|
match fan.fan {
|
||||||
rog_profiles::FanCurvePU::CPU => {
|
rog_profiles::FanCurvePU::CPU => {
|
||||||
|
global.set_cpu_fan_available(true);
|
||||||
|
global.set_quiet_cpu_enabled(fan.enabled);
|
||||||
global.set_quiet_cpu(collect(&fan.temp, &fan.pwm))
|
global.set_quiet_cpu(collect(&fan.temp, &fan.pwm))
|
||||||
}
|
}
|
||||||
rog_profiles::FanCurvePU::GPU => {
|
rog_profiles::FanCurvePU::GPU => {
|
||||||
|
global.set_gpu_fan_available(true);
|
||||||
|
global.set_quiet_gpu_enabled(fan.enabled);
|
||||||
global.set_quiet_gpu(collect(&fan.temp, &fan.pwm))
|
global.set_quiet_gpu(collect(&fan.temp, &fan.pwm))
|
||||||
}
|
}
|
||||||
rog_profiles::FanCurvePU::MID => {
|
rog_profiles::FanCurvePU::MID => {
|
||||||
|
global.set_mid_fan_available(true);
|
||||||
|
global.set_quiet_mid_enabled(fan.enabled);
|
||||||
global.set_quiet_mid(collect(&fan.temp, &fan.pwm))
|
global.set_quiet_mid(collect(&fan.temp, &fan.pwm))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -195,6 +204,8 @@ fn fan_data_for(fan: FanType, enabled: bool, data: Vec<Node>) -> CurveData {
|
|||||||
pwm[i] = n.y as u8;
|
pwm[i] = n.y as u8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dbg!(&fan, enabled);
|
||||||
|
|
||||||
CurveData {
|
CurveData {
|
||||||
fan: fan.into(),
|
fan: fan.into(),
|
||||||
pwm,
|
pwm,
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use rog_dbus::asus_armoury::AsusArmouryProxy;
|
|||||||
use rog_dbus::zbus_platform::{PlatformProxy, PlatformProxyBlocking};
|
use rog_dbus::zbus_platform::{PlatformProxy, PlatformProxyBlocking};
|
||||||
use rog_platform::asus_armoury::FirmwareAttribute;
|
use rog_platform::asus_armoury::FirmwareAttribute;
|
||||||
use rog_platform::platform::Properties;
|
use rog_platform::platform::Properties;
|
||||||
use slint::ComponentHandle;
|
use slint::{ComponentHandle, Model, ModelRc, SharedString, VecModel};
|
||||||
|
|
||||||
use super::show_toast;
|
use super::show_toast;
|
||||||
use crate::config::Config;
|
use crate::config::Config;
|
||||||
@@ -20,12 +20,18 @@ const MINMAX: AttrMinMax = AttrMinMax {
|
|||||||
};
|
};
|
||||||
|
|
||||||
pub fn setup_system_page(ui: &MainWindow, _config: Arc<Mutex<Config>>) {
|
pub fn setup_system_page(ui: &MainWindow, _config: Arc<Mutex<Config>>) {
|
||||||
let conn = zbus::blocking::Connection::system().unwrap();
|
let conn = zbus::blocking::Connection::system()
|
||||||
let platform = PlatformProxyBlocking::builder(&conn).build().unwrap();
|
.map_err(|e| error!("DBus system connection failed: {e:?}"))
|
||||||
|
.unwrap();
|
||||||
|
let platform = PlatformProxyBlocking::builder(&conn)
|
||||||
|
.build()
|
||||||
|
.map_err(|e| error!("PlatformProxy failed: {e:?}"))
|
||||||
|
.unwrap();
|
||||||
// let armoury_attrs =
|
// let armoury_attrs =
|
||||||
// find_iface::<AsusArmouryProxyBlocking>("xyz.ljones.AsusArmoury").unwrap();
|
// find_iface::<AsusArmouryProxyBlocking>("xyz.ljones.AsusArmoury").unwrap();
|
||||||
|
|
||||||
// Null everything before the setup step
|
// Null everything before the setup step
|
||||||
|
debug!("Defaulting system page values");
|
||||||
ui.global::<SystemPageData>()
|
ui.global::<SystemPageData>()
|
||||||
.set_charge_control_end_threshold(-1.0);
|
.set_charge_control_end_threshold(-1.0);
|
||||||
ui.global::<SystemPageData>()
|
ui.global::<SystemPageData>()
|
||||||
@@ -46,13 +52,17 @@ pub fn setup_system_page(ui: &MainWindow, _config: Arc<Mutex<Config>>) {
|
|||||||
ui.global::<SystemPageData>()
|
ui.global::<SystemPageData>()
|
||||||
.set_ppt_enabled_available(false);
|
.set_ppt_enabled_available(false);
|
||||||
|
|
||||||
let sys_props = platform.supported_properties().unwrap();
|
if let Ok(sys_props) = platform
|
||||||
log::debug!("Available system properties: {:?}", &sys_props);
|
.supported_properties()
|
||||||
if sys_props.contains(&Properties::ChargeControlEndThreshold) {
|
.map_err(|e| log::error!("Failed to get supported properties: {}", e))
|
||||||
ui.global::<SystemPageData>()
|
{
|
||||||
.set_charge_control_end_threshold(60.0);
|
log::debug!("Available system properties: {:?}", &sys_props);
|
||||||
ui.global::<SystemPageData>()
|
if sys_props.contains(&Properties::ChargeControlEndThreshold) {
|
||||||
.set_charge_control_enabled(true);
|
ui.global::<SystemPageData>()
|
||||||
|
.set_charge_control_end_threshold(60.0);
|
||||||
|
ui.global::<SystemPageData>()
|
||||||
|
.set_charge_control_enabled(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -265,9 +275,21 @@ pub fn setup_system_page_callbacks(ui: &MainWindow, _states: Arc<Mutex<Config>>)
|
|||||||
|
|
||||||
tokio::spawn(async move {
|
tokio::spawn(async move {
|
||||||
// Create the connections/proxies here to prevent future delays in process
|
// Create the connections/proxies here to prevent future delays in process
|
||||||
let conn = zbus::Connection::system().await.unwrap();
|
let conn = zbus::Connection::system()
|
||||||
let platform = PlatformProxy::builder(&conn).build().await.unwrap();
|
.await
|
||||||
|
.map_err(|e| {
|
||||||
|
log::error!("Failed to connect to system bus: {}", e);
|
||||||
|
})
|
||||||
|
.unwrap();
|
||||||
|
let platform = PlatformProxy::builder(&conn)
|
||||||
|
.build()
|
||||||
|
.await
|
||||||
|
.map_err(|e| {
|
||||||
|
log::error!("Failed to create platform proxy: {}", e);
|
||||||
|
})
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
debug!("Setting up system page profile callbacks");
|
||||||
set_ui_props_async!(
|
set_ui_props_async!(
|
||||||
handle,
|
handle,
|
||||||
platform,
|
platform,
|
||||||
@@ -275,7 +297,59 @@ pub fn setup_system_page_callbacks(ui: &MainWindow, _states: Arc<Mutex<Config>>)
|
|||||||
charge_control_end_threshold
|
charge_control_end_threshold
|
||||||
);
|
);
|
||||||
|
|
||||||
set_ui_props_async!(handle, platform, SystemPageData, platform_profile);
|
let platform_copy = platform.clone();
|
||||||
|
if let Ok(mut value) = platform.platform_profile_choices().await {
|
||||||
|
handle
|
||||||
|
.upgrade_in_event_loop(move |handle| {
|
||||||
|
value.sort();
|
||||||
|
let translate: Vec<SharedString> = handle
|
||||||
|
.global::<SystemPageData>()
|
||||||
|
.get_platform_profile_choices()
|
||||||
|
.iter()
|
||||||
|
.collect();
|
||||||
|
let mut indexes = Vec::new();
|
||||||
|
let strings: Vec<SharedString> = value
|
||||||
|
.iter()
|
||||||
|
.filter_map(|p| {
|
||||||
|
let index = i32::from(*p) as usize;
|
||||||
|
if index < translate.len() {
|
||||||
|
indexes.push(index as i32);
|
||||||
|
Some(translate[index].clone())
|
||||||
|
} else {
|
||||||
|
None
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.collect();
|
||||||
|
let choices = ModelRc::new(VecModel::from(strings));
|
||||||
|
handle
|
||||||
|
.global::<SystemPageData>()
|
||||||
|
.set_platform_profile_choices(choices);
|
||||||
|
handle
|
||||||
|
.global::<SystemPageData>()
|
||||||
|
.set_platform_profile_indexes(ModelRc::from(indexes.as_slice()));
|
||||||
|
|
||||||
|
// Set current only after setting the choices up
|
||||||
|
let handle = handle.as_weak();
|
||||||
|
tokio::spawn(async move {
|
||||||
|
if let Ok(value) = platform_copy.platform_profile().await {
|
||||||
|
let profile_value = <i32>::from(value);
|
||||||
|
handle
|
||||||
|
.upgrade_in_event_loop(move |handle| {
|
||||||
|
if let Some(position) =
|
||||||
|
indexes.iter().position(|&index| index == profile_value)
|
||||||
|
{
|
||||||
|
handle
|
||||||
|
.global::<SystemPageData>()
|
||||||
|
.set_platform_profile(position as i32);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.ok();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.ok();
|
||||||
|
}
|
||||||
|
|
||||||
set_ui_props_async!(
|
set_ui_props_async!(
|
||||||
handle,
|
handle,
|
||||||
platform,
|
platform,
|
||||||
@@ -310,6 +384,55 @@ pub fn setup_system_page_callbacks(ui: &MainWindow, _states: Arc<Mutex<Config>>)
|
|||||||
let platform_copy = platform.clone();
|
let platform_copy = platform.clone();
|
||||||
handle
|
handle
|
||||||
.upgrade_in_event_loop(move |handle| {
|
.upgrade_in_event_loop(move |handle| {
|
||||||
|
debug!("Setting up system page standard callbacks");
|
||||||
|
|
||||||
|
let handle_copy = handle.as_weak();
|
||||||
|
let proxy_copy = platform_copy.clone();
|
||||||
|
handle
|
||||||
|
.global::<SystemPageData>()
|
||||||
|
.on_cb_platform_profile(move |value| {
|
||||||
|
let proxy_copy = proxy_copy.clone();
|
||||||
|
let handle_copy = handle_copy.clone();
|
||||||
|
tokio::spawn(async move {
|
||||||
|
show_toast(
|
||||||
|
format!("Throttle policy set to {}", value).into(),
|
||||||
|
"Setting Throttle policy failed".into(),
|
||||||
|
handle_copy,
|
||||||
|
proxy_copy.set_platform_profile(value.into()).await,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
let handle_copy = handle.as_weak();
|
||||||
|
let proxy_copy = platform_copy.clone();
|
||||||
|
// spawn required since the while let never exits
|
||||||
|
tokio::spawn(async move {
|
||||||
|
let mut x = proxy_copy.receive_platform_profile_changed().await;
|
||||||
|
use futures_util::StreamExt;
|
||||||
|
while let Some(e) = x.next().await {
|
||||||
|
if let Ok(out) = e.get().await {
|
||||||
|
handle_copy
|
||||||
|
.upgrade_in_event_loop(move |handle| {
|
||||||
|
let indexes = handle
|
||||||
|
.global::<SystemPageData>()
|
||||||
|
.get_platform_profile_indexes();
|
||||||
|
handle
|
||||||
|
.global::<SystemPageData>()
|
||||||
|
.set_platform_profile(out as i32);
|
||||||
|
let profile_value = <i32>::from(out);
|
||||||
|
if let Some(position) =
|
||||||
|
indexes.iter().position(|index| index == profile_value)
|
||||||
|
{
|
||||||
|
handle
|
||||||
|
.global::<SystemPageData>()
|
||||||
|
.set_platform_profile(position as i32);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.ok();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
set_ui_callbacks!(handle,
|
set_ui_callbacks!(handle,
|
||||||
SystemPageData(as bool),
|
SystemPageData(as bool),
|
||||||
platform_copy.enable_ppt_group(as bool),
|
platform_copy.enable_ppt_group(as bool),
|
||||||
@@ -323,12 +446,12 @@ pub fn setup_system_page_callbacks(ui: &MainWindow, _states: Arc<Mutex<Config>>)
|
|||||||
"Charge limit successfully set to {}",
|
"Charge limit successfully set to {}",
|
||||||
"Setting Charge limit failed"
|
"Setting Charge limit failed"
|
||||||
);
|
);
|
||||||
set_ui_callbacks!(handle,
|
// set_ui_callbacks!(handle,
|
||||||
SystemPageData(as i32),
|
// SystemPageData(as i32),
|
||||||
platform_copy.platform_profile(.into()),
|
// platform_copy.platform_profile(.into()),
|
||||||
"Throttle policy set to {}",
|
// "Throttle policy set to {}",
|
||||||
"Setting Throttle policy failed"
|
// "Setting Throttle policy failed"
|
||||||
);
|
// );
|
||||||
set_ui_callbacks!(handle,
|
set_ui_callbacks!(handle,
|
||||||
SystemPageData(as i32),
|
SystemPageData(as i32),
|
||||||
platform_copy.profile_balanced_epp(.into()),
|
platform_copy.profile_balanced_epp(.into()),
|
||||||
@@ -383,6 +506,7 @@ pub fn setup_system_page_callbacks(ui: &MainWindow, _states: Arc<Mutex<Config>>)
|
|||||||
|
|
||||||
let armoury_attrs;
|
let armoury_attrs;
|
||||||
if let Ok(attrs) = find_iface_async::<AsusArmouryProxy>("xyz.ljones.AsusArmoury").await {
|
if let Ok(attrs) = find_iface_async::<AsusArmouryProxy>("xyz.ljones.AsusArmoury").await {
|
||||||
|
debug!("Found AsusArmoury interfaces");
|
||||||
armoury_attrs = attrs;
|
armoury_attrs = attrs;
|
||||||
handle
|
handle
|
||||||
.upgrade_in_event_loop(|ui| {
|
.upgrade_in_event_loop(|ui| {
|
||||||
@@ -401,6 +525,7 @@ pub fn setup_system_page_callbacks(ui: &MainWindow, _states: Arc<Mutex<Config>>)
|
|||||||
for attr in armoury_attrs {
|
for attr in armoury_attrs {
|
||||||
if let Ok(value) = attr.current_value().await {
|
if let Ok(value) = attr.current_value().await {
|
||||||
let name = attr.name().await.unwrap();
|
let name = attr.name().await.unwrap();
|
||||||
|
debug!("Setting up {} = {value}", <&str>::from(name));
|
||||||
let platform = platform.clone();
|
let platform = platform.clone();
|
||||||
handle
|
handle
|
||||||
.upgrade_in_event_loop(move |handle| match name {
|
.upgrade_in_event_loop(move |handle| match name {
|
||||||
@@ -515,5 +640,17 @@ pub fn setup_system_page_callbacks(ui: &MainWindow, _states: Arc<Mutex<Config>>)
|
|||||||
.ok();
|
.ok();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
handle
|
||||||
|
.upgrade_in_event_loop(|ui| {
|
||||||
|
debug!(
|
||||||
|
"get_asus_armoury_loaded: {:?}",
|
||||||
|
ui.global::<SystemPageData>().get_asus_armoury_loaded()
|
||||||
|
);
|
||||||
|
debug!(
|
||||||
|
"get_ppt_enabled_available: {:?}",
|
||||||
|
ui.global::<SystemPageData>().get_ppt_enabled_available()
|
||||||
|
);
|
||||||
|
})
|
||||||
|
.ok();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"POT-Creation-Date: 2025-02-15 22:50+0000\n"
|
"POT-Creation-Date: 2025-03-01 07:51+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -0,0 +1,818 @@
|
|||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"POT-Creation-Date: 2025-01-21 06:49+0000\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"Language: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:19
|
||||||
|
msgctxt "SystemPageData"
|
||||||
|
msgid "Balanced"
|
||||||
|
msgstr "Сбалансированный"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:19
|
||||||
|
#: rog-control-center/ui/pages/system.slint:23
|
||||||
|
msgctxt "SystemPageData"
|
||||||
|
msgid "Performance"
|
||||||
|
msgstr "Производительный"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:19
|
||||||
|
msgctxt "SystemPageData"
|
||||||
|
msgid "Quiet"
|
||||||
|
msgstr "Тихий"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:22
|
||||||
|
msgctxt "SystemPageData"
|
||||||
|
msgid "Default"
|
||||||
|
msgstr "По умолчанию"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:24
|
||||||
|
msgctxt "SystemPageData"
|
||||||
|
msgid "BalancePerformance"
|
||||||
|
msgstr "Баланс-Производительность"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:25
|
||||||
|
msgctxt "SystemPageData"
|
||||||
|
msgid "BalancePower"
|
||||||
|
msgstr "Баланс-Мощность"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:26
|
||||||
|
msgctxt "SystemPageData"
|
||||||
|
msgid "Power"
|
||||||
|
msgstr "Мощность"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:142
|
||||||
|
msgctxt "PageSystem"
|
||||||
|
msgid "Power settings"
|
||||||
|
msgstr "Настройки питания"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:147
|
||||||
|
msgctxt "PageSystem"
|
||||||
|
msgid "Charge limit"
|
||||||
|
msgstr "Ограничение заряда"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:161
|
||||||
|
msgctxt "PageSystem"
|
||||||
|
msgid "Platform Profile"
|
||||||
|
msgstr "Профиль работы"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:171
|
||||||
|
msgctxt "PageSystem"
|
||||||
|
msgid "Advanced"
|
||||||
|
msgstr "Больше"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:189
|
||||||
|
msgctxt "PageSystem"
|
||||||
|
msgid "Armoury settings"
|
||||||
|
msgstr "Настройки Armoury Crate"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:199
|
||||||
|
msgctxt "no_asus_armoury_driver_1"
|
||||||
|
msgid "The asus-armoury driver is not loaded"
|
||||||
|
msgstr "Драйвер Asus-Armoury не загружен"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:205
|
||||||
|
msgctxt "no_asus_armoury_driver_2"
|
||||||
|
msgid ""
|
||||||
|
"For advanced features you will require a kernel with this driver added."
|
||||||
|
msgstr ""
|
||||||
|
"Для расширенных функций требуется ядро с поддержкой этого драйвера."
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:216
|
||||||
|
msgctxt "PageSystem"
|
||||||
|
msgid "Panel Overdrive"
|
||||||
|
msgstr "Панель перегрузки"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:224
|
||||||
|
msgctxt "PageSystem"
|
||||||
|
msgid "MiniLED Mode"
|
||||||
|
msgstr "Режим MiniLED"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:232
|
||||||
|
msgctxt "PageSystem"
|
||||||
|
msgid "POST boot sound"
|
||||||
|
msgstr "Звук при загрузке системы"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:248
|
||||||
|
msgctxt "ppt_warning"
|
||||||
|
msgid "The following settings are not applied until the toggle is enabled."
|
||||||
|
msgstr ""
|
||||||
|
"Следующие настройки применяются только после включения переключателя."
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:253
|
||||||
|
msgctxt "ppt_group_enabled"
|
||||||
|
msgid "Enable Tuning"
|
||||||
|
msgstr "Включить настройку"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:262
|
||||||
|
#: rog-control-center/ui/pages/system.slint:263
|
||||||
|
msgctxt "ppt_pl1_spl"
|
||||||
|
msgid "CPU Sustained Power Limit"
|
||||||
|
msgstr "Долгосрочный лимит мощности процессора"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:264
|
||||||
|
msgctxt "ppt_pl1_spl_help"
|
||||||
|
msgid ""
|
||||||
|
"Long-term CPU power limit that affects sustained workload performance. "
|
||||||
|
"Higher values may increase heat and power consumption."
|
||||||
|
msgstr ""
|
||||||
|
"Долгосрочный предел мощности процессора, который влияет на устойчивую "
|
||||||
|
"производительность рабочей нагрузки. Более высокие значения могут увеличить "
|
||||||
|
"тепло и энергопотребление."
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:279
|
||||||
|
#: rog-control-center/ui/pages/system.slint:280
|
||||||
|
msgctxt "ppt_pl2_sppt"
|
||||||
|
msgid "CPU Turbo Power Limit"
|
||||||
|
msgstr "Лимит мощности в режиме Turbo процессора"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:281
|
||||||
|
msgctxt "ppt_pl2_sppt_help"
|
||||||
|
msgid ""
|
||||||
|
"Short-term CPU power limit for boost periods. Controls maximum power during "
|
||||||
|
"brief high-performance bursts."
|
||||||
|
msgstr ""
|
||||||
|
"Краткосрочный предел мощности процессора для периодов повышения. Управление "
|
||||||
|
"максимальной мощностью во время коротких высокопроизводительных всплесков."
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:296
|
||||||
|
#: rog-control-center/ui/pages/system.slint:297
|
||||||
|
msgctxt "ppt_pl3_fppt"
|
||||||
|
msgid "CPU Fast Burst Power Limit"
|
||||||
|
msgstr "Лимит мощности для кратковременных всплесков процессора"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:298
|
||||||
|
msgctxt "ppt_pl3_fppt_help"
|
||||||
|
msgid ""
|
||||||
|
"Ultra-short duration power limit for instantaneous CPU bursts. Affects "
|
||||||
|
"responsiveness during sudden workload spikes."
|
||||||
|
msgstr ""
|
||||||
|
"Ультра-короткая продолжительность предела мощности для мгновенных всплесков "
|
||||||
|
"процессора. Влияет на отзывчивость во время внезапных всплесков рабочей "
|
||||||
|
"нагрузки."
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:312
|
||||||
|
#: rog-control-center/ui/pages/system.slint:313
|
||||||
|
msgctxt "ppt_fppt"
|
||||||
|
msgid "Fast Package Power Limit"
|
||||||
|
msgstr "Лимит мощности для кратковременных нагрузок на систему"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:314
|
||||||
|
msgctxt "ppt_fppt_help"
|
||||||
|
msgid ""
|
||||||
|
"Ultra-short duration power limit for system package. Controls maximum power "
|
||||||
|
"during millisecond-scale load spikes."
|
||||||
|
msgstr ""
|
||||||
|
"Ультра-короткая продолжительность предела мощности для системного пакета. "
|
||||||
|
"Управление максимальной мощностью во время кратковременных всплесков нагрузки."
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:329
|
||||||
|
#: rog-control-center/ui/pages/system.slint:330
|
||||||
|
msgctxt "ppt_apu_sppt"
|
||||||
|
msgid "APU Sustained Power Limit"
|
||||||
|
msgstr "Долгосрочный лимит мощности APU"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:331
|
||||||
|
msgctxt "ppt_apu_sppt_help"
|
||||||
|
msgid ""
|
||||||
|
"Long-term power limit for integrated graphics and CPU combined. Affects "
|
||||||
|
"sustained performance of APU-based workloads."
|
||||||
|
msgstr ""
|
||||||
|
"Долгосрочный лимит мощности для интегрированной графики и процессора "
|
||||||
|
"объединена. Влияет на производительность задач, использующих APU."
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:346
|
||||||
|
#: rog-control-center/ui/pages/system.slint:347
|
||||||
|
msgctxt "ppt_platform_sppt"
|
||||||
|
msgid "Platform Sustained Power Limit"
|
||||||
|
msgstr "Долгосрочный лимит мощности системы"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:348
|
||||||
|
msgctxt "ppt_platform_sppt_help"
|
||||||
|
msgid ""
|
||||||
|
"Overall system power limit for sustained operations. Controls total platform"
|
||||||
|
" power consumption over extended periods."
|
||||||
|
msgstr ""
|
||||||
|
"Общий предел мощности системы для длительных операций. Управляет общим потреблением "
|
||||||
|
"энергии платформы в течение продолжительных периодов времени"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:363
|
||||||
|
#: rog-control-center/ui/pages/system.slint:364
|
||||||
|
msgctxt "nv_dynamic_boost"
|
||||||
|
msgid "GPU Power Boost"
|
||||||
|
msgstr "Динамическое усиление мощности GPU"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:365
|
||||||
|
msgctxt "nv_dynamic_boost_help"
|
||||||
|
msgid ""
|
||||||
|
"Additional power allocation for GPU dynamic boost. Higher values increase "
|
||||||
|
"GPU performance but generate more heat."
|
||||||
|
msgstr ""
|
||||||
|
"Дополнительное распределение мощности для динамического буста GPU. Более высокие значения "
|
||||||
|
"увеличивают производительность GPU, но приводят к большему выделению тепла"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:380
|
||||||
|
#: rog-control-center/ui/pages/system.slint:381
|
||||||
|
msgctxt "nv_temp_target"
|
||||||
|
msgid "GPU Temperature Limit"
|
||||||
|
msgstr "Предел температуры GPU"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:382
|
||||||
|
msgctxt "nv_temp_target_help"
|
||||||
|
msgid ""
|
||||||
|
"Maximum GPU temperature threshold in Celsius. GPU will throttle to maintain "
|
||||||
|
"temperature below this limit."
|
||||||
|
msgstr ""
|
||||||
|
"Максимальный порог температуры GPU в градусах Цельсия. GPU будет "
|
||||||
|
"ограничивать свою производительность, чтобы поддерживать температуру ниже этого предела"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:433
|
||||||
|
msgctxt "PageSystem"
|
||||||
|
msgid "Energy Performance Preference linked to Throttle Policy"
|
||||||
|
msgstr "Предпочтение энергоэффективности, связанное с политикой ограничения"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:437
|
||||||
|
msgctxt "PageSystem"
|
||||||
|
msgid "Change EPP based on Throttle Policy"
|
||||||
|
msgstr "Изменить EPP на основе политики дроссельной заслонки"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:445
|
||||||
|
msgctxt "PageSystem"
|
||||||
|
msgid "EPP for Balanced Policy"
|
||||||
|
msgstr "EPP для сбалансированного режима"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:455
|
||||||
|
msgctxt "PageSystem"
|
||||||
|
msgid "EPP for Performance Policy"
|
||||||
|
msgstr "EPP для эффективного режима"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:465
|
||||||
|
msgctxt "PageSystem"
|
||||||
|
msgid "EPP for Quiet Policy"
|
||||||
|
msgstr "EPP для тихого режима"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:483
|
||||||
|
msgctxt "PageSystem"
|
||||||
|
msgid "Throttle Policy for power state"
|
||||||
|
msgstr "Политика ограничения для состояния питания"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:489
|
||||||
|
msgctxt "PageSystem"
|
||||||
|
msgid "Throttle Policy on Battery"
|
||||||
|
msgstr "Политика управления производительностью (от аккумулятора)"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:499
|
||||||
|
#: rog-control-center/ui/pages/system.slint:520
|
||||||
|
msgctxt "PageSystem"
|
||||||
|
msgid "Enabled"
|
||||||
|
msgstr "Включено"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/system.slint:510
|
||||||
|
msgctxt "PageSystem"
|
||||||
|
msgid "Throttle Policy on AC"
|
||||||
|
msgstr "Политика управления производительностью (от сети)"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/aura.slint:28
|
||||||
|
msgctxt "PageAura"
|
||||||
|
msgid "Brightness"
|
||||||
|
msgstr "Яркость"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/aura.slint:39
|
||||||
|
msgctxt "PageAura"
|
||||||
|
msgid "Aura mode"
|
||||||
|
msgstr "Режим подсветки"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/aura.slint:59
|
||||||
|
msgctxt "PageAura"
|
||||||
|
msgid "Colour 1"
|
||||||
|
msgstr "Цвет 1"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/aura.slint:85
|
||||||
|
msgctxt "PageAura"
|
||||||
|
msgid "Colour 2"
|
||||||
|
msgstr "Цвет 2"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/aura.slint:119
|
||||||
|
msgctxt "PageAura"
|
||||||
|
msgid "Zone"
|
||||||
|
msgstr "Зона подсветки"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/aura.slint:142
|
||||||
|
msgctxt "PageAura"
|
||||||
|
msgid "Direction"
|
||||||
|
msgstr "Направление подсветки"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/aura.slint:164
|
||||||
|
msgctxt "PageAura"
|
||||||
|
msgid "Speed"
|
||||||
|
msgstr "Скорость подсветки"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/aura.slint:185
|
||||||
|
msgctxt "PageAura"
|
||||||
|
msgid "Power Settings"
|
||||||
|
msgstr "Настройки питания"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/aura.slint:270
|
||||||
|
msgctxt "PageAura"
|
||||||
|
msgid "Power Zones"
|
||||||
|
msgstr "Напряжения"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:6
|
||||||
|
msgctxt "Anime Brightness"
|
||||||
|
msgid "Off"
|
||||||
|
msgstr "Выключено"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:7
|
||||||
|
msgctxt "Anime Brightness"
|
||||||
|
msgid "Low"
|
||||||
|
msgstr "Низкая"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:8
|
||||||
|
msgctxt "Anime Brightness"
|
||||||
|
msgid "Med"
|
||||||
|
msgstr "Средняя"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:9
|
||||||
|
msgctxt "Anime Brightness"
|
||||||
|
msgid "High"
|
||||||
|
msgstr "Высокая"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:23
|
||||||
|
msgctxt "AnimePageData"
|
||||||
|
msgid "Glitch Construction"
|
||||||
|
msgstr "Глитч-конструкция"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:23
|
||||||
|
msgctxt "AnimePageData"
|
||||||
|
msgid "Static Emergence"
|
||||||
|
msgstr "Статическое состояние"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:25
|
||||||
|
msgctxt "AnimePageData"
|
||||||
|
msgid "Binary Banner Scroll"
|
||||||
|
msgstr "Бинарный бегущий баннер"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:25
|
||||||
|
msgctxt "AnimePageData"
|
||||||
|
msgid "Rog Logo Glitch"
|
||||||
|
msgstr "ROG Logo Glitch"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:27
|
||||||
|
msgctxt "AnimePageData"
|
||||||
|
msgid "Banner Swipe"
|
||||||
|
msgstr "Смахивающий баннер"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:27
|
||||||
|
msgctxt "AnimePageData"
|
||||||
|
msgid "Starfield"
|
||||||
|
msgstr "Звездное поле"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:29
|
||||||
|
msgctxt "AnimePageData"
|
||||||
|
msgid "Glitch Out"
|
||||||
|
msgstr "Сбой"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:29
|
||||||
|
msgctxt "AnimePageData"
|
||||||
|
msgid "See Ya"
|
||||||
|
msgstr "До встречи"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:50
|
||||||
|
msgctxt "Anime Brightness"
|
||||||
|
msgid "Brightness"
|
||||||
|
msgstr "Яркость"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:66
|
||||||
|
msgctxt "PageAnime"
|
||||||
|
msgid "Enable display"
|
||||||
|
msgstr "Включить дисплей"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:74
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:97
|
||||||
|
msgctxt "PageAnime"
|
||||||
|
msgid "Advanced"
|
||||||
|
msgstr "Продвинутый"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:89
|
||||||
|
msgctxt "PageAnime"
|
||||||
|
msgid "Use built-in animations"
|
||||||
|
msgstr "Используйте встроенные анимации"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:146
|
||||||
|
msgctxt "PageAnime"
|
||||||
|
msgid "Set which builtin animations are played"
|
||||||
|
msgstr "Установите где должны быть анимации"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:150
|
||||||
|
msgctxt "Anime built-in selection"
|
||||||
|
msgid "Boot Animation"
|
||||||
|
msgstr "Анимация загрузки"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:160
|
||||||
|
msgctxt "Anime built-in selection"
|
||||||
|
msgid "Running Animation"
|
||||||
|
msgstr "Запуск анимации"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:170
|
||||||
|
msgctxt "Anime built-in selection"
|
||||||
|
msgid "Sleep Animation"
|
||||||
|
msgstr "Анимация сна"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:180
|
||||||
|
msgctxt "Anime built-in selection"
|
||||||
|
msgid "Shutdown Animation"
|
||||||
|
msgstr "Выключение анимации"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:220
|
||||||
|
msgctxt "PageAnime"
|
||||||
|
msgid "Advanced Display Settings"
|
||||||
|
msgstr "Расширенные настройки дисплея"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:225
|
||||||
|
msgctxt "PageAnime"
|
||||||
|
msgid "Off when lid closed"
|
||||||
|
msgstr "Выключить при закрытии крышки"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:234
|
||||||
|
msgctxt "PageAnime"
|
||||||
|
msgid "Off when suspended"
|
||||||
|
msgstr "Выключен при приостановке"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/anime.slint:243
|
||||||
|
msgctxt "PageAnime"
|
||||||
|
msgid "Off when on battery"
|
||||||
|
msgstr "Выключить при питании от батареи"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/fans.slint:26
|
||||||
|
msgctxt "FanTab"
|
||||||
|
msgid "This fan is not avilable on this machine"
|
||||||
|
msgstr "Кулер корпуса недоступен"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/fans.slint:34
|
||||||
|
msgctxt "FanTab"
|
||||||
|
msgid "Enabled"
|
||||||
|
msgstr "Включено"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/fans.slint:43
|
||||||
|
msgctxt "FanTab"
|
||||||
|
msgid "Apply"
|
||||||
|
msgstr "Применить"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/fans.slint:51
|
||||||
|
msgctxt "FanTab"
|
||||||
|
msgid "Cancel"
|
||||||
|
msgstr "Отмена"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/fans.slint:59
|
||||||
|
msgctxt "FanTab"
|
||||||
|
msgid "Factory Default (all fans)"
|
||||||
|
msgstr "По умолчанию (все куллеры)"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/fans.slint:72
|
||||||
|
msgctxt "PageFans"
|
||||||
|
msgid "Balanced"
|
||||||
|
msgstr "Сбалансированный"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/fans.slint:75
|
||||||
|
#: rog-control-center/ui/pages/fans.slint:134
|
||||||
|
#: rog-control-center/ui/pages/fans.slint:193
|
||||||
|
msgctxt "PageFans"
|
||||||
|
msgid "CPU"
|
||||||
|
msgstr "Центральный Процессор"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/fans.slint:93
|
||||||
|
#: rog-control-center/ui/pages/fans.slint:152
|
||||||
|
#: rog-control-center/ui/pages/fans.slint:211
|
||||||
|
msgctxt "PageFans"
|
||||||
|
msgid "Mid"
|
||||||
|
msgstr "Корпус"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/fans.slint:111
|
||||||
|
#: rog-control-center/ui/pages/fans.slint:170
|
||||||
|
#: rog-control-center/ui/pages/fans.slint:229
|
||||||
|
msgctxt "PageFans"
|
||||||
|
msgid "GPU"
|
||||||
|
msgstr "Графический процессор"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/fans.slint:131
|
||||||
|
msgctxt "PageFans"
|
||||||
|
msgid "Performance"
|
||||||
|
msgstr "Производительный"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/fans.slint:190
|
||||||
|
msgctxt "PageFans"
|
||||||
|
msgid "Quiet"
|
||||||
|
msgstr "Тихий"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/app_settings.slint:26
|
||||||
|
msgctxt "PageAppSettings"
|
||||||
|
msgid "Run in background after closing"
|
||||||
|
msgstr "Запустить в фоновом режиме после закрытия"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/app_settings.slint:34
|
||||||
|
msgctxt "PageAppSettings"
|
||||||
|
msgid "Start app in background (UI closed)"
|
||||||
|
msgstr "Запускать приложение в фоне/трее (UI закрыт)"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/app_settings.slint:42
|
||||||
|
msgctxt "PageAppSettings"
|
||||||
|
msgid "Enable system tray icon"
|
||||||
|
msgstr "Включить значок системного лотка"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/pages/app_settings.slint:50
|
||||||
|
msgctxt "PageAppSettings"
|
||||||
|
msgid "Enable dGPU notifications"
|
||||||
|
msgstr "Включить уведомления DGPU"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:52
|
||||||
|
msgctxt "Aura power zone"
|
||||||
|
msgid "Logo"
|
||||||
|
msgstr "Логотип"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:53
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:63
|
||||||
|
msgctxt "Aura power zone"
|
||||||
|
msgid "Keyboard"
|
||||||
|
msgstr "Клавиатура"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:54
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:64
|
||||||
|
msgctxt "Aura power zone"
|
||||||
|
msgid "Lightbar"
|
||||||
|
msgstr "Бар подсветки"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:55
|
||||||
|
msgctxt "Aura power zone"
|
||||||
|
msgid "Lid"
|
||||||
|
msgstr "Крышка"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:56
|
||||||
|
msgctxt "Aura power zone"
|
||||||
|
msgid "Rear Glow"
|
||||||
|
msgstr "Задняя подсветка"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:57
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:65
|
||||||
|
msgctxt "Aura power zone"
|
||||||
|
msgid "Keyboard and Lightbar"
|
||||||
|
msgstr "Клавиатура и световая панель"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:58
|
||||||
|
msgctxt "Aura power zone"
|
||||||
|
msgid "Ally"
|
||||||
|
msgstr "Союзник"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:68
|
||||||
|
msgctxt "Aura brightness"
|
||||||
|
msgid "Off"
|
||||||
|
msgstr "Выключена"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:69
|
||||||
|
msgctxt "Aura brightness"
|
||||||
|
msgid "Low"
|
||||||
|
msgstr "Низкая"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:70
|
||||||
|
msgctxt "Aura brightness"
|
||||||
|
msgid "Med"
|
||||||
|
msgstr "Средняя"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:71
|
||||||
|
msgctxt "Aura brightness"
|
||||||
|
msgid "High"
|
||||||
|
msgstr "Высокая"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:76
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:91
|
||||||
|
msgctxt "Basic aura mode"
|
||||||
|
msgid "Static"
|
||||||
|
msgstr "Статический"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:77
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:92
|
||||||
|
msgctxt "Basic aura mode"
|
||||||
|
msgid "Breathe"
|
||||||
|
msgstr "Дыхание"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:78
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:93
|
||||||
|
msgctxt "Basic aura mode"
|
||||||
|
msgid "Strobe"
|
||||||
|
msgstr "Стробопод"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:79
|
||||||
|
msgctxt "Basic aura mode"
|
||||||
|
msgid "Rainbow"
|
||||||
|
msgstr "Радуга"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:80
|
||||||
|
msgctxt "Basic aura mode"
|
||||||
|
msgid "Star"
|
||||||
|
msgstr "Звезда"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:81
|
||||||
|
msgctxt "Basic aura mode"
|
||||||
|
msgid "Rain"
|
||||||
|
msgstr "Дождь"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:82
|
||||||
|
msgctxt "Basic aura mode"
|
||||||
|
msgid "Highlight"
|
||||||
|
msgstr "Выделенный"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:83
|
||||||
|
msgctxt "Basic aura mode"
|
||||||
|
msgid "Laser"
|
||||||
|
msgstr "Лазер"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:84
|
||||||
|
msgctxt "Basic aura mode"
|
||||||
|
msgid "Ripple"
|
||||||
|
msgstr "Пульс"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:85
|
||||||
|
msgctxt "Basic aura mode"
|
||||||
|
msgid "Nothing"
|
||||||
|
msgstr "Ничего"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:86
|
||||||
|
msgctxt "Basic aura mode"
|
||||||
|
msgid "Pulse"
|
||||||
|
msgstr "Пульс"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:87
|
||||||
|
msgctxt "Basic aura mode"
|
||||||
|
msgid "Comet"
|
||||||
|
msgstr "Комета"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:88
|
||||||
|
msgctxt "Basic aura mode"
|
||||||
|
msgid "Flash"
|
||||||
|
msgstr "Вспышка"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:100
|
||||||
|
msgctxt "Aura zone"
|
||||||
|
msgid "None"
|
||||||
|
msgstr "Отсутствует"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:101
|
||||||
|
msgctxt "Aura zone"
|
||||||
|
msgid "Key1"
|
||||||
|
msgstr "Кнопка 1"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:102
|
||||||
|
msgctxt "Aura zone"
|
||||||
|
msgid "Key2"
|
||||||
|
msgstr "Кнопка 2"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:103
|
||||||
|
msgctxt "Aura zone"
|
||||||
|
msgid "Key3"
|
||||||
|
msgstr "Кнопка 3"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:104
|
||||||
|
msgctxt "Aura zone"
|
||||||
|
msgid "Key4"
|
||||||
|
msgstr "Кнопка 4"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:105
|
||||||
|
msgctxt "Aura zone"
|
||||||
|
msgid "Logo"
|
||||||
|
msgstr "Логотип"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:106
|
||||||
|
msgctxt "Aura zone"
|
||||||
|
msgid "Lightbar Left"
|
||||||
|
msgstr "Левый бар подсветки"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:107
|
||||||
|
msgctxt "Aura zone"
|
||||||
|
msgid "Lightbar Right"
|
||||||
|
msgstr "Правый бар подсветки"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:111
|
||||||
|
msgctxt "Aura direction"
|
||||||
|
msgid "Right"
|
||||||
|
msgstr "Правый"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:112
|
||||||
|
msgctxt "Aura direction"
|
||||||
|
msgid "Left"
|
||||||
|
msgstr "Левый"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:113
|
||||||
|
msgctxt "Aura direction"
|
||||||
|
msgid "Up"
|
||||||
|
msgstr "Вверх"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:114
|
||||||
|
msgctxt "Aura direction"
|
||||||
|
msgid "Down"
|
||||||
|
msgstr "Вниз"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:118
|
||||||
|
msgctxt "Aura speed"
|
||||||
|
msgid "Low"
|
||||||
|
msgstr "Низкая"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:119
|
||||||
|
msgctxt "Aura speed"
|
||||||
|
msgid "Medium"
|
||||||
|
msgstr "Средняя"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/types/aura_types.slint:120
|
||||||
|
msgctxt "Aura speed"
|
||||||
|
msgid "High"
|
||||||
|
msgstr "Высокая"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/widgets/aura_power.slint:33
|
||||||
|
msgctxt "AuraPowerGroup"
|
||||||
|
msgid "Boot"
|
||||||
|
msgstr "Загрузка"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/widgets/aura_power.slint:43
|
||||||
|
msgctxt "AuraPowerGroup"
|
||||||
|
msgid "Awake"
|
||||||
|
msgstr "Работа"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/widgets/aura_power.slint:53
|
||||||
|
msgctxt "AuraPowerGroup"
|
||||||
|
msgid "Sleep"
|
||||||
|
msgstr "Сон"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/widgets/aura_power.slint:63
|
||||||
|
msgctxt "AuraPowerGroup"
|
||||||
|
msgid "Shutdown"
|
||||||
|
msgstr "Отключен"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/widgets/aura_power.slint:102
|
||||||
|
msgctxt "AuraPowerGroupOld"
|
||||||
|
msgid "Zone Selection"
|
||||||
|
msgstr "Выбор зоны"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/widgets/aura_power.slint:114
|
||||||
|
msgctxt "AuraPowerGroupOld"
|
||||||
|
msgid "Boot"
|
||||||
|
msgstr "Загрузка"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/widgets/aura_power.slint:124
|
||||||
|
msgctxt "AuraPowerGroupOld"
|
||||||
|
msgid "Awake"
|
||||||
|
msgstr "Работа"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/widgets/aura_power.slint:134
|
||||||
|
msgctxt "AuraPowerGroupOld"
|
||||||
|
msgid "Sleep"
|
||||||
|
msgstr "Сон"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/widgets/common.slint:133
|
||||||
|
msgctxt "confirm_reset"
|
||||||
|
msgid "Are you sure you want to reset this?"
|
||||||
|
msgstr "Вы уверены, что хотите сбросить это?"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/main_window.slint:54
|
||||||
|
msgctxt "MainWindow"
|
||||||
|
msgid "ROG"
|
||||||
|
msgstr "ROG"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/main_window.slint:56
|
||||||
|
msgctxt "Menu1"
|
||||||
|
msgid "System Control"
|
||||||
|
msgstr "Главная"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/main_window.slint:57
|
||||||
|
msgctxt "Menu2"
|
||||||
|
msgid "Keyboard Aura"
|
||||||
|
msgstr "Подсветка"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/main_window.slint:58
|
||||||
|
msgctxt "Menu3"
|
||||||
|
msgid "AniMe Matrix"
|
||||||
|
msgstr "Матрица AniMe"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/main_window.slint:59
|
||||||
|
msgctxt "Menu4"
|
||||||
|
msgid "Fan Curves"
|
||||||
|
msgstr "Кривые вентиляторов"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/main_window.slint:60
|
||||||
|
msgctxt "Menu5"
|
||||||
|
msgid "App Settings"
|
||||||
|
msgstr "Настройки"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/main_window.slint:61
|
||||||
|
msgctxt "Menu6"
|
||||||
|
msgid "About"
|
||||||
|
msgstr "О нас"
|
||||||
|
|
||||||
|
#: rog-control-center/ui/main_window.slint:73
|
||||||
|
msgctxt "MainWindow"
|
||||||
|
msgid "Quit App"
|
||||||
|
msgstr "Выйти"
|
||||||
@@ -17,7 +17,10 @@ export global SystemPageData {
|
|||||||
in-out property <float> charge_control_end_threshold: 30;
|
in-out property <float> charge_control_end_threshold: 30;
|
||||||
callback cb_charge_control_end_threshold(/* charge limit */ int);
|
callback cb_charge_control_end_threshold(/* charge limit */ int);
|
||||||
in-out property <int> platform_profile: 0;
|
in-out property <int> platform_profile: 0;
|
||||||
in-out property <[string]> platform_profile_choices: [@tr("Balanced"), @tr("Performance"), @tr("Quiet")];
|
in-out property <[string]> platform_profile_choices: [@tr("Balanced"), @tr("Performance"), @tr("Quiet"), @tr("LowPower")];
|
||||||
|
// The dropdown list index is used to index in to this and find the correct
|
||||||
|
// value for platform profile
|
||||||
|
in-out property <[int]> platform_profile_indexes: [0, 1, 2, 3];
|
||||||
callback cb_platform_profile(int);
|
callback cb_platform_profile(int);
|
||||||
in-out property <[string]> energy_performance_choices: [
|
in-out property <[string]> energy_performance_choices: [
|
||||||
@tr("Default"),
|
@tr("Default"),
|
||||||
@@ -169,7 +172,7 @@ export component PageSystem inherits Rectangle {
|
|||||||
current_value: SystemPageData.platform_profile_choices[SystemPageData.platform_profile];
|
current_value: SystemPageData.platform_profile_choices[SystemPageData.platform_profile];
|
||||||
model <=> SystemPageData.platform_profile_choices;
|
model <=> SystemPageData.platform_profile_choices;
|
||||||
selected => {
|
selected => {
|
||||||
SystemPageData.cb_platform_profile(SystemPageData.platform_profile)
|
SystemPageData.cb_platform_profile(SystemPageData.platform_profile_indexes[SystemPageData.platform_profile])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -243,7 +246,7 @@ export component PageSystem inherits Rectangle {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if SystemPageData.ppt_pl1_spl.current != -1 || SystemPageData.ppt_pl2_sppt.current != -1 || SystemPageData.nv_dynamic_boost.current != -1: HorizontalLayout {
|
if SystemPageData.ppt_pl1_spl.current != -1 || SystemPageData.ppt_pl2_sppt.current != -1 || SystemPageData.ppt_pl3_fppt.current != -1 || SystemPageData.ppt_fppt.current != -1 || SystemPageData.ppt_apu_sppt.current != -1 || SystemPageData.nv_temp_target.current != -1 || SystemPageData.nv_dynamic_boost.current != -1: HorizontalLayout {
|
||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
alignment: LayoutAlignment.space-between;
|
alignment: LayoutAlignment.space-between;
|
||||||
@@ -270,7 +273,6 @@ export component PageSystem inherits Rectangle {
|
|||||||
SystemPageData.cb_ppt_enabled(SystemPageData.ppt_enabled)
|
SystemPageData.cb_ppt_enabled(SystemPageData.ppt_enabled)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if SystemPageData.ppt_pl1_spl.current != -1: SystemSlider {
|
if SystemPageData.ppt_pl1_spl.current != -1: SystemSlider {
|
||||||
@@ -285,9 +287,9 @@ export component PageSystem inherits Rectangle {
|
|||||||
cb_do_reset => {
|
cb_do_reset => {
|
||||||
SystemPageData.cb_default_ppt_pl1_spl();
|
SystemPageData.cb_default_ppt_pl1_spl();
|
||||||
}
|
}
|
||||||
released => {
|
released(value) => {
|
||||||
SystemPageData.ppt_pl1_spl.current = self.value;
|
SystemPageData.ppt_pl1_spl.current = Math.round(value);
|
||||||
SystemPageData.cb_ppt_pl1_spl(Math.round(self.value));
|
SystemPageData.cb_ppt_pl1_spl(Math.round(value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -303,9 +305,9 @@ export component PageSystem inherits Rectangle {
|
|||||||
cb_do_reset => {
|
cb_do_reset => {
|
||||||
SystemPageData.cb_default_ppt_pl2_sppt();
|
SystemPageData.cb_default_ppt_pl2_sppt();
|
||||||
}
|
}
|
||||||
released => {
|
released(value) => {
|
||||||
SystemPageData.ppt_pl2_sppt.current = self.value;
|
SystemPageData.ppt_pl2_sppt.current = Math.round(value);
|
||||||
SystemPageData.cb_ppt_pl2_sppt(Math.round(self.value))
|
SystemPageData.cb_ppt_pl2_sppt(Math.round(value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -321,9 +323,9 @@ export component PageSystem inherits Rectangle {
|
|||||||
cb_do_reset => {
|
cb_do_reset => {
|
||||||
SystemPageData.cb_default_ppt_pl3_fppt();
|
SystemPageData.cb_default_ppt_pl3_fppt();
|
||||||
}
|
}
|
||||||
released => {
|
released(value) => {
|
||||||
SystemPageData.ppt_pl3_fppt.current = self.value;
|
SystemPageData.ppt_pl3_fppt.current = Math.round(value);
|
||||||
SystemPageData.cb_ppt_pl3_fppt(Math.round(self.value))
|
SystemPageData.cb_ppt_pl3_fppt(Math.round(value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if SystemPageData.ppt_fppt.current != -1: SystemSlider {
|
if SystemPageData.ppt_fppt.current != -1: SystemSlider {
|
||||||
@@ -338,9 +340,9 @@ export component PageSystem inherits Rectangle {
|
|||||||
cb_do_reset => {
|
cb_do_reset => {
|
||||||
SystemPageData.cb_default_ppt_fppt();
|
SystemPageData.cb_default_ppt_fppt();
|
||||||
}
|
}
|
||||||
released => {
|
released(value) => {
|
||||||
SystemPageData.ppt_fppt.current = self.value;
|
SystemPageData.ppt_fppt.current = Math.round(value);
|
||||||
SystemPageData.cb_ppt_fppt(Math.round(self.value))
|
SystemPageData.cb_ppt_fppt(Math.round(value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -356,9 +358,9 @@ export component PageSystem inherits Rectangle {
|
|||||||
cb_do_reset => {
|
cb_do_reset => {
|
||||||
SystemPageData.cb_default_ppt_apu_sppt();
|
SystemPageData.cb_default_ppt_apu_sppt();
|
||||||
}
|
}
|
||||||
released => {
|
released(value) => {
|
||||||
SystemPageData.ppt_apu_sppt.current = self.value;
|
SystemPageData.ppt_apu_sppt.current = Math.round(value);
|
||||||
SystemPageData.cb_ppt_apu_sppt(Math.round(self.value))
|
SystemPageData.cb_ppt_apu_sppt(Math.round(value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -374,9 +376,9 @@ export component PageSystem inherits Rectangle {
|
|||||||
cb_do_reset => {
|
cb_do_reset => {
|
||||||
SystemPageData.cb_default_ppt_platform_sppt();
|
SystemPageData.cb_default_ppt_platform_sppt();
|
||||||
}
|
}
|
||||||
released => {
|
released(value) => {
|
||||||
SystemPageData.ppt_platform_sppt.current = self.value;
|
SystemPageData.ppt_platform_sppt.current = Math.round(value);
|
||||||
SystemPageData.cb_ppt_platform_sppt(Math.round(self.value))
|
SystemPageData.cb_ppt_platform_sppt(Math.round(value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -392,9 +394,9 @@ export component PageSystem inherits Rectangle {
|
|||||||
cb_do_reset => {
|
cb_do_reset => {
|
||||||
SystemPageData.cb_default_nv_dynamic_boost();
|
SystemPageData.cb_default_nv_dynamic_boost();
|
||||||
}
|
}
|
||||||
released => {
|
released(value) => {
|
||||||
SystemPageData.nv_dynamic_boost.current = self.value;
|
SystemPageData.nv_dynamic_boost.current = Math.round(value);
|
||||||
SystemPageData.cb_nv_dynamic_boost(Math.round(self.value))
|
SystemPageData.cb_nv_dynamic_boost(Math.round(value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -410,9 +412,9 @@ export component PageSystem inherits Rectangle {
|
|||||||
cb_do_reset => {
|
cb_do_reset => {
|
||||||
SystemPageData.cb_default_nv_temp_target();
|
SystemPageData.cb_default_nv_temp_target();
|
||||||
}
|
}
|
||||||
released => {
|
released(value) => {
|
||||||
SystemPageData.nv_temp_target.current = self.value;
|
SystemPageData.nv_temp_target.current = Math.round(value);
|
||||||
SystemPageData.cb_nv_temp_target(Math.round(self.value))
|
SystemPageData.cb_nv_temp_target(Math.round(value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,13 +5,14 @@ export enum Profile {
|
|||||||
Performance,
|
Performance,
|
||||||
Quiet,
|
Quiet,
|
||||||
LowPower,
|
LowPower,
|
||||||
|
Custom
|
||||||
}
|
}
|
||||||
|
|
||||||
export enum FanType {
|
export enum FanType {
|
||||||
CPU,
|
CPU,
|
||||||
Middle,
|
Middle,
|
||||||
GPU,
|
GPU,
|
||||||
}
|
}
|
||||||
|
|
||||||
export global FanPageData {
|
export global FanPageData {
|
||||||
in-out property <[Profile]> available_profiles: [Profile.Balanced, Profile.Performance, Profile.Quiet];
|
in-out property <[Profile]> available_profiles: [Profile.Balanced, Profile.Performance, Profile.Quiet];
|
||||||
|
|||||||
@@ -12,14 +12,14 @@ export component RogItem inherits Rectangle {
|
|||||||
export component SystemSlider inherits RogItem {
|
export component SystemSlider inherits RogItem {
|
||||||
in property <string> title;
|
in property <string> title;
|
||||||
in property <string> text;
|
in property <string> text;
|
||||||
in-out property <bool> enabled: true;
|
|
||||||
in-out property <float> value;
|
in-out property <float> value;
|
||||||
in-out property <float> minimum;
|
in property <float> minimum;
|
||||||
in-out property <float> maximum;
|
in property <float> maximum;
|
||||||
callback released(int);
|
callback released(float);
|
||||||
|
|
||||||
in-out property <string> help_text;
|
in property <string> help_text;
|
||||||
in-out property <bool> has_reset: false;
|
in property <bool> enabled: true;
|
||||||
|
in property <bool> has_reset: false;
|
||||||
callback cb_do_reset();
|
callback cb_do_reset();
|
||||||
|
|
||||||
HorizontalLayout {
|
HorizontalLayout {
|
||||||
@@ -27,44 +27,34 @@ export component SystemSlider inherits RogItem {
|
|||||||
width: 40%;
|
width: 40%;
|
||||||
alignment: LayoutAlignment.stretch;
|
alignment: LayoutAlignment.stretch;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
TouchArea {
|
HorizontalLayout {
|
||||||
enabled <=> root.enabled;
|
spacing: 6px;
|
||||||
clicked => {
|
Text {
|
||||||
slider.value += 1;
|
font-size: 16px;
|
||||||
if slider.value > slider.maximum {
|
vertical-alignment: TextVerticalAlignment.center;
|
||||||
slider.value = slider.minimum;
|
color: Palette.control-foreground;
|
||||||
}
|
text: root.text;
|
||||||
}
|
}
|
||||||
HorizontalLayout {
|
|
||||||
spacing: 6px;
|
|
||||||
Text {
|
|
||||||
font-size: 16px;
|
|
||||||
vertical-alignment: TextVerticalAlignment.center;
|
|
||||||
color: Palette.control-foreground;
|
|
||||||
text <=> root.text;
|
|
||||||
}
|
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
horizontal-alignment: TextHorizontalAlignment.right;
|
horizontal-alignment: TextHorizontalAlignment.right;
|
||||||
vertical-alignment: TextVerticalAlignment.center;
|
vertical-alignment: TextVerticalAlignment.center;
|
||||||
color: Palette.control-foreground;
|
color: Palette.control-foreground;
|
||||||
text: "\{Math.round(root.value)}";
|
text: "\{Math.round(root.value)}";
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HorizontalBox {
|
HorizontalBox {
|
||||||
// alignment: LayoutAlignment.end;
|
|
||||||
padding-right: 20px;
|
padding-right: 20px;
|
||||||
slider := Slider {
|
slider := Slider {
|
||||||
enabled <=> root.enabled;
|
enabled: root.enabled;
|
||||||
maximum: root.maximum;
|
maximum: root.maximum;
|
||||||
minimum: root.minimum;
|
minimum: root.minimum;
|
||||||
value <=> root.value;
|
value <=> root.value;
|
||||||
released => {
|
released(value) => {
|
||||||
root.released(Math.round(root.value))
|
root.released(value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -79,14 +69,14 @@ export component SystemSlider inherits RogItem {
|
|||||||
border-color: Palette.accent-background;
|
border-color: Palette.accent-background;
|
||||||
background: Palette.background;
|
background: Palette.background;
|
||||||
Dialog {
|
Dialog {
|
||||||
title <=> root.title;
|
title: root.title;
|
||||||
VerticalBox {
|
VerticalBox {
|
||||||
Text {
|
Text {
|
||||||
max-width: 420px;
|
max-width: 420px;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
wrap: TextWrap.word-wrap;
|
wrap: TextWrap.word-wrap;
|
||||||
horizontal-alignment: TextHorizontalAlignment.center;
|
horizontal-alignment: TextHorizontalAlignment.center;
|
||||||
text <=> root.title;
|
text: root.title;
|
||||||
}
|
}
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
@@ -99,7 +89,7 @@ export component SystemSlider inherits RogItem {
|
|||||||
max-width: 420px;
|
max-width: 420px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
wrap: TextWrap.word-wrap;
|
wrap: TextWrap.word-wrap;
|
||||||
text <=> root.help_text;
|
text: root.help_text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -153,7 +143,7 @@ export component SystemSlider inherits RogItem {
|
|||||||
reset := HorizontalBox {
|
reset := HorizontalBox {
|
||||||
if (has_reset): StandardButton {
|
if (has_reset): StandardButton {
|
||||||
kind: StandardButtonKind.reset;
|
kind: StandardButtonKind.reset;
|
||||||
enabled <=> root.enabled;
|
enabled: root.enabled;
|
||||||
clicked => {
|
clicked => {
|
||||||
reset_popup.show();
|
reset_popup.show();
|
||||||
}
|
}
|
||||||
@@ -175,7 +165,7 @@ export component SystemToggle inherits RogItem {
|
|||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
vertical-alignment: TextVerticalAlignment.center;
|
vertical-alignment: TextVerticalAlignment.center;
|
||||||
color: Palette.control-foreground;
|
color: Palette.control-foreground;
|
||||||
text <=> root.text;
|
text: root.text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -206,7 +196,7 @@ export component SystemToggleInt inherits RogItem {
|
|||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
vertical-alignment: TextVerticalAlignment.center;
|
vertical-alignment: TextVerticalAlignment.center;
|
||||||
color: Palette.control-foreground;
|
color: Palette.control-foreground;
|
||||||
text <=> root.text;
|
text: root.text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -237,7 +227,7 @@ export component SystemToggleVert inherits RogItem {
|
|||||||
vertical-alignment: TextVerticalAlignment.bottom;
|
vertical-alignment: TextVerticalAlignment.bottom;
|
||||||
horizontal-alignment: TextHorizontalAlignment.center;
|
horizontal-alignment: TextHorizontalAlignment.center;
|
||||||
color: Palette.control-foreground;
|
color: Palette.control-foreground;
|
||||||
text <=> root.text;
|
text: root.text;
|
||||||
}
|
}
|
||||||
|
|
||||||
HorizontalLayout {
|
HorizontalLayout {
|
||||||
@@ -267,7 +257,7 @@ export component SystemDropdown inherits RogItem {
|
|||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
vertical-alignment: TextVerticalAlignment.center;
|
vertical-alignment: TextVerticalAlignment.center;
|
||||||
color: Palette.control-foreground;
|
color: Palette.control-foreground;
|
||||||
text <=> root.text;
|
text: root.text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -208,6 +208,7 @@ impl From<PlatformProfile> for CPUEPP {
|
|||||||
PlatformProfile::Performance => CPUEPP::Performance,
|
PlatformProfile::Performance => CPUEPP::Performance,
|
||||||
PlatformProfile::Quiet => CPUEPP::Power,
|
PlatformProfile::Quiet => CPUEPP::Power,
|
||||||
PlatformProfile::LowPower => CPUEPP::Power,
|
PlatformProfile::LowPower => CPUEPP::Power,
|
||||||
|
PlatformProfile::Custom => CPUEPP::BalancePower,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -186,6 +186,7 @@ impl Display for GpuMode {
|
|||||||
Debug,
|
Debug,
|
||||||
PartialEq,
|
PartialEq,
|
||||||
Eq,
|
Eq,
|
||||||
|
Ord,
|
||||||
PartialOrd,
|
PartialOrd,
|
||||||
Hash,
|
Hash,
|
||||||
Clone,
|
Clone,
|
||||||
@@ -199,6 +200,7 @@ pub enum PlatformProfile {
|
|||||||
Performance = 1,
|
Performance = 1,
|
||||||
Quiet = 2,
|
Quiet = 2,
|
||||||
LowPower = 3,
|
LowPower = 3,
|
||||||
|
Custom = 4,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl PlatformProfile {
|
impl PlatformProfile {
|
||||||
@@ -212,8 +214,7 @@ impl PlatformProfile {
|
|||||||
Self::Quiet
|
Self::Quiet
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Self::Quiet => Self::Balanced,
|
Self::Quiet | Self::LowPower | Self::Custom => Self::Balanced,
|
||||||
Self::LowPower => Self::Balanced,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -225,6 +226,7 @@ impl From<i32> for PlatformProfile {
|
|||||||
1 => Self::Performance,
|
1 => Self::Performance,
|
||||||
2 => Self::Quiet,
|
2 => Self::Quiet,
|
||||||
3 => Self::LowPower,
|
3 => Self::LowPower,
|
||||||
|
4 => Self::Custom,
|
||||||
_ => {
|
_ => {
|
||||||
warn!("Unknown number for PlatformProfile: {}", num);
|
warn!("Unknown number for PlatformProfile: {}", num);
|
||||||
Self::Balanced
|
Self::Balanced
|
||||||
@@ -246,6 +248,7 @@ impl From<&PlatformProfile> for &str {
|
|||||||
PlatformProfile::Performance => "performance",
|
PlatformProfile::Performance => "performance",
|
||||||
PlatformProfile::Quiet => "quiet",
|
PlatformProfile::Quiet => "quiet",
|
||||||
PlatformProfile::LowPower => "low-power",
|
PlatformProfile::LowPower => "low-power",
|
||||||
|
PlatformProfile::Custom => "custom",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -277,6 +280,7 @@ impl std::str::FromStr for PlatformProfile {
|
|||||||
"performance" => Ok(PlatformProfile::Performance),
|
"performance" => Ok(PlatformProfile::Performance),
|
||||||
"quiet" => Ok(PlatformProfile::Quiet),
|
"quiet" => Ok(PlatformProfile::Quiet),
|
||||||
"low-power" => Ok(PlatformProfile::LowPower),
|
"low-power" => Ok(PlatformProfile::LowPower),
|
||||||
|
"custom" => Ok(PlatformProfile::Custom),
|
||||||
_ => Err(PlatformError::NotSupported),
|
_ => Err(PlatformError::NotSupported),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -289,6 +293,7 @@ impl From<&str> for PlatformProfile {
|
|||||||
"performance" => PlatformProfile::Performance,
|
"performance" => PlatformProfile::Performance,
|
||||||
"quiet" => PlatformProfile::Quiet,
|
"quiet" => PlatformProfile::Quiet,
|
||||||
"low-power" => PlatformProfile::LowPower,
|
"low-power" => PlatformProfile::LowPower,
|
||||||
|
"custom" => PlatformProfile::Custom,
|
||||||
_ => {
|
_ => {
|
||||||
warn!("{profile} is unknown, using ThrottlePolicy::Balanced");
|
warn!("{profile} is unknown, using ThrottlePolicy::Balanced");
|
||||||
PlatformProfile::Balanced
|
PlatformProfile::Balanced
|
||||||
|
|||||||
@@ -113,6 +113,7 @@ pub struct FanCurveProfiles {
|
|||||||
pub balanced: Vec<CurveData>,
|
pub balanced: Vec<CurveData>,
|
||||||
pub performance: Vec<CurveData>,
|
pub performance: Vec<CurveData>,
|
||||||
pub quiet: Vec<CurveData>,
|
pub quiet: Vec<CurveData>,
|
||||||
|
pub custom: Vec<CurveData>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl FanCurveProfiles {
|
impl FanCurveProfiles {
|
||||||
@@ -146,6 +147,7 @@ impl FanCurveProfiles {
|
|||||||
PlatformProfile::Balanced => self.balanced = curves,
|
PlatformProfile::Balanced => self.balanced = curves,
|
||||||
PlatformProfile::Performance => self.performance = curves,
|
PlatformProfile::Performance => self.performance = curves,
|
||||||
PlatformProfile::Quiet | PlatformProfile::LowPower => self.quiet = curves,
|
PlatformProfile::Quiet | PlatformProfile::LowPower => self.quiet = curves,
|
||||||
|
PlatformProfile::Custom => self.custom = curves,
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
@@ -182,6 +184,7 @@ impl FanCurveProfiles {
|
|||||||
PlatformProfile::Balanced => &mut self.balanced,
|
PlatformProfile::Balanced => &mut self.balanced,
|
||||||
PlatformProfile::Performance => &mut self.performance,
|
PlatformProfile::Performance => &mut self.performance,
|
||||||
PlatformProfile::Quiet | PlatformProfile::LowPower => &mut self.quiet,
|
PlatformProfile::Quiet | PlatformProfile::LowPower => &mut self.quiet,
|
||||||
|
PlatformProfile::Custom => &mut self.custom,
|
||||||
};
|
};
|
||||||
for fan in fans.iter().filter(|f| !f.enabled) {
|
for fan in fans.iter().filter(|f| !f.enabled) {
|
||||||
debug!("write_profile_curve_to_platform: writing profile:{profile}, {fan:?}");
|
debug!("write_profile_curve_to_platform: writing profile:{profile}, {fan:?}");
|
||||||
@@ -213,6 +216,11 @@ impl FanCurveProfiles {
|
|||||||
curve.enabled = enabled;
|
curve.enabled = enabled;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
PlatformProfile::Custom => {
|
||||||
|
for curve in self.custom.iter_mut() {
|
||||||
|
curve.enabled = enabled;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -247,6 +255,14 @@ impl FanCurveProfiles {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
PlatformProfile::Custom => {
|
||||||
|
for curve in self.custom.iter_mut() {
|
||||||
|
if curve.fan == fan {
|
||||||
|
curve.enabled = enabled;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -255,6 +271,7 @@ impl FanCurveProfiles {
|
|||||||
PlatformProfile::Balanced => &self.balanced,
|
PlatformProfile::Balanced => &self.balanced,
|
||||||
PlatformProfile::Performance => &self.performance,
|
PlatformProfile::Performance => &self.performance,
|
||||||
PlatformProfile::Quiet | PlatformProfile::LowPower => &self.quiet,
|
PlatformProfile::Quiet | PlatformProfile::LowPower => &self.quiet,
|
||||||
|
PlatformProfile::Custom => &self.custom,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -281,6 +298,13 @@ impl FanCurveProfiles {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
PlatformProfile::Custom => {
|
||||||
|
for this_curve in self.custom.iter() {
|
||||||
|
if this_curve.fan == pu {
|
||||||
|
return Some(this_curve);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
@@ -315,6 +339,14 @@ impl FanCurveProfiles {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
PlatformProfile::Custom => {
|
||||||
|
for this_curve in self.custom.iter_mut() {
|
||||||
|
if this_curve.fan == curve.fan {
|
||||||
|
*this_curve = curve;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user