Skip to content

Commit cea3730

Browse files
committed
Added configurable target display mode
1 parent f833f05 commit cea3730

File tree

2 files changed

+87
-12
lines changed

2 files changed

+87
-12
lines changed

MainUI.Designer.cs

+57-9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

MainUI.cs

+30-3
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ public struct DispSet
3939
private int initialHeight;
4040
private int initialRefresh;
4141
private bool useSecondScreen = false;
42+
private int desiredWidth;
43+
private int desiredHeight;
44+
private int desiredRefresh;
4245
NotifyIcon trayNotifyIcon;
4346
private void NVStreamerMainUI_Load(object sender, EventArgs e)
4447
{
@@ -66,6 +69,13 @@ private void NVStreamerMainUI_Load(object sender, EventArgs e)
6669
if (Registry.CurrentUser.OpenSubKey("SOFTWARE\\TapperWare\\NVStreamer1080", true) == null)
6770
Registry.CurrentUser.CreateSubKey("SOFTWARE\\TapperWare\\NVStreamer1080", true);
6871
useSecondScreen=((string)Registry.CurrentUser.OpenSubKey("SOFTWARE\\TapperWare\\NVStreamer1080", true).GetValue("UseSecondScreen","0"))=="1";
72+
desiredWidth = ((int)Registry.CurrentUser.OpenSubKey("SOFTWARE\\TapperWare\\NVStreamer1080", true).GetValue("Width", 1920));
73+
desiredHeight = ((int)Registry.CurrentUser.OpenSubKey("SOFTWARE\\TapperWare\\NVStreamer1080", true).GetValue("Height", 1080));
74+
desiredRefresh = ((int)Registry.CurrentUser.OpenSubKey("SOFTWARE\\TapperWare\\NVStreamer1080", true).GetValue("Refresh", 60));
75+
DWidth.Text = desiredHeight.ToString();
76+
DHeight.Text = desiredWidth.ToString();
77+
DRefresh.Text = desiredRefresh.ToString();
78+
6979
if (useSecondScreen)
7080
useSecondScreenCB.Checked = true;
7181

@@ -154,8 +164,8 @@ private void CheckTimer_Tick(object sender, EventArgs e)
154164
}
155165
else
156166
{
157-
SetResolution(1920, 1080, 60);
158-
label1.Text = "NVStreamer active: 1920x1080@60";
167+
SetResolution(desiredWidth, desiredHeight, desiredRefresh);
168+
label1.Text = $"NVStreamer active: {desiredWidth}x{desiredHeight}@{desiredRefresh}";
159169
}
160170
nv1080Set = true;
161171
useSecondScreenCB.Enabled = false;
@@ -190,6 +200,23 @@ private void OnSecondScreenCheckboxChange(object sender, EventArgs e)
190200
useSecondScreen = useSecondScreenCB.Checked;
191201

192202
}
193-
203+
204+
private void Width_TextChanged(object sender, EventArgs e) {
205+
int i;
206+
if (!int.TryParse(DWidth.Text, out i))
207+
DWidth.Text = (i=1920).ToString();
208+
209+
Registry.CurrentUser.OpenSubKey("SOFTWARE\\TapperWare\\NVStreamer1080", true).SetValue("Width", i, RegistryValueKind.DWord);
210+
211+
if (!int.TryParse(DHeight.Text, out i))
212+
DHeight.Text = (i = 1080).ToString();
213+
214+
Registry.CurrentUser.OpenSubKey("SOFTWARE\\TapperWare\\NVStreamer1080", true).SetValue("Height", i, RegistryValueKind.DWord);
215+
216+
if (!int.TryParse(DRefresh.Text, out i))
217+
DRefresh.Text = (i = 60).ToString();
218+
219+
Registry.CurrentUser.OpenSubKey("SOFTWARE\\TapperWare\\NVStreamer1080", true).SetValue("Refresh", i, RegistryValueKind.DWord);
220+
}
194221
}
195222
}

0 commit comments

Comments
 (0)