Visor on Lion broken on iTerm2 1.0.0.20111020

76 views
Skip to first unread message

Ho-Sheng Hsiao

unread,
Nov 3, 2011, 4:37:58 PM11/3/11
to iterm2-discuss

I have filed a issue at:

http://code.google.com/p/iterm2/issues/detail?id=1573&q=visor

and

http://code.google.com/p/iterm2/issues/detail?id=1570&q=visor

Essentially, the enhancements made to the 20111020 build makes Visor
completely unusable. If the Visor switches spaces when it activates
and deactivates, that defeats the entire purpose of it. The expected
behavior is:

GIVEN a properly configured Visor with transparent background
AND iterm2 window opened on Desktop 1
WHEN I switch to Desktop 2
AND I hit the Visor hotkey
THEN I should see the Visor drop down in Desktop 2
AND I should not switch desktops
AND I should see my work in Desktop 2 coming through the transparent
background

Do you guys still the build right before 1.0.0.20111020? If you don't,
can you guys give me the SHA1 hash or tag number for the previous
build? This defect aggravates me enough that I'm willing to compile it
on my own box just so I can avoid this serious Visor defect in the
latest beta build.

Thanks.

-Hosh

Ho-Sheng Hsiao

unread,
Nov 3, 2011, 5:01:47 PM11/3/11
to iterm2-discuss

Question:

Was this commit intended to fix this (did I jump the gun on reporting
the bug?):

https://github.com/gnachman/iTerm2/commit/bb591945973c7977237cb91706ac2fabde00e8ee

-Hosh

George Nachman

unread,
Nov 3, 2011, 5:09:50 PM11/3/11
to iterm2-...@googlegroups.com
Hi Ho-Sheng,

I think it's a configuration issue. Using your plist, the Visor
profile is bound to Space #1. Change it to All Spaces in
prefs->profiles->window->space. Let me know if that doesn't fix it.

-g

Ho-Sheng Hsiao

unread,
Nov 3, 2011, 5:27:32 PM11/3/11
to iterm2-discuss

It's not a configuration issue. I've tested it to All Desktops and it
still exhibits this problem. Remember: I am on Lion. There's no such
thing as spaces in Lion.

As I mentioned in the issue, even if setting it to All Desktop made
this work, it does not solve the fundamental issue. What makes Visor
powerful is that it drops down on whatever work you are using right
now, regardless of whether the original app is bound to a space or
not. You're not going _to_ Visor, Visor _comes_ to you.

I'm seriously thinking that perhaps this should be a separate app.
There's enough people who want to use Visor, but it doesn't look like
the iTerm2 team actually uses it so it is difficult to convey what
"Visor" is supposed to do.

Split up in this way, iTerm2 can do all the things people want to do.
I'm sure the code would be cleaner too. I'm not sure many people use
Visor with split screens, or profiles, or whatever since the point is
having a terminal available from anywhere. I can bind iTerm2 to a
space, and let "VisorTerm" (or whatever) roam free.

-Hosh
> >https://github.com/gnachman/iTerm2/commit/bb591945973c7977237cb91706a...
>
> > -Hosh

George Nachman

unread,
Nov 3, 2011, 5:40:06 PM11/3/11
to iterm2-...@googlegroups.com
On Thu, Nov 3, 2011 at 2:27 PM, Ho-Sheng Hsiao <hoshen...@gmail.com> wrote:
>
> It's not a configuration issue. I've tested it to All Desktops and it
> still exhibits this problem. Remember: I am on Lion. There's no such
> thing as spaces in Lion.

yes, but Control-n (where n is a digit 1-9) switches to the n'th
desktop, and that's what we do for the Space setting.

> As I mentioned in the issue, even if setting it to All Desktop made
> this work, it does not solve the fundamental issue. What makes Visor
> powerful is that it drops down on whatever work you are using right
> now, regardless of whether the original app is bound to a space or
> not. You're not going _to_ Visor, Visor _comes_ to you.

It should work right as long as there isn't a fullscreen app--I can't
see how to open a window over another app's fullscreen window. If it
doesn't, that's a bug. I'll look closer when I get home and have a
Lion machine.

> I'm seriously thinking that perhaps this should be a separate app.
> There's enough people who want to use Visor, but it doesn't look like
> the iTerm2 team actually uses it so it is difficult to convey what
> "Visor" is supposed to do.

There is a feature request out for that. But the devil's in the details.

> Split up in this way, iTerm2 can do all the things people want to do.
> I'm sure the code would be cleaner too. I'm not sure many people use
> Visor with split screens, or profiles, or whatever since the point is
> having a terminal available from anywhere. I can bind iTerm2 to a
> space, and let "VisorTerm" (or whatever) roam free.
>

My head would explode if I had to maintain two separate code bases or
have big chunks of code exist conditionally. The challenge is
splitting this into two apps without doubling the amount of work that
I have to do :)

If it's two apps, we have to somehow manage coordinating preferences
between them. There are various things that don't make any sense to do
in visor mode, like opening a new non-visor window. While it would be
nice to delegate such actions to the non-visor app, it gets really
complicated (what about actions whose availability depends on the
state of the app?).

Steve King

unread,
Nov 4, 2011, 10:42:16 AM11/4/11
to iterm2-...@googlegroups.com
On 2011-11-03 17:27, Ho-Sheng Hsiao wrote:
> It's not a configuration issue.

Just a counterpoint: It works as expected here. When I hit the visor
hotkey the visor opens on my current desktop, regardless of which
desktop I'm on. (Except for full-screen apps, of course!) I use iTerm2
primarily for the visor feature, so if it was broken I'd be the first in
line to complain about it.

iTerm2 Build 1.0.0.20111020
Mac OS X Lion 10.7.2 (11C74)

My configuration so you can compare with yours:

defaults read com.googlecode.iterm2: http://pastebin.com/uCDM8KRQ
defaults read com.apple.spaces: http://pastebin.com/fKdH75hL

(Yes, even in Lion the prefs domain is still 'com.apple.spaces', not
anything having to do with Mission Control.)

--
Steve King
Sr. Software Engineer
Arbor Networks
+1 734 821 1461
www.arbornetworks.com <http://www.arbornetworks.com/>


Ho-Sheng Hsiao

unread,
Nov 4, 2011, 12:20:03 PM11/4/11
to iterm2-...@googlegroups.com

I don't know what you did. Do I have to make a video of my setup to prove it?

And I *do* want to use it for fullscreen apps, at least with fullscreen iTerm2. But at this point, I'd settle for expected behavior on non-fullscreen apps.

-Hosh

Ho-Sheng Hsiao

unread,
Nov 4, 2011, 12:40:40 PM11/4/11
to iterm2-...@googlegroups.com

Update. I tried more tests on 1.0.0.20111020 since I'm assuming that Steve King has a properly configured setup.

Test #1
(1) Hold-click on iTerm2 -> Options -> All Desktops
(2) Move around to other spaces
(3) iTerm2 does not actually follow around
(4) Quit iTerm2
(5) Go to different desktop
(6) Restart iTerm2
(7) iTerm2 starts up in Desktop 1 (where it was originally bound)

So something is sticking.

I don't know what I did, but eventually it started displaying All Desktop behaviors. It would follow me whereever I go, and Visor will drop down properly. (This is *not* what I want, since I want iTerm2 in Desktop 1 or in Full Screen mode and visor dropping down anywhere I am at without pulling in any of the other iTerm2 windows).

Test #2

(continuing from Test #1)
(1) While iTerm2 is in space 2, Hold-click on iTerm2 -> Options -> None
(2) Move to space 3
(3) iTerm2 does not follow me.
(4) Hit hotkey
(5) iTerm2 switches to space 2 and drops down

Test #3
(continuing from Test #2)
(1) Quit iTerm2
(2) Move to space 3
(3) Start iTerm2
(4) iTerm2 switches back to Space 1

Weird, not what I expected

Test #4
(continuing from Test #3)
(1) Open System Preferences -> Mission Control
(2) Unchecked "When switching to application, switch to a space with open windows for application"
(3) Hit visor hotkey. Visor does not drop down (or maybe it drops down in background)
(4) Hit visor hotkey. Visor looks like it rolls up in background
(5) Hit visor hoykey. Visor switches spaces and drops down.

Test #5
(continuing from Test #4)
(1) Quit iTerm2 (on desktop 1)
(2) Move to Desktop 3
(3) Start iTerm2
(4) iTerm2 still starts up in Desktop 1

Ok, so looks like something's seriously wrong with Spaces/Desktop. You guys have any ideas on what might be broken or how to fix it? Do I have to hunt down the uuid in the spaces plist and edit that directly?

Steve King

unread,
Nov 4, 2011, 12:39:13 PM11/4/11
to iterm2-...@googlegroups.com
On 2011-11-04 12:20, Ho-Sheng Hsiao wrote:
> I don't know what you did. Do I have to make a video of my setup to
> prove it?

I didn't do anything, that's my point. As much as I loathe the phrase,
it applies here: It Just Works. On my system, anyway.

There's no need to prove that you're having a problem, I completely
believe you. I merely offer the configuration from a working system for
comparison. Look at the differences between my system and yours, and
the solution may be obvious. Or it may not. It's worth looking, though.

You've posted your iTerm2 config in the bug report. If you don't mind
posting your Spaces/Mission Control config somewhere as well I'll take a
look to see if anything jumps out at me.

Just trying to help out a fellow iTerm2 user.

Ho-Sheng Hsiao

unread,
Nov 4, 2011, 12:45:31 PM11/4/11
to iterm2-...@googlegroups.com
On Fri, Nov 4, 2011 at 12:39 PM, Steve King <sk...@arbor.net> wrote:
You've posted your iTerm2 config in the bug report.  If you don't mind posting your Spaces/Mission Control config somewhere as well I'll take a look to see if anything jumps out at me.

Huh. Weird. I thought all plist are XML files. How did you extract the plaintext?

-Hosh 

Ho-Sheng Hsiao

unread,
Nov 4, 2011, 12:58:18 PM11/4/11
to iterm2-...@googlegroups.com

Ok found it. https://gist.github.com/d8c6e20ac5abd567847a

This was after I did those tests and unbound iterm2 to a space. The last state of the test, opening up iterm2 still pops it into space 1.

On Fri, Nov 4, 2011 at 12:39 PM, Steve King <sk...@arbor.net> wrote:

George Nachman

unread,
Nov 4, 2011, 1:41:14 PM11/4/11
to iterm2-...@googlegroups.com
> Huh. Weird. I thought all plist are XML files. How did you extract the
> plaintext?

They can be either, but to convert a binary to xml you do this (while
nothing that might overwrite it with a binary version is running):
plutil -convert xml1 com.googlecode.iterm2.plist

You should also try the plist that Steve posted here, since we know it
works right for him: http://pastebin.com/uCDM8KRQ

(copy the text into ~/Library/Preferences/com.googlecode.iterm2.plist)

Steve King

unread,
Nov 4, 2011, 5:07:15 PM11/4/11
to iterm2-...@googlegroups.com
On 2011-11-04 13:41, George Nachman wrote:
> They can be either, but to convert a binary to xml you do this (while
> nothing that might overwrite it with a binary version is running):
> plutil -convert xml1 com.googlecode.iterm2.plist

Actually, I did "defaults read com.googlecode.iterm2".

Ho-Sheng Hsiao

unread,
Nov 4, 2011, 5:08:42 PM11/4/11
to iterm2-...@googlegroups.com

Neat. Learn something new every day.

-Hosh
Reply all
Reply to author
Forward
0 new messages