Review Request: PopupApplet: bad aspect ratio behavior

2008-10-17 Thread Alessandro Diaferia

---
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.vidsolbach.de/r/223/
---

Review request for Plasma and Aaron Seigo.


Summary
---

Hey Aaron, i had a good night since i think i understood correctly what you 
meant. Is the patch ok now? :) (For those who don't know, the patch avoids a 
bad behavior of popupapplet: it ignored the aspectratio set in the ctor after 
calling setPopupIcon.).


Diffs
-

  trunk/KDE/kdebase/workspace/libs/plasma/popupapplet.cpp

Diff: http://reviewboard.vidsolbach.de/r/223/diff


Testing
---

Works pretty well.. Of course i'll remove the white space on line 79 if ok to 
commit... :)


Thanks,

Alessandro

___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: Device notifier restyle

2008-10-17 Thread Alexis Ménard
Me of course.

2008/10/17 Aaron J. Seigo [EMAIL PROTECTED]

 On Friday 17 October 2008, Alessandro Diaferia wrote:
  1 - Move the code to PopupApplet so that we can have a more homogeneus
  behavior with other iconified applets in the panel (e.g. dialog
 resizable);
 
  2 - When no devices are plugged in the list might be prettier (e.g. list
  not visible, only a nice status icon (idle status) and the message of no
  devices detected).

 +1 to both ideas from me ..

 --
 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 Qt Software


 ___
 Plasma-devel mailing list
 Plasma-devel@kde.org
 https://mail.kde.org/mailman/listinfo/plasma-devel


___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: removing unuseful settings

2008-10-17 Thread Alexis Ménard
yes but what about the time that it stay displayed?

2008/10/17 Aaron J. Seigo [EMAIL PROTECTED]

 On Friday 17 October 2008, Davide Bettio wrote:
  Hi,
 
  I think that we should kill dictionary's configuration dialog.

 agreed.

  I think also that we should kill or move elsewhere device notifier's
  settings...

 yes, nothing overly useful there really imho. the size thing could be
 removed
 by simply making the window resizable, for instance ...

 --
 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 Qt Software


 ___
 Plasma-devel mailing list
 Plasma-devel@kde.org
 https://mail.kde.org/mailman/listinfo/plasma-devel


___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: removing unuseful settings

2008-10-17 Thread Aaron J. Seigo
On Friday 17 October 2008, Alexis Ménard wrote:
 yes but what about the time that it stay displayed?

as anyone actually complained about that?

-- 
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 Qt Software



signature.asc
Description: This is a digitally signed message part.
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: Device notifier restyle

2008-10-17 Thread Artur Souza (MoRpHeUz)
2008/10/17 Alessandro Diaferia [EMAIL PROTECTED]:
 1 - Move the code to PopupApplet so that we can have a more homogeneus
 behavior with other iconified applets in the panel (e.g. dialog resizable);

 2 - When no devices are plugged in the list might be prettier (e.g. list not
 visible, only a nice status icon (idle status) and the message of no devices
 detected).

+1

-- 
---
Artur Duque de Souza
OpenBossa Research Labs
INdT - Instituto Nokia de Tecnologia
---
Blog: http://labs.morpheuz.eng.br/blog/
PGP: 0xDBEEAAC3 @ wwwkeys.pgp.net
---
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: Device notifier restyle

2008-10-17 Thread Janz
I agree it depends. I believe a good measure is the purpose user expects
from each widget. There are cases when he waits for just some information
and cases when he always wants any information.

Taskbar is one example of first case (and works exactly like I suggested for
Device Notifier): if there's no app running, there's no track from taskbar
being there and normally user is ok with that, he just expects to notice it
when he starts an app. So, if he he does it and taskbar still shows nothing,
*then* you'll see him looking for taskbar plasmoid.

The opposite case is a NetworkManager: once user has one there he always
wants to know info about the connection, even if the computer is
disconnected (that is, in this case, disconnection is a valuable
information).

