MATLAB: GUI suddenly zoomed-in and cropped - matlab

I had a GUI made using GUIDE. Suddenly when I reopened MATLAB the GUI window got resized, zoomed-in and cropped, missing the top of it. This shows in GUIDE itself as well.
I'm using the same computer and MATLAB version. I already tried to restart MATLAB and the computer itself.
The only thing I can think of that changed is a second monitor I was using, but I tried plugging it in and out, and it didn't help.
This doesn't happen in other GUIs I'm using.
Specs:
Windows 8, MATLAB R2013a, 1920x1080 screen resolution.

Try changing the units of all the controls to normalized.

MATLAB sizes GUIs based on system information about the size of the screen, so adding a second monitor could change that system information and confuse MATLAB. You could test if that is what caused the problem by unplugging the new monitor and restarting the computer/program.
For one project I had to change the units on everything to characters so that it would size appropriately for various screen sizes. Normalized should work too, however, it won't revert the gui to how it was before it got jacked up, only keep it from changing again.
So, try reverting to your original screen configuration and restarting the computer. If that resolves the problem, change your units to normalized or characters.

Related

Getting Retina Screen Resolution on Macs with HiDPI in Unity

I am making a custom Unity Editor GUI window and I just want it to stay and the exact center of the screen. Surprisingly, this is harder than I thought it would be on Macs.
This is my code:
....
windowRect.center = new Rect(0, 0, Screen.currentResolution.width, Screen.currentResolution.height).center;
....
The problem is, on a 5K iMac, which has a native resolution of 5120*2880, by default the macOS uses HiDPI to scale everything to 2560*1440. In Unity, Screen.currentResolution returns 5120*2880 without considering HiDPI scaling, but I need that sweet scaled resolution.
I've tried other functions as well. Display.main.systemWidth returns 1920 instead of 5120 or 2560.
Is there a way to do this? Or am I just out of luck? I am using Unity 2018.1.9f1.
Also, if there is a way to get the size of the whole Unity Editor Window(not the game window), I would be fine with it. Thanks in advance!
In Editor, Screen.currentResolution show the resolution of game window. You can enable Maximize On Play to use the maximized window resolution.
And if you deploy to MacOS app, it should be the 5K resolution correctly.
This in an old thread, but in case someone is still wondering, I found out that the highest resolution returned by Screen.resolutions on a retina device is the « magic » resolution. It’s the one that you see in the device settings as « Looks like X x Y ».
This is not mentioned in the doc as far as I could see, so I am not certain in can be relied upon in the long run, but it’s the case currently with Unity 2018.3.
Not quite the same as centre of the screen, but I was having a similar issue and solved it using:
EditorGUIUtility.GetMainWindowPosition().center;

compare images on different OS

As part of automation, I want to compare images by taking screenshot and the baseline image. Will be executing the same on different OS(linux, win). On executing in different OS, the screen resolution changes and image comparison fails. Currently I am doing it with Selenium+java. Can anybody suggest me any way or a different tool to achieve it?
So make baselines for each environment you're testing on and have the test compare with the correct one for that platform (or just with all of them and flag as passed if any of them matches).
I'm not so sure this entire "compare screenshots" is a good way to test things (you just hit one snag, another one can be that different browsers (and even versions of the same browser) render things slightly differently.
The key thing here is the resolution, you must ensure that resolution is the same for base images and those you capture during test.
Set size of the browser window to fixed size, eg. (1920x1080),
Make all screenshots in this resolution,
During the test: before each image-comparison check if the window size is (1920x1080) if not I change it temporarily,
Take screenshot,
Compare image with original one
Do window maximize
Other solution is to capture screenshots of single WebElement rather
than whole page, because WebElements often are resolution independent.

Size of Matlab buttons and Matlab code changes after first run on Windows 10

I am running Matlab on Windows 10. On Windows 10, I have the option, "Size of Text, Apps and other items" set to 175%. When I open Matlab, all the buttons and Matlab code appear larger as expected for 175%. However, when I run a matlab code, the size of the matlab icons and the matlab buttons becomes much smaller (roughly by about 75%). I think it is not detecting that my windows setting after the first run. Is there any way I can fix this. As my laptop screen is rather small, I need to use 175% zoom to be able to see the icons clearly.

matlab uitable blink in one computer but stop blinking in another one

I want to display uitable in matlab GUI.(uitable data is not fix it is going to update in 15 stage).
when i run my code in my laptop my monitor is not flicker, but when i run same code in another laptop it start blinking.
i want to know the cause of this problem(i mean the code not changed only ,i run it in another computer).
note:i guess it is related to CPU clock but i am not sure.
it is not related to CPU or laptop graphic card. it is about matlab version.i write my original code in matlab 2013a but when i run it in matlab 2009 ,it had problem n displaying uitable but in matlab 2012 or newer version that problem solved and the blinking did not occur.

