Merge pull request #2779 from jsoref/spelling

Spelling
This commit is contained in:
RustDesk 2023-01-10 10:13:07 +08:00 committed by GitHub
commit 3fc686c3d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
50 changed files with 205 additions and 205 deletions

View File

@ -198,7 +198,7 @@ Please ensure that you are running these commands from the root of the RustDesk
- **[src/rendezvous_mediator.rs](https://github.com/rustdesk/rustdesk/tree/master/src/rendezvous_mediator.rs)**: Communicate with [rustdesk-server](https://github.com/rustdesk/rustdesk-server), wait for remote direct (TCP hole punching) or relayed connection
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: platform specific code
- **[flutter](https://github.com/rustdesk/rustdesk/tree/master/flutter)**: Flutter code for mobile
- **[flutter/web/js](https://github.com/rustdesk/rustdesk/tree/master/flutter/web/js)**: Javascript for Flutter web client
- **[flutter/web/js](https://github.com/rustdesk/rustdesk/tree/master/flutter/web/js)**: JavaScript for Flutter web client
## Snapshot

View File

@ -35,7 +35,7 @@ efforts from contributors on the same issue.
- Add tests relevant to the fixed bug or new feature.
For specific git instructions, see [GitHub workflow 101](https://github.com/servo/servo/wiki/Github-workflow).
For specific git instructions, see [GitHub workflow 101](https://github.com/servo/servo/wiki/GitHub-workflow).
## Conduct

View File

@ -2,7 +2,7 @@ An open-source remote desktop application, the open source TeamViewer alternativ
Source code: https://github.com/rustdesk/rustdesk
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 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 Android remote control.
In addition to remote control, you can also transfer files between Android devices and PCs easily with RustDesk.

View File

@ -538,7 +538,7 @@ Future<bool?> loginDialog() async {
),
LoginWidgetOP(
ops: [
ConfigOP(op: 'Github', iconWidth: 20),
ConfigOP(op: 'GitHub', iconWidth: 20),
ConfigOP(op: 'Google', iconWidth: 20),
ConfigOP(op: 'Okta', iconWidth: 38),
],

View File

@ -44,7 +44,7 @@ class _ConnectionPageState extends State<ConnectionPage>
var svcStatusCode = 0.obs;
var svcIsUsingPublicServer = true.obs;
bool isWindowMinisized = false;
bool isWindowMinimized = false;
@override
void initState() {
@ -80,13 +80,13 @@ class _ConnectionPageState extends State<ConnectionPage>
void onWindowEvent(String eventName) {
super.onWindowEvent(eventName);
if (eventName == 'minimize') {
isWindowMinisized = true;
isWindowMinimized = true;
} else if (eventName == 'maximize' || eventName == 'restore') {
if (isWindowMinisized && Platform.isWindows) {
// windows can't update when minisized.
if (isWindowMinimized && Platform.isWindows) {
// windows can't update when minimized.
Get.forceAppUpdate();
}
isWindowMinisized = false;
isWindowMinimized = false;
}
}

View File

@ -1436,7 +1436,7 @@ Widget _lock(
_LabeledTextField(
BuildContext context,
String lable,
String label,
TextEditingController controller,
String errorText,
bool enabled,
@ -1447,7 +1447,7 @@ _LabeledTextField(
Expanded(
flex: 4,
child: Text(
'${translate(lable)}:',
'${translate(label)}:',
textAlign: TextAlign.right,
style: TextStyle(color: _disabledTextColor(context, enabled)),
),

View File

@ -127,8 +127,8 @@ class _PortForwardPageState extends State<PortForwardPage>
}
buildTunnel(BuildContext context) {
text(String lable) => Expanded(
child: Text(translate(lable)).marginOnly(left: _kTextLeftMargin));
text(String label) => Expanded(
child: Text(translate(label)).marginOnly(left: _kTextLeftMargin));
return Theme(
data: Theme.of(context)
@ -241,8 +241,8 @@ class _PortForwardPageState extends State<PortForwardPage>
}
Widget buildTunnelDataRow(BuildContext context, _PortForward pf, int index) {
text(String lable) => Expanded(
child: Text(lable, style: const TextStyle(fontSize: 20))
text(String label) => Expanded(
child: Text(label, style: const TextStyle(fontSize: 20))
.marginOnly(left: _kTextLeftMargin));
return Container(
@ -285,11 +285,11 @@ class _PortForwardPageState extends State<PortForwardPage>
}
buildRdp(BuildContext context) {
text1(String lable) => Expanded(
child: Text(translate(lable)).marginOnly(left: _kTextLeftMargin));
text2(String lable) => Expanded(
text1(String label) => Expanded(
child: Text(translate(label)).marginOnly(left: _kTextLeftMargin));
text2(String label) => Expanded(
child: Text(
lable,
label,
style: const TextStyle(fontSize: 20),
).marginOnly(left: _kTextLeftMargin));
return Theme(

View File

@ -6,7 +6,7 @@ import 'package:flutter_hbb/models/platform_model.dart';
import '../../common.dart';
typedef KBChoosedCallback = Future<bool> Function(String);
typedef KBChosenCallback = Future<bool> Function(String);
const double _kImageMarginVertical = 6.0;
const double _kImageMarginHorizontal = 10.0;
@ -25,12 +25,12 @@ const _kKBLayoutImageMap = {
class _KBImage extends StatelessWidget {
final String kbLayoutType;
final double imageWidth;
final RxString choosedType;
final RxString chosenType;
const _KBImage({
Key? key,
required this.kbLayoutType,
required this.imageWidth,
required this.choosedType,
required this.chosenType,
}) : super(key: key);
@override
@ -40,7 +40,7 @@ class _KBImage extends StatelessWidget {
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(_kBorderRadius),
border: Border.all(
color: choosedType.value == kbLayoutType
color: chosenType.value == kbLayoutType
? _kImageBorderColor
: Colors.transparent,
width: _kImageBoarderWidth,
@ -66,13 +66,13 @@ class _KBImage extends StatelessWidget {
class _KBChooser extends StatelessWidget {
final String kbLayoutType;
final double imageWidth;
final RxString choosedType;
final KBChoosedCallback cb;
final RxString chosenType;
final KBChosenCallback cb;
const _KBChooser({
Key? key,
required this.kbLayoutType,
required this.imageWidth,
required this.choosedType,
required this.chosenType,
required this.cb,
}) : super(key: key);
@ -81,7 +81,7 @@ class _KBChooser extends StatelessWidget {
onChanged(String? v) async {
if (v != null) {
if (await cb(v)) {
choosedType.value = v;
chosenType.value = v;
}
}
}
@ -95,7 +95,7 @@ class _KBChooser extends StatelessWidget {
child: _KBImage(
kbLayoutType: kbLayoutType,
imageWidth: imageWidth,
choosedType: choosedType,
chosenType: chosenType,
),
style: TextButton.styleFrom(padding: EdgeInsets.zero),
),
@ -105,7 +105,7 @@ class _KBChooser extends StatelessWidget {
Obx(() => Radio(
splashRadius: 0,
value: kbLayoutType,
groupValue: choosedType.value,
groupValue: chosenType.value,
onChanged: onChanged,
)),
Text(kbLayoutType),
@ -121,14 +121,14 @@ class _KBChooser extends StatelessWidget {
}
class KBLayoutTypeChooser extends StatelessWidget {
final RxString choosedType;
final RxString chosenType;
final double width;
final double height;
final double dividerWidth;
final KBChoosedCallback cb;
final KBChosenCallback cb;
KBLayoutTypeChooser({
Key? key,
required this.choosedType,
required this.chosenType,
required this.width,
required this.height,
required this.dividerWidth,
@ -147,7 +147,7 @@ class KBLayoutTypeChooser extends StatelessWidget {
_KBChooser(
kbLayoutType: _kKBLayoutTypeISO,
imageWidth: imageWidth,
choosedType: choosedType,
chosenType: chosenType,
cb: cb,
),
VerticalDivider(
@ -156,7 +156,7 @@ class KBLayoutTypeChooser extends StatelessWidget {
_KBChooser(
kbLayoutType: _kKBLayoutTypeNotISO,
imageWidth: imageWidth,
choosedType: choosedType,
chosenType: chosenType,
cb: cb,
),
],
@ -208,7 +208,7 @@ showKBLayoutTypeChooser(
title:
Text('${translate('Select local keyboard type')} ($localPlatform)'),
content: KBLayoutTypeChooser(
choosedType: KBLayoutType,
chosenType: KBLayoutType,
width: 360,
height: 200,
dividerWidth: 4.0,

View File

@ -906,7 +906,7 @@ class _TabState extends State<_Tab> with RestorationMixin {
children: [
_buildTabContent(),
Obx((() => _CloseButton(
visiable: hover.value && widget.closable,
visible: hover.value && widget.closable,
tabSelected: isSelected,
onClose: () => widget.onClose(),
)))
@ -938,13 +938,13 @@ class _TabState extends State<_Tab> with RestorationMixin {
}
class _CloseButton extends StatelessWidget {
final bool visiable;
final bool visible;
final bool tabSelected;
final Function onClose;
const _CloseButton({
Key? key,
required this.visiable,
required this.visible,
required this.tabSelected,
required this.onClose,
}) : super(key: key);
@ -954,7 +954,7 @@ class _CloseButton extends StatelessWidget {
return SizedBox(
width: _kIconSize,
child: Offstage(
offstage: !visiable,
offstage: !visible,
child: InkWell(
customBorder: const RoundedRectangleBorder(),
onTap: () => onClose(),

View File

@ -197,7 +197,7 @@ class InputModel {
// Check update event type and set buttons to be sent.
int buttons = _lastButtons;
if (type == _kMouseEventMove) {
// flutter may emit move event if one button is pressed and anoter button
// flutter may emit move event if one button is pressed and another button
// is pressing or releasing.
if (evt.buttons != _lastButtons) {
// For simplicity

View File

@ -70,7 +70,7 @@ target_link_libraries(flutter INTERFACE
add_dependencies(flutter flutter_assemble)
# === Flutter tool backend ===
# _phony_ is a non-existent file to force this command to run every time,
# _phony_ is a nonexistent file to force this command to run every time,
# since currently there's no way to get a full input/output list from the
# flutter tool.
add_custom_command(

View File

@ -82,10 +82,10 @@ export default class Connection {
this._ws = ws;
this._id = id;
console.log(
new Date() + ": Conntecting to rendezvoous server: " + uri + ", for " + id
new Date() + ": Connecting to rendezvous server: " + uri + ", for " + id
);
await ws.open();
console.log(new Date() + ": Connected to rendezvoous server");
console.log(new Date() + ": Connected to rendezvous server");
const conn_type = rendezvous.ConnType.DEFAULT_CONN;
const nat_type = rendezvous.NatType.SYMMETRIC;
const punch_hole_request = rendezvous.PunchHoleRequest.fromPartial({

View File

@ -79,7 +79,7 @@ target_include_directories(flutter_wrapper_app PUBLIC
add_dependencies(flutter_wrapper_app flutter_assemble)
# === Flutter tool backend ===
# _phony_ is a non-existent file to force this command to run every time,
# _phony_ is a nonexistent file to force this command to run every time,
# since currently there's no way to get a full input/output list from the
# flutter tool.
set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_")

View File

@ -43,7 +43,7 @@ class WindowClassRegistrar {
public:
~WindowClassRegistrar() = default;
// Returns the singleton registar instance.
// Returns the singleton registrar instance.
static WindowClassRegistrar* GetInstance() {
if (!instance_) {
instance_ = new WindowClassRegistrar();

View File

@ -77,7 +77,7 @@ class Win32Window {
// OS callback called by message pump. Handles the WM_NCCREATE message which
// is passed when the non-client area is being created and enables automatic
// non-client DPI scaling so that the non-client area automatically
// responsponds to changes in DPI. All other messages are handled by
// responds to changes in DPI. All other messages are handled by
// MessageHandler.
static LRESULT CALLBACK WndProc(HWND const window,
UINT const message,

View File

@ -21,7 +21,7 @@ pub use context_send::*;
#[derive(Debug, Serialize, Deserialize, Clone)]
#[serde(tag = "t", content = "c")]
pub enum ClipbaordFile {
pub enum ClipboardFile {
MonitorReady,
FormatList {
format_list: Vec<(i32, String)>,
@ -61,8 +61,8 @@ struct ConnEnabled {
struct MsgChannel {
peer_id: String,
conn_id: i32,
sender: UnboundedSender<ClipbaordFile>,
receiver: Arc<TokioMutex<UnboundedReceiver<ClipbaordFile>>>,
sender: UnboundedSender<ClipboardFile>,
receiver: Arc<TokioMutex<UnboundedReceiver<ClipboardFile>>>,
}
#[derive(PartialEq)]
@ -89,7 +89,7 @@ pub fn get_client_conn_id(peer_id: &str) -> Option<i32> {
pub fn get_rx_cliprdr_client(
peer_id: &str,
) -> (i32, Arc<TokioMutex<UnboundedReceiver<ClipbaordFile>>>) {
) -> (i32, Arc<TokioMutex<UnboundedReceiver<ClipboardFile>>>) {
let mut lock = VEC_MSG_CHANNEL.write().unwrap();
match lock.iter().find(|x| x.peer_id == peer_id.to_owned()) {
Some(msg_channel) => (msg_channel.conn_id, msg_channel.receiver.clone()),
@ -110,7 +110,7 @@ pub fn get_rx_cliprdr_client(
}
}
pub fn get_rx_cliprdr_server(conn_id: i32) -> Arc<TokioMutex<UnboundedReceiver<ClipbaordFile>>> {
pub fn get_rx_cliprdr_server(conn_id: i32) -> Arc<TokioMutex<UnboundedReceiver<ClipboardFile>>> {
let mut lock = VEC_MSG_CHANNEL.write().unwrap();
match lock.iter().find(|x| x.conn_id == conn_id) {
Some(msg_channel) => msg_channel.receiver.clone(),
@ -131,7 +131,7 @@ pub fn get_rx_cliprdr_server(conn_id: i32) -> Arc<TokioMutex<UnboundedReceiver<C
}
#[inline]
fn send_data(conn_id: i32, data: ClipbaordFile) {
fn send_data(conn_id: i32, data: ClipboardFile) {
// no need to handle result here
if let Some(msg_channel) = VEC_MSG_CHANNEL
.read()
@ -157,28 +157,28 @@ pub fn empty_clipboard(context: &mut Box<CliprdrClientContext>, conn_id: i32) ->
pub fn server_clip_file(
context: &mut Box<CliprdrClientContext>,
conn_id: i32,
msg: ClipbaordFile,
msg: ClipboardFile,
) -> u32 {
match msg {
ClipbaordFile::MonitorReady => {
ClipboardFile::MonitorReady => {
log::debug!("server_monitor_ready called");
let ret = server_monitor_ready(context, conn_id);
log::debug!("server_monitor_ready called, return {}", ret);
ret
}
ClipbaordFile::FormatList { format_list } => {
ClipboardFile::FormatList { format_list } => {
log::debug!("server_format_list called");
let ret = server_format_list(context, conn_id, format_list);
log::debug!("server_format_list called, return {}", ret);
ret
}
ClipbaordFile::FormatListResponse { msg_flags } => {
ClipboardFile::FormatListResponse { msg_flags } => {
log::debug!("format_list_response called");
let ret = server_format_list_response(context, conn_id, msg_flags);
log::debug!("server_format_list_response called, return {}", ret);
ret
}
ClipbaordFile::FormatDataRequest {
ClipboardFile::FormatDataRequest {
requested_format_id,
} => {
log::debug!("format_data_request called");
@ -186,7 +186,7 @@ pub fn server_clip_file(
log::debug!("server_format_data_request called, return {}", ret);
ret
}
ClipbaordFile::FormatDataResponse {
ClipboardFile::FormatDataResponse {
msg_flags,
format_data,
} => {
@ -195,7 +195,7 @@ pub fn server_clip_file(
log::debug!("server_format_data_response called, return {}", ret);
ret
}
ClipbaordFile::FileContentsRequest {
ClipboardFile::FileContentsRequest {
stream_id,
list_index,
dw_flags,
@ -221,7 +221,7 @@ pub fn server_clip_file(
log::debug!("server_file_contents_request called, return {}", ret);
ret
}
ClipbaordFile::FileContentsResponse {
ClipboardFile::FileContentsResponse {
msg_flags,
stream_id,
requested_data,
@ -492,7 +492,7 @@ extern "C" fn client_format_list(
}
conn_id = (*clip_format_list).connID as i32;
}
let data = ClipbaordFile::FormatList { format_list };
let data = ClipboardFile::FormatList { format_list };
// no need to handle result here
if conn_id == 0 {
VEC_MSG_CHANNEL
@ -519,7 +519,7 @@ extern "C" fn client_format_list_response(
conn_id = (*format_list_response).connID as i32;
msg_flags = (*format_list_response).msgFlags as i32;
}
let data = ClipbaordFile::FormatListResponse { msg_flags };
let data = ClipboardFile::FormatListResponse { msg_flags };
send_data(conn_id, data);
0
@ -537,7 +537,7 @@ extern "C" fn client_format_data_request(
conn_id = (*format_data_request).connID as i32;
requested_format_id = (*format_data_request).requestedFormatId as i32;
}
let data = ClipbaordFile::FormatDataRequest {
let data = ClipboardFile::FormatDataRequest {
requested_format_id,
};
// no need to handle result here
@ -568,7 +568,7 @@ extern "C" fn client_format_data_response(
.to_vec();
}
}
let data = ClipbaordFile::FormatDataResponse {
let data = ClipboardFile::FormatDataResponse {
msg_flags,
format_data,
};
@ -614,7 +614,7 @@ extern "C" fn client_file_contents_request(
clip_data_id = (*file_contents_request).clipDataId as i32;
}
let data = ClipbaordFile::FileContentsRequest {
let data = ClipboardFile::FileContentsRequest {
stream_id,
list_index,
dw_flags,
@ -653,7 +653,7 @@ extern "C" fn client_file_contents_response(
.to_vec();
}
}
let data = ClipbaordFile::FileContentsResponse {
let data = ClipboardFile::FileContentsResponse {
msg_flags,
stream_id,
requested_data,

View File

@ -795,11 +795,11 @@ static HRESULT STDMETHODCALLTYPE CliprdrDataObject_QueryGetData(IDataObject *Thi
}
static HRESULT STDMETHODCALLTYPE CliprdrDataObject_GetCanonicalFormatEtc(IDataObject *This,
FORMATETC *pformatectIn,
FORMATETC *pformatetcIn,
FORMATETC *pformatetcOut)
{
(void)This;
(void)pformatectIn;
(void)pformatetcIn;
if (!pformatetcOut)
return E_INVALIDARG;

View File

@ -1,9 +1,9 @@
# Appveyor configuration template for Rust using rustup for Rust installation
# AppVeyor configuration template for Rust using rustup for Rust installation
# https://github.com/starkat99/appveyor-rust
## Operating System (VM environment) ##
# Rust needs at least Visual Studio 2013 Appveyor OS for MSVC targets.
# Rust needs at least Visual Studio 2013 AppVeyor OS for MSVC targets.
os: Visual Studio 2015
## Build Matrix ##
@ -83,7 +83,7 @@ environment:
### Allowed failures ###
# See Appveyor documentation for specific details. In short, place any channel or targets you wish
# See AppVeyor documentation for specific details. In short, place any channel or targets you wish
# to allow build failures on (usually nightly at least is a wise choice). This will prevent a build
# or test failure in the matching channels/targets from failing the entire build.
matrix:
@ -95,7 +95,7 @@ matrix:
## Install Script ##
# This is the most important part of the Appveyor configuration. This installs the version of Rust
# This is the most important part of the AppVeyor configuration. This installs the version of Rust
# specified by the 'channel' and 'target' environment variables from the build matrix. This uses
# rustup to install Rust.
#
@ -110,7 +110,7 @@ install:
## Build Script ##
# 'cargo test' takes care of building for us, so disable Appveyor's build stage. This prevents
# 'cargo test' takes care of building for us, so disable AppVeyor's build stage. This prevents
# the "directory does not contain a project or solution file" error.
build: false

View File

@ -19,7 +19,7 @@
//! or any other "special" key on the Linux, macOS and Windows operating system.
//!
//! Possible use cases could be for testing user interfaces on different
//! plattforms,
//! platforms,
//! building remote control applications or just automating tasks for user
//! interfaces unaccessible by a public API or scripting language.
//!
@ -206,7 +206,7 @@ pub trait MouseControllable {
/// Click a mouse button
///
/// it's esentially just a consecutive invokation of
/// it's essentially just a consecutive invocation of
/// [mouse_down](trait.MouseControllable.html#tymethod.mouse_down) followed
/// by a [mouse_up](trait.MouseControllable.html#tymethod.mouse_up). Just
/// for
@ -468,7 +468,7 @@ pub trait KeyboardControllable {
/// Emits keystrokes such that the given string is inputted.
///
/// You can use many unicode here like: ❤️. This works
/// regadless of the current keyboardlayout.
/// regardless of the current keyboardlayout.
///
/// # Example
///

View File

@ -13,7 +13,7 @@ pub struct Enigo {
is_x11: bool,
tfc: Option<TFC_Context>,
custom_keyboard: Option<CustomKeyboard>,
cutsom_mouse: Option<CustomMouce>,
custom_mouse: Option<CustomMouce>,
}
impl Enigo {
@ -21,7 +21,7 @@ impl Enigo {
pub fn delay(&self) -> u64 {
self.xdo.delay()
}
/// Set delay of xdo implemetation.
/// Set delay of xdo implementation.
pub fn set_delay(&mut self, delay: u64) {
self.xdo.set_delay(delay)
}
@ -31,7 +31,7 @@ impl Enigo {
}
/// Set custom mouse.
pub fn set_custom_mouse(&mut self, custom_mouse: CustomMouce) {
self.cutsom_mouse = Some(custom_mouse)
self.custom_mouse = Some(custom_mouse)
}
/// Get custom keyboard.
pub fn get_custom_keyboard(&mut self) -> &mut Option<CustomKeyboard> {
@ -39,7 +39,7 @@ impl Enigo {
}
/// Get custom mouse.
pub fn get_custom_mouse(&mut self) -> &mut Option<CustomMouce> {
&mut self.cutsom_mouse
&mut self.custom_mouse
}
fn tfc_key_down_or_up(&mut self, key: Key, down: bool, up: bool) -> bool {
@ -99,7 +99,7 @@ impl Default for Enigo {
None
},
custom_keyboard: None,
cutsom_mouse: None,
custom_mouse: None,
xdo: EnigoXdo::default(),
}
}
@ -118,7 +118,7 @@ impl MouseControllable for Enigo {
if self.is_x11 {
self.xdo.mouse_move_to(x, y);
} else {
if let Some(mouse) = &mut self.cutsom_mouse {
if let Some(mouse) = &mut self.custom_mouse {
mouse.mouse_move_to(x, y)
}
}
@ -127,7 +127,7 @@ impl MouseControllable for Enigo {
if self.is_x11 {
self.xdo.mouse_move_relative(x, y);
} else {
if let Some(mouse) = &mut self.cutsom_mouse {
if let Some(mouse) = &mut self.custom_mouse {
mouse.mouse_move_relative(x, y)
}
}
@ -136,7 +136,7 @@ impl MouseControllable for Enigo {
if self.is_x11 {
self.xdo.mouse_down(button)
} else {
if let Some(mouse) = &mut self.cutsom_mouse {
if let Some(mouse) = &mut self.custom_mouse {
mouse.mouse_down(button)
} else {
Ok(())
@ -147,7 +147,7 @@ impl MouseControllable for Enigo {
if self.is_x11 {
self.xdo.mouse_up(button)
} else {
if let Some(mouse) = &mut self.cutsom_mouse {
if let Some(mouse) = &mut self.custom_mouse {
mouse.mouse_up(button)
}
}
@ -156,7 +156,7 @@ impl MouseControllable for Enigo {
if self.is_x11 {
self.xdo.mouse_click(button)
} else {
if let Some(mouse) = &mut self.cutsom_mouse {
if let Some(mouse) = &mut self.custom_mouse {
mouse.mouse_click(button)
}
}
@ -165,7 +165,7 @@ impl MouseControllable for Enigo {
if self.is_x11 {
self.xdo.mouse_scroll_x(length)
} else {
if let Some(mouse) = &mut self.cutsom_mouse {
if let Some(mouse) = &mut self.custom_mouse {
mouse.mouse_scroll_x(length)
}
}
@ -174,7 +174,7 @@ impl MouseControllable for Enigo {
if self.is_x11 {
self.xdo.mouse_scroll_y(length)
} else {
if let Some(mouse) = &mut self.cutsom_mouse {
if let Some(mouse) = &mut self.custom_mouse {
mouse.mouse_scroll_y(length)
}
}

View File

@ -445,7 +445,7 @@ enum ImageQuality {
}
message VideoCodecState {
enum PerferCodec {
enum PreferCodec {
Auto = 0;
VPX = 1;
H264 = 2;
@ -455,7 +455,7 @@ message VideoCodecState {
int32 score_vpx = 1;
int32 score_h264 = 2;
int32 score_h265 = 3;
PerferCodec perfer = 4;
PreferCodec prefer = 4;
}
message OptionMessage {
@ -503,7 +503,7 @@ message AudioFrame {
// Notify peer to show message box.
message MessageBox {
// Message type. Refer to flutter/lib/commom.dart/msgBox().
// Message type. Refer to flutter/lib/common.dart/msgBox().
string msgtype = 1;
string title = 2;
// English

View File

@ -1,15 +1,15 @@
use crate::ResultType;
lazy_static::lazy_static! {
pub static ref DISTRO: Disto = Disto::new();
pub static ref DISTRO: Distro = Distro::new();
}
pub struct Disto {
pub struct Distro {
pub name: String,
pub version_id: String,
}
impl Disto {
impl Distro {
fn new() -> Self {
let name = run_cmds("awk -F'=' '/^NAME=/ {print $2}' /etc/os-release".to_owned())
.unwrap_or_default()

View File

@ -74,7 +74,7 @@ impl BinaryReader {
assert!(BIN_DATA.len() > IDENTIFIER_LENGTH, "bin data invalid!");
let mut iden = String::from_utf8_lossy(&BIN_DATA[base..base + IDENTIFIER_LENGTH]);
if iden != "rustdesk" {
panic!("bin file is not vaild!");
panic!("bin file is not valid!");
}
base += IDENTIFIER_LENGTH;
loop {

View File

@ -23,7 +23,7 @@ use hbb_common::{
use hbb_common::{
config::{Config2, PeerConfig},
lazy_static,
message_proto::video_codec_state::PerferCodec,
message_proto::video_codec_state::PreferCodec,
};
#[cfg(feature = "hwcodec")]
@ -149,29 +149,29 @@ impl Encoder {
&& states.iter().all(|(_, s)| s.score_h265 > 0);
// Preference first
let mut preference = PerferCodec::Auto;
let mut preference = PreferCodec::Auto;
let preferences: Vec<_> = states
.iter()
.filter(|(_, s)| {
s.perfer == PerferCodec::VPX.into()
|| s.perfer == PerferCodec::H264.into() && enabled_h264
|| s.perfer == PerferCodec::H265.into() && enabled_h265
s.prefer == PreferCodec::VPX.into()
|| s.prefer == PreferCodec::H264.into() && enabled_h264
|| s.prefer == PreferCodec::H265.into() && enabled_h265
})
.map(|(_, s)| s.perfer)
.map(|(_, s)| s.prefer)
.collect();
if preferences.len() > 0 && preferences.iter().all(|&p| p == preferences[0]) {
preference = preferences[0].enum_value_or(PerferCodec::Auto);
preference = preferences[0].enum_value_or(PreferCodec::Auto);
}
match preference {
PerferCodec::VPX => *name.lock().unwrap() = None,
PerferCodec::H264 => {
PreferCodec::VPX => *name.lock().unwrap() = None,
PreferCodec::H264 => {
*name.lock().unwrap() = best.h264.map_or(None, |c| Some(c.name))
}
PerferCodec::H265 => {
PreferCodec::H265 => {
*name.lock().unwrap() = best.h265.map_or(None, |c| Some(c.name))
}
PerferCodec::Auto => {
PreferCodec::Auto => {
// score encoder
let mut score_vpx = SCORE_VPX;
let mut score_h264 = best.h264.as_ref().map_or(0, |c| c.score);
@ -252,7 +252,7 @@ impl Decoder {
score_vpx: SCORE_VPX,
score_h264: best.h264.map_or(0, |c| c.score),
score_h265: best.h265.map_or(0, |c| c.score),
perfer: Self::codec_preference(_id).into(),
prefer: Self::codec_preference(_id).into(),
..Default::default()
};
}
@ -272,7 +272,7 @@ impl Decoder {
score_vpx: SCORE_VPX,
score_h264,
score_h265,
perfer: Self::codec_preference(_id).into(),
prefer: Self::codec_preference(_id).into(),
..Default::default()
};
}
@ -405,19 +405,19 @@ impl Decoder {
}
#[cfg(any(feature = "hwcodec", feature = "mediacodec"))]
fn codec_preference(id: &str) -> PerferCodec {
fn codec_preference(id: &str) -> PreferCodec {
let codec = PeerConfig::load(id)
.options
.get("codec-preference")
.map_or("".to_owned(), |c| c.to_owned());
if codec == "vp9" {
PerferCodec::VPX
PreferCodec::VPX
} else if codec == "h264" {
PerferCodec::H264
PreferCodec::H264
} else if codec == "h265" {
PerferCodec::H265
PreferCodec::H265
} else {
PerferCodec::Auto
PreferCodec::Auto
}
}
}

View File

@ -16,7 +16,7 @@ use hwcodec::{
ffmpeg::{CodecInfo, CodecInfos, DataFormat},
AVPixelFormat,
Quality::{self, *},
RateContorl::{self, *},
RateControl::{self, *},
};
use std::sync::{Arc, Mutex};
@ -31,7 +31,7 @@ const DEFAULT_PIXFMT: AVPixelFormat = AVPixelFormat::AV_PIX_FMT_YUV420P;
pub const DEFAULT_TIME_BASE: [i32; 2] = [1, 30];
const DEFAULT_GOP: i32 = 60;
const DEFAULT_HW_QUALITY: Quality = Quality_Default;
const DEFAULT_RC: RateContorl = RC_DEFAULT;
const DEFAULT_RC: RateControl = RC_DEFAULT;
pub struct HwEncoder {
encoder: Encoder,
@ -293,8 +293,8 @@ pub fn check_config() {
quality: DEFAULT_HW_QUALITY,
rc: DEFAULT_RC,
};
let encoders = CodecInfo::score(Encoder::avaliable_encoders(ctx));
let decoders = CodecInfo::score(Decoder::avaliable_decoders());
let encoders = CodecInfo::score(Encoder::available_encoders(ctx));
let decoders = CodecInfo::score(Decoder::available_decoders());
if let Ok(old_encoders) = get_config(CFG_KEY_ENCODER) {
if let Ok(old_decoders) = get_config(CFG_KEY_DECODER) {

View File

@ -262,7 +262,7 @@ impl Capturer {
_ => {
return Err(io::Error::new(
io::ErrorKind::Other,
"Unknown roration".to_string(),
"Unknown rotation".to_string(),
));
}
};

View File

@ -134,7 +134,7 @@ const char* GetLastMsg();
*
* @param b [in] TRUE to enable printing message.
*
* @remark For now, no need to read evironment variable to check if should print.
* @remark For now, no need to read environment variable to check if should print.
*
*/
VOID SetPrintErrMsg(BOOL b);

View File

@ -45,7 +45,7 @@ def expand():
if line_strip.startswith('("'):
k, v = line_split(line_strip)
if k in dict:
# embrased with " to avoid empty v
# embraced with " to avoid empty v
line = line.replace('"%s"'%v, '"%s"'%dict[k])
else:
line = line.replace(v, "")

View File

@ -825,7 +825,7 @@ impl VideoHandler {
/// Handle a new video frame.
pub fn handle_frame(&mut self, vf: VideoFrame) -> ResultType<bool> {
if vf.timestamp != 0 {
// Update the lantency controller with the latest timestamp.
// Update the latency controller with the latest timestamp.
self.latency_controller
.lock()
.unwrap()
@ -1662,7 +1662,7 @@ pub fn send_mouse(
interface.send(Data::Message(msg_out));
}
/// Avtivate OS by sending mouse movement.
/// Activate OS by sending mouse movement.
///
/// # Arguments
///
@ -1690,7 +1690,7 @@ fn activate_os(interface: &impl Interface) {
/// # Arguments
///
/// * `p` - The password.
/// * `avtivate` - Whether to activate OS.
/// * `activate` - Whether to activate OS.
/// * `interface` - The interface for sending data.
pub fn input_os_password(p: String, activate: bool, interface: impl Interface) {
std::thread::spawn(move || {
@ -1703,7 +1703,7 @@ pub fn input_os_password(p: String, activate: bool, interface: impl Interface) {
/// # Arguments
///
/// * `p` - The password.
/// * `avtivate` - Whether to activate OS.
/// * `activate` - Whether to activate OS.
/// * `interface` - The interface for sending data.
fn _input_os_password(p: String, activate: bool, interface: impl Interface) {
if activate {

View File

@ -15,7 +15,7 @@ const MIN_LATENCY: i64 = 100;
/// Only sync the audio to video, not the other way around.
#[derive(Debug)]
pub struct LatencyController {
last_video_remote_ts: i64, // generated on remote deivce
last_video_remote_ts: i64, // generated on remote device
update_time: Instant,
allow_audio: bool,
}

View File

@ -728,11 +728,11 @@ impl<T: InvokeUiSession> Remote<T> {
self.handler.adapt_size();
self.send_opts_after_login(peer).await;
}
let incomming_format = CodecFormat::from(&vf);
if self.video_format != incomming_format {
self.video_format = incomming_format.clone();
let incoming_format = CodecFormat::from(&vf);
if self.video_format != incoming_format {
self.video_format = incoming_format.clone();
self.handler.update_quality_status(QualityStatus {
codec_format: Some(incomming_format),
codec_format: Some(incoming_format),
..Default::default()
})
};
@ -915,7 +915,7 @@ impl<T: InvokeUiSession> Remote<T> {
}
},
Err(err) => {
println!("error recving digest: {}", err);
println!("error receiving digest: {}", err);
}
}
}

View File

@ -1,9 +1,9 @@
use clipboard::ClipbaordFile;
use clipboard::ClipboardFile;
use hbb_common::message_proto::*;
pub fn clip_2_msg(clip: ClipbaordFile) -> Message {
pub fn clip_2_msg(clip: ClipboardFile) -> Message {
match clip {
ClipbaordFile::MonitorReady => Message {
ClipboardFile::MonitorReady => Message {
union: Some(message::Union::Cliprdr(Cliprdr {
union: Some(cliprdr::Union::Ready(CliprdrMonitorReady {
..Default::default()
@ -12,7 +12,7 @@ pub fn clip_2_msg(clip: ClipbaordFile) -> Message {
})),
..Default::default()
},
ClipbaordFile::FormatList { format_list } => {
ClipboardFile::FormatList { format_list } => {
let mut formats: Vec<CliprdrFormat> = Vec::new();
for v in format_list.iter() {
formats.push(CliprdrFormat {
@ -32,7 +32,7 @@ pub fn clip_2_msg(clip: ClipbaordFile) -> Message {
..Default::default()
}
}
ClipbaordFile::FormatListResponse { msg_flags } => Message {
ClipboardFile::FormatListResponse { msg_flags } => Message {
union: Some(message::Union::Cliprdr(Cliprdr {
union: Some(cliprdr::Union::FormatListResponse(
CliprdrServerFormatListResponse {
@ -44,7 +44,7 @@ pub fn clip_2_msg(clip: ClipbaordFile) -> Message {
})),
..Default::default()
},
ClipbaordFile::FormatDataRequest {
ClipboardFile::FormatDataRequest {
requested_format_id,
} => Message {
union: Some(message::Union::Cliprdr(Cliprdr {
@ -58,7 +58,7 @@ pub fn clip_2_msg(clip: ClipbaordFile) -> Message {
})),
..Default::default()
},
ClipbaordFile::FormatDataResponse {
ClipboardFile::FormatDataResponse {
msg_flags,
format_data,
} => Message {
@ -74,7 +74,7 @@ pub fn clip_2_msg(clip: ClipbaordFile) -> Message {
})),
..Default::default()
},
ClipbaordFile::FileContentsRequest {
ClipboardFile::FileContentsRequest {
stream_id,
list_index,
dw_flags,
@ -102,7 +102,7 @@ pub fn clip_2_msg(clip: ClipbaordFile) -> Message {
})),
..Default::default()
},
ClipbaordFile::FileContentsResponse {
ClipboardFile::FileContentsResponse {
msg_flags,
stream_id,
requested_data,
@ -123,28 +123,28 @@ pub fn clip_2_msg(clip: ClipbaordFile) -> Message {
}
}
pub fn msg_2_clip(msg: Cliprdr) -> Option<ClipbaordFile> {
pub fn msg_2_clip(msg: Cliprdr) -> Option<ClipboardFile> {
match msg.union {
Some(cliprdr::Union::Ready(_)) => Some(ClipbaordFile::MonitorReady),
Some(cliprdr::Union::Ready(_)) => Some(ClipboardFile::MonitorReady),
Some(cliprdr::Union::FormatList(data)) => {
let mut format_list: Vec<(i32, String)> = Vec::new();
for v in data.formats.iter() {
format_list.push((v.id, v.format.clone()));
}
Some(ClipbaordFile::FormatList { format_list })
Some(ClipboardFile::FormatList { format_list })
}
Some(cliprdr::Union::FormatListResponse(data)) => Some(ClipbaordFile::FormatListResponse {
Some(cliprdr::Union::FormatListResponse(data)) => Some(ClipboardFile::FormatListResponse {
msg_flags: data.msg_flags,
}),
Some(cliprdr::Union::FormatDataRequest(data)) => Some(ClipbaordFile::FormatDataRequest {
Some(cliprdr::Union::FormatDataRequest(data)) => Some(ClipboardFile::FormatDataRequest {
requested_format_id: data.requested_format_id,
}),
Some(cliprdr::Union::FormatDataResponse(data)) => Some(ClipbaordFile::FormatDataResponse {
Some(cliprdr::Union::FormatDataResponse(data)) => Some(ClipboardFile::FormatDataResponse {
msg_flags: data.msg_flags,
format_data: data.format_data.into(),
}),
Some(cliprdr::Union::FileContentsRequest(data)) => {
Some(ClipbaordFile::FileContentsRequest {
Some(ClipboardFile::FileContentsRequest {
stream_id: data.stream_id,
list_index: data.list_index,
dw_flags: data.dw_flags,
@ -156,7 +156,7 @@ pub fn msg_2_clip(msg: Cliprdr) -> Option<ClipbaordFile> {
})
}
Some(cliprdr::Union::FileContentsResponse(data)) => {
Some(ClipbaordFile::FileContentsResponse {
Some(ClipboardFile::FileContentsResponse {
msg_flags: data.msg_flags,
stream_id: data.stream_id,
requested_data: data.requested_data.into(),

View File

@ -9,7 +9,7 @@ use parity_tokio_ipc::{
use serde_derive::{Deserialize, Serialize};
#[cfg(not(any(target_os = "android", target_os = "ios")))]
pub use clipboard::ClipbaordFile;
pub use clipboard::ClipboardFile;
use hbb_common::{
allow_err, bail, bytes,
bytes_codec::BytesCodec,
@ -191,7 +191,7 @@ pub enum Data {
Test,
SyncConfig(Option<(Config, Config2)>),
#[cfg(not(any(target_os = "android", target_os = "ios")))]
ClipbaordFile(ClipbaordFile),
ClipboardFile(ClipboardFile),
ClipboardFileEnabled(bool),
PrivacyModeState((i32, PrivacyModeState)),
TestRendezvousServer,

View File

@ -13,7 +13,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> =
("setup_server_tip", "For faster connection, please set up your own server"),
("Auto Login", "Auto Login (Only valid if you set \"Lock after session end\")"),
("whitelist_tip", "Only whitelisted IP can access me"),
("whitelist_sep", "Seperated by comma, semicolon, spaces or new line"),
("whitelist_sep", "Separated by comma, semicolon, spaces or new line"),
("Wrong credentials", "Wrong username or password"),
("invalid_http", "must start with http:// or https://"),
("install_daemon_tip", "For starting on boot, you need to install system service."),

View File

@ -707,9 +707,9 @@ pub fn get_double_click_time() -> u32 {
unsafe {
let mut double_click_time = 0u32;
let property = std::ffi::CString::new("gtk-double-click-time").unwrap();
let setings = gtk_settings_get_default();
let settings = gtk_settings_get_default();
g_object_get(
setings,
settings,
property.as_ptr(),
&mut double_click_time as *mut u32,
0 as *const libc::c_void,

View File

@ -331,7 +331,7 @@ pub fn get_cursor_data(hcursor: u64) -> ResultType<CursorData> {
*/
let mut colors: Vec<u8> = Vec::new();
colors.reserve((size.height * size.width) as usize * 4);
// TIFF is rgb colrspace, no need to convert
// TIFF is rgb colorspace, no need to convert
// let cs: id = msg_send![class!(NSColorSpace), sRGBColorSpace];
for y in 0..(size.height as _) {
for x in 0..(size.width as _) {
@ -440,7 +440,7 @@ pub fn start_os_service() {
.status()
.ok();
println!("The others killed");
// launchctl load/unload/start agent not work in daemon, show not priviledged.
// launchctl load/unload/start agent not work in daemon, show not privileged.
// sudo launchctl asuser 501 open -n also not allowed.
std::process::Command::new("launchctl")
.args(&[

View File

@ -469,10 +469,10 @@ impl RendezvousMediator {
Ok(())
}
fn get_relay_server(&self, provided_by_rendzvous_server: String) -> String {
fn get_relay_server(&self, provided_by_rendezvous_server: String) -> String {
let mut relay_server = Config::get_option("relay-server");
if relay_server.is_empty() {
relay_server = provided_by_rendzvous_server;
relay_server = provided_by_rendezvous_server;
}
if relay_server.is_empty() {
relay_server = crate::increase_port(&self.host, 1);

View File

@ -148,7 +148,7 @@ impl Connection {
..Default::default()
};
let (tx_from_cm_holder, mut rx_from_cm) = mpsc::unbounded_channel::<ipc::Data>();
// holding tx_from_cm_holde to avoid cpu burning of rx_from_cm.recv when all sender closed
// holding tx_from_cm_holder to avoid cpu burning of rx_from_cm.recv when all sender closed
let tx_from_cm = tx_from_cm_holder.clone();
let (tx_to_cm, rx_to_cm) = mpsc::unbounded_channel::<ipc::Data>();
let (tx, mut rx) = mpsc::unbounded_channel::<(Instant, Arc<Message>)>();
@ -319,7 +319,7 @@ impl Connection {
allow_err!(conn.stream.send_raw(bytes).await);
}
#[cfg(windows)]
ipc::Data::ClipbaordFile(_clip) => {
ipc::Data::ClipboardFile(_clip) => {
if conn.file_transfer_enabled() {
allow_err!(conn.stream.send(&clip_2_msg(_clip)).await);
}
@ -593,7 +593,7 @@ impl Connection {
Some(data) = rx_from_cm.recv() => {
match data {
ipc::Data::Close => {
bail!("Close requested from selfection manager");
bail!("Close requested from selection manager");
}
_ => {}
}
@ -663,7 +663,7 @@ impl Connection {
self.send_login_error("Your ip is blocked by the peer")
.await;
Self::post_alarm_audit(
AlarmAuditType::IpWhiltelist, //"ip whiltelist",
AlarmAuditType::IpWhitelist, //"ip whitelist",
true,
json!({
"ip":addr.ip(),
@ -1309,7 +1309,7 @@ impl Connection {
if self.file_transfer_enabled() {
#[cfg(windows)]
if let Some(clip) = msg_2_clip(_clip) {
self.send_to_cm(ipc::Data::ClipbaordFile(clip))
self.send_to_cm(ipc::Data::ClipboardFile(clip))
}
}
}
@ -1857,8 +1857,8 @@ mod privacy_mode {
pub(super) fn turn_on_privacy(_conn_id: i32) -> ResultType<bool> {
#[cfg(windows)]
{
let plugin_exitst = crate::ui::win_privacy::turn_on_privacy(_conn_id)?;
Ok(plugin_exitst)
let plugin_exist = crate::ui::win_privacy::turn_on_privacy(_conn_id)?;
Ok(plugin_exist)
}
#[cfg(not(windows))]
{
@ -1875,7 +1875,7 @@ struct ConnAuditResponse {
}
pub enum AlarmAuditType {
IpWhiltelist = 0,
IpWhitelist = 0,
ManyWrongPassword = 1,
FrequentAttempt = 2,
}

View File

@ -487,7 +487,7 @@ fn active_mouse_(conn: i32) -> bool {
return false;
}
let in_actived_dist = |a: i32, b: i32| -> bool { (a - b).abs() < MOUSE_ACTIVE_DISTANCE };
let in_active_dist = |a: i32, b: i32| -> bool { (a - b).abs() < MOUSE_ACTIVE_DISTANCE };
// Check if input is in valid range
match crate::get_cursor_pos() {
@ -496,7 +496,7 @@ fn active_mouse_(conn: i32) -> bool {
let lock = LATEST_PEER_INPUT_CURSOR.lock().unwrap();
(lock.x, lock.y)
};
let mut can_active = in_actived_dist(last_in_x, x) && in_actived_dist(last_in_y, y);
let mut can_active = in_active_dist(last_in_x, x) && in_active_dist(last_in_y, y);
// The cursor may not have been moved to last input position if system is busy now.
// While this is not a common case, we check it again after some time later.
if !can_active {
@ -505,7 +505,7 @@ fn active_mouse_(conn: i32) -> bool {
std::thread::sleep(std::time::Duration::from_micros(10));
// Sleep here can also somehow suppress delay accumulation.
if let Some((x2, y2)) = crate::get_cursor_pos() {
can_active = in_actived_dist(last_in_x, x2) && in_actived_dist(last_in_y, y2);
can_active = in_active_dist(last_in_x, x2) && in_active_dist(last_in_y, y2);
}
}
if !can_active {

View File

@ -203,7 +203,7 @@ mod utils {
}
}
// functions called in seperate SYSTEM user process.
// functions called in separate SYSTEM user process.
pub mod server {
use super::*;
@ -407,7 +407,7 @@ pub mod server {
}
ConnCount(Some(n)) => {
if n == 0 {
log::info!("Connnection count equals 0, exit");
log::info!("Connection count equals 0, exit");
stream.send(&Data::DataPortableService(WillClose)).await.ok();
break;
}
@ -756,7 +756,7 @@ pub mod client {
log::info!("portable service status mismatch");
}
if portable_service_running {
log::info!("Create shared memeory capturer");
log::info!("Create shared memory capturer");
return Ok(Box::new(CapturerPortable::new(current_display, use_yuv)));
} else {
log::debug!("Create capturer dxgi|gdi");

View File

@ -309,9 +309,9 @@ pub fn test_create_capturer(privacy_mode_id: i32, timeout_millis: u64) -> bool {
}
#[cfg(windows)]
fn check_uac_switch(privacy_mode_id: i32, captuerer_privacy_mode_id: i32) -> ResultType<()> {
if captuerer_privacy_mode_id != 0 {
if privacy_mode_id != captuerer_privacy_mode_id {
fn check_uac_switch(privacy_mode_id: i32, capturer_privacy_mode_id: i32) -> ResultType<()> {
if capturer_privacy_mode_id != 0 {
if privacy_mode_id != capturer_privacy_mode_id {
if !crate::ui::win_privacy::is_process_consent_running()? {
bail!("consent.exe is running");
}
@ -330,7 +330,7 @@ pub(super) struct CapturerInfo {
pub ndisplay: usize,
pub current: usize,
pub privacy_mode_id: i32,
pub _captuerer_privacy_mode_id: i32,
pub _capturer_privacy_mode_id: i32,
pub capturer: Box<dyn TraitCapturer>,
}
@ -371,29 +371,29 @@ fn get_capturer(use_yuv: bool, portable_service_running: bool) -> ResultType<Cap
let privacy_mode_id = *PRIVACY_MODE_CONN_ID.lock().unwrap();
#[cfg(not(windows))]
let captuerer_privacy_mode_id = privacy_mode_id;
let capturer_privacy_mode_id = privacy_mode_id;
#[cfg(windows)]
let mut captuerer_privacy_mode_id = privacy_mode_id;
let mut capturer_privacy_mode_id = privacy_mode_id;
#[cfg(windows)]
if captuerer_privacy_mode_id != 0 {
if capturer_privacy_mode_id != 0 {
if crate::ui::win_privacy::is_process_consent_running()? {
captuerer_privacy_mode_id = 0;
capturer_privacy_mode_id = 0;
}
}
log::debug!(
"Try create capturer with captuerer privacy mode id {}",
captuerer_privacy_mode_id,
"Try create capturer with capturer privacy mode id {}",
capturer_privacy_mode_id,
);
if privacy_mode_id != 0 {
if privacy_mode_id != captuerer_privacy_mode_id {
if privacy_mode_id != capturer_privacy_mode_id {
log::info!("In privacy mode, but show UAC prompt window for now");
} else {
log::info!("In privacy mode, the peer side cannot watch the screen");
}
}
let capturer = create_capturer(
captuerer_privacy_mode_id,
capturer_privacy_mode_id,
display,
use_yuv,
current,
@ -406,7 +406,7 @@ fn get_capturer(use_yuv: bool, portable_service_running: bool) -> ResultType<Cap
ndisplay,
current,
privacy_mode_id,
_captuerer_privacy_mode_id: captuerer_privacy_mode_id,
_capturer_privacy_mode_id: capturer_privacy_mode_id,
capturer,
})
}
@ -493,7 +493,7 @@ fn run(sp: GenericService) -> ResultType<()> {
while sp.ok() {
#[cfg(windows)]
check_uac_switch(c.privacy_mode_id, c._captuerer_privacy_mode_id)?;
check_uac_switch(c.privacy_mode_id, c._capturer_privacy_mode_id)?;
let mut video_qos = VIDEO_QOS.lock().unwrap();
if video_qos.check_if_updated() {
@ -602,7 +602,7 @@ fn run(sp: GenericService) -> ResultType<()> {
if !scrap::is_x11() {
if would_block_count >= 100 {
super::wayland::release_resource();
bail!("Wayland capturer none 100 times, try restart captuere");
bail!("Wayland capturer none 100 times, try restart capture");
}
}
}
@ -637,7 +637,7 @@ fn run(sp: GenericService) -> ResultType<()> {
while wait_begin.elapsed().as_millis() < timeout_millis as _ {
check_privacy_mode_changed(&sp, c.privacy_mode_id)?;
#[cfg(windows)]
check_uac_switch(c.privacy_mode_id, c._captuerer_privacy_mode_id)?;
check_uac_switch(c.privacy_mode_id, c._capturer_privacy_mode_id)?;
frame_controller.try_wait_next(&mut fetched_conn_ids, 300);
// break if all connections have received current frame
if fetched_conn_ids.len() >= frame_controller.send_conn_ids.len() {

View File

@ -276,7 +276,7 @@ pub(super) fn get_capturer() -> ResultType<super::video_service::CapturerInfo> {
ndisplay: cap_display_info.num,
current: cap_display_info.current,
privacy_mode_id: 0,
_captuerer_privacy_mode_id: 0,
_capturer_privacy_mode_id: 0,
capturer: Box::new(cap_display_info.capturer.clone()),
})
}

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 already set in css, but not work, shit sciter
// below size:* is a workaround for Linux, it already set in css, but not work, shit sciter
return <div .content style="size:*">
<div .left-panel>
<div .icon-and-id>
@ -42,7 +42,7 @@ class Body: Reactor.Component
<div .id style="font-weight: bold; font-size: 1.2em;">{c.name}</div>
<div .id>({c.peer_id})</div>
<div style="margin-top: 1.2em">{auth
? <span>{disconnected ? translate('Disconnected') : translate('Connected')}{" "}<span #time>{getElaspsed(c.time, c.now)}</span></span>
? <span>{disconnected ? translate('Disconnected') : translate('Connected')}{" "}<span #time>{getElapsed(c.time, c.now)}</span></span>
: <span>{translate('Request access to your device')}{"..."}</span>}
</div>
</div>
@ -442,7 +442,7 @@ function self.ready() {
view.move(sw - w, 0, w, h);
}
function getElaspsed(time, now) {
function getElapsed(time, now) {
var seconds = Date.diff(time, now, #seconds);
var hours = seconds / 3600;
var days = hours / 24;
@ -482,7 +482,7 @@ function updateTime() {
if (el) {
var c = connections[body.cur];
if (c && c.authorized && !c.disconnected) {
el.text = getElaspsed(c.time, c.now);
el.text = getElapsed(c.time, c.now);
}
}
updateTime();

View File

@ -13,7 +13,7 @@ class Install: Reactor.Component {
</div>
<div><button|checkbox #startmenu checked>{translate('Create start menu shortcuts')}</button></div>
<div><button|checkbox #desktopicon checked>{translate('Create desktop icon')}</button></div>
<div #aggrement .link style="margin-top: 2em;">{translate('End-user license agreement')}</div>
<div #agreement .link style="margin-top: 2em;">{translate('End-user license agreement')}</div>
<div>{translate('agreement_tip')}</div>
<div style="height: 1px; background: gray; margin-top: 1em" />
<div style="text-align: right;">
@ -46,7 +46,7 @@ class Install: Reactor.Component {
}
}
event click $(#aggrement) {
event click $(#agreement) {
view.open_url("http://rustdesk.com/privacy");
}

View File

@ -42,7 +42,7 @@ impl DelegateState {
}
}
static mut LAUCHED: bool = false;
static mut LAUNCHED: bool = false;
impl AppHandler for Rc<Host> {
fn command(&mut self, cmd: u32) {
@ -109,7 +109,7 @@ unsafe fn set_delegate(handler: Option<Box<dyn AppHandler>>) {
extern "C" fn application_did_finish_launching(_this: &mut Object, _: Sel, _notification: id) {
unsafe {
LAUCHED = true;
LAUNCHED = true;
}
unsafe {
let () = msg_send![NSApp(), activateIgnoringOtherApps: YES];
@ -122,7 +122,7 @@ extern "C" fn application_should_handle_open_untitled_file(
_sender: id,
) -> BOOL {
unsafe {
if !LAUCHED {
if !LAUNCHED {
return YES;
}
hbb_common::log::debug!("icon clicked on finder");

View File

@ -120,7 +120,7 @@ function resetWheel() {
var INERTIA_ACCELERATION = 30;
// not good, precision not enough to simulate accelation effect,
// not good, precision not enough to simulate acceleration effect,
// seems have to use pixel based rather line based delta
function accWheel(v, is_x) {
if (wheeling) return;

View File

@ -253,7 +253,7 @@ impl<T: InvokeUiCM> IpcTaskRunner<T> {
if !pre_enabled && ContextSend::is_enabled() {
allow_err!(
self.stream
.send(&Data::ClipbaordFile(clipboard::ClipbaordFile::MonitorReady))
.send(&Data::ClipboardFile(clipboard::ClipboardFile::MonitorReady))
.await
);
}
@ -288,7 +288,7 @@ impl<T: InvokeUiCM> IpcTaskRunner<T> {
rx_clip = rx_clip1.lock().await;
} else {
let rx_clip2;
(_tx_clip, rx_clip2) = unbounded_channel::<clipboard::ClipbaordFile>();
(_tx_clip, rx_clip2) = unbounded_channel::<clipboard::ClipboardFile>();
rx_clip1 = Arc::new(TokioMutex::new(rx_clip2));
rx_clip = rx_clip1.lock().await;
}
@ -354,7 +354,7 @@ impl<T: InvokeUiCM> IpcTaskRunner<T> {
}
}
#[cfg(windows)]
Data::ClipbaordFile(_clip) => {
Data::ClipboardFile(_clip) => {
#[cfg(windows)]
{
let conn_id = self.conn_id;
@ -394,7 +394,7 @@ impl<T: InvokeUiCM> IpcTaskRunner<T> {
clip_file = rx_clip.recv() => match clip_file {
Some(_clip) => {
#[cfg(windows)]
allow_err!(self.tx.send(Data::ClipbaordFile(_clip)));
allow_err!(self.tx.send(Data::ClipboardFile(_clip)));
}
None => {
//

View File

@ -936,7 +936,7 @@ pub fn account_auth_result() -> String {
serde_json::to_string(&account::OidcSession::get_result()).unwrap_or_default()
}
// notice: avoiding create ipc connecton repeatly,
// notice: avoiding create ipc connection repeatedly,
// because windows named pipe has serious memory leak issue.
#[tokio::main(flavor = "current_thread")]
async fn check_connect_status_(reconnect: bool, rx: mpsc::UnboundedReceiver<ipc::Data>) {