Skip to content

Commit

Permalink
Add option for disabling screensaver
Browse files Browse the repository at this point in the history
PR #1502 <#1502>

Signed-off-by: Romain Vimont <[email protected]>
  • Loading branch information
axxie authored and rom1v committed Jun 18, 2020
1 parent 3c0fc8f commit 1b24b7c
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 4 deletions.
4 changes: 4 additions & 0 deletions app/scrcpy.1
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ The values are expressed in the device natural orientation (typically, portrait
.B \-\-max\-size
value is computed on the cropped size.

.TP
.BI "\-\-disable-screen-saver"
Disable screen saver while scrcpy is running. Convenient if the \fI--no-control\fR option is used.

.TP
.BI "\-\-display " id
Specify the display id to mirror.
Expand Down
9 changes: 9 additions & 0 deletions app/src/cli.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,10 @@ scrcpy_print_usage(const char *arg0) {
" (typically, portrait for a phone, landscape for a tablet).\n"
" Any --max-size value is computed on the cropped size.\n"
"\n"
" --disable-screen-saver\n"
" Disable screen saver while scrcpy is running. Convenient if\n"
" the --no-control option is used\n"
"\n"
" --display id\n"
" Specify the display id to mirror.\n"
"\n"
Expand Down Expand Up @@ -526,6 +530,7 @@ guess_record_format(const char *filename) {
#define OPT_NO_MIPMAPS 1017
#define OPT_CODEC_OPTIONS 1018
#define OPT_FORCE_ADB_FORWARD 1019
#define OPT_DISABLE_SCREEN_SAVER 1020

bool
scrcpy_parse_args(struct scrcpy_cli_args *args, int argc, char *argv[]) {
Expand All @@ -534,6 +539,7 @@ scrcpy_parse_args(struct scrcpy_cli_args *args, int argc, char *argv[]) {
{"bit-rate", required_argument, NULL, 'b'},
{"codec-options", required_argument, NULL, OPT_CODEC_OPTIONS},
{"crop", required_argument, NULL, OPT_CROP},
{"disable-screen-saver", no_argument, NULL, OPT_DISABLE_SCREEN_SAVER},
{"display", required_argument, NULL, OPT_DISPLAY_ID},
{"force-adb-forward", no_argument, NULL,
OPT_FORCE_ADB_FORWARD},
Expand Down Expand Up @@ -716,6 +722,9 @@ scrcpy_parse_args(struct scrcpy_cli_args *args, int argc, char *argv[]) {
case OPT_FORCE_ADB_FORWARD:
opts->force_adb_forward = true;
break;
case OPT_DISABLE_SCREEN_SAVER:
opts->disable_screen_saver = true;
break;
default:
// getopt prints the error message on stderr
return false;
Expand Down
14 changes: 10 additions & 4 deletions app/src/scrcpy.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ BOOL WINAPI windows_ctrl_handler(DWORD ctrl_type) {

// init SDL and set appropriate hints
static bool
sdl_init_and_configure(bool display, const char *render_driver) {
sdl_init_and_configure(bool display, const char *render_driver, bool disable_screen_saver) {
uint32_t flags = display ? SDL_INIT_VIDEO : SDL_INIT_EVENTS;
if (SDL_Init(flags)) {
LOGC("Could not initialize SDL: %s", SDL_GetError());
Expand Down Expand Up @@ -112,8 +112,14 @@ sdl_init_and_configure(bool display, const char *render_driver) {
LOGW("Could not disable minimize on focus loss");
}

// Do not disable the screensaver when scrcpy is running
SDL_EnableScreenSaver();
if (disable_screen_saver)
{
SDL_DisableScreenSaver();
}
else
{
SDL_EnableScreenSaver();
}

return true;
}
Expand Down Expand Up @@ -321,7 +327,7 @@ scrcpy(const struct scrcpy_options *options) {
bool controller_initialized = false;
bool controller_started = false;

if (!sdl_init_and_configure(options->display, options->render_driver)) {
if (!sdl_init_and_configure(options->display, options->render_driver, options->disable_screen_saver)) {
goto end;
}

Expand Down
2 changes: 2 additions & 0 deletions app/src/scrcpy.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ struct scrcpy_options {
bool mipmaps;
bool stay_awake;
bool force_adb_forward;
bool disable_screen_saver;
};

#define SCRCPY_OPTIONS_DEFAULT { \
Expand Down Expand Up @@ -81,6 +82,7 @@ struct scrcpy_options {
.mipmaps = true, \
.stay_awake = false, \
.force_adb_forward = false, \
.disable_screen_saver = false, \
}

bool
Expand Down

0 comments on commit 1b24b7c

Please sign in to comment.