Full screen apps keep switching places - macos

I'm getting a really annoying side effect happening in osx that I can't seem to find a way to fix: for some reason the full screen applications keep switching positions. For example, if I have Safari, Mail and Xcode open in full screen, in exactly that order, every once in a while they will swap positions (eg. Xcode will sometimes move to the left, so the that swiping left will bring me to Safari instead of mail). The order of these applications is important for productivity purposes, and it gets really confusing when you have 6 of them open and all of a sudden Mail goes from spot 6 to spot 2.
Any ideas how to get this switching of places to stop?

Go to System Preferences > Mission Control and make sure that "Automatically rearrange spaces based on recent use" is not ticked.

Related

When I switch desktops in macOS with multiple displays, why is focus switching to another unexpected application (iTerm2 or VSCode in my case)?

I have a MacBook Pro running Catalina with an additional display. I typically have my development-related apps on one display (iTerm2, VSCode, etc.) and everything else on the other display (Chrome, Slack, etc.)
Sometimes (not all the time), when I switch desktops (Ctrl+left or Ctrl+right), access an app using Spotlight (Cmd+space and type), or use Cmd+Tab to switch applications, the focus would suddenly jump to iTerm2 or VSCode. This happens even if iTerm2 or VSCode isn't currently showing; for example, if I try to switch to Chrome on display 1 and iTerm2 is on a different hidden desktop on display 2, Chrome would appear on display 1 and then display 2 would show the desktop containing iTerm2 sliding into view (along with focusing iTerm2).
This severely impacts workflow, since this behavior is unpredictable and involves a lot of typing in the wrong application and reaching for the mouse. What is causing this behavior?
I found that it only happens when I have windows of the same app on both screens.
Say I switch desktop on a screen 1 and Chrome should become active there, then if I also have a Chrome window on my screen 2, it's actually the one on screen 2 that becomes active. Very frustrating..
This bug still exists in macOS Big Sur 11.4. Another symptom is that, after the erroneous focusing happens, manually switching to a space with no windows in it will leave that focused app focused, after briefly focusing Finder, rather than just focusing Finder. It's this last erroneous focusing that causes the space-switching.
Workaround: when it happens, invoke "Show All" from the menu bar (I have a keyboard shortcut for this). Note that switching to an empty space now does a single focusing of Finder, and no further space-switching happens.

Windows 8.1 thinks I have a touch screen

I have a problem - when accidentally launching any of native Windows apps and alt-tabbing to normal ones, then I have a hint (that occupies a fair quarter of the screen), that I can swipe between apps (screenshot is in Russian, but that's what it says).
The things is that I know for sure that my display is not a touch-screen, so how can I persuade Windows into believing that?
At the moment I have to reboot every time I got it (couldn't find any related process in the task manager to kill).
Thanks.
Actually a reply by #David.
You can move mouse to the upper left corner [to switch between apps], but also makes the swipe hint to hide.
Thanks, #David!

Tabbing between Xcode project windows?

Basically I am supposed to press Command + the [`~] button that is above the Tab.
This question has been answered twice here:
Tabbing between Xcode projects?
and
Navigate Between Projects in XCode 4.0
But it just wont work for me, has anything changed in the xcode versions? or the way the mac behaves?
When I press this combination all I hear is the "invalid" sound.
I am using the newest Mac OS mountain lion.
Sorry if this belong to the super user stack overflow I just figured more Xcode users would be found here.
I can do the swipe on the mouse pad to bring the screen where I see all the active windows for the current application... but this is much slower than just tabbing between the 2 projects I'm usually working with.
Thanks
Do I infer from your comment about using the three finger swipe (for Mission Control) that the second window is not on the same desktop as the other windows? The command+` sequence only jumps between windows on the same desktop, not between different desktops (which is not to be confused with two physical monitors, which you can jump between, if you have multiple monitors hooked up to your computer).
The inability of command+` to not jump between desktops is a little curious, because command+tab, which jumps between apps, does go across desktops. If you want to jump between desktops, you can press control+1 or control+2 to jump to desktop 1 or 2, respectively. It should be noted, though, that while that might be a good alternative when trying to jump between your two desktops, though it admittedly selects the last active window in that other desktop, not necessarily a window from your current app in that other desktop. Also control+left and control+right let you jump between desktops, too.
This is a Mac OS "feature", not an Xcode issue, I believe. The command+` ability to jump between windows (but not windows across Mission Control desktops) is the same behavior across the Mac OS.
Update:
If this keyboard shortcut is not working at all, in any app, even within a single Mission Control desktop, then you don't need to worry about Xcode settings, but rather focus your attention on the keyboard settings:
You might want to look at your "Move focus to the next window" keyboard shortcut. There have been reported problems of people with international keyboards not getting this to work properly, but by clicking on (and thereby selecting) the command+` graphic, you can try using different keyboard shortcut, and see if that does it for you.
I have mountain lion as far as i know.
How about this?
control + down
You'll get the current application windows.
Below them there should be a horizontal list of recent projects for Xcode (both opened and closed). With arrows left or right choose the project (it should be highlighted with blue) and press enter.

Xcode window positions when switching from dual to single monitor

When I'm working at home I plug my MacBook in to my 20" monitor as a second (right side) monitor. I do all my editing in Xcode on the larger monitor, and leave the menu bar, debugging and documentation on the laptop's monitor.
The problem is when I disconnect from the second monitor and want to work on code in "laptop" mode. Now, whenever I open a file for editing, it shows up almost entirely off the screen and I have to drag it over to edit it. I understand (sort of) why this is happening, since I last had it open in a different monitor. What I'd like to do is reset the window positions in Xcode so the edit windows show up completely on the laptop monitor. Any ideas on how to do this?
I'd even be willing to nuke entries out of the preferences (or set up an applescript to do it) but the xcode plist is inscrutable to me.
Right click the project in finder, select show package contents, and delete the two username.* files. Its not automated... but it works.
Additionally if your using some kind of version control system you probably want to add username.* to your ignore pattern.

How to drag NSStatusItems

You all know the menu bar (or better said NSStatusBar) in Mac OS X.
There are some items which I can move and other which not.
I would like to be able to drag the NSStatusItem of my app.
Any idea how to implement this?
Although NSStatusItems appear near Apple's internal "menu extras", they are distinct and behave differently. It would be nice if Apple unified the items that can appear in the right-hand area of the menu bar, but for now the section is split into distinct "apple internal" (on the right), and "app-provided (NSStatusItem)" on the left.
You can visualize the distinction by putting your computer into screen capture mode (cmd-shift-4), and pressing the space bar to switch to "capture whole window". When you hover over Apple's menu icons, you'll see that they all live in a single window. This explains their ability to be easily managed and dragged about. Hovering over the other items reveals that each NSStatusItem is in fact living in a single window of its own (which happens to be owned by the application that installed it).
It's best to stick with NSStatusItem even though you can't drag them. It's a shortcoming from Apple which most users will understand, even if it's annoying. Emphasizing the positive tradeoffs of offering a more stable application for the long term will usually soften the opinions of your customers (or managers?) who are pushing for the draggability.
You'll have to use NSMenuExtra, not NSStatusItem, and make the menu item a bundle running inside the SystemUIServer process, not your own app. You'll also need code like that supplied by MenuCracker to get this to work.
NSMenuExtra is undocumented and unsupported, and therefore considered a "hack".
My guess for there being two APIs in the first place: a menu extra crashing (or memory leaking) means the entire SystemUIServer process crashing or memory leaking — including other third party modules as well as system-supplied ones. With a status item, on the other hand, such a problem would only affect your own code.
As of macOS Sierra 10.12 http://www.macworld.co.uk/how-to/mac-software/7-sierra-menu-bar-tips-how-use-mac-menu-bar-in-macos-sierra-3649163/
Third-party apps sometimes install as menu extras, have controls that exist in the menu bar, or can be relaunched as faceless apps despite not initially being so. As of macOS Sierra, these menu extras can be rearranged just like native ones. (This wasn't the case through to OS X El Capitan.)

Resources