PDA

View Full Version : Resizing improvements


big_gie
November 3rd, 2007, 05:59 PM
Hi,
I have 2 suggestions.

1) Resizing to fixed size
I have a big screen, and want to "maximized" my windows so then take half of the screen, allowing me to have to windows side by side. The only way to do this right now is either manually, or to use the tile plugin and tile vertically with only 2 windows open.
http://forum.compiz-fusion.org/showthread.php?p=35316

2) New Resize mode "Liquid Resize"
I'm using the "Stretch" resize mode because I don't really like wobbly for resizing and also because others don't react fluently on my laptop. But the stretch resizing may look silly if the text/images gets to much distorded. So maybe a new resizing mode based on the "liquid rescale" algorithm would be really interesting. This algorithm allows resizing without stretching artifacts. More info avaible here:
http://www.thegedanken.com/retarget/
http://liquidrescale.wikidot.com/en:examples
Look at the examples/screencast. They are amazing :)

Deciare
November 3rd, 2007, 09:23 PM
Hi!

1) Resizing to fixed size
I have a big screen, and want to "maximized" my windows so then take half of the screen, allowing me to have to windows side by side. The only way to do this right now is either manually, or to use the tile plugin and tile vertically with only 2 windows open.
http://forum.compiz-fusion.org/showthread.php?p=35316
Kristian recently started working on a new plugin called Maximumize (http://forum.compiz-fusion.org/showthread.php?t=5259) that will cause a window to take as much space on the screen as it can without overlapping other windows. Maybe it's a little closer to what you'd like? Even if it isn't you now have 3 ways of doing it instead of just 2. ;)


2) New Resize mode "Liquid Resize"
I'm using the "Stretch" resize mode because I don't really like wobbly for resizing and also because others don't react fluently on my laptop. But the stretch resizing may look silly if the text/images gets to much distorded. So maybe a new resizing mode based on the "liquid rescale" algorithm would be really interesting. This algorithm allows resizing without stretching artifacts. More info avaible here:
http://www.thegedanken.com/retarget/
http://liquidrescale.wikidot.com/en:examples
Look at the examples/screencast. They are amazing :)
Is that efficient? For windows that reflow their content as they're resized (mostly browsers, file managers, and editors with word wrap), retargeting may involve less processing than having the window reflow with every size increment/decrement, but for windows whose contents aren't reflowed (image viewers and editors that don't zoom-to-fit, spreadsheets, configurators like kcontrol), retargeting may potentially be more resource-intensive than allowing the window to resize itself normally.

Without consideration to how it'll actually be used in Compiz, though, I admit that retargeting images as demonstrated in the second video is very impressive. :D

TB2
November 3rd, 2007, 09:26 PM
That's absolutely amazing o.ô But I think that process would be very consuming. It' also said on that page that the picture need pre-processing to be scalable like that and you cant pre-process everything on your display in such a short time scale I guess. And I think for content aware scaling the applications themselves would need to cooperate with the Windows Manager to make it work.

big_gie
November 3rd, 2007, 10:10 PM
With what I understand of compiz right now, only the normal resizing redraw the window content. Maybe the other modes only change the window size when the mouse button is released.

I think this could be my problem with the normal resize. With every pixel changed in the window size, the window seems to redraw. On my machine (well 2 of my machines) this is problematic. I need to wait a couple of seconds before I can see the window being resized... This is why I'm using the stretch resizing mode because the window content is not updated until I release the mouse button.

But with the stretch resizing, the window content will just, well, stretch :P giving some distorted text/images. I saw these web pages and it's really nice :)

I don't know how resource hungry it is though. By preprocessing only the windows which are to be resized, it could prevent preprocessing everything. But then maybe the resizing process won't be fluid anymore because of that.

Deciare
November 3rd, 2007, 11:09 PM
I think this could be my problem with the normal resize. With every pixel changed in the window size, the window seems to redraw.
That's what I meant with the difference between windows that do and don't reflow their content as they resize. With windows that do reflow their content (such that text is rewrapped, images are resized, toolbars are repositioned, etc.) as they're resized, resizing them normally may be more resource-intensive than the retargeting technique demonstrated in the video you linked. But with windows that don't reflow their toolbars, text, and such, there may be more calculations involved in retargeting them than simply letting them do the normal resize.

That doesn't mean it isn't a very interesting technique--I'd love to see it applied to image resizing--but it may end up being even slower for you than a normal resize.