From 6ab759c09c8b39f22723c47865773a9c81f710ae Mon Sep 17 00:00:00 2001 From: draxaris1010 Date: Sun, 15 Feb 2026 14:42:13 +0100 Subject: [PATCH] added client dnd options --- app/data/bash-completion/scrcpy | 1 + app/data/zsh-completion/_scrcpy | 1 + app/src/cli.c | 9 +++++++++ app/src/options.c | 1 + app/src/options.h | 1 + app/src/scrcpy.c | 1 + app/src/server.c | 3 +++ app/src/server.h | 1 + 8 files changed, 18 insertions(+) diff --git a/app/data/bash-completion/scrcpy b/app/data/bash-completion/scrcpy index a49da8ca..f4ef07ca 100644 --- a/app/data/bash-completion/scrcpy +++ b/app/data/bash-completion/scrcpy @@ -25,6 +25,7 @@ _scrcpy() { --display-id= --display-ime-policy= --display-orientation= + --do-not-disturb -e --select-tcpip -f --fullscreen --force-adb-forward diff --git a/app/data/zsh-completion/_scrcpy b/app/data/zsh-completion/_scrcpy index 04ffb8f1..c46b20b9 100644 --- a/app/data/zsh-completion/_scrcpy +++ b/app/data/zsh-completion/_scrcpy @@ -32,6 +32,7 @@ arguments=( '--display-id=[Specify the display id to mirror]' '--display-ime-policy[Set the policy for selecting where the IME should be displayed]' '--display-orientation=[Set the initial display orientation]:orientation values:(0 90 180 270 flip0 flip90 flip180 flip270)' + '--do-not-disturb[Enable Do Not Disturb]' {-e,--select-tcpip}'[Use TCP/IP device]' {-f,--fullscreen}'[Start in fullscreen]' '--force-adb-forward[Do not attempt to use \"adb reverse\" to connect to the device]' diff --git a/app/src/cli.c b/app/src/cli.c index b2e3e30a..d6944067 100644 --- a/app/src/cli.c +++ b/app/src/cli.c @@ -114,6 +114,7 @@ enum { OPT_NO_VD_SYSTEM_DECORATIONS, OPT_NO_VD_DESTROY_CONTENT, OPT_DISPLAY_IME_POLICY, + OPT_DO_NOT_DISTURB, }; struct sc_option { @@ -409,6 +410,11 @@ static const struct sc_option options[] = { "before the rotation.\n" "Default is 0.", }, + { + .longopt_id = OPT_DO_NOT_DISTURB, + .longopt = "do-not-disturb", + .text = "Enable Do Not Disturb", + }, { .shortopt = 'e', .longopt = "select-tcpip", @@ -2821,6 +2827,9 @@ parse_args_with_getopt(struct scrcpy_cli_args *args, int argc, char *argv[], return false; } break; + case OPT_DO_NOT_DISTURB: + opts->do_not_disturb = true; + break; default: // getopt prints the error message on stderr return false; diff --git a/app/src/options.c b/app/src/options.c index 0fe82d29..11553a64 100644 --- a/app/src/options.c +++ b/app/src/options.c @@ -113,6 +113,7 @@ const struct scrcpy_options scrcpy_options_default = { .angle = NULL, .vd_destroy_content = true, .vd_system_decorations = true, + .do_not_disturb = false, }; enum sc_orientation diff --git a/app/src/options.h b/app/src/options.h index 03b42913..90624e40 100644 --- a/app/src/options.h +++ b/app/src/options.h @@ -314,6 +314,7 @@ struct scrcpy_options { bool require_audio; bool kill_adb_on_close; bool camera_high_speed; + bool do_not_disturb; #define SC_OPTION_LIST_ENCODERS 0x1 #define SC_OPTION_LIST_DISPLAYS 0x2 #define SC_OPTION_LIST_CAMERAS 0x4 diff --git a/app/src/scrcpy.c b/app/src/scrcpy.c index aedfdf9c..d2c5f535 100644 --- a/app/src/scrcpy.c +++ b/app/src/scrcpy.c @@ -453,6 +453,7 @@ scrcpy(struct scrcpy_options *options) { .audio_dup = options->audio_dup, .show_touches = options->show_touches, .stay_awake = options->stay_awake, + .do_not_disturb = options->do_not_disturb, .video_codec_options = options->video_codec_options, .audio_codec_options = options->audio_codec_options, .video_encoder = options->video_encoder, diff --git a/app/src/server.c b/app/src/server.c index 153219c3..cf1e45ba 100644 --- a/app/src/server.c +++ b/app/src/server.c @@ -360,6 +360,9 @@ execute_server(struct sc_server *server, if (params->show_touches) { ADD_PARAM("show_touches=true"); } + if (params->do_not_disturb) { + ADD_PARAM("do_not_disturb=true"); + } if (params->stay_awake) { ADD_PARAM("stay_awake=true"); } diff --git a/app/src/server.h b/app/src/server.h index 5f4592de..ea422457 100644 --- a/app/src/server.h +++ b/app/src/server.h @@ -56,6 +56,7 @@ struct sc_server_params { bool audio_dup; bool show_touches; bool stay_awake; + bool do_not_disturb; bool force_adb_forward; bool power_off_on_close; bool clipboard_autosync;