Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dock Sizes are Reset the next time you open OBS. #2949

Open
GentlePuppet opened this issue May 18, 2020 · 32 comments
Open

Dock Sizes are Reset the next time you open OBS. #2949

GentlePuppet opened this issue May 18, 2020 · 32 comments
Labels
Confirmed This bug report has been confirmed by project members

Comments

@GentlePuppet
Copy link

Platform

Operating system and version: Windows 10 Pro 1809
OBS Studio version: 25.0.8

Expected Behavior

When I manually resize locked Docks in the UI I expect them to be remembered and kept the next time I open OBS.

Current Behavior

When I manually resize a dock it will be reset the next time I open OBS.

Steps to Reproduce

Manually Set Sizes
Manually Set Sizes

Close and reopen OBS
Reset Sizes

@Bidthedog
Copy link

I'm experiencing this too. Windows user.

I've done a bit of digging, and it seems that dock settings might only be saved when you have an authenticated Twitch stream destination set up. The profile's "basic.ini" file (in %APPSETTINGS%\obs-studio\basic\profiles<Profile_Name>) contains the following for my "Twitch" profiles, but nothing for profiles that do not target Twitch.

I've not tested with any other stream destinations as I don't use OBS to stream elsewhere:

[Twitch]
...
DockState=AAAA/wAAAAD9AAAAAgAAAAEAAADcAAAC7vwCAAAABfsAAAASAG0AaQB4AGUAcgBEAG8AYwBrAQAAABUAAALuAAAAWwD////7AAAAFAB0AHcAaQB0AGMAaABDAGgAYQB0AgAABwkAAATWAAABLAAAAlj7AAAAFAB0AHcAaQB0AGMAaABJAG4AZgBvAgAAADYAAASLAAABLAAAAor7AAAAFgB0AHcAaQB0AGMAaABTAHQAYQB0AHMCAAAC0QAABa8AAADIAAAA+vsAAAAUAHQAdwBpAHQAYwBoAEYAZQBlAGQCAAAAYAAABJ4AAAEsAAACigAAAAMAAAZiAAAAtvwBAAAABfsAAAAUAHMAYwBlAG4AZQBzAEQAbwBjAGsAAAAAAAAAAboAAACgAP////sAAAAWAHMAbwB1AHIAYwBlAHMARABvAGMAawEAAAAAAAAEJQAAAKAA////+wAAAB4AdAByAGEAbgBzAGkAdABpAG8AbgBzAEQAbwBjAGsAAAAD4gAAASwAAACEAP////sAAAAYAGMAbwBuAHQAcgBvAGwAcwBEAG8AYwBrAQAABCkAAAI5AAAAigD////7AAAAEgBzAHQAYQB0AHMARABvAGMAawIAAAsNAAAFxgAAArwAAADIAAAFggAAAu4AAAAEAAAABAAAAAgAAAAI/AAAAAA=
...

For context, I use OBS to record parts of my 4K desktop, so I can target the application in online meeting software like Whereby, Zoom, Teams etc - it's the only way that the people I'm presenting to can see my desktop in a large enough scale. I don't need a stream destination set up, and setting up a custom RTMP doesn't seem to save the dock settings in the same way.

@WizardCM WizardCM added the Confirmed This bug report has been confirmed by project members label Aug 26, 2020
@skeletonbow
Copy link
Contributor

I experience this same problem as well, just talked with Matt||Wizard about it. I've never connected my OBS up to any live streaming service (Twitch/YouTube/etc.) and only use it for primarily local recording and visual effects development, as well as streaming through VirtualCam on Discord voice chat and voice channels occasionally. The exact same symptoms as described in the original report above occur for me. Some additional info:

I'm on Windows 10/x64 1909 build fully updated, running OBS 25.0.8. Reorganizing the panels, OBS remembers that I added/removed/stacked/etc. the panels but once it is closed and restarted, most if not all of the panels have been resized. I've tried setting it all up both with UI locked and not locked on multiple invocations and the width and specific location of panels is not remembered and restored.

Merely starting OBS up, adjusting the width of a panel and exiting then restarting is enough to reproduce 100% of the time.

@skeletonbow
Copy link
Contributor

Ok, I did some testing and it appears that every OBS dock has a certain preferred size that it wants to be no smaller than, and if you resize it smaller than that, it will let you up to a minimum size, but when you exit OBS, if the current size of any panel is less than the preferred size it mysteriously seems to want to be no smaller than, when you exit OBS and restart it it will resize all of the panels to be this preferred size, ignoring your resizing wishes.

