FarbstoffRSL / RSL-Helper

Der Farbstoff RSL-Helper
234 stars 180 forks source link

Offer scaling alternative for high DPI systems. #337

Closed rbeurskens closed 2 years ago

rbeurskens commented 2 years ago

What is your idea of enhancement?

As the application has no high DPI support, the workaround to have the layout be displayed as intended by overriding the system DPI causes the window to not fit on the screen for those systems. It would be nice to offer application controlled manual scaling/zoom if it is not possible to implement high DPI support.
(I have a 14'' laptop with a 1080p screen using 150% system DPI and the window does not fit my screen)

EDIT: I see in some videos where you demonstrate it you are actually resizing the RSL helper window, but for me it seems to be fixed size (running Windows 10).

Dwza commented 2 years ago

Have you set the options mentioned in the FAQ/Wiki? And yes, farbvstoff is resizing the window in his videos but in reality this is not the client it self. He uses OBS (streaming software) and every window on his desktop can be placed as a layer above the main view. When he resize the window, he technically resizes the layer inside obs and not the helper it self.

rbeurskens commented 2 years ago

Yes, I have set the compatibility option as instructed for the RSL Helper layout to correctly display at all. It is just that because of ignoring the high DPI, the window is too large for my screen. And I do not have something like a virtual display that is scalable in another way than changing DPI settings. I know there is a way to make an application DPI aware (there are Windows API functions for this - I found an article about this how to do it in C(++) applications on Windows. The Visual C++ runtime is required, so something is using that, but the screenshot in Discord this week was not showing C++ code, but what looked like some Pascal based language) image

github-actions[bot] commented 2 years ago

This issue is stale because it has been open for 7 days with no activity.

rbeurskens commented 2 years ago

Will it be considered to be implemented? So far I was only given explanation that streamer software allows scaling. However, I don't wish to need streamer software running to be able to have the window fit my screen.

github-actions[bot] commented 2 years ago

This issue is stale because it has been open for 7 days with no activity.

Dwza commented 2 years ago

So, using streaming software will probably not bring you the result you wish. and yes, the tool is programmed in pascal. idk if this will be implemented since there are several problems with resizing (at least i remember som conversations in the past) how ever, farbstoff is not a programmer, hes doing this in his freetime for fun... i cant promis that this will be fixed soon.

rbeurskens commented 2 years ago

Ok. Whatever the programming language (it does not matter as it will all compile to a binary in the end, I just asked out of interest) I don't know what API(s) is/are used to render the window(s) on screen. If I knew I might be able to help on research for a solution. (I know it won't be open source - this was already discussed on Discord). Regardless if he is a professional programmer or a hobby coder, the program is a great piece of work. Great respect for managing to create it at all, but even more if it is only from a hobby. At least I can conclude it is "on the backlog" for any point in the future and it needs time to research if and how it can be implemented.

Dwza commented 2 years ago

im sure in future there will be a fix and its in backlog yes... farbstoff is aware of this but since there are so many things that seem to be more important (because more people are effected by those changes) it might take some time to handle this. i also guess hes afraid to open another problem by implementing this.... kind of like "never change a running system" :D BUT, i dont exactly know. anyway... this topic is still on the table :)

rbeurskens commented 2 years ago

hehe , yes. sound familiar. It would take making a feature branch with separate test builds to work on it without touching the main release code. (I take it he uses version control for the code) If tests are successful (including regression) it could be merged into the master branch. However, this would take a lot of time for one developer I guess.

Dwza commented 2 years ago

farbstoff is not using version control. i asked him and he is simply coding ^^ i told him but yes.... guess he wont use it at all. there were several developers offered help... but he wants to keep it for his own :D

rbeurskens commented 2 years ago

Sure, I understand. I respect that. I am not questioning how he does his work. Personally, I think version control (such as Git - which can just be stored in place on the local hard drive without sharing it and does not require a server/cloud service to host it unlike SVN or TFS) is helpful as for every change is your code you have an entry in code history, so if you change something that later end up to break something that worked before, it is easy to rollback any previous change. You can also experiment coding new features on a separate revision branch without touching the code for the released version. Certainly not as a goal, but as a tool to make maintaining code easier even if no other developer is working on it. :-) (Getting pretty much off-topic now, sorry for that)

Dwza commented 2 years ago

other than farbstoff i am a developer and truly confirm with having a vc system running is the best thing you can do :D so i totaly agree with that. but also you have to learn how to work with it... and when i remember back... there was the one or other struggle :D and just using a tool that does all by clicking a button... sure, you can do it if you not interessted whats happening behind the scenes. and i recommend to learn the commands first befor using a tool that does... lets say speed up the process :D i use 90% console

rbeurskens commented 2 years ago

I agree it is best to learn it with console commands first before using a 'black box' GUI as it greatly benefits in understanding it and making you familiar with the terminology. I found an article some time ago in C'T magazine (I guess you are familiar with it) that does a nice job explaining basic Git for people who are new to it. (well, it's the Dutch version of the magazine, but it can be translated - I have it as PDF) Also, I don't think any GUI can do everything you can do from the command line. (well, I did configure Git to to use a 3rd party merge/diff tool and text editor, as I am not very handy using VIM for that)

github-actions[bot] commented 2 years ago

This issue is stale because it has been open for 7 days with no activity.

github-actions[bot] commented 2 years ago

This staled issue was closed because it has been inactive for a total of 7 days.