[phpBB Debug] PHP Notice: in file /viewtopic.php on line 981: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead
[phpBB Debug] PHP Notice: in file /viewtopic.php on line 981: getdate(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead
Tynsoe Projects • View topic - Geeklet multi-monitor positioning

Geeklet multi-monitor positioning

Geeklet multi-monitor positioning

Postby CraHan » Sun Sep 26, 2010 10:29 am

Hi,

I think this is by design, but I just wanted to confirm. I'm using a 13" Macbook Pro (1280x800) with Geektool 3.0. When I connect the laptop to an external monitor (1920x1200) this monitor becomes the main screen (with the laptop screen to the right). The issue I'm having is that geeklets I've positioned at the bottom of the laptop screen (without the external monitor being connected) move over to the external monitor at the same Y coordinate. Which results in the geeklets not appearing at the bottom anymore. Since the 0,0 coordinate moves over to the external monitor's top left corner but the geeklet coordinates stay the same this results in geeklets moving between monitors.

What I would like to be able to do is position geeklets on the laptop screen and have them stay there regardless if I connect an external monitor (which becomes the main screen with the OS X menubar) or not. The same for the external monitor: position geeklets there and have them not move to the laptop monitor whenever I disconnect the external monitor. In the end I'd like to have a set of geeklets on the laptop and another set on the external monitor that are fixed to each screen.

I think what I'm looking for is a checkbox that makes a geeklet fixed to whatever monitor it's originally defined on. Thanks for any tips! :)
CraHan
 
Posts: 1
Joined: Sun Sep 26, 2010 9:55 am

Re: Geeklet multi-monitor positioning

Postby JimJones » Thu Sep 30, 2010 5:51 pm

I can confirm that this is currently a limitation of GeekTool. For me, I'm going from a laptop screen of 1440x900 to my external monitor at work which is 2560x1600, which causes quite an ugly result. I think that the easiest solution to the problem would be to allow negative position geometry. This is the approach that is used on several Unix windowing environments.

For example, -400x-300 means that the upper left-hand corner of the geeklet is positioned at 400 pixels from the right of the screen (the current resolution of the screen can be queried) and 300 pixels up from the bottom. Similarly, you could position a geeklet at something like 400x-300 (which means position it from the left and up from the bottom), and so on. And, yeah, these would have to be either manually entered "-" (negative sign) or a separate checkbox for each x and y, since the default behavior of dragging around the geeklet in the positioning mode would want to stay the way it currently is (positive numbers measured from the upper-left-hand corner of the display).

But, yeah, this is a feature request that I'd like to chime in for, as well. There is already an "issue" for it in the bug tracking system, but it does not appear on the roadmap for any of the upcoming releases (at least, last time I checked). Seems like it wouldn't be too difficult to implement, but I am not familiar with the code. Maybe something about GT's design causes this to be a complicated feature to include (?).
JimJones
 
Posts: 1
Joined: Thu Sep 30, 2010 5:35 pm

Re: Geeklet multi-monitor positioning

Postby ybizeul » Mon Oct 04, 2010 8:26 pm

Relative, and absolute window positioning in multiple (and changing) monitor environment *is* a nightmare. At least for me, but I like your idea, I'll think about it.
ybizeul
Site Admin
 
Posts: 133
Joined: Fri Jan 22, 2010 4:34 pm

Re: Geeklet multi-monitor positioning

Postby Monkey » Sun Jan 09, 2011 10:03 pm

I've made two different "Groups" : internal and external. Then, I've made the right positioning for each one of them. Perfect !

When I connect my external display I select "external" group and leave internal deselected. When I disconnect the display I change the config. This is working fine, but it's not so confortable... Is there a way to do that change (group change) automatically, like with Automator or even with GeekTool ?

Thanks,

M
Monkey
 
Posts: 3
Joined: Sun Jan 09, 2011 9:53 pm

Re: Geeklet multi-monitor positioning

Postby DrJJWMac » Tue Jan 25, 2011 1:51 pm

I vote for this too please. I jump among at least two different second monitors (home and work) with my laptop, and I have now taken to positioning my prime messages at the 50x50 position because at least this keeps them always on screen. My preference would be to have them at 50x50 relative from the screen right bottom.

Perhaps this could be done via a 2x2 button matrix similar to the 3x3 used to place the status window relative to a coordinate position (although admittedly I do not know whether this also goes offscreen for corners vs center at different monitors). Alternatively, perhaps a shell script can get the active monitor size and reposition the Geeklet windows correspondingly. Finally, the suggestion of having two different configurations within GeekTools sounds nice -- only again I'd want it to run automated at each screen connect (maybe someone has such a script???).

For me, this is all for a first time connection BTW (ie, auto reconfigure at computer start up). I realize, repositioning Geeklets when screens are changed "on-the-fly" (without a computer power off in between) may be a tougher nut to crack.

============
Follow-up ...

As a thought that stuck me after I hit submit, if GeekTools has access to the screen size (width, height) at start up, another option would be to change the positioning inputs for Geeklet windows to percentage of total screen. Inputs 50, 50 would become 50% x 50% rather than 50 pixels x 50 pixels for example. I've used this trick to position windows consistently regardless of current monitor size in other packages that can get access to screen sizes.

Thanks!
DrJJWMac
 
Posts: 1
Joined: Tue Jan 25, 2011 1:18 pm

Re: Geeklet multi-monitor positioning

Postby Monkey » Tue Jan 25, 2011 2:19 pm

I'd found a good solution ! Using two groups in GeekTool as I've said before and MarcoPolo http://www.symonds.id.au/marcopolo/ with AppleScripts.

Here is a step-by-step :
1. Create two groups in GeekTool (internal and external, for exemple) and place the geeks in the right place for each one.
2. Create an AppleScripts to change GeekTool groups as follows, save it as "internal", for example :
Code: Select all
tell application "GeekTool"
   set laptop to group "Desktop laptop" % the name of [b]internal[/b] display group
   set lcd to group "Desktop LCD" % the name of [b]external[/b] display group
   set visible of laptop to true % activate the group for internal display
   set visible of lcd to false % deactivate the group for external display
end tell

3. Create another AppleScripts to change GeekTool groups as follows, save it as "external", for example :
Code: Select all
tell application "GeekTool"
   set laptop to group "Desktop laptop" % the name of [b]internal[/b] display group
   set lcd to group "Desktop LCD" % the name of [b]external[/b] display group
   set visible of laptop to false % deactivate the group for internal display
   set visible of lcd to true % deactivate the group for external display
end tell

4. Install Marco Polo using the link above
5. Inside Marco Polo, create a Context for your external display. I've name mine as LG display!
6. Create a Monitor rule in the rules tab of Marco Polo associated to you external monitor and 100% of confidence
7. Create an Open action in Actions tab of Marco Polo and when as "on departure" and select the script above
8. do the same thing but when as "on arrival" for the other script
9.Enjoy your "automatically" group changing when connecting and disconnecting you display !
Monkey
 
Posts: 3
Joined: Sun Jan 09, 2011 9:53 pm


Return to GeekTool

Who is online

Users browsing this forum: No registered users and 1 guest

cron