Merge pull request #2647 from KG7x/master

Fix typo & Optimize images & Cleanup
This commit is contained in:
RustDesk 2022-12-26 13:16:52 +08:00 committed by GitHub
commit 96e41abbaa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
83 changed files with 103 additions and 103 deletions

View File

@ -377,7 +377,7 @@ jobs:
run: |
~/.cargo/bin/flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart
- name: Upload Artifcat
- name: Upload Artifact
uses: actions/upload-artifact@master
with:
name: bridge-artifact
@ -1012,7 +1012,7 @@ jobs:
files: |
rustdesk-${{ env.VERSION }}-${{ matrix.job.target }}-${{ matrix.job.os }}.deb
- name: Upload Artifcat
- name: Upload Artifact
uses: actions/upload-artifact@master
if: ${{ contains(matrix.job.extra-build-features, 'flatpak') }}
with:
@ -1188,7 +1188,7 @@ jobs:
files: |
rustdesk-${{ env.VERSION }}-${{ matrix.job.target }}-${{ matrix.job.os }}.deb
- name: Upload Artifcat
- name: Upload Artifact
uses: actions/upload-artifact@master
if: ${{ contains(matrix.job.extra-build-features, 'flatpak') }}
with:

View File

@ -21,7 +21,7 @@ skip_cargo = False
def custom_os_system(cmd):
err = os._system(cmd)
if err != 0:
print(f"Error occured when executing: {cmd}. Exiting.")
print(f"Error occurred when executing: {cmd}. Exiting.")
sys.exit(-1)
# replace prebuilt os.system
os._system = os.system

View File

@ -4,7 +4,7 @@ Doc: https://rustdesk.com/docs/en/manual/mobile/
In order for a remote device to control your Android device via mouse or touch, you need to allow RustDesk to use the "Accessibility" service, RustDesk uses AccessibilityService API to implement Addroid remote control.
In addtion to remote control, you can also transfer files between Android devices and PCs easily with RustDesk.
In addition to remote control, you can also transfer files between Android devices and PCs easily with RustDesk.
You have full control of your data, with no concerns about security. You can use our rendezvous/relay server, or self-hosting, or write your own rendezvous/relay server. Self-hosting server is free and open source: https://github.com/rustdesk/rustdesk-server

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 323 KiB

After

Width:  |  Height:  |  Size: 318 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 425 KiB

After

Width:  |  Height:  |  Size: 422 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 623 KiB

After

Width:  |  Height:  |  Size: 452 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 384 KiB

After

Width:  |  Height:  |  Size: 379 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 KiB

After

Width:  |  Height:  |  Size: 267 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

View File