How to Repair Microsoft Surface v2 Enter Surface Mode

We've received the new Microsoft Surface v2 this week, and I've done something such that it broken the Surface Mode.
What should happen
I could double-tap the shortcut to Enter Surface Mode, say ok to the dialogs that popped up, and it would take me to the SurfaceLoader (a program that just shows a ring of particles pulsing in an out of the center). After a moment, the water-simulation Attract program would pop-up, where I could touch the center surface logo to see the list of registered Surface programs.
What happens instead
I double-tap the shortcut to Enter Surface Mode (turning on debugging), and nothing comes up past SurfaceLoader. It seems that the other programs are running, but SurfaceLoader is aggressively maintaining focus.
What might have messed things up
Installed my Surface 1 Application
Made my Surface 1 Application run on startup
Installed Surface SDK Samples
(Maybe) accidentally moved an important file elsewhere - (just because its so easy to accidentally moving things on the Surface in Windows 7 Touch.)
Let's go over each of these.
For my Surface 1 Application, built in XNA using the Surface 1 SDK, we used an .msi installer to install the program. It ran, but being that Surface 1 is built around a small program called SurfaceInput.exe running in the background, the program did not respond to input. The program was run at startup through a registry key.
I have uninstalled the program through the control panel (double check this)
I have double-checked the registry to make sure the keys are not still there
For the Surface SDK Samples, I got them from the Microsoft Surface 2 SDK at: http://www.microsoft.com/download/en/details.aspx?id=26716. After installing the SDK, I navigated (on the Surface) to C:/Program Files (x86)/Microsoft SDKs/Surface/v2.0/Samples/Surface Code Samples.zip. I extracted the zipped files, and installed them with InstallSamples.bat. Installation succeeded normally.
At some point, I was able to see a list of these in the Surface Application Launcher screen. I can no longer get to that point, so I'm unable to exactly recreate my steps.
I'm not sure where these examples extract to - the placement does not seem to be contained in InstallSamples.bat file, and I cannot find them with Windows Search. Perhaps they are built in the same folder and merely registered elsewhere with the Surface, but since then I have done a series of System Backups. When examining the Surface Configuration Editor, BingSurface is the only Application registered with it, leading me to believe these are probably not the cause.
Finally I may have accidentally moved some arbitrary file to some other directory. This does sound rather horrible of me, and while I don't recall an instance where I've done this, it is incredibly easy to accidentally move a file or folder when Surface is in Windows 7 Touch mode. Even while writing this, I somehow moved the taskbar from the bottom of the screen to the top of the screen while it was locked with just two touches. I don't think this is the problem, but its easy enough to do that I can't rule it out either.
To remedy this, I have tried Windows System Restore. I was able to restore to a point after installing my Surface 1 app, but I have tried twice to Restore to the original state of the surface without success. I waited 10-20 minutes for System Restore to show progress, and both times it stayed on the Initializing screen. It was not graphically frozen, as the Windows loading circle was spinning, but from my previous experiences 20 minutes seemed to be way too long for this process to be going correctly.
Things that do not work
Running Enter Surface Mode w/ debugging - eternal loading screen. Can alt+tab to see Attract is running, but does not switch focus to Attract window. Can hear the sounds of Attract play when I touch the surface on the loading window.
Running Surface Shell - eternal loading screen. Can hear the sounds of attract play.
Running Enter Surface Mode w/ debugging in Single Application Mode set to SurfaceBing - eternal loading screen. Alt+tab reveals its running, but does not switch focus to bing window.
Running Surface Shell in Single Application Mode set to SurfaceBing - eternal loading screen. Alt+tab reveals its running, but does not switch focus to bing window.
Running Surface Loader - running it directly causes same problems as above.
Things that do work
Compiled Sample Project RawImageVisualizer on separate system - runs great on the surface. Can see what the pixelsense is seeing.
Launching Bing for Microsoft Windows Directly - works just as it should
Launching Attract directly from C:\Program Files (x86)\Microsoft Surface\v2.0\Attract - watery program comes up just as it should.
Environment Lighting Optimizer - works totally fine.
It seems like something happened to SurfaceLoader, such that it thinks it should always be on top of everything. I shall give System Restore another go, allowing it a full hour. I will also double-check the properties of SurfaceLoader to make sure it doesn't have anything akin to "run on top" checked.
I know Surface 2 is new, but I would greatly appreciate any tips you have.
You've probably figured it out by now, but for posterity's sake, I'm guessing you didn't have permissions set correctly. You should always run the Surface Shell/Enter Surface Mode as Administrator or set the properties to always run as admin. Your own programs always need high level permission. If you don't run as admin, it seems to raise the alert window you get when Windows7 asks for higher level permissions but you never see it. It just waits and waits. "Surface Mode" is actually just a special user that's hidden until you enter it and never runs Windows Explorer or shows the desktop. So you have to deal with Windows 7 permissions to have programs run for both users. Hope that helps!