Potential suggested solution; Set the minimum sizes of the panels to be the smallest acceptable sizes and allow the user to resize the panels to this size if desired and save and restore them, without enforcing a preferred size smaller than the minimum the user is allowed to resize to.

@Bidthedog
Copy link

Ok, I did some testing and it appears that every OBS dock has a certain preferred size that it wants to be no smaller than, and if you resize it smaller than that, it will let you up to a minimum size, but when you exit OBS, if the current size of any panel is less than the preferred size it mysteriously seems to want to be no smaller than, when you exit OBS and restart it it will resize all of the panels to be this preferred size, ignoring your resizing wishes.

Potential suggested solution; Set the minimum sizes of the panels to be the smallest acceptable sizes and allow the user to resize the panels to this size if desired and save and restore them, without enforcing a preferred size smaller than the minimum the user is allowed to resize to.

Also, don't forget the ability to turn docks off - including the ability to turn off ALL docks so only the main capture screen is shown.

@skeletonbow
Copy link
Contributor

Ok, it seems that only the panels in the bottom dock group below the preview exhibit this behaviour on my system. If I resize the Scenes pane which is moved to the left of preview, I can shrink it to minimum width and it stays that way over a restart. If I move it to the bottom dock group and shrink it to the same minimum size, it does not remember it and restores itself to a preferred size larger than I set it to.

Is anyone able to reproduce this on a stock OBS with my repro info? I do have plugins installed, so my next step would be to set up a pristine install unless someone who has a pristine install can repro it as described, just to help narrow things down further.

@shleeable
Copy link
Contributor

shleeable commented Sep 10, 2020

Experiencing the same issue.
Simple replication: Dock the stats. Shrink the stats. close and reopen. the stats bar is at full size.

@WizardCM
Copy link
Member

So based on what others have said, and the code I've looked at, there are two potential theories:

  1. When initialising, certain docks have a minimum size that's different to their defined minimum size
  2. (this one's my own) dock positions aren't being saved properly, but it's not related to OAuth dock saving

If it's 2, then performing this task sooner during shutdown might help:

config_set_string(App()->GlobalConfig(), "BasicWindow", "DockState",
saveState().toBase64().constData());

If it's 1, we might need to do more specific tests to see if everyone is able to reproduce it the same way. That is, we need to put together reproduction steps using specific built-in docks in a certain layout & window size.

@BobbyFuzzy
Copy link

I have also noticed this issue. Please let me know if I can put together any info for you to help diagnose @WizardCM.

@BobbyFuzzy
Copy link

  • When initialising, certain docks have a minimum size that's different to their defined minimum size

To add to this, I am trying to make docks larger and still experiencing the issue of the size not saving.

I've done a bit of digging, and it seems that dock settings might only be saved when you have an authenticated Twitch stream

I tested this also with the restream.io profile and noticed that it will save the dock sizes if a profile is linked.

@mihawk90
Copy link

mihawk90 commented Apr 21, 2021

I just now noticed I am having the same issue, I never noticed it before (since I wasn't using Browser docks before, so defaults were fine for me). Can reproduce with 26.1.2 and 27.0.0~rc2, both on Fedora KDE and with an empty profile (i.e. ~/.config/obs-studio moved out).

Also @WizardCM reading that code-snippet, it seems it is just converting whatever values it gets from saveState() to base64, right? But when I take my string in the DockState and put it in a base64-decode, I get mostly gibberish... not sure if that's an issue with the decoder (just some online tool, sorry :P), inherent to the values returned, or an actual issue with the values saved. And from that bit that is readable, it also seems like it is saving states for docks that are not even present anymore? Not sure if that is normal either.

@DemonfangArun
Copy link

Going to add a bump here that I am getting this both on opening it as well as if the window gets resized.

27.1.3 (64 bit).

@SXRWahrheit
Copy link

+1 for this issue. I'd like to add that my layout consistently prioritizes the stream preview versus the other dock windows, and re-maximizing the window does not restore the docks to their prior state. It would be fine if I could just load a layout so that once I have it how I like it, I can do that even if it gets messed up.

@SubhamSatyajeet
Copy link

SubhamSatyajeet commented Dec 10, 2021

I've also experienced this issue on Wndows 10 20H2, OBS Studio 27.1.3 (64 bit).
But it does not occur when you install OBS.

However, after enabling the following settings under Settings > General > System Tray:

  1. Enable
  2. Minimise to system tray when started

This issue begins to occur.

@WizardCM WizardCM pinned this issue Dec 20, 2021
@KGeetings
Copy link

Would just like to say that I've also ran into this issue on two separate computers, and it's easily replicated on my end, using OBS 27.1.3 (64-bit).

@imajinate
Copy link

Got the same issues on 4 different Mac systems and 2 Windows systems, so it's not OS-related.

@PCHSwS
Copy link

PCHSwS commented Feb 12, 2022

I upgraded from 26.1.1 a few days ago to 27.1.3. My docks have been saved with proper size before, since the update everything gets reset back to default every time I launch OBS.

@AnyMEmdq
Copy link

AnyMEmdq commented Feb 19, 2022

In my case, fully updated to 27.1.3, docks revert to default sizes when I change the size of the window (which in my case is imperative, as it reverts to my main screen every time I reset my PC and I have to manually move it to the secondary monitor, and my docks are set based on the maximized window size). W10 Pro 64 build 19042.1466

@OldBaldGeek
Copy link
Contributor

I have found a work-around, at least on my two Win10 machines running various versions of OBS (stock 27.2.3, local build based on 27.1.3, local build based on latest source)

I have always run OBS Maximized (not full-screen), and been annoyed by the docks resizing. On a whim, I changed OBS to a resizable window, adjusted that to be as large as possible, and sized the dock items. Exit OBS. Start OBS, and WINDOW AND DOCK SIZES ARE RIGHT WHERE I SET THEM.

I then Maximized OBS, and tweaked the dock sizes. Exit OBS. Start OBS, and WINDOW AND DOCK SIZES ARE RIGHT WHERE I SET THEM.

Just tried it on full-screen, and it works there as well.

@Oghenefega
Copy link

I have found a work-around, at least on my two Win10 machines running various versions of OBS (stock 27.2.3, local build based on 27.1.3, local build based on latest source)

I have always run OBS Maximized (not full-screen), and been annoyed by the docks resizing. On a whim, I changed OBS to a resizable window, adjusted that to be as large as possible, and sized the dock items. Exit OBS. Start OBS, and WINDOW AND DOCK SIZES ARE RIGHT WHERE I SET THEM.

I then Maximized OBS, and tweaked the dock sizes. Exit OBS. Start OBS, and WINDOW AND DOCK SIZES ARE RIGHT WHERE I SET THEM.

Just tried it on full-screen, and it works there as well.

Thanks for this amazing work around. Great fix

@ifohancroft
Copy link

I have found a work-around, at least on my two Win10 machines running various versions of OBS (stock 27.2.3, local build based on 27.1.3, local build based on latest source)
I have always run OBS Maximized (not full-screen), and been annoyed by the docks resizing. On a whim, I changed OBS to a resizable window, adjusted that to be as large as possible, and sized the dock items. Exit OBS. Start OBS, and WINDOW AND DOCK SIZES ARE RIGHT WHERE I SET THEM.
I then Maximized OBS, and tweaked the dock sizes. Exit OBS. Start OBS, and WINDOW AND DOCK SIZES ARE RIGHT WHERE I SET THEM.
Just tried it on full-screen, and it works there as well.

Thanks for this amazing work around. Great fix

That worked for me as well. Thanks!

@RangerX64
Copy link

I have found a work-around, at least on my two Win10 machines running various versions of OBS (stock 27.2.3, local build based on 27.1.3, local build based on latest source)

I have always run OBS Maximized (not full-screen), and been annoyed by the docks resizing. On a whim, I changed OBS to a resizable window, adjusted that to be as large as possible, and sized the dock items. Exit OBS. Start OBS, and WINDOW AND DOCK SIZES ARE RIGHT WHERE I SET THEM.

I then Maximized OBS, and tweaked the dock sizes. Exit OBS. Start OBS, and WINDOW AND DOCK SIZES ARE RIGHT WHERE I SET THEM.

Just tried it on full-screen, and it works there as well.

For those of us who are rather new to OBS Studio, could you please show the actual UI steps one must take to change these specific window settings for the OBS Studio app itself? I have combed through every setting and cannot find any that are specific to doing this for the main OBS window, and all I can find on the internet is how to change the size of the capture windows being used for scenes rather than OBS.

Thank you.

@mihawk90
Copy link

mihawk90 commented Jun 4, 2022

I have combed through every setting and cannot find any that are specific to doing this for the main OBS window

It's not a setting.

They are talking about just not maximizing the window (i.e. through the maximize button on the title bar) and then just dragging the window size to the edges of your screen instead.

@playaspec
Copy link

I have found a work-around, at least on my two Win10 machines running various versions of OBS (stock 27.2.3, local build based on 27.1.3, local build based on latest source)

I have always run OBS Maximized (not full-screen), and been annoyed by the docks resizing. On a whim, I changed OBS to a resizable window, adjusted that to be as large as possible, and sized the dock items. Exit OBS. Start OBS, and WINDOW AND DOCK SIZES ARE RIGHT WHERE I SET THEM.

I then Maximized OBS, and tweaked the dock sizes. Exit OBS. Start OBS, and WINDOW AND DOCK SIZES ARE RIGHT WHERE I SET THEM.

Just tried it on full-screen, and it works there as well.

This worked for me as well. Thanks so much!

OBS 29.0.0, built from source.

@leteaaDEV
Copy link

Why tf is that bug even still a thing after ages ?? .. -_- driving someone actually nuts

@archeruwu
Copy link

archeruwu commented May 28, 2023

Can confirm, this STILL happens on the LATEST version of OBS 29, to add on, ever since the release of 28.0, OBS no longer remembers what monitor it was last on when the window is maximized. and will just open to the default monitor (which mine happens to be 3440x1440 which is VERY large, and messes with the Dock scaling really bad).

@nospam2k
Copy link

Lol, this is interesting. This bug has been around for almost 3 years! The problem is when in full screen, dock widths are not saved. So come out of full screen, enlarge the window to the size of full screen, set the dock sizes, uncheck/recheck Dock Lock, close and reopen and it's saved. Switched to full screen and close enough!

@WizardCM
Copy link
Member

Except it's only 100% reproducible for some people, and often times a fresh installation (where the user backs up & deletes their config) fixes the bug. For most people, the bug does not occur.

@AlphaTechnicalReal
Copy link

I had a friend with this issue after we updated from 28 to 30 and put OBS into portable mode. The solution was just to run OBS as administrator. Give it a shot.

@belatar
Copy link

belatar commented Apr 26, 2024

Lol, this is interesting. This bug has been around for almost 3 years! The problem is when in full screen, dock widths are not saved. So come out of full screen, enlarge the window to the size of full screen, set the dock sizes, uncheck/recheck Dock Lock, close and reopen and it's saved. Switched to full screen and close enough!

omg, ive been searching for a solution and this did the trick. thanks! drove me nuts having to rearrange my docks everytime i opened it. i wonder what makes this so hard to fix. considering obs does tons of bleeding edge performance critical video and audio stuff this issue sounds like a simple one.
but maybe its one of these "sounds easy, actually is hard" kind of issues.

@Fenrirthviti
Copy link
Member

If running as admin fixes it, you're likely running OBS from a location that doesn't have proper permissions to save settings to as a normal user, especially if OBS is running in portable mode.

There's no log files in this entire thread though, so it's hard to say.

@AlphaTechnicalReal
Copy link

If running as admin fixes it, you're likely running OBS from a location that doesn't have proper permissions to save settings to as a normal user, especially if OBS is running in portable mode.

There's no log files in this entire thread though, so it's hard to say.

You are correct here. Every person I’ve seen with has recently moved the OBS installation or has a folder permission issue. Once OBS is in portable mode you basically always have to run it as admin if not you into all sorts of issues.

I’ll take running it as admin all the time to make sure I have full instance backups of OBS.

@RytoEX
Copy link
Member

RytoEX commented Apr 26, 2024

Once OBS is in portable mode you basically always have to run it as admin if not you into all sorts of issues.

If you must run OBS as administrator while in Portable Mode, then that all but confirms that the location OBS is in is write-protected, and your user account itself does not have write permissions there.

Do not run OBS in Portable Mode from protected locations, such as:

  • C:\Program Files
  • C:\Program Files (x86)
  • C:\ProgramData

If you want to run OBS in Portable Mode, extract the zip file somewhere you do have write permissions, such as one of these example locations. Make sure you have permission to write files there (you do not get an admin prompt when extracting files):

  • Desktop
  • C:\examplefolder
  • D:\examplefolder

Otherwise, just run OBS normally (not in Portable Mode), and it will use your user AppData for its user data, and it should work fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Confirmed This bug report has been confirmed by project members
Projects
None yet
Development

No branches or pull requests