@ -1,7 +1,7 @@
#!/bin/bash
# Build libyuv / opus / libvpx / oboe for Android
# Required:
# Build libyuv / opus / libvpx / oboe for Android
# Required:
# 1. set VCPKG_ROOT / ANDROID_NDK path environment variables
# 2. vcpkg initialized
# 3. ndk, version: 22 (if ndk < 22 you need to change LD as `export LD=$TOOLCHAIN/bin/$NDK_LLVM_TARGET-ld`)
@ -23,7 +23,7 @@ HOST_TAG="linux-x86_64" # current platform, set as `ls $ANDROID_NDK/toolchains/l
TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/$HOST_TAG
function build {
ANDROID_ABI=$1
ANDROID_ABI=$1
VCPKG_TARGET=$2
NDK_LLVM_TARGET=$3
LIBVPX_TARGET=$4
@ -111,15 +111,15 @@ patch -N -d build/oboe -p1 < ../src/oboe.patch
# x86_64-linux-android
# i686-linux-android
# LIBVPX_TARGET :
# arm64-android-gcc
# armv7-android-gcc
# LIBVPX_TARGET :
# arm64-android-gcc
# armv7-android-gcc
# x86_64-android-gcc
# x86-android-gcc
# x86-android-gcc
# args: ANDROID_ABI VCPKG_TARGET NDK_LLVM_TARGET LIBVPX_TARGET
build arm64-v8a arm64-android aarch64-linux-android arm64-android-gcc
build armeabi-v7a arm-android arm-linux-androideabi armv7-android-gcc
build armeabi-v7a arm-android arm-linux-androideabi armv7-android-gcc
# rm -rf build/libvpx
# rm -rf build/oboe

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 364 B

After

Width:  |  Height:  |  Size: 360 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 574 B

After

Width:  |  Height:  |  Size: 564 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 811 B

After

Width:  |  Height:  |  Size: 779 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 467 B

After

Width:  |  Height:  |  Size: 455 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 806 B

After

Width:  |  Height:  |  Size: 781 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 574 B

After

Width:  |  Height:  |  Size: 564 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 997 B

After

Width:  |  Height:  |  Size: 978 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 939 B

After

Width:  |  Height:  |  Size: 926 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -46,7 +46,7 @@ var isWebDesktop = false;
var version = "";
int androidVersion = 0;
/// only avaliable for Windows target
/// only available for Windows target
int windowsBuildNumber = 0;
DesktopType? desktopType;
@ -1373,7 +1373,7 @@ Future<Map<String, String>> getHttpHeaders() async {
};
}
// Simple wrapper of built-in types for refrence use.
// Simple wrapper of built-in types for reference use.
class SimpleWrapper<T> {
T value;
SimpleWrapper(this.value);
@ -1409,7 +1409,7 @@ Future<void> reloadAllWindows() async {
/// Indicate the flutter app is running in portable mode.
///
/// [Note]
/// Portable build is only avaliable on Windows.
/// Portable build is only available on Windows.
bool isRunningInPortableMode() {
if (!Platform.isWindows) {
return false;

View File

@ -464,7 +464,7 @@ abstract class BasePeerCard extends StatelessWidget {
);
}
/// Only avaliable on Windows.
/// Only available on Windows.
@protected
MenuEntryBase<String> _createShortCutAction(String id) {
return MenuEntryButton<String>(

View File

@ -208,7 +208,7 @@ class RustDeskMultiWindowManager {
/// Remove active window which has [`windowId`]
///
/// [Avaliability]
/// [Availability]
/// This function should only be called from main window.
/// For other windows, please post a unregister(hide) event to main window handler:
/// `rustDeskWinManager.call(WindowType.Main, kWindowEventHide, {"id": windowId!});`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 354 B

After

Width:  |  Height:  |  Size: 349 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 569 B

After

Width:  |  Height:  |  Size: 562 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 909 B

After

Width:  |  Height:  |  Size: 901 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3
import re
import re
import os
import glob
from tabnanny import check
@ -69,7 +69,7 @@ def main():
for ln in open('../../../Cargo.toml', encoding='utf-8'):
if ln.startswith('version ='):
print('export const ' + ln)
def removeComment(ln):
return re.sub('\s+\/\/.*$', '', ln)

View File

@ -22,8 +22,8 @@
import { simd } from "wasm-feature-detect";
export async function loadVp9(callback) {
// Multithreading is used only if `options.threading` is true.
// This requires browser support for the new `SharedArrayBuffer` and `Atomics` APIs,
// Multithreading is used only if `options.threading` is true.
// This requires browser support for the new `SharedArrayBuffer` and `Atomics` APIs,
// currently available in Firefox and Chrome with experimental flags enabled.
// 所有主流浏览器均默认于2018年1月5日禁用SharedArrayBuffer
const isSIMD = await simd();

View File

@ -116,7 +116,7 @@ bool Win32Window::CreateAndShow(const std::wstring& title,
HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST);
UINT dpi = FlutterDesktopGetDpiForMonitor(monitor);
double scale_factor = dpi / 96.0;
HWND window = CreateWindow(
window_class, title.c_str(), WS_OVERLAPPEDWINDOW,
Scale(origin.x, scale_factor), Scale(origin.y, scale_factor),

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

@ -1,7 +1,7 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug",
"type": "gdb",

View File

@ -21,7 +21,7 @@
//! Possible use cases could be for testing user interfaces on different
//! plattforms,
//! building remote control applications or just automating tasks for user
//! interfaces unaccessible by a public API or scripting laguage.
//! interfaces unaccessible by a public API or scripting language.
//!
//! For the keyboard there are currently two modes you can use. The first mode
//! is represented by the [key_sequence]() function

View File

@ -68,7 +68,7 @@ extern "C" {
) -> Boolean;
fn CGEventPost(tapLocation: CGEventTapLocation, event: *mut MyCGEvent);
// Actually return CFDataRef which is const here, but for coding convienence, return *mut c_void
// Actually return CFDataRef which is const here, but for coding convenience, return *mut c_void
fn TISGetInputSourceProperty(source: TISInputSourceRef, property: *const c_void)
-> *mut c_void;
// not present in servo/core-graphics

View File

@ -578,7 +578,7 @@ impl TransferJob {
///
/// [`Note`]
/// Conditions:
/// 1. Files are not waiting for comfirmation by peers.
/// 1. Files are not waiting for confirmation by peers.
#[inline]
pub fn job_completed(&self) -> bool {
// has no error, Condition 2

View File

@ -339,7 +339,7 @@ impl CapturerMag {
}
// Register the host window class. See the MSDN documentation of the
// Magnification API for more infomation.
// Magnification API for more information.
let wcex = WNDCLASSEXA {
cbSize: size_of::<WNDCLASSEXA>() as _,
style: 0,

View File

@ -66,7 +66,7 @@ const char* GetLastMsg()
BOOL InstallUpdate(LPCWSTR fullInfPath, PBOOL rebootRequired)
{
SetLastMsg("Sucess");
SetLastMsg("Success");
// UpdateDriverForPlugAndPlayDevicesW may return FALSE while driver was successfully installed...
if (FALSE == UpdateDriverForPlugAndPlayDevicesW(
@ -96,7 +96,7 @@ BOOL InstallUpdate(LPCWSTR fullInfPath, PBOOL rebootRequired)
BOOL Uninstall(LPCWSTR fullInfPath, PBOOL rebootRequired)
{
SetLastMsg("Sucess");
SetLastMsg("Success");
if (FALSE == DiUninstallDriverW(
NULL,
@ -122,7 +122,7 @@ BOOL Uninstall(LPCWSTR fullInfPath, PBOOL rebootRequired)
BOOL IsDeviceCreated(PBOOL created)
{
SetLastMsg("Sucess");
SetLastMsg("Success");
HDEVINFO hardwareDeviceInfo = SetupDiGetClassDevs(
&GUID_DEVINTERFACE_IDD_DRIVER_DEVICE,
@ -181,7 +181,7 @@ BOOL IsDeviceCreated(PBOOL created)
BOOL DeviceCreate(PHSWDEVICE hSwDevice)
{
SetLastMsg("Sucess");
SetLastMsg("Success");
if (*hSwDevice != NULL)
{
@ -221,7 +221,7 @@ BOOL DeviceCreate(PHSWDEVICE hSwDevice)
SW_DEVICE_CREATE_INFO createInfo = { 0 };
PCWSTR description = L"RustDesk Idd Driver";
// These match the Pnp id's in the inf file so OS will load the driver when the device is created
// These match the Pnp id's in the inf file so OS will load the driver when the device is created
PCWSTR instanceId = L"RustDeskIddDriver";
PCWSTR hardwareIds = L"RustDeskIddDriver\0\0";
PCWSTR compatibleIds = L"RustDeskIddDriver\0\0";
@ -274,7 +274,7 @@ BOOL DeviceCreate(PHSWDEVICE hSwDevice)
VOID DeviceClose(HSWDEVICE hSwDevice)
{
SetLastMsg("Sucess");
SetLastMsg("Success");
if (hSwDevice != INVALID_HANDLE_VALUE && hSwDevice != NULL)
{
@ -284,7 +284,7 @@ VOID DeviceClose(HSWDEVICE hSwDevice)
BOOL MonitorPlugIn(UINT index, UINT edid, INT retries)
{
SetLastMsg("Sucess");
SetLastMsg("Success");
if (retries < 0)
{
@ -359,7 +359,7 @@ BOOL MonitorPlugIn(UINT index, UINT edid, INT retries)
BOOL MonitorPlugOut(UINT index)
{
SetLastMsg("Sucess");
SetLastMsg("Success");
HANDLE hDevice = DeviceOpenHandle();
if (hDevice == INVALID_HANDLE_VALUE || hDevice == NULL)
@ -400,7 +400,7 @@ BOOL MonitorPlugOut(UINT index)
BOOL MonitorModesUpdate(UINT index, UINT modeCount, PMonitorMode modes)
{
SetLastMsg("Sucess");
SetLastMsg("Success");
HANDLE hDevice = DeviceOpenHandle();
if (hDevice == INVALID_HANDLE_VALUE || hDevice == NULL)
@ -721,7 +721,7 @@ Clean0:
// https://stackoverflow.com/questions/67164846/createfile-fails-unless-i-disable-enable-my-device
HANDLE DeviceOpenHandle()
{
SetLastMsg("Sucess");
SetLastMsg("Success");
// const int maxDevPathLen = 256;
TCHAR devicePath[256] = { 0 };

View File

@ -14,7 +14,7 @@ extern "C" {
* @param rebootRequired [out] Indicates whether a restart is required.
*
* @return TRUE/FALSE. If FALSE returned, error message can be retrieved by GetLastMsg()
*
*
* @see GetLastMsg#GetLastMsg
*/
BOOL InstallUpdate(LPCTSTR fullInfPath, PBOOL rebootRequired);
@ -34,11 +34,11 @@ BOOL Uninstall(LPCTSTR fullInfPath, PBOOL rebootRequired);
/**
* @brief Check if RustDeskIddDriver device is created before.
* The driver device(adapter) should be single instance.
*
*
* @param created [out] Indicates whether the device is created before.
*
* @return TRUE/FALSE. If FALSE returned, error message can be retrieved by GetLastMsg()
*
*
* @see GetLastMsg#GetLastMsg
*
*/
@ -47,12 +47,12 @@ BOOL IsDeviceCreated(PBOOL created);
/**
* @brief Create device.
* Only one device should be created.
* If device is installed ealier, this function returns FALSE.
*
* If device is installed earlier, this function returns FALSE.
*
* @param hSwDevice [out] Handler of software device, used by DeviceCreate(). Should be **NULL**.
*
* @return TRUE/FALSE. If FALSE returned, error message can be retrieved by GetLastMsg()
*
*
* @see GetLastMsg#GetLastMsg
*
*/
@ -79,9 +79,9 @@ VOID DeviceClose(HSWDEVICE hSwDevice);
* 1 means doing once and retry one time...
*
* @return TRUE/FALSE. If FALSE returned, error message can be retrieved by GetLastMsg()
*
*
* @see GetLastMsg#GetLastMsg
*
*
* @remark Plug in monitor may fail if device is created in a very short time.
* System need some time to prepare the device.
*
@ -94,7 +94,7 @@ BOOL MonitorPlugIn(UINT index, UINT edid, INT retries);
* @param index [in] Monitor index, should be 0, 1, 2.
*
* @return TRUE/FALSE. If FALSE returned, error message can be retrieved by GetLastMsg()
*
*
* @see GetLastMsg#GetLastMsg
*
*/
@ -133,9 +133,9 @@ const char* GetLastMsg();
* @brief Set if print error message when debug.
*
* @param b [in] TRUE to enable printing message.
*
*
* @remark For now, no need to read evironment variable to check if should print.
*
*
*/
VOID SetPrintErrMsg(BOOL b);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 504 B

After

Width:  |  Height:  |  Size: 493 B

View File

@ -3,5 +3,5 @@ for size in 16 32 64 128 256 512 1024; do
#inkscape -z -o $size.png -w $size -h $size icon.svg >/dev/null 2>/dev/null
convert icon.png -resize ${size}x${size} app_icon_$size.png
done
# from ImageMagick
# from ImageMagick
#/bin/rm 16.png 32.png 48.png 128.png 256.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -4,22 +4,22 @@ import os
import glob
import sys
import csv
def get_lang(lang):
out = {}
def get_lang(lang):
out = {}
for ln in open('./src/lang/%s.rs'%lang):
ln = ln.strip()
if ln.startswith('("'):
k, v = line_split(ln)
out[k] = v
return out
return out
def line_split(line):
toks = line.split('", "')
toks = line.split('", "')
if len(toks) != 2:
print(line)
assert(0)
k = toks[0][2:]
k = toks[0][2:]
v = toks[1][:-3]
return k, v
@ -34,8 +34,8 @@ def main():
def expand():
for fn in glob.glob('./src/lang/*'):
lang = os.path.basename(fn)[:-3]
for fn in glob.glob('./src/lang/*'):
lang = os.path.basename(fn)[:-3]
if lang in ['en','cn']: continue
print(lang)
dict = get_lang(lang)
@ -52,11 +52,11 @@ def expand():
else:
fw.write(line)
fw.close()
def to_csv():
for fn in glob.glob('./src/lang/*.rs'):
lang = os.path.basename(fn)[:-3]
for fn in glob.glob('./src/lang/*.rs'):
lang = os.path.basename(fn)[:-3]
csvfile = open('./src/lang/%s.csv'%lang, "wt")
csvwriter = csv.writer(csvfile)
for line in open(fn):

Binary file not shown.

Before

Width:  |  Height:  |  Size: 391 B

After

Width:  |  Height:  |  Size: 275 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 475 B

After

Width:  |  Height:  |  Size: 270 B

View File

@ -305,7 +305,7 @@ fn core_main_invoke_new_connection(mut args: std::env::Args) -> Option<Vec<Strin
let res = crate::platform::send_message_to_hnwd(
"FLUTTER_RUNNER_WIN32_WINDOW",
"RustDesk",
(WM_USER + 2) as _, // refered from unilinks desktop pub
(WM_USER + 2) as _, // referred from unilinks desktop pub
uni_links.as_str(),
true,
);

View File

@ -500,7 +500,7 @@ pub fn start_os_service() {
Err(err) => {
log::error!("Failed to start server: {}", err);
}
_ => { /*no hapen*/ }
_ => { /*no happen*/ }
}
}
std::thread::sleep(std::time::Duration::from_millis(super::SERVICE_INTERVAL));

View File

@ -251,7 +251,7 @@ impl Connection {
loop {
tokio::select! {
// biased; // video has higher priority // causing test_delay_timer failed while transfering big file
// biased; // video has higher priority // causing test_delay_timer failed while transferring big file
Some(data) = rx_from_cm.recv() => {
match data {

View File

@ -223,7 +223,7 @@ lazy_static::lazy_static! {
// First call set_uinput() will create keyboard and mouse clients.
// The clients are ipc connections that must live shorter than tokio runtime.
// Thus this funtion must not be called in a temporary runtime.
// Thus this function must not be called in a temporary runtime.
#[cfg(target_os = "linux")]
pub async fn setup_uinput(minx: i32, maxx: i32, miny: i32, maxy: i32) -> ResultType<()> {
// Keyboard and mouse both open /dev/uinput

View File

@ -198,7 +198,7 @@ impl VideoQoS {
#[cfg(target_os = "android")]
{
// fix when andorid screen shrinks
// fix when android screen shrinks
let fix = scrap::Display::fix_quality() as u32;
log::debug!("Android screen, fix quality:{}", fix);
let base_bitrate = base_bitrate * fix;

View File

@ -45,7 +45,7 @@ div.right-panel {
div.icon-and-id {
flow: horizontal;
border-spacing: 1em;
border-spacing: 1em;
}
div.icon {
@ -64,7 +64,7 @@ div.id {
div.permissions {
flow: horizontal;
border-spacing: 0.5em;
border-spacing: 0.5em;
}
div.permissions > div {
@ -141,7 +141,7 @@ button.elevate>span {
}
button.elevate>span>span {
margin-left:*;
margin-left:*;
margin-right:*;
}

View File

@ -4,7 +4,7 @@
@import url(common.css);
@import url(cm.css);
</style>
<script type="text/tiscript">
<script type="text/tiscript">
include "common.tis";
include "cm.tis";
</script>

View File

@ -31,7 +31,7 @@ class Body: Reactor.Component
var disconnected = c.disconnected;
var show_elevation_btn = handler.can_elevate() && show_elevation && !c.is_file_transfer && c.port_forward.length == 0;
var show_accept_btn = handler.get_option('approve-mode') != 'password';
// below size:* is work around for Linux, it alreayd set in css, but not work, shit sciter
// below size:* is work around for Linux, it already set in css, but not work, shit sciter
return <div .content style="size:*">
<div .left-panel>
<div .icon-and-id>

View File

@ -56,7 +56,7 @@ button[type=checkbox], button[type=checkbox]:active {
button.outline {
border: color(border) solid 1px;
background: transparent;
background: transparent;
color: color(text);
}
@ -115,7 +115,7 @@ textarea:empty {
.base:disabled { background: transparent; }
.slider:hover { background: grey; }
.slider:active { background: grey; }
.base { size: 16px; }
.base { size: 16px; }
.corner { background: white; }
}
@ -185,7 +185,7 @@ header div.window-icon icon {
header caption {
size: *;
}
}
@media platform != "OSX" {
button.window {

View File

@ -12,22 +12,22 @@ div#file-transfer {
}
table
{
{
font: system;
border: 1px solid color(border);
flow: table-fixed;
prototype: Grid;
size: *;
padding:0;
border-spacing: 0;
border-spacing: 0;
overflow-x: auto;
overflow-y: hidden;
}
table > thead {
table > thead {
behavior: column-resizer;
border-bottom: color(border) solid 1px;
}
}
table > tbody {
behavior: select-multiple;
@ -41,20 +41,20 @@ table th {
}
table th
{
{
padding: 4px;
foreground-repeat: no-repeat;
foreground-position: 50% 3px auto auto;
border-left: color(border) solid 1px;
}
}
table th.sortable[sort=asc]
{
table th.sortable[sort=asc]
{
foreground-image: url(stock:arrow-down);
}
}
table th.sortable[sort=desc]
{
{
foreground-image: url(stock:arrow-up);
}
@ -81,10 +81,10 @@ table.has_current thead th:current {
table tr:nth-child(odd) { background-color: white; } /* each odd row */
table tr:nth-child(even) { background-color: #F4F5F6; } /* each even row */
table.has_current tr:current /* current row */
{
background-color: color(accent);
}
table.has_current tr:current /* current row */
{
background-color: color(accent);
}
table.has_current tbody tr:checked
{
@ -95,9 +95,9 @@ table.has_current tbody tr:checked td {
color: highlighttext;
}
table td
{
padding: 4px;
table td
{
padding: 4px;
text-align: left;
font-size: 1em;
height: 1.4em;
@ -124,11 +124,11 @@ table td:nth-child(4) {
section {
size: *;
margin: 1em;
border-spacing: 0.5em;
border-spacing: 0.5em;
}
table td:nth-child(1) {
foreground-repeat: no-repeat;
foreground-repeat: no-repeat;
foreground-position: 50% 50%
}
@ -160,11 +160,11 @@ div.toolbar > div.button:hover {
div.toolbar > div.send {
flow: horizontal;
border-spacing: 0.5em;
border-spacing: 0.5em;
}
div.remote > div.send svg {
transform: scale(-1, 1);
transform: scale(-1, 1);
}
div.navbar {
@ -207,7 +207,7 @@ table.job-table tr td {
padding: 0.5em 1em;
border-bottom: color(border) 1px solid;
flow: horizontal;
border-spacing: 1em;
border-spacing: 1em;
height: 3em;
overflow-x: hidden;
}
@ -217,11 +217,11 @@ table.job-table tr svg {
}
table.job-table tr.is_remote svg {
transform: scale(-1, 1);
transform: scale(-1, 1);
}
table.job-table tr.is_remote div.svg_continue svg {
transform: scale(1, 1);
transform: scale(1, 1);
}
table.job-table tr td div.text {
@ -246,7 +246,7 @@ table#port-forward thead tr th {
table#port-forward tr td {
height: 3em;
text-align: left;
text-align: left;
}
table#port-forward input[type=text], table#port-forward input[type=number] {

View File

@ -8,7 +8,7 @@ header #screens {
height: 22px;
border-radius: 4px;
flow: horizontal;
border-spacing: 0.5em;
border-spacing: 0.5em;
padding-right: 1em;
position: relative;
}

View File

@ -26,7 +26,7 @@ handler.setDisplay = function(x, y, w, h, cursor_embeded) {
if (recording) handler.record_screen(true, w, h);
}
// in case toolbar not shown correclty
// in case toolbar not shown correctly
view.windowMinSize = (scaleIt(500), scaleIt(300));
function adaptDisplay() {

View File

@ -95,7 +95,7 @@ extern "C"
CreateEnvironmentBlock(&lpEnvironment, // Environment block
hToken, // New token
TRUE); // Inheritence
TRUE); // Inheritance
}
if (lpEnvironment)
{