I believe Device Notifier is in the first case: user normally expects it to
notify about devices recently plugged in, like its name and its dialog well
say and like it behaves (only popup the dialog when something gets in, never
on getting out). That means, unlike NetworkManager, disconnections are not
relevant and, as so, no devices is not a notification user is normally
interested in. He wants it to notify and give access to stuff that hit in.
-- 
Janz (|´:¬{)»
-
Eu sou a ressurreição e a vida. Quem crê em mim, ainda que morra, viverá; e
todo o que vive e crê em mim não morrerá, eternamente. Crês isto?
O Senhor, Jesus Cristo - Jo.11:25-26
-

2008/10/17 Aaron J. Seigo [EMAIL PROTECTED]

 On Friday 17 October 2008, Janz wrote:
  What do you think?

 i wonder if this would cause people to wonder 'where it went' and try and
 add
 it back? it's not quite the same as notifications ... or maybe it is ..
 *wobbles on the fence*

 --
 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 Qt Software


 ___
 Plasma-devel mailing list
 Plasma-devel@kde.org
 https://mail.kde.org/mailman/listinfo/plasma-devel

___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


reminder: plasma meeting at 15:00 UTC

2008-10-17 Thread Aaron J. Seigo
just to remind everyone, there's a plasma meeting at 15:00 UTC on the Saturday 
the 18th =)

-- 
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 Qt Software



signature.asc
Description: This is a digitally signed message part.
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Idea how to make systray icons work correctly

2008-10-17 Thread Dennis Kasprzyk
Hi,

during the last week I've tried to make systray icons work correcty. Let me 
explain what the real problem is first:

- Systray icons are normal X11 windows that are reparented into systray area of 
the panel.
- They usually have the visual of the creating application in most cases (= 
RGB).
- To have the right background they set their background pixmap to 
ParentRelative. This means that everywhere they don't draw anything the content 
of the parent window (panel) will be used.
 
And this is our problem:
- Plasma has a RGBA visual (transparency in the panel)
- You can't reparent a ParentRelative window to a window with a different visual
- We can't change the ParentRelative flag to out own pixmap / color because 
this makes gtk systray window crash the whole application
- We can put a window (With no ParentRelative background) between the systray 
window and the panel
- But we can't get any transparency
- The systray windows are reparented with the panel window and can't be 
animated with the panel autohide

I've tried the following hack to make it work.
- set the background of the window (wrapper) that sits between the systray 
window and the panel to a given color (pink in my case)
- Used XComposite to redirect the wrapper window into a pixmap. I got a systray 
area with invisible icons but I could click on them
- Used XGetImage to get the content of the redirected systray into plasma
- Converted the Image into a new RGBA image and replaced all pink pixels with 
a full transparent pixel.
- Converted the image into a QPixmap
- Painted the new pixmap into the panel

I've got following results:
- Qt applications had still a broken background (like we see with the current 
systray)
- GTK applications had a transparent systray icon but a dark pink shadow around 
them
Why did it not work correctly:
GTK: They get individual pixels you of the parent window and blend them 
internally to provide fake transparency (pink background + shadow = dark pink).
QT: Does almost the same but it calls QPixmap::grepWindow on itself. For some 
reason this doesn't really read out the parent window content and instead takes 
a screenshot of the area where it thinks the window currently is. (This is 
also why we see broken backgrounds with the current implementation). This also 
means that my icons got never blended with the pink background in my test.

I thought a while how we could fix it correctly, and this is my idea:

1. Extend the current systray spec, and allow a new property 
(_NET_SYSTRAY_ICON) on the systray window that holds the id of a rgba systray 
icon pixmap
2. Use the current systray system that reparents the systray icon window into 
the panel.
3. If the window has the _NET_SYSTRAY_ICON property set:
- Use XComposite to redirect the content of the normal systray icon (The window 
will still be there and get input but won't display anything)
- Use QT/XRender to display the icon pixmap (this should even work with the 
autohide animation if done right)
- Use XDamage on the pixmap to get informed about changes of the pixmap to 
initiate a redraw

The benefits should be pretty clear:
- only a small change of the systray spec that will not break any panel/systray 
implementation
- real RGBA icons that can also be animated with the autohide animation

Thanks
Dennis

___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


Re: reminder: plasma meeting at 15:00 UTC

2008-10-17 Thread Artur Souza (MoRpHeUz)
2008/10/17 Aaron J. Seigo [EMAIL PROTECTED]:
 just to remind everyone, there's a plasma meeting at 15:00 UTC on the Saturday
 the 18th =)

Hey, unfortunately my friend is marrying at the same date and same hour =(
I'll leave konversation running so I can get the log after. I'll be
back at night.

BR,

-- 
---
Artur Duque de Souza
OpenBossa Research Labs
INdT - Instituto Nokia de Tecnologia
---
Blog: http://labs.morpheuz.eng.br/blog/
PGP: 0xDBEEAAC3 @ wwwkeys.pgp.net
---
___
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


screensaver widgets

2008-10-17 Thread Chani
I'm pretty sure I'm not going to be awake for tomorrow morning's meeting, 
so I decided to write up some information instead.

first of all, like I mentioned on my blog, I'm not going to have time to 
implement any features for 4.2 - so if anyone is interested in my tasks on 
the feature plan, please take them. :)

I mentioned the current status of my soc project at the bottom of my last 
blog post: http://chani.wordpress.com/2008/10/17/not-dead-yet/

I'm really interested in code review. as in, I didn't really get any and I 
*know* some of what I wrote is bad.
during soc I added a bunch of stuff to krunner/lock/lockprocess.cc (where 
most of the scaryness is), and created all of plasma/shells/screensaver. 
I also touched the kcm (kcontrol/screensaver/scrnsave.cpp iirc) but that 
module could do with a complete UI review, so I won't care about the little 
bit I added until someone does that. ;)
right now I'm mostly concerned with LockProcess::startPlasma() - it's full of 
weirdness and I know it, but I don't know how to make it better.

now... I'm going to list what still needs doing to really complete screensaver 
widgets, and then dump all the documentation I've written so far. this will 
probably turn into a rather long email. :) it'd be longer if I hadn't lost a 
couple of weeks of this information with my laptop.

===

so, stuff that needs doing that I'm planning to do soon:
-plasma-overlay should tell lockprocess when it's done loading and not show 
its view by default. then lockprocess can either tell it to show or tell it to 
quit, eliminating hte flicker if you dismiss the screensaver before it finishes 
loading plasma.
-Plasma::Dialogs are being tagged the same way as config dialogs, when 
they are supposed to be treated like contextmenus (iirc). something has 
changed here - my funny hacks used to catch all the right windows but they 
don't any more. I could adjust the hacks, or I could make another try at 
finding a real solution. I also need to change the tagging to use proper x 
atomy thingies instead of magic numbers.
-the containment contextmenu should have the quit action
-it'd be nice if I could always get plasma-overlay's winid from the mapnotify 
xevent and eliminate the dbus functions for that. I'm just not sure what to 
do if plasma-overlay is somehow already running
-containment, iirc, is still painting its own black background. I'm hoping 
htat if I get rid of that, the wallpaper plugin will automagically shine 
through. but I'll need someone with composite to help me test to make sure 
I don't break that (it shouldn't, though. should be fine, like the dashboard)
-the containment settings dialog doesn't show. I need to find out why, and 
then merge it with the desktop shell's config to get wallpaper stuff (but *not* 
ctmt swapping).

stuff that needs doing that I probably won't get to for a while:
-there's some silly showevent stuff in the view that would be really easy to 
clean up, and I knew how to do it in.. probably june. but I keep forgetting to 
do it.
-eventually I need to write some stuff, probably in libplasma, to let applets 
know which security constraints are in effect so that they can attempt to 
comply. this goes with the planned security enforcement that hasn't made it 
into appletbrowser yet. aaron, if you can find that piece of paper with the 
appletbrowser stuff, please scan it in so I can have a copy :)
-in the kcm, if you turn on widgets and then hit the setup button before you 
hit apply... well, widgets are still disabled, so you just get a screensaver 
that vanishes when you move the mouse. I'm not sure what *should* 
happen, but I'll probably ignore that until the whole kcm gets some 
attention.


stuff that I don't really know how to solve:
-the tab key no longer works in the applet browser. it works in every other 
part of plasma-overlay, and it works in hte dashboard's appletbrowser, and 
it was fine during akademy, so I have no idea what's going on here.
-I never managed to focus the filter widget when showing the appletbrowser
-I still have to click once on plasma-overlay before keyboard shortcuts start 
working. iirc dashboard has the same issue. it's a tiny little issue I'd like 
to squish if possible.
-plasma-overlay makes no attempt to handle multiple screens, although a lot 
of the code relating to it is simply commented out (I should probably delete 
that so that if anyone decides to tackle this they go look at the desktop 
shell instead of the bitrotting commented code).

...I feel like there should be more than that. :) maybe there are things I 
lost and forgot, maybe I really am that close to being done.

===

as for documentation it took me a while to understand how the 
screensaver system fits together. I'll have to redraw my diagram sometime. 
for now, I have a pile of unfinished notes I was working on; it'd be good to 
actually have them backed up this time