Closed makedir closed 1 month ago
Cannot replicate on windows 10
I have the same issue on Windows 10. I open Chatterino, click the emotes button to open the dialog. Move it to some place, change its size; the resulting position is like this:
Then I restart Chatterino, open the emotes dialog again, and it appears like this:
Neither position, nor size are remembered. The dialog is not even fully visible, part of it is hidden beyond the lower border of the screen (if I pull the dialog up without changing its size, there will be two extra lines of emotes visible).
I had this behavior for as long as I can remember, even when I was working in Windows 7. I just never got around to reporting it.
I noticed the emote window moves by 8 pixels every time it's reopened. For me on Windows 10, the following change fixes this: https://github.com/Nerixyz/chatterino2/commit/391111afe7fa8c9ae70ca0621ac078d1c39045ed
However, I can't replicate the emote window moving more than 8px. It might be good to mention if you're using any high-DPI scaling or change your monitor layout frequently.
My display configuration is a single monitor 2560x1440 resolution, default 100% scaling.
I also noticed that the windows:emotePopup:x/y in window-layout.json are used for restoring the position, but these values are never saved by Chatterino. No matter where I move the dialog over the screen, those x/y coordinates in the json file are never updated. But if I edit them manually, next time I open the emote dialog its position reflects the change. (And, of course, there are no issues with write access or anything stupid like that, I checked; other data in the same file are updated properly.)
Also, indeed, there is a shift in those coordinates. I made a screenshot of the whole display and measured the 0-based coordinates of the top left corner after moving the dialog, wrote them into the json, and next time the dialog is opened it's displaced by (-8, -1) compared to what is written in the JSON.
I also noticed that the windows:emotePopup:x/y in window-layout.json are used for restoring the position, but these values are never saved by Chatterino. No matter where I move the dialog over the screen, those x/y coordinates in the json file are never updated.
Chatterino doesn't record the position of the emote popup until it's closed, and doesn't save it until the main app is closed, or a window is moved/resized. I've added that in my branch.
Of course, I was checking the JSON file only after closing the application, not while it was running. Sorry, should have mentioned it, but thought it was obvious.
Also, while we're at it, why is only the position of the emotes dialog processed and not the size? For the main window size is also stored. It would make sense to keep/restore the emotes dialog size too.
Also, while we're at it, why is only the position of the emotes dialog processed and not the size? For the main window size is also stored. It would make sense to keep/restore the emotes dialog size too.
That's a good idea. I've done that in the PR. Ideally, we'd do that for more windows (e.g. the settings window - https://github.com/Chatterino/chatterino2/issues/2583) in the future. It also resolves the invisible-bounds issue.
Please give an option you can set where to auto open the emji window:
and then auto attach to main window.
Not totally fixed. Still is buggy and wont save / attach emoji wndow when you use standalone client start option -c channel. @pajlada
Not totally fixed. Still is buggy and wont save / attach emoji wndow when you use standalone client start option -c channel. @pajlada
Nothing is saved when you use -c
- so I would say this is the expected behaviour.
Not accetable. Then fix "-c" mode and change that behavior or add another option to disable that behavior.
Not accetable. Then fix "-c" mode and change that behavior or add another option to disable that behavior.
There's nothing to fix when it's the intended behaviour - it's for use with other applications that want to launch Chatterino in scenarios where you might have multiple instances of Chatterino running at the same time.
I don't know what option to add since I don't know the use case. You can build Chatterino from source and disable the dontSaveSettings
part of Args.cpp
You dont need to answer to this. This Issue report was all about the nonsense implementation, that the emoji gui is seperated. This makes zero sense. It needs to be autodocked to the main window or removed at all as a seperate buggy window.
Seems like we misunderstood your original report then - in the future you can try reducing the scope of the report, or being clearer with your wording to ensure that doesn't happen
Checklist
Describe your issue
Emote window position isnt saved afer restarting Chatterino, always spawns on left top corner. Please give option to make it always spawn left or right next to Chaterino window.
Screenshots
No response
OS and Chatterino Version
2.5.1 Windows 11