Adium

Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#15341 closed defect (fixed)

Wrong contact list windows position at startup of program on Lion OS

Reported by: magic890 Owned by:
Milestone: Adium 1.5 Component: Adium UI
Version: 1.4.3b1 Severity: major
Keywords: Lion 10.7 Cc:
Patch Status:

Description

Summary

When you start the program on Lion, it display the contact list, always moved in the wrong position of screen.
On Snow Leopard the position was the same of the last time you started Adium.

Steps to reproduce

  1. Open Adium
  2. Move contact list in a position of screen
  3. Close Adium
  4. Reopen Adium
  5. The position isn't the same of last time

Expected results

The position should be the same of the last time you run Adium.

Actual results

The position isn't the same of last time you run Adium.

Change History (27)

comment:1 follow-up: Changed 8 years ago by magic890

I've found a temporary solution.
Lion remember the position of the last windows open by the program.
When you started Adium, Lion put the buddy list in a position of screen by the default, now move the window in the desidered position and close it with Cmd+W, then close the program with Cmd+Q.
Restart Adium, the buddy list should be in the last custom position of screen.

comment:2 in reply to: ↑ 1 Changed 8 years ago by andrew1221

Replying to magic890:

I've found a temporary solution.
Lion remember the position of the last windows open by the program.
When you started Adium, Lion put the buddy list in a position of screen by the default, now move the window in the desidered position and close it with Cmd+W, then close the program with Cmd+Q.
Restart Adium, the buddy list should be in the last custom position of screen.

That works, but it seems like you have to remember to do it every time you shutdown Adium, which is annoying.

comment:3 Changed 8 years ago by Beetle

This may be related to #15337.

comment:4 Changed 8 years ago by Robby

  • Keywords Lion 10.7 added; window position contact list removed

comment:5 Changed 8 years ago by pks

Ticket #15417 has been marked as a duplicate of this ticket.

comment:6 Changed 8 years ago by surak

This is even more annoying when you have adium set to appear only when you reach the screen's corner, because lion always tries to move it out of the screen.

comment:7 Changed 8 years ago by wolfy

Quick fix:

Move the Adium window to the desired position.

Navigate to ~/Library/Saved Application State in Finder (you will need to have
Finder set to show hidden files)

Do a Get Info on the com.adiumX.adiumX.savedState folder.

Change the Sharing & Permissions to "No Access" for Everyone.

If you aren't afraid to use Terminal, a quicker fix is to open Terminal, then type:

   chmod 000 ~/Library/Saved\ Application\ State/com.adiumX.adiumX.savedState

*exactly* as shown.

Last edited 8 years ago by wolfy (previous) (diff)

comment:8 Changed 8 years ago by drfrogsplat

As far as I can tell from moving the window around and looking at the file 'windows.plist' in the directory wolfy points to...

  1. The window position(s) being saved in that file is(are) the bottom left corner of the windows (see note at bottom)
  2. Adium's contact window, if set to automatically resize, does so by keeping the top left corner static.

If you have offline users hidden and automatic vertical sizing of the contact list, then, when Adium starts up and all your accounts are offline, the contact list is empty. So it starts quite small, and its position is set by the bottom left corner from last time. As your account(s) connect, the contact list expands downwards maintaining the top left corner position, so it's no longer where it used to be (vertically, at least).

A more specific example:

  • My monitor has a vertical resolution of 1050 pixels
  • My contact list is 150 pixels high when all accounts are offline, and 850 pixels high when a few people are online
  1. I put the contact list at the top left corner of my screen (topleft of window = 0,1050 counting from the bottom left corner of the screen)
  2. I quit Adium. The saved window position is (0,200) for the bottom left corner of the window.
  3. I open Adium. The window reappears with bottom-left corner at (0,200) so top-left corner is at (0,350)
  4. Accounts automatically reconnect, the window expands downwards (and because its larger than the screen, it now moves up to keep it all on screen) putting the top-left corner at (0,850) and bottom-left corner at (0,0).

For automatically resizing windows, it'd make more sense if their saved position was the same point that they keep static when resizing. If possible, the simplest fix would be to make Lion save & restore the window's position based on the top left corner rather than the bottom left... but I have no idea if there's a way to change this behaviour (it seems really strange to me that they wouldn't pick top left, given most automatically resizing windows do so by keeping top left static, especially given historically this was the only way to resize!).

A simpler fix I guess, since Adium is already capable of remembering the position of the contact list (verified by magic890's workaround), would be to always ignore/override the current/saved state of the contact list position on startup.

Note: In Saved Application State/com.adiumX.adiumX.savedState/windows.plist, see the "NSWindowFrame" field for each item for saved window position. I think it's in the format x y x-size y-size (where x is horizontal and the origin is at the bottom left) then screen dimensions follow.

comment:9 Changed 8 years ago by drfrogsplat

Also, continuing from my previous comment, another work-around to stop the contact list moving is to disable vertical resizing.

I'm putting up with a much bigger contact list than necessary until this bug is fixed.

comment:10 Changed 8 years ago by oxoocoffee

I am running 1.5b5 (same thing was noticed on b4) on Lion 10.7.2. My Adium is always placed on the right top corner of the screen. After closing it down and restating it always starts right bottom of the screen. While startup entire Adium is visible but as different accounts are logging in and more uses appear from logged accounts Adium "grows" upward. This worked for me on Lion (I know some say that it does not work) with release version 1.4.x just fine and @ some point it stopped. I switched to 1.5.b3 and from what I remember it did work just fine. I think I noticed this after b4 upgrade but I am not 100% sure. I am 100% sure that it did work for some time after fresh install 1.4.x on lion so it has to be something related to upgrades.

comment:11 Changed 8 years ago by wixardy

Ticket #15424 has been marked as a duplicate of this ticket.

comment:12 Changed 8 years ago by kallekilponen

Any progress on fixing this bug? I was a bit surprised to see 1.4.4 released without a fix.

comment:13 Changed 8 years ago by Robby

  • Milestone set to Adium 1.4.5

comment:14 Changed 8 years ago by Robby

  • Severity changed from normal to major

comment:15 Changed 8 years ago by wixardy

Ticket #15663 has been marked as a duplicate of this ticket.

comment:16 Changed 8 years ago by Frank Dowsett <wixardy@…>

  • Resolution set to fixed
  • Status changed from new to closed

(In 39c300ae1d0c) Disable the contact list windows' restorable property which fixes #15341 and #15480.

comment:17 Changed 8 years ago by wixardy

  • Milestone changed from Adium 1.4.5 to Adium 1.5

comment:18 Changed 8 years ago by gklka

It is not fixed, please reopen this ticket!

See my video of 1.5b9:

http://gk.lka.hu/x/adium_contact_list_bug.mov

comment:19 Changed 8 years ago by Robby

  • Resolution fixed deleted
  • Status changed from closed to new

comment:20 follow-ups: Changed 8 years ago by oxoocoffee

It works in later beta 1.5b9

comment:21 Changed 8 years ago by robotive

Btw, it might look sometimes that it's reopened at correct position, but it's not. It happens when you have enough contacts to fill the screen/contact list from top to bottom. This makes the bug unnoticeable. if there are fewer contacts then you'll probable see it.

And unfortunately this bug is not fixed for me.

comment:22 in reply to: ↑ 20 Changed 8 years ago by paulwilde

Replying to oxoocoffee:

It works in later beta 1.5b9

I suspect you are using a Borderless contact list? As It appears to still be broken for the Regular contact list.

comment:23 in reply to: ↑ 20 Changed 8 years ago by spstanley

Replying to oxoocoffee:

It works in later beta 1.5b9

It does work better, but not quite there: when the contact list is flush with the right side of the screen, the width grows and shrinks as contacts with longer names appear and disappear, and the contact list obediently "hugs" the right edge of the screen. On restart, the list now reappears in the previous position, but initially there are no contacts so it's no longer flush with the right edge. As shorter-named contacts appear, the contact list keeps its distance from the right edge and has to be dragged over to "hug" the right edge once again.

comment:24 Changed 8 years ago by oxoocoffee

this is what I have.
Messages -> Message Style : h4x0r
Apperance -> Color Theme : Decay 2.0
Apperance -> List Layout : Decay 2.0
Apperance -> Window Style : Group Bubbles

You need any other info let m know

comment:25 Changed 8 years ago by gobo

it seemed to have been fixed in 1.5b9, but 1.5rc1 reverts to the older faulty behavior.

comment:26 Changed 8 years ago by Adrian Godoroja <robotive@…>

  • Resolution set to fixed
  • Status changed from new to closed

(In ea26f9795cb9) Fixed contact list wrong position at start-up under Mac OS X Lion. Fix suggested by wixardy. Fixes #15341. Fixes #15480.

comment:27 Changed 8 years ago by Robby

Ticket #15337 has been marked as a duplicate of this ticket.

Note: See TracTickets for help on using tickets.