xrandr

Aaron J. Seigo aseigo at kde.org
Sun Jun 8 23:00:31 CEST 2008


On Sunday 08 June 2008, Marco Martin wrote:
> stretch only when the panel is 100%
> if the user sets the panel to be shorter don't stretch it (apart from
> fitting to the resolution)
> if the panel became 100 because the res is decreased (but it wasn't) when
> it will grow again it's not stretched,

this is a simple solution, but one that leaves a lot to be desired.

consider if i have 3 different resolutions i run at, in decending order: laptop 
LCD (R0), external monitor (R1) and LCD projector (R2) for when i do 
presentations. this is a real world example, btw.

if i have it as 80% on R0, it will become 100% on R1 which is mor elike 60% on 
R0. when i switch back to R0, i want it to be 80% not 60%.

it's even worse when i start switching around between R0, R1 and R2. no, i 
think we need to store the preferred sizes for each resolution we come across. 
if there is no set size for the panel for a given resolution, then we 
calculate on "best guess" which will go something like this:

if offset + size < screen size => do nothing
if size <= screen size => keep size, modify offset so it fits
if size > screen size => set offset to 0, size to screen size

the user may then modify the size as they wish from there.

this is, btw, more of less what kdialog does when saving its sizes: it stores 
them per resolution. why? same reasons we want to do it here.

i see there is a desire not to do this, probably because it's more complex. so 
.. i'll whip something up here and post a patch.

the only remaining question i currently have is what to do when the user 
manually adjusts the size in one resolution when we have stored positions in 
other resolutions: do we reset the settings in the other resolutions, or leave 
them be? for now, i'm going to leave them be (so you can have per-resolution 
settings) and see how that feels.

> but this only for the current
> session (makes sense because if the res was decreased days ago and i
> enlarge it again probably i won't care how it was at that time)

so ... you made it a certain size on the resolution because that was the size 
you wanted it on that resolution, and when you switch back you no longer want 
it that size? doubtful. you probably want it the same size you had it last 
time.

this sounds like trying to justify and easy solution ;)

> on a side note, now changing the location of the panel is totally borked

it works here. define "borked" 

(please explain how things are broken when stating something is; it's an 
annoying habit of people to just say "it's broken" =)

i'm seeing a crash in the battery applet when moving it vertically due to an 
assert, but that's a bug in battery which i've fixed now.

> (two days ago it worked) the only thing that would have caused that what
> could be, the pinchcontainment moving?

pinchContainment keeps it within the size of the screen side it is on. i can't 
see how that would create any real problems that weren't already there. it may 
have exposed some issues, but i highly doubt it's created new ones =)

> btw, i think changing the panel location between horizontal and vertical
> should have the same behaviour

yes.

-- 
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Trolltech

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 194 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/panel-devel/attachments/20080608/e8e3fb7b/attachment.pgp 


More information about the Panel-devel mailing list