VMware Communities
m16_elitest
Contributor
Contributor

Mac menubar keeps popping up

Everytime I'm in full screen and I go near the edges it changes to the osx cursor and when I go to the top it brings up the osx menubar. Is there any way to fix this? It's really annoying in Ubuntu when going to the applications menu.

0 Kudos
26 Replies
firebert
Contributor
Contributor

Yeah. Fusion is an absolutely amazing product from a technical standpoint, but it's maddening that such a silly usability issue like this makes the experience of using it so much less than optimal. This problem has bothered me for almost a year now as well in ubuntu (and when working with maximized windows in XP). I'm disappointed that the ability to toggle the menubar's appearance in full-screen mode has still not appeared as a feature in any subsequent version, so when they released a beta, I took the opportunity to make a fix myself. The fix is not for fainthearted, and it'll only work for the beta. To design the fix, I had to disassemble the vmware executable, find the call to SetSystemUIMode, and change the value of its second parameter to tell it not to show the menubar in full screen mode, ever. Here's how:

1) get yourself a copy of the beta Fusion: 2.0b1 (89933), and install it to your Applications folder. Make a backup copy of it, just in case. IMPORTANT: make sure you have the right version. If you use any other version, these directions will at best render your copy of Fusion inoperable, at worst... probably do something much worse.

2) get yourself a free copy of the 0xED hex editor, and install it: http://www.suavetech.com/0xed/0xed.html

3) right click on the (copy of the) VMware fusion application in the finder, click "show package contents," navigate to "Contents/MacOS"

4) right click on "vmware", choose "open with", "other" and choose 0xED

5) In the 0xED window, type 477DA in the "go to offset" field, press return, press delete, press 0, and apple-s. (You are replacing the "01" in 477D9 with a "00")

Now the menu bar will NOT appear in full screen mode ever, even when you move your mouse to the top. Full screen mode is USABLE, thank goodness.

I hope this helps someone, and I hope the Fusion product team makes this an official feature for 2.0. I haven't crowed about it much because I saw it as a no brainer, but now that the beta's here and it's still not here I'm worried. I mean, it's an "if" statement and a checkbox in a preference pane, that's all. Heck, I don't even need the checkbox, I don't care if I have to edit a plist or some other way to configure it, as long as it's something I can configure, rather than... well, this way.

It works in the beta, and it's a dream. I'm otherwise having no issues with the beta (or with any other version, for that matter), and I love every minute of it. Sorry I disassembled your product, VMware team. I only did so because I love it.

Thanks,

Alex

0 Kudos
xxxbra
Contributor
Contributor

firebert:

Is there a way to do your hack on VMWare Fusion 2.0.2 - or any fullscreen application whatsoever?

Thanks in advance

0 Kudos
xxxbra
Contributor
Contributor

I have done some hacking and I will answer my own question.

To apply firebert's hack on the latest version of VMWare fusion (Version 2.0.4 (159196)) do the following:

At Step 5 of firebert's instructions, where you read 477DA, use 6BC87 instead.

0 Kudos
Matt_Stevens
Contributor
Contributor

Yes, this is the one and only thing about Fusion that frustrates me. Like an unwelcome guest that just keeps showing up, every time my cursor strays near the top of the screen there is that damn menu bar again. Please give us a hotkey or an extra-long delay so I can make it go away for good.

0 Kudos
WoodyZ
Immortal
Immortal

At Step 5 of firebert's instructions, where you read 477DA, use 6BC87 instead.

Nice! Thanks for posting that. Smiley Happy

It's a shame that VMware can't add a GUI Level check box or radio button in the Preferences for this. Its especially nice when doing PowerPoint Presentations to not have the VMware Fusion menu bar show while in Full Screen view.

0 Kudos
tmcewan
Contributor
Contributor

I just wanted to echo the thanks for this. It's been annoying me for some time. And considering Microsoft has this option for full screen RD sessions with version 2 of RDC, it's definitely viable. It's obviously not that they "can't" do it, I guess they've either just not considered it, or think it would leave users stuck in a VM - which is partially the case under the current behaviour.

Your options for exiting from a full screen VM are as follows (I think I've got them all):

- Command + Tab

- shortcut key to change Spaces (if you have that pre-configured)

- shutting it down internally

- Command + Q (suspend) or Command + W (will enact an internal shutdown by default)

- exit fullscreen view (Ctrl + Command + return/enter)

Although, their standard 'release focus from VM' shortcut (Ctrl + Command) doesn't work as I think it should; it releases focus, but still doesn't show the menu bar. Maybe this is what's holding the GUI option back...

Thanks again guys!

BTW, somebody should allocate the points to firebert and xxxbra.

0 Kudos
WoodyZ
Immortal
Immortal

Maybe this is what's holding the GUI option back...

AFAIC There is no legitimate reason why this isn't a current feature other then VMware is only going to provide so many features for the price it charges. I'm quite sure VMware's Developers/Programmers have the technical ability to implement this as a feature and actually is quite minor from a coding perspective when considering the complexity of the core code behind virtualization itself. This is but one of many features that could and should be implemented in the GUI and it's absurd that we have to hack the core executable to have a feature like this. I'd be more then willing to pay Workstation prices if VMware would implement a Professional version of Fusion along the lines of their Workstation/ACE products and also include the obvious missing features like the one in question here as well as a GUI Interface to manage Virtual Networks and set Boot Order, etc.

Again thanks to firebert and xxxbra for taking the time to provide a solution to this particular issue and hopefully they or someone will continue to provide the information necessary as the versions increment without this basic fundamental feature.

0 Kudos
djenurm
Contributor
Contributor

This 'Feature' is so aweful that It makes me think about reverting back to Parallels even though Visual Studio runs so poorly on it. I would rather suffer with that than have to deal with the osx menubar always popping up and ruining my mouse cursor when it closes due to another vmware problem. I am always checking to see if they've fixed this with an update but am always let down.

0 Kudos
PHXHoward
Contributor
Contributor

I asked them over a year ago in the these forums to fix this annoying occurance but it has fallen of deaf ears it would seem.

0 Kudos
PHXHoward
Contributor
Contributor

I have not managed to get this to work using 6BC87 in 2.0.4. VMWare crashes when I try to run it. I may try to reinstall from scratch and then do it. I found that I don't have write access to VMWare while in the Application folder. I had to copy it out and then make the modification then move it back in.

0 Kudos
WoodyZ
Immortal
Immortal

I have not managed to get this to work using 6BC87 in 2.0.4. VMWare crashes when I try to run it. I may try to reinstall from scratch and then do it. I found that I don't have write access to VMWare while in the Application folder. I had to copy it out and then make the modification then move it back in.

The VMware Fusion application executable is owned by root and that is why one can have problems trying to edit it with a hex editor if one doesn't have proper privileges. Also I'd avoid copying it out of the application bundle and copying it back because it further messes with the permissions and one may have to use chown and or chmod on the executable to reset the proper owner/permissions.

These is no reason why one cannot execute the appropriate commands from a Terminal to both enable proper privileges and edit the target in place and IMO that is how it's done properly.

First backup the target...

sudo cp '/Applications/VMware Fusion.app/Contents/MacOS/vmware' '/Applications/VMware Fusion.app/Contents/MacOS/vmware.bak'

Now using 0xED as an example to load the target to be edited.

sudo '/Applications/0xED.app/Contents/MacOS/0xED' '/Applications/VMware Fusion.app/Contents/MacOS/vmware'

Note: Make sure you're using Overwrite on the Write Mode (0xED menu bar > Edit > Write Mode) and after editing/saving the target and closing 0xED then Terminal can be closed.

Doing it this way insures having a backup copy of the target and then not messing with the necessary permissions for the target to operate properly after the edit when copying it out of the application bundle and back.

0 Kudos
xxxbra
Contributor
Contributor

I have written a patcher for version 2.0.4.

If anyone is interested dowload it here http://rapidshare.de/files/46752114/patch.zip.html

The zip file contains both the patcher and its source code. It is very easy to make a new patcher for older versions provided you have the correct offset.

To use put the file to be patched file (vmware) in the same directory where you unzipped patch.zip. The type on a terminal:

sudo ./patch <file to be patched>

Use the patcher at your own risk. I am not responsible for any damage it may incur to you.

0 Kudos
PHXHoward
Contributor
Contributor

Thanks for the tips. I got it working! So very nice not to have to deal with the mac menu bar now.

0 Kudos
WoodyZ
Immortal
Immortal

xxxbra I'd like to thank you again for for posting the offset address to be patched and for most of us that are capable of using a hex editor that's fine and while it was going above and beyond to write a binary patcher I have to caution anyone from downloading and using it for the following reasons.

Let me start by saying that if your patch is run on Fusion 2.0.4's "/Applications/VMware Fusion.app/Contents/MacOS/vmware" it does patch it properly however having reviewed the included patch.c source file I find that "argv[1]" is not being validated in that it is indeed the intended target which is the Fusion main binary "/Applications/VMware Fusion.app/Contents/MacOS/vmware" and as such will set the "6BC87" byte to "0" on any file it's executed on and there is no reason why it can't be coded so "argv[1]" is validated for the intended target the Fusion main binary "/Applications/VMware Fusion.app/Contents/MacOS/vmware". Further more the way the program is coded if executed on any file that is less then "6BC87" bytes (441479 bytes or 431K) in length it will actually pad out the file with zeros up to the 6BC87 offset.

While I understand this this was meant to be a simple and quick solution for those that are uncomfortable using a hex editor I have to take issue with providing an executable that is not coded with the proper checks to ensure that it is patching the intended target or when arbitrarily run on a file that is less in length then the targeted offset that it will pad out the file with zeros to that offset.

The point I'm trying to make is if one is going to write a binary executable which is intended to explicitly and specificity patch a specific file at a specific offset and make it publicly available then that is all that the executable should be capable of doing, nothing more and nothing less and your program doesn't conform to that paradigm and as such IMO the executable is dangerous and should not be used until it is properly coded.

0 Kudos
tmcewan
Contributor
Contributor

Hey, um, wouldn't happen to know the offset for 2.0.5, would ya?

It doesn't seem like it's going to happen the official way any time soon. Any chance someone might explain how we might catch this fish, instead of giving it to us each time?

0 Kudos
SvenGus
Expert
Expert

BTW, in Virtual PC 7 one can hold down the Command key to show the Menu Bar and the Dock: so, maybe there could eventually be an option in Fusion to have the Menu Bar automagically appear (as happens today: personally, I find it rather useful), or to trigger it separately with a key combination...

0 Kudos
xxxbra
Contributor
Contributor

:

The offset for 2.0.5 (173382) is 0006c8cf

I am giving you the fish again but I can teach you how to catch it in a later post.

I have just upgraded vmware and patched it. Luckily the hack still works.

0 Kudos
admin
Immortal
Immortal

All,

I have submitted an internal request to add this feature (keeping the Host OS menu bar hidden) to future releases of Fusion. I'll keep you apprised via this thread of any updates I receive.

Stephen Gardner

VMWare Desktop Technical Support Specialist

0 Kudos
admin
Immortal
Immortal

Although, their standard 'release focus from VM' shortcut (Ctrl + Command) doesn't work as I think it should; it releases focus, but still doesn't show the menu bar. Maybe this is what's holding the GUI option back...

Thanks again guys!

BTW, somebody should allocate the points to firebert and xxxbra.

Are you still having this problem in 2.0.5? When I release focus while in Full Screen mode, my view also switches to Single Window mode (i.e., my VM is now in a window the size of a standard OS X application Window, with the menu bar locked above, the dock down the bottom, and my Finder/desktop visible on the sides) -- so the menu bar is displayed as it should.

What happens for you?

0 Kudos