Whereas turning my head left and right does not do so.
Most programming requires at least 4 logical views, IMO:
1. The code
2. The result of the code (web page, test results etc)
3. Documentation that supports coding
4. A control mechanism (ie, a terminal)
No doubt there will be quibbling that some of these are really the same, blah blah. I don't care, I think 4 is the logical minimum and the physical assignment of those 4 basic information types is a matter for each programmer.
That's really interesting! I have the opposite problem - switching windows doesn't pop my mental stack, but if there's anything on the screen other than what I'm trying to focus on, it keeps diverting my attention and ruining my concentration. Fullscreen emacs on OSX (without even the system menu bar!) is just awesome for me.
Here's a screenshot of what my entire desktop looks like when I'm working on code: http://abstractnonsense.com/desktop-2013-02-17.png
Edit: no luck with the latest pretest (24.2.93.1) either.
port install emacs-app +fullscreen
Then ns-toggle-fullscreen as mentioned below.To be honest, I spend most of my time using OSX in a single fullscreen Terminal.app inside tmux.
I think it also depends what kind of development you do. Doing iOS dev, I am constantly flipping between XCode, Photoshop, Chrome, Tower, Simulator and a bunch of other tools which don't play well with the idea of being sequestered to individual areas of the monitor. When I do openFrameworks development, I have to add multiple virtual machines to the mix (Windows and Linux while running on OSX) for cross-compiling and testing.
I use two thunderbolt cinema displays and I still constantly run out of screen real estate so tools like these, though I've tried to use them, end up not fitting into how I work.
ymmv.
This allows me to prototype, compile, test, build, look up info with minimal window switching. The biggest advantage is never having to hunt for the correct window--everything is one keyboard shortcut away.
[0]: http://i.imgur.com/xctkdtq.png
The empty black box is due to my right monitor being in a vertical position.
It's beats tabbing / cycling between opened apps any day.
As a side benefit, each virtual desktop can have it's own windows layouts: you like your GMail / Google Docs to be full screen, use a full screen layout. You like your IDE to use 2/3rd of the screen and a browser used for testing to use the rest: so be it.
The problem with your method is that you lose lost of time tabbing / cycling and then for the 1% of the time where you need a layout more complicated than "one windows visible" you spend time picking up the windows you want to show (and potentially manually fine-tuning their position using the mouse).
So you hardly see any value in a window manager but others hardly see the value in losing time tabbing / cycling endlessly between apps when a single shortcut can display the app(s) they want in the layout they want.
Just another thing I had to "hack" to make work in OS X that works out of the box in all Linux Window Managers. With Ubuntu working perfectly out of the box on my MBA, I don't know why more people don't just take the step and use Linux instead. It's so nice to leave the world of outdated development tools and a stupid window manager behind.
Because the battery life is worse. (I have tested.)
Because it runs hotter.
Because the poor graphics drivers (for my rMBP) mean that it's running hotter for nothing.
Because tiled window managers are not a solution for any problems I have.
Because Ubuntu doesn't have Mission Control.
Because IntelliJ isn't very good on Linux.
Because Xcode doesn't exist on Linux.
Because VMware Fusion doesn't exist on Linux and VirtualBox is insufficient.
Because MacVim is nicer than GVim.
.
That Linux fits you is great; this stupid faux-mystified "I don't know why more people don't use this niche thing I like" is not.
Not any more. I've owned MBA for 3 years now and have been using Ubuntu on the 2012 model for the last three months. I get every bit of battery life in Linux that I do in OS X. This wasn't true a year ago, but it is now.
>Because it runs hotter.
Not any more. Certainly not during day to day tasks. Certainly not during routine development. Certainly not while watching Flash videos. Certainly not while playing TF2.
>Because the poor graphics drivers (for my rMBP) mean that it's running hotter for nothing.
Linux is getting switching support. It's already useable.
>Because tiled window managers are not a solution for any problems I have.
I don't use a titling window manager. Besides, "I don't need those features" is a pretty sad arguing point.
>Because Ubuntu doesn't have Mission Control.
KWin, Compiz and Mutter ALL have support for Expose. KWin's implementation is actually nearly identical to the Mac implementation. In fact, they've had it for as long or longer than OS X has had it.
>Because IntelliJ isn't very good on Linux.
As someone who pays for an uses IntelliJ, I don't even know what the hell that means.
>Because Xcode doesn't exist on Linux.
And that's a good thing.
>Because VMware Fusion doesn't exist on Linux and VirtualBox is insufficient.
LOL. Is this even a serious point? Hello? VMWare Workstation? KVM+QEMU? Xen?
>Because MacVim is nicer than GVim.
Are you fucking kidding me?
>"niche thing"
Oh you're cute. I shouldn't have wasted my time replying to an obvious troll.
> Not any more. Certainly not during day to day tasks. Certainly not during routine development. Certainly not while watching Flash videos. Certainly not while playing TF2.
That doesn't square with my experiences with my 2011 Air or my 2012 retina MBP, each running 12.04 (I avoid non-LTS releases on machines I need to work everyday). I'm glad it works for you. It did not for me, and I am disinclined to spend time fiddling with it when OS X works out of the box.
I already have a really nice Unix that works on the hardware without me doing anything (and lets me run Linux in a VM if I really need it)--I think it is understandable that switching is going to require being really impressed by the challenger to switch from the incumbent.
> Linux is getting switching support. It's already useable.
The closed-source nVidia drivers are a pain in the ass to use, though, and nouveau isn't up to snuff. Multi-monitor support is also simply not good enoughl the baseline isn't "usable", it's "as good as OS X", and, for me, I don't find TwinView (is there a different hack for 3+ monitors now?) as don't-have-to-care-about-it as OS X.
> I don't use a titling window manager. Besides, "I don't need those features" is a pretty sad arguing point.
Why? That makes no sense. If I don't need feature A, that feature A is available means it is not a plus for my use case.
> KWin, Compiz and Mutter ALL have support for Expose. KWin's implementation is actually nearly identical to the Mac implementation. In fact, they've had it for as long or longer than OS X has had it.
I realize that. I'm not referring to Expose, I'm referring to the dynamic workspace allocation (which, after using it, I prefer to the "4 virtual workspaces" approach) and the really very nice gesture support that doesn't exist out-of-the-box in Ubuntu. (While it may exist in some other form, if I have to do anything beyond "turn it on" I'm basically uninterested.)
If your OS doesn't do the little things I want, investing time into the bigger things doesn't make a lot of sense. This may be a recurring theme here.
> As someone who pays for an uses IntelliJ, I don't even know what the hell that means.
IntelliJ's font rendering was/is hosed in Ubuntu 12.04 out of the box and looked absolutely terrible. There may be a fix for it, but I didn't bother to look because the benefits to Ubuntu over OS X were not, for me, significant enough to invest time into solving the problem.
> [re: Xcode] And that's a good thing.
See, there you go. Your priorities do not mesh with mine or with others'. Why would you expect that they use your OS of choice if the tools of their choice do not exist?
I like Xcode. I like it more than Eclipse or QtCreator or KDevelop and I like it much more than vim+ctags. If the tools I like do not exist on a platform, that platform had better provide a big enough benefit to make me want to switch--and, your rageposting notwithstanding, Linux does not. Sorry?
> LOL. Is this even a serious point? Hello? VMWare Workstation? KVM+QEMU? Xen?
Yes, it's quite serious. KVM+QEMU does not (AFAIK--I may be wrong) have one-click out-of-the-box support for accelerated graphics. I did not examine Xen, but a cursory Google looks like more work than it's worth unless the OS otherwise makes a switch worthwhile (which it did not).
VMware Workstation did not have VMware Fusion-level support for accelerated graphics last I looked; maybe Workstation 9 is better, but I have not checked. I play games through VMware Fusion; just played XCOM on my flight today from Boston to Nashville. Having good graphics acceleration in my virtual machine matters to me.
> [re: MacVim/GVim] Are you fucking kidding me?
No, I'm quite serious. MacVim solves my biggest beef with GVim (the lack of good windowed-environment shortcuts) by melding in the OS X shortcuts--which also happen to be out-of-band keystrokes that Vim can't misinterpret. (This is also a plus to terminal usage on OS X; I often find myself highlighting something--I don't like copy on highlight--and reflexively pressing Ctrl-C on Linux or a Windows SSH session. I often find myself regretting it. I used to think OS X's Command key was stupid...but after a while using it, I vastly prefer it to the alternative.)
> Oh you're cute. I shouldn't have wasted my time replying to an obvious troll.
Even among developers, Linux on the desktop is a small minority. Maybe "niche" was understating it a little, but...not by much.
Anyway, different priorities does not imply trolling. I'm glad your solution works for you. I assumed you asked in good faith why someone would choose not to use Linux. I answered. You are not going to win either converts or e-points by judging my needs based on your preferences.
Why didn't you just say "I've haven't used it lately" and be done with it.