From: Janek K. <jan...@wp...> - 2007-06-28 13:46:00
|
Hi, There was a discussion about pagers on sawfish mailing list. And I realized, that everytime I download a new pager I'm making a small change in the source. Perhaps you could add an option for that? So in latest pager 1.1.0 in the function static void work_out_size(..) I modify the value of aspect ratio. I comment out the calculations, and write a hardcoded value: // aspect = ((double) gdk_screen_width() / // (double) gdk_screen_height() * (double) n_screens) / // (double) n_rows.int_value / (double) n_rows.int_value; aspect = 4.0; I am using xinerama, two screens 1600x1200, which gives total 3200x1200. And the above formula results in apparently correct aspect ratio (2.667). But later it is displayed wrong on the screen. I suspect that it's because the size of each viewport on the pager is afterwards resized by exactly 2 pixels in both directions (it should be resized respecting the aspect ratio, so, for example 1 pixel vertically and 3 pixels horizontally). And finally the pager's aspect ratio is wrong. So to fix this problem I am setting WRONG aspect ratio, which after this resizing by few pixels, results in correct aspect ratio. You should be able to reproduce this error on single monitor by setting huge virtual desktop size. in /etc/X11/xorg.conf in Section "Screen", SubSection "Display", write: Virtual 2500 1024 So, please can you add an option in rox pager, that allows to change the pager's aspect ratio? It will autodetect first, but later will allow to modify it by the user. Heh, another useful thing would be to allow dragging windows inside a pager within a single viewport. Currently only moving windows between desktops works. -- Janek Kozicki | |
From: Tony H. <h...@re...> - 2007-06-28 15:30:58
|
In <20070628154321.67d2d1bf@szpak>, Janek Kozicki wrote: > // aspect = ((double) gdk_screen_width() / > // (double) gdk_screen_height() * (double) n_screens) / > // (double) n_rows.int_value / (double) n_rows.int_value; > aspect = 4.0; > > I am using xinerama, two screens 1600x1200, which gives total > 3200x1200. And the above formula results in apparently correct aspect > ratio (2.667). But later it is displayed wrong on the screen. > I suspect that it's because the size of each viewport on the pager is > afterwards resized by exactly 2 pixels in both directions (it should > be resized respecting the aspect ratio, so, for example 1 pixel > vertically and 3 pixels horizontally). And finally the pager's > aspect ratio is wrong. When you say it resizes each viewport by 2 pixels, does it reduce them rather than enlarge them? If we know it's going to do that we can factor it in to the above calculation. But only if it's consistent. Does it vary with theme for example? -- TH * http://www.realh.co.uk |
From: Janek K. <jan...@wp...> - 2007-06-28 16:02:28
|
Tony Houghton said: (by the date of Thu, 28 Jun 2007 17:26:09 +0100) > When you say it resizes each viewport by 2 pixels, does it reduce them > rather than enlarge them? If we know it's going to do that we can factor > it in to the above calculation. But only if it's consistent. Does it > vary with theme for example? To be honest I'm not sure. That's the problem - the first time when I started solving this problem I tried to measure this by making screenshots, zooming in gimp and checking the distance in pixels. I think it is enlarging. But I was unable to find a place in the code where the enlargement is done. It must be not in pager C code, but somewhere inside GTK2 itself. I have no way to tell if its theme dependent. That's why I think that simplest is to allow the user to adjust the aspect ratio. Instead of trying to debug this. In fact debugging will take much more time than adding an option. Much time spent and little gain. Currently pager has just one option "Number of rows". Simply add a second option "Aspect ratio correction" and problem solved. -- Janek Kozicki | |
From: Janek K. <jan...@wp...> - 2007-07-17 14:15:58
|
Janek Kozicki said: (by the date of Thu, 28 Jun 2007 17:59:56 +0200) > That's why I think that simplest is to allow the user to adjust the > aspect ratio. Instead of trying to debug this. In fact debugging will > take much more time than adding an option. Much time spent and little gain. > > Currently pager has just one option "Number of rows". > Simply add a second option "Aspect ratio correction" and problem solved. Hi, any progress on this? Would you accept a patch if I send one? Just asking :-) -- Janek Kozicki | |
From: Tony H. <h...@re...> - 2007-07-17 15:03:03
|
In <200...@a3...>, Janek Kozicki wrote: > Janek Kozicki said: (by the date of Thu, 28 Jun 2007 17:59:56 +0200) > > > That's why I think that simplest is to allow the user to adjust the > > aspect ratio. Instead of trying to debug this. In fact debugging will > > take much more time than adding an option. Much time spent and little gain. > > > > Currently pager has just one option "Number of rows". > > Simply add a second option "Aspect ratio correction" and problem solved. > > Hi, any progress on this? Would you accept a patch if I send one? I did reply but it seems to have expired into my "Old" folder. My suggestion was that instead of making the user enter the aspect ratio it should be possible to work out how many pixels libwnck adds and factor that in to the existing calculations. -- TH * http://www.realh.co.uk |
From: Janek K. <jan...@wp...> - 2007-07-17 15:09:54
|
Tony Houghton said: (by the date of Tue, 17 Jul 2007 16:02:54 +0100) > I did reply but it seems to have expired into my "Old" folder. My > suggestion was that instead of making the user enter the aspect ratio it > should be possible to work out how many pixels libwnck adds and factor > that in to the existing calculations. oh, so it's libwnck, then? I didn't know that. Well, I know nothing about internals of libwnck :) Unless someone is capable of finding this number of pixels from libwnck code, isn't it easier to make it user configurable? -- Janek Kozicki | |
From: Tony H. <h...@re...> - 2007-07-17 19:48:22
|
In <200...@a3...>, Janek Kozicki wrote: > Tony Houghton said: (by the date of Tue, 17 Jul 2007 16:02:54 +0100) > > > I did reply but it seems to have expired into my "Old" folder. My > > suggestion was that instead of making the user enter the aspect ratio it > > should be possible to work out how many pixels libwnck adds and factor > > that in to the existing calculations. > > oh, so it's libwnck, then? I didn't know that. Well, I know nothing > about internals of libwnck :) The calculation is in Pager. > Unless someone is capable of finding this number of pixels from libwnck > code, isn't it easier to make it user configurable? I suppose I could look at the code to see if the number is predictable. -- TH * http://www.realh.co.uk |
From: Thomas L. <ta...@gm...> - 2007-07-17 17:09:17
|
On 7/17/07, Janek Kozicki <jan...@wp...> wrote: > Janek Kozicki said: (by the date of Thu, 28 Jun 2007 17:59:56 +0200) > > Simply add a second option "Aspect ratio correction" and problem solved. > > Hi, any progress on this? Would you accept a patch if I send one? This really needs to be fixed in libwnck. It's fairly small: ftp://ftp.gnome.org/pub/GNOME/sources/libwnck It could just be that we're using an old version. Has anyone tested it with the latest release? -- Dr Thomas Leonard http://rox.sourceforge.net GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1 |
From: Tony H. <h...@re...> - 2007-07-17 19:51:08
|
In <cd5...@ma...>, Thomas Leonard wrote: > On 7/17/07, Janek Kozicki <jan...@wp...> wrote: > > Janek Kozicki said: (by the date of Thu, 28 Jun 2007 17:59:56 +0200) > > > > Simply add a second option "Aspect ratio correction" and problem solved. > > > > Hi, any progress on this? Would you accept a patch if I send one? > > This really needs to be fixed in libwnck. I'm not sure if it is a bug as such in libwnck. It could be that it adds a gap between each workspace and a border around the whole lot, 1 pixel each. If so it should be possible to fix Pager for that. I'll have a look later. -- TH * http://www.realh.co.uk |
From: Tony H. <h...@re...> - 2007-07-18 18:33:27
|
In <200...@a3...>, Janek Kozicki wrote: > Tony Houghton said: (by the date of Tue, 17 Jul 2007 16:02:54 +0100) > > > I did reply but it seems to have expired into my "Old" folder. My > > suggestion was that instead of making the user enter the aspect ratio it > > should be possible to work out how many pixels libwnck adds and factor > > that in to the existing calculations. > > oh, so it's libwnck, then? I didn't know that. Well, I know nothing > about internals of libwnck :) > > Unless someone is capable of finding this number of pixels from libwnck > code, isn't it easier to make it user configurable? Please see if it looks better with the latest svn version. I've tweaked the code, assuming the dividers between workspaces are 1 pixel wide. You might also try revision 5105. At first I decided to remove the parent frame because the pager can have its own shadow. r5105 does this, assuming the widget has borders 1 pixel wide. But then I thought the border width might depend on theme so it would be safer to reinstate the parent frame to give it a shadow, set the pager's shadow type to none and assume the pager has no borders. This is r5106, my latest commit so far. I haven't looked at libwnck's code because it would probably take me ages to fathom out. I looked at the Gnome workspace switcher code instead, but that didn't help because the Gnome panel has a fixed size so you can leave libwnck wo its own devices for sizing. If you try that with the Rox panel it does that growing out of control thing. -- TH * http://www.realh.co.uk |
From: Janek K. <jan...@wp...> - 2007-07-19 11:13:15
|
(sending again, because the picture in the attachmnet couldn't get through) Tony Houghton said: (by the date of Wed, 18 Jul 2007 19:33:00 +0100) > You might also try revision 5105. At first I decided to remove the > parent frame because the pager can have its own shadow. r5105 does this, > assuming the widget has borders 1 pixel wide. Thanks I tried both 5105 and 5106. They give a very similar result. I have 24 viewports arranged in 6 x 4. My dualhead screen resolution is 3200x1200. So the total (unscaled!) pager size would be: 6*3200 x 4*1200 = 19200 x 4800 So pager aspect ratio should be: 19200/4800 = 4.0 Pager aspect ratio in svn-5105 is 515/48 = 10.7 Pager aspect ratio in svn-5106 is 497/50 = 9.94 Moreover, my single viewport has aspect ratio 3200/1200=2.667 In svn-5105 it is 85/11 = 7.72 In svn-5106 it is 81/11 = 7.36 Look at cropped screenshot of 5106 on http://geo.hmg.inpg.fr/~janek/rox-pager.png. It is a mix of two screenshots with 50% transparency, so you can see TWO viewports, one above another. I did this because I wanted to see if there is maybe a 1-pixel distance between viewpoerts. Fortunetaly there isn't. I think that 5106 is better, because it doesn't waste one pixel line above and below the pager (it's 2 pixels higher!). But the aspect ratios are still wrong :( But, you can debug it yourself too! Two methods: 1. Using vnc: run server, then launch client: vnc4server :1 -depth 24 -geometry 3200x1200 xvnc4viewer localhost:1 2. restarting xorg very often, you edit /etc/X11/xorg.conf: Section "Screen" Identifier "Default Screen" . . . SubSection "Display" Virtual 3200 1200 Depth 24 Modes "1600x1200" "1280x1024" "1024x768" EndSubSection Will make a huge virtual desktop. many thanks for your help! :-) -- Janek Kozicki -- Janek Kozicki | |
From: Tony H. <h...@re...> - 2007-07-20 15:00:30
|
In <200...@a3...>, Janek Kozicki wrote: > (sending again, because the picture in the attachmnet couldn't get through) > > Tony Houghton said: (by the date of Wed, 18 Jul 2007 19:33:00 +0100) > > > You might also try revision 5105. At first I decided to remove the > > parent frame because the pager can have its own shadow. r5105 does this, > > assuming the widget has borders 1 pixel wide. > > Thanks I tried both 5105 and 5106. They give a very similar result. [Aspect ratio horribly wrong] I think I've worked out the cause of your problem; are you using beryl or compiz? Some versions, eg the versions in Ubuntu Feisty, seem to interact with libwnck's idea of virtual screens, workspaces etc in a different way, but the versions I'm running in Debian don't. However, things still seem to go wrong when using Pager to drag windows between workspaces, even with the Gnome workspace switcher, so that's not my fault ;-). By checking libwnck's code, which I should have done in the first place, I think I've managed to fix it by removing an incorrect workaround for wnck_screen_get_workspace_count() returning 1 and by reading the screen aspect ratio from WnckWorkspace 0 instead of from GDK. -- TH * http://www.realh.co.uk |
From: Tony H. <h...@re...> - 2007-07-20 23:11:39
|
In <200...@a3...>, Janek Kozicki wrote: > I think that 5106 is better, because it doesn't waste one pixel line > above and below the pager (it's 2 pixels higher!). But the aspect > ratios are still wrong :( Do you mean 5105? 5105 is the one that doesn't take up extra pixels with a frame widget. I think I just about prefer it without the frame but I'm not 100% sure and I kept the frame because that's the way it was before. What do others think? -- TH * http://www.realh.co.uk |
From: Janek K. <jan...@wp...> - 2007-07-25 13:23:54
|
Tony Houghton said: (by the date of Sat, 21 Jul 2007 00:11:33 +0100) Hi, sorry for late reply I just moved back to my home country (Poland). I did full rsync ~/ when going back. I have debian etch installed here and I had debian etch in France. So the configuration should be very similar. > I think I've worked out the cause of your problem; are you using beryl > or compiz? no. I'm using only rox+sawfish in xorg. No beryl or compiz. However I have configured sawfish to use viewports, which is uncommon, most people prefer workspaces. > Do you mean 5105? 5105 is the one that doesn't take up extra pixels with > a frame widget. I think I just about prefer it without the frame but I'm > not 100% sure and I kept the frame because that's the way it was before. > What do others think? I'm almost sure that 5106 had 2 pixels higher Pager. But I am unable to check this now. Even though my computers in France and in Poland are very similar (up to the point that both have 1600x1200 in dualhead, resulting in 3200x1200 screen estate) I cannot compile here Pager from svn-5105, svn-5106, svn-5107 and svn-5108. I got a following message: Compiling /home/janek/usr/share/ROX/ROXapp/ZZZ/Pager-5105... please wait... creating cache ./config.cache checking that pkg-config runs... yes checking that libwnck-1.0 (version >= 0.14) is installed... yes /home/janek/usr/share/ROX/ROXapp/ZZZ/Pager-5105/src/configure: line 569: syntax error near unexpected token `2,' /home/janek/usr/share/ROX/ROXapp/ZZZ/Pager-5105/src/configure: line 569: `ROX_CLIB_0LAUNCH(2, 1, 7)' Compile failed Press Return... -- Janek Kozicki | |
From: Janek K. <jan...@wp...> - 2007-07-25 14:44:51
|
Janek Kozicki said: (by the date of Wed, 25 Jul 2007 15:23:47 +0200) > I cannot compile > here Pager from svn-5105, svn-5106, svn-5107 and svn-5108. I forgot to mention that Pager release 1.1.0 compiles just fine. Something in the build system changed, so that: - compilation on fresh etch install worked - compilation on sarge that dist-upgraded to etch doesn't work. That's my current machine - I prefer to dist-upgrade than to install etch from scratch. I'm sure that it must be some package missing, or with different version installed (automake has several versions available in etch). But I am unable to compare with my computer in france. I wish I could test Pager from svn. And I'm really sorry for causing you even more trouble. -- Janek Kozicki | |
From: Stephen W. <st...@ke...> - 2007-07-25 17:24:15
|
Janek Kozicki <jan...@wp...> wrote: > I'm almost sure that 5106 had 2 pixels higher Pager. But I am unable > to check this now. Even though my computers in France and in Poland > are very similar (up to the point that both have 1600x1200 in > dualhead, resulting in 3200x1200 screen estate) I cannot compile > here Pager from svn-5105, svn-5106, svn-5107 and svn-5108. > > I got a following message: > > Compiling /home/janek/usr/share/ROX/ROXapp/ZZZ/Pager-5105... please wait... > creating cache ./config.cache > checking that pkg-config runs... yes > checking that libwnck-1.0 (version >= 0.14) is installed... yes > /home/janek/usr/share/ROX/ROXapp/ZZZ/Pager-5105/src/configure: line 569: syntax error near unexpected token `2,' > /home/janek/usr/share/ROX/ROXapp/ZZZ/Pager-5105/src/configure: line 569: `ROX_CLIB_0LAUNCH(2, 1, 7)' > Compile failed > Press Return... Try removing Pager/src/configure and re-running Pager/AppRun --compile -- Stephen Watson http://www.kerofin.demon.co.uk/ If you read this on a mailing list, send any reply back to the list and not to me. Not even CC. Forget the shooty dog thing. |
From: Tony H. <h...@re...> - 2007-07-25 17:25:37
|
In <20070725152347.1747847f@absurd>, Janek Kozicki wrote: > I got a following message: > > Compiling /home/janek/usr/share/ROX/ROXapp/ZZZ/Pager-5105... please wait... > creating cache ./config.cache > checking that pkg-config runs... yes > checking that libwnck-1.0 (version >= 0.14) is installed... yes > /home/janek/usr/share/ROX/ROXapp/ZZZ/Pager-5105/src/configure: line 569: syntax error near unexpected token `2,' > /home/janek/usr/share/ROX/ROXapp/ZZZ/Pager-5105/src/configure: line 569: `ROX_CLIB_0LAUNCH(2, 1, 7)' > Compile failed The string ROX_CLIB_0LAUNCH shouldn't get into configure; it's an m4 function that should be expanded by autoconf. It's defined in src/rox-clib.m4 which is included by aclocal. I've deleted it and checked it out again to make sure nothing is missing in the svn, and it works for me with autoconf 2.61 and aclocal 1.9.6. It identifies itself as aclocal (GNU automake) 1.9.6 so I guess it's part of the automake package. Pager doesn't use automake otherwise. -- TH * http://www.realh.co.uk |
From: Janek K. <jan...@wp...> - 2007-07-25 20:24:54
|
Thanks for your help. I have the same debian package versions as you. But after two hours I gave up in searching what's wrong with my etch system. I even tried reinstalling all packages related to autoconf and automake. The 'L' command in aptitude on Depends, Recommends. Finnaly I found following solution: copy those lines that don't expand from Pager-1.1.0/src/configure to Pager-5108/src/configure and then I can compile Pager from svn. See: http://geo.hmg.inpg.fr/~janek/rox-pager.png 5108 has almost correct aspect ratio = 3.64 should be 4.0 :) As a reminder: 6 times 4 viewports 3200x1200 each of them, makes aspect ratio 19200/4800 = 4.0 Ooops I just realized that I was measuring aspect ratio including the outer frame. Without it it's 176/44=4.0 - perfect !! So it means that my height measurements of 5105 were also badly measured... So you are probbaly right that 5106 is less high than 5105. But we are losing 6 pixels (44 versus 50) in vertical direction. Can you make that frame smaller? It would be nice to have a "bigger" pager using the same rox panel height. -- Janek Kozicki | |
From: Janek K. <jan...@wp...> - 2007-07-26 19:40:52
|
Tony Houghton said: (by the date of Wed, 25 Jul 2007 18:14:19 +0100) > it works for me with autoconf 2.61 and aclocal 1.9.6. It identifies itself > as aclocal (GNU automake) 1.9.6 so I guess it's part of the automake > package. Pager doesn't use automake otherwise. Hello, I've found the source of my problem. I had packages you mention above installed. But also I had following packages installed (perhaps they remained here from sarge): autoconf2.13 automake1.4 After I removed those two, compilation works again. It clearly means that there is some version conflict, and wrong autoconf was called. You could add some kind of version check to configure script. I've found this by accident, whe I did 'sudo apt-get build-dep sawfish' and those two packages were automatically removed. -- Janek Kozicki | |