≡

wincent.dev

  • Products
  • Blog
  • Wiki
  • Issues
You are viewing an historical archive of past issues. Please report new issues to the appropriate project issue tracker on GitHub.
Home » Issues » Feature request #196

Feature request #196: REQUEST: Optional Dock-independent positioning of Floater

Kind feature request
Product Synergy
When Created 2005-04-20T07:32:23Z, updated 2006-07-05T02:05:10Z
Status open
Reporter William Hall
Tags no tags

Description

Problem: the floater location chnages based on toggling Dock hiding. This causes the lower portion of the floater, including the rating stars, to be off-screen.

Steps to reproduce: 1) Make sure dock hiding is off. 2) Situate the floater at bottom right. 3) Turn on dock hiding. 4) Cause the floater to be displayed.

If I turn dock hiding off, the floater correctly displays again.

Comments

  1. Greg Hurrell 2005-04-20T08:38:05Z

    I can't reproduce this bug.

    The Floater respects the position of the Dock (ie. when it calculates the "visible screen area" it excludes the Dock). If you move the Dock, the visible screen area changes, and the Floater position changes. If you move it back, the area changes back and the Floater moves back. At no point does the Floater move of screen.

    On which edge of the screen is your Dock? Mine is on the bottom and no amount of hiding or unhiding the Dock can make the Floater move off screen.

  2. William Hall 2005-04-20T10:37:57Z

    It's definitely reproducible on my machine. If you can suggest a software-based way to record a movie of the display, I'll do so. For now I've tried ordered screenshots.

    My dock is bottom-oriented on the left-hand of two displays. The floater is bottom-right of the left- hand display. I took screenshots with and without dock hiding. Page 1 of each is the left-hand display, and page 2 is the right-hand display. They'll also give you an idea of the size of my dock.

    Without hiding: http://analogkid.net/Picture1.pdf

    And the only change to the next picture is to toggle dock-hiding via right-click interface on the dock, then re-display the floater: http://analogkid.net/Picture2.pdf

    I think the problem stems from my setting the floater position with dock-hiding off such that the bottom of the floater is below the top edge of the dock. Starting from scratch, here is me setting the floater position with dock hiding off. The floater is completely on-screen. http://analogkid.net/Picture3.pdf

    I then display the floater, and it's still fully on-screen. http://analogkid.net/Picture4.pdf

    But if I turn on dock hiding and show the floater again it is off-screen. http://analogkid.net/Picture5.pdf

    None of this is inconsistent with these statements of yours - this all matches the behavior that I see:

    The Floater respects the position of the Dock (ie. when it calculates the "visible screen area" it excludes the Dock). If you move the Dock, the visible screen area changes, and the Floater position changes. If you move it back, the area changes back and the Floater moves back.

    Except this one of course, which is contrary to the description of the bug.

    At no point does the Floater move off screen.

    Can you reproduce by setting the floater with dock-hiding on as I have in screenshot #3?

    I should expect that in addition to moving along with the dock as it grows/shrinks in size or moves up/ down due to hiding, that the floater would never move such that it's bottom edge was off-screen.

  3. William Hall 2005-04-20T13:30:54Z

    This happens on my powerbook at home, single-display, same sort of position for the floater (lower edge below the top of Dock, bottom right anchored, Dock on bottom). That rules out dual-display at least.

  4. Greg Hurrell 2005-04-20T18:57:55Z

    Ok, thanks for posting the screenshots. Now I know what's happening.

    This is consistent with what I described above. As I said, when it calculates the "visible screen area" it excludes the Dock. To be more precise, it uses the visibleFrame method in Cocoa's NSScreen class. According to this method, the place where you have the Floater is actually outside of the visible screen area (because the bottom of the floater is below the top edge of the Dock, which is what defines the border of the visible screen area for Cocoa; the "visible screen area" is a rectangle, and the blank spaces on either side of the Dock are not part of it). So when you later hide the dock, the visibleFrame changes (gets a bit bigger) and the Floater moves to maintain its old position, which is several pixels below the visible screen area.

    There is no way to fix this "bug" and have Synergy continue to respect the position of the Dock. There are no methods in Cocoa for determining how tall the Dock is or how wide (nor in Carbon or any other API as far as I know). Basically the APIs assume that if you ask for the visible frame rectangle then you will not put things in the space on either size of the Dock. It's a "no go" zone.

    The only way to resolve the issue would be to ignore the Dock entirely when calculating the screen size (using the frame method instead of the visibleFrame method). This is a shame because many people position the Floater above the Dock and if I make the change then they will consider the new behaviour to be a bug (people will see this who have a Dock that occupies the entire width of their screen; as they add and remove items it will grow and shrink, and the Synergy Floater should adjust itself along the way).

    So I am going to leave this bug report open for a while and will wait for comments before making a decision about how to handle it.

  5. Greg Hurrell 2005-08-01T01:02:47Z

    See this forum posting:

    https://wincent.dev/a/support/forums/showflat.php?Number=806

    Another user would like Dock-independent positioning of the Floater. Sounds like there is enough interest in implementing this to make it worthwhile (ie. as an option, not as a default behaviour).

  6. Greg Hurrell 2005-08-01T01:05:01Z

    Changing the summary and flagging this as an enhancement request.

  7. Greg Hurrell 2006-07-05T02:05:10Z

    Changing assignment to reflect my new email address.

    https://wincent.dev/a/news/archives/2006/05/change_of_email.php

Add a comment

Comments are now closed for this issue.

  • contact
  • legal

Menu

  • Blog
  • Wiki
  • Issues
  • Snippets