From 1d8dd9bb9e49d6260f65cefeb4b0802d10fe4730 Mon Sep 17 00:00:00 2001 From: alphanu1 <37101891+alphanu1@users.noreply.github.com> Date: Fri, 1 Feb 2019 20:20:25 +0000 Subject: [PATCH 1/6] Fix restore resolution for single output autodetect --- gfx/display_servers/dispserv_x11.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gfx/display_servers/dispserv_x11.c b/gfx/display_servers/dispserv_x11.c index 32c27b36bf..fb70ca22b6 100644 --- a/gfx/display_servers/dispserv_x11.c +++ b/gfx/display_servers/dispserv_x11.c @@ -268,6 +268,8 @@ static bool x11_display_server_set_resolution(void *data, { for (int i = 0; i < res->noutput; i++) { + if (res->noutput < 2) + snprintf(orig_output, sizeof(orig_output),"%s", outputs->name); XRROutputInfo *outputs = XRRGetOutputInfo (dsp, res, res->outputs[i]); From 23800382bf765329e5c7b76c2fdb411e61fe90d0 Mon Sep 17 00:00:00 2001 From: alphanu1 <37101891+alphanu1@users.noreply.github.com> Date: Fri, 1 Feb 2019 20:21:53 +0000 Subject: [PATCH 2/6] Update dispserv_x11.c --- gfx/display_servers/dispserv_x11.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gfx/display_servers/dispserv_x11.c b/gfx/display_servers/dispserv_x11.c index fb70ca22b6..93b2aa188e 100644 --- a/gfx/display_servers/dispserv_x11.c +++ b/gfx/display_servers/dispserv_x11.c @@ -266,12 +266,12 @@ static bool x11_display_server_set_resolution(void *data, if (monitor_index == 0) { + if (res->noutput < 2) + snprintf(orig_output, sizeof(orig_output),"%s", outputs->name); + for (int i = 0; i < res->noutput; i++) { - if (res->noutput < 2) - snprintf(orig_output, sizeof(orig_output),"%s", outputs->name); - - + XRROutputInfo *outputs = XRRGetOutputInfo (dsp, res, res->outputs[i]); if (outputs->connection == RR_Connected) From 5f7de5808068bb283a90e4ee9d09c0435aabfe91 Mon Sep 17 00:00:00 2001 From: alphanu1 <37101891+alphanu1@users.noreply.github.com> Date: Fri, 1 Feb 2019 20:30:44 +0000 Subject: [PATCH 3/6] Fix restore resolution for auto detect with single output --- gfx/display_servers/dispserv_x11.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gfx/display_servers/dispserv_x11.c b/gfx/display_servers/dispserv_x11.c index 20ebd80d2f..a0f0ff2b2a 100644 --- a/gfx/display_servers/dispserv_x11.c +++ b/gfx/display_servers/dispserv_x11.c @@ -274,6 +274,8 @@ static bool x11_display_server_set_resolution(void *data, { XRROutputInfo *outputs = XRRGetOutputInfo (dsp, res, res->outputs[i]); + if (res->noutput < 2) + snprintf(orig_output, sizeof(orig_output),"%s", outputs->name); if (outputs->connection == RR_Connected) { From 8ff70ecbbbd5cc29bd54cf4230fa19c537e5e1f5 Mon Sep 17 00:00:00 2001 From: alphanu1 <37101891+alphanu1@users.noreply.github.com> Date: Fri, 1 Feb 2019 20:34:48 +0000 Subject: [PATCH 4/6] Update dispserv_x11.c --- gfx/display_servers/dispserv_x11.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gfx/display_servers/dispserv_x11.c b/gfx/display_servers/dispserv_x11.c index a0f0ff2b2a..853e6c6da4 100644 --- a/gfx/display_servers/dispserv_x11.c +++ b/gfx/display_servers/dispserv_x11.c @@ -267,8 +267,6 @@ static bool x11_display_server_set_resolution(void *data, if (monitor_index == 0) { - if (res->noutput < 2) - snprintf(orig_output, sizeof(orig_output),"%s", outputs->name); for (int i = 0; i < res->noutput; i++) { From 36fd99910a071fa7814c778214194188da90bb3e Mon Sep 17 00:00:00 2001 From: alphanu1 <37101891+alphanu1@users.noreply.github.com> Date: Fri, 1 Feb 2019 20:38:50 +0000 Subject: [PATCH 5/6] Update dispserv_x11.c --- gfx/display_servers/dispserv_x11.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gfx/display_servers/dispserv_x11.c b/gfx/display_servers/dispserv_x11.c index 853e6c6da4..5d56fbb008 100644 --- a/gfx/display_servers/dispserv_x11.c +++ b/gfx/display_servers/dispserv_x11.c @@ -272,11 +272,11 @@ static bool x11_display_server_set_resolution(void *data, { XRROutputInfo *outputs = XRRGetOutputInfo (dsp, res, res->outputs[i]); - if (res->noutput < 2) - snprintf(orig_output, sizeof(orig_output),"%s", outputs->name); + if (outputs->connection == RR_Connected) { + snprintf(orig_output, sizeof(orig_output),"%s", outputs->name); snprintf(output4, sizeof(output4),"xrandr --addmode %s %s",outputs->name ,new_mode); system(output4); From f9bb1417b19b0dbc17dec63cfb81b37df51d5194 Mon Sep 17 00:00:00 2001 From: alphanu1 <37101891+alphanu1@users.noreply.github.com> Date: Fri, 1 Feb 2019 20:41:01 +0000 Subject: [PATCH 6/6] compile warning fix --- gfx/display_servers/dispserv_x11.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gfx/display_servers/dispserv_x11.c b/gfx/display_servers/dispserv_x11.c index 5d56fbb008..c6ce13c8dd 100644 --- a/gfx/display_servers/dispserv_x11.c +++ b/gfx/display_servers/dispserv_x11.c @@ -83,7 +83,7 @@ static void x11_display_server_destroy(void *data) system(output); snprintf(output, sizeof(output), - "xrandr --delmode %s %s",orig_output, old_mode); + "xrandr --delmode %s %.s",orig_output, old_mode); system(output);