
Slate: a Mac OS X window manager for power users - mauriciogardini
http://mauriciogardini.com/post/43348489262/slate-a-mac-os-x-window-manager-for-power-users
======
stcredzero
For my 13" Macbook Pro I use two 27" screens and Divvy and hot keys:

    
    
        +---+---+---+---+---+---+---+---+
        |               |               |
        |       A       |       B       |
        |               |               |
        +---+---+---+---+---+---+---+---+
    
        +---+---+---+---+---+---+---+---+
        |       |       |       |       |
        |   1   |   2   |   3   |   4   |
        |       |       |       |       |
        +---+---+---+---+---+---+---+---+
    
        +---+---+---+---+---+---+---+---+
        |   1   |   2   |   3   |   4   |
        +---+---+---+---+---+---+---+---+
        |   5   |   6   |   7   |       |
        +---+---+---+---+---+---+---+---+
    

I can place a screen in any one of the boxes as above, with a hot-key. A and B
are Cmd-Opt-, and Cmd-Opt-. The rest are based on number keys with modifiers.
The two 27" screens are 1900x1080, and connected through a DualHead2Go DP
edition.

~~~
blablabla123
>I use two 27" screens

The Window Manager is clearly aimed at large screens.

------
MaysonL
Am I the only one who hardly sees any value in window managers? About 99% of
the time, I'm wanting only one window visible at a time, with others quickly
accessible via cmd-tab and cmd=`.

~~~
jacques_chester
Lots of people -- I'm one of them -- find that switching whole windows seems
to pop the mental stack.

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.

~~~
abstractbill
_Lots of people -- I'm one of them -- find that switching whole windows seems
to pop the mental stack._

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>

~~~
marchdown
How do you get true fullscreen mode in Emacs on OS X?

~~~
brainid
With Emacs 24 you can use ns-toggle-fullscreen.

~~~
marchdown
Emacs 24.2.1 here, no matches for "ns-toggle fullscreen".

Edit: no luck with the latest pretest (24.2.93.1) either.

~~~
dustingetz
for `M-x ns-toggle-fullscreen` you need `brew install emacs --cocoa`

------
jfb
Back in the Dark Ages, before OS X was truly usable, I rocked ion on my
FreeBSD machine and MachTEN (to run Emacs) on my Macs. This experience
conditioned me to _not fight the platform_ \-- slate, as nice as it looks,
seems to me a great deal like fighting the platform. Is it?

~~~
esolyt
Maybe so. But I don't see a problem with that.

OSX window management currently satisfies average users, but not power users.
And since power users are exactly the kind of people who can do something
about it, they are doing it.

~~~
jfb
I think the distinction between "power users" and "average users" is
meaningless. A user is someone who derives utility from a given platform.

~~~
whaevr
Perhaps so. But what if said user is interested in tweaking things to bend
entirely to their own way of (loose use of word) computing. So much to the
point that they are willing to (develop and or/change the entirety of) some of
the main points of the functioning operating system (window management).

Now the difference between that person and the guy thats fine with changing
the windows theme to a different color....theres a distinction there the size
of the grand canyon.

------
trotsky
I use Better Touch Tool to bind keyboard shortcuts to window actions like
halves & corners to achieve a similar result.

<http://www.bettertouchtool.net/>

~~~
pidg
I've always used BetterSnapTool from the same developer, which is basically
the window management features of BetterTouchTool as a standalone app.

Not sure why it's not free, when BetterTouchTool is, but I'm not going to
begrudge him that one-off payment for something I use every day.

------
AntiRush
If you're looking for XMonad on OSX, check out
OSXMonad(<https://github.com/xmonad/osxmonad>).

It's pretty usable at this point. One problem with it (and any of the other
tiling solutions), is the drop shadows OSX adds to windows. When you have your
windows flush with each other they look pretty bad.
Shadowkiller(<http://unsanity.com/haxies/shadowkiller>) removes all of the
drop shadows. It claims to be incompatible with 10.6+, but I'm running it with
no issues on 10.8.2 and have on most versions of OSX since 10.7

~~~
mauriciogardini
Okay, this is VERY interesting. I'll probably try that and compare to the user
experience that I have with Slate currently.

Did you use XMONAD on Linux too? If yes, is the user experience similar?

Thanks for the link.

------
cseelus
Looks neat, albeit for me personally it might be a little over the top.

I use Moom (<http://manytricks.com/moom/>) for quite a while and I'm happy
with it so far as it integrates perfectly into the overall UI of OSX.

You have of course also convenient (and customizable) shortcuts for actions
like 'Move & Zoom Window to Left Half', which is quite handy for example for
webdevelopment on a smaller screen (Macbook), where you might want your
browser to occupy one half and your editor the other half of the screen.

------
danielpal
Slate is amazing, been using it for a few months. Biggest issue is it takes a
bit of config to get it just right.

Here's my config file.

# Configs config defaultToCurrentScreen true config checkDefaultsOnLoad true
config windowHintsShowIcons true config windowHintsIgnoreHiddenWindows false
#config windowHintsDuration 5 config windowHintsSpread true #config
windowHintsOrder persist config windowHintsFontColor 0;0;0;1.0 config
windowHintsFontName Futura config windowHintsFontSize 70

bind e:cmd hint ASDFGHJKLQWERTYUIOPCVBN # use whatever keys you want

# Abstract positions alias full move screenOriginX;screenOriginY
screenSizeX;screenSizeY alias lefthalf move screenOriginX;screenOriginY
screenSizeX/2;screenSizeY alias righthalf move
screenOriginX+screenSizeX/2;screenOriginY screenSizeX/2;screenSizeY alias
topright corner top-right resize:screenSizeX/2;screenSizeY/4 alias bottomright
corner bottom-right resize:screenSizeX/2;screenSizeY/4*3

bind down:ctrl ${bottomright} bind left:ctrl ${lefthalf} bind up:ctrl ${full}
bind right:ctrl ${righthalf} bind ;:ctrl ${topright}

# Resize Bindings bind right:alt resize +8% +0 bind left:alt resize -8% +0
bind up:alt resize +0 -8% bind down:alt resize +0 +8% bind right:ctrl;alt
resize -8% +0 bottom-right bind left:ctrl;alt resize +8% +0 bottom-right bind
up:ctrl;alt resize +0 +8% bottom-right bind down:ctrl;alt resize +0 -8%
bottom-right

~~~
jerf
Prepend four spaces to get a formatting-preserving view. Though you might want
to plop that on a pastebin somewhere instead.

~~~
pyre
Actually, you only need to prepend two spaces. :)

------
8ig8
Slate has been discussed a few times recently. For more background, here are a
couple other HN threads:

<http://news.ycombinator.com/item?id=4817000>

<http://news.ycombinator.com/item?id=4589658>

------
cwharland
For a GUI configurable and generally well behaved manager look at Divvy:
<http://mizage.com/divvy/>

It's very customizable and has worked for me across at least three versions of
os x.

~~~
tonybaroneee
Yep, I use Divvy on a daily basis and really enjoy it. Only thing I wish it
had was a memory of the window size before it is re-sized with Divvy. Here's
what I mean: In Windows, you can WinKey+RightArrow something to dock it to the
right half (totally possible in Divvy), but then WinKey+LeftArrow returns it
to its original windowed size. I use that technique a ton on my Windows box,
would love to see an OSX window manager with that feature.

Edit: Hmm, looks like SizeUp has this feature with "snapback". Cool.

------
prewett
Is there a window manager for power users that don't like tiling window
managers? Half my windows are too big to be tiled (browser, IDE, Inkscape,
GIMP, etc.) Plus, I have the desktop background for a reason: I want to see
it. I don't want an austere screen paved over with windows like a city with no
grass. I like my large windows to not be completely maximized, so I have some
empty space. I like having my windows a little disorderly, not quite properly
aligned, for the same reason Japanese Go boards are a little too small for 19
stones to fit: nature doesn't create orderly grids.

I really miss sawfish, though. I like Alt-Tab to activate the actual window
instead of a little a row of icons (it'd be even cooler if it would turn the
inactive windows greyscale). I like being able to turn off window decorations
per app. Sticky windows don't flicker when you change desktops, like they do
on Lion. And, of course, a config file for the things you always want in the
same place.

------
lrem
I always found that 50-50 screen split impractical. Many websites want more
screen estate. Some apps are sidebar-happy while some aren't. A terminal is
just fine with 80 columns, thank you...

What I've been doing many years now is getting a 80 column terminal/editor/im
client/whatever on one side of the screen and other apps on what's left. Seems
pretty near perfection :)

------
grimgrin
This looks neat. I'm going to have to play around with it soon. As of now I've
been using SizeUp, which is way less configurable, but great at giving you
that top/left/right/bottom (and corners) placement you may be looking for.

<http://www.irradiatedsoftware.com/sizeup/>

------
glogla
I do find tiling wm without removing the window borders kind of ... well not
really useless, but not all that practival.

Especially on OS X, where the hot keys are pretty well standardized and you
can be pretty sure about what Command-Q does, spending all that room on window
borders and few buttons seems so wasteful.

~~~
erifneerg
I completely agree with you. But once I found this interest setup where you'd
map the caps lock key to ctrl/esc and then the ctrl key to cmd+alt+shift+ctrl.
That mapping can act like another modifier key. Aside from some games, I have
yet to find a program that gets in the way of my setup.

<http://stevelosh.com/blog/2012/10/a-modern-space-cadet/>

------
jheimark
I use SizeUp for window management. Not perfect, but for most tasks I've found
it more than good enough.

Will be giving Slate a trial period to see if I like it more.

(sizeup: <http://www.irradiatedsoftware.com/sizeup/>)

------
myared
Since it seems that everyone is posting their favorite flavor, here's mine:
<http://spectacleapp.com/>. Open source and gets you hooked in minutes. I
can't imagine using OS X without it.

~~~
jrdmcgr
+1. I've been using spectacle with great success. I previously tied the demo
for Sizeup, which is a little more polished, but cost $20 at the time. The
only thing that Spectacle is missing is the ability to move windows between
monitors. I recently switched to a single 27", so I haven't been missing this
feature. I'm definitely going to check out Slate — looks cool.

------
jjcm
I've been using Cinch, which does a similar thing (albeit it doesn't have
quarter sized windows) by mimicking the abilities of Aero Snap in windows
(drag to the sides to make it half the screen, drag to the top to make it full
screen).

------
moostapha
Or, if he wants something even closer to xmonad:

<https://github.com/fjolnir/xnomad>

It works really well. Been using it for a while. The only real complaint I
have about it is that it's based on xmonad instead of dwm, so a chosen
unfocused window swaps with the focused window when you change focus instead
of the formerly focused window being pushed to the top of a stack. But for
working as a userspace program on OS X with no real modifications, it's really
nice.

I've tried Slate, Divvy, and at least 5 or 6 others. xnomad is the only one I
like.

------
ndreas
I have used Slate for quite a while to manage my windows, and I think it's
great, especially the snapshoting and layout functionality allowing me to go
easily between an external screen and my laptop's screen.

One of the later versions added support for Javascript configuration which
makes it extremely powerful: <https://github.com/jigish/slate/wiki/JavaScript-
Configs>

~~~
nicholassmith
What made me go 'ooh!' was the single-to-multi-monitor layout support over
anything else, I've looked a few times for something to do that but never came
across Slate.

------
calgaryeng
I have been using Slate since that last post came out on HN (a few months
ago?) and am absolutely loving it.

Combined with binding your caps lock key to "hyper", I have a whole suite of
customized keyboard shortcuts that are super useful!

A recent version of Slate fixed automatically detecting your screen layout, so
whenever I plug/unplug my external monitor it will automatically re-layout my
screens.

------
codex
It looks like this allows setting focus without using the mouse and without
tabbing. That's a great feature just by itself.

------
moe
Sadly, after all these years, ion3 still remains unmatched - on any platform.

Anyone who has used it will agree. Sadly most people haven't.

------
tom_usher
Slate also recently started supporting configs written in JavaScript
(<https://github.com/jigish/slate/wiki/JavaScript-Configs>) which is very
powerful.

------
keikun17
I am currently use optimal layout (with expired trial, but size/tile position
hotkeys still work) and have not used other tiling app since, i'll give this
one a shot.

------
Brajeshwar
And for all the 'not-so-power-users', you can use Spectacle -
<http://spectacleapp.com/> (Free)

~~~
podperson
And if you don't need it to be free, there's Sizeup
<http://www.irradiatedsoftware.com/sizeup/> . Spectacle looks nearly as nice
as Sizeup though.

------
phyalow
Xterm from GNUStep running over X11. All I ever need on OS X.

------
bobx11
I use Moom to do the same thing

