Working method for focusing widgets in panels and keyboard navigation for Tasks applet

Marco Martin notmart at gmail.com
Mon Aug 24 13:25:48 CEST 2009


On Monday 24 August 2009, Aaron J. Seigo wrote:
> On Saturday 22 August 2009, Emdek wrote:
> > And KWin method will work on other platforms?
>
> yes, other window managers allow dock windows to get focus.
>
> > By the way, in fact we use KWin in this method, but not directly. ;-)
>
> what would be good is to have both a keyboard shortcut for the user to
> access (which would go into kwin) and a way for widgets to request this
> same focus on click; the tasks widget (and in fact _most_ widgets) do not
> want such behaviour, but some do.
>
> so this is really two problems in one:
>
> * keyboard shortcut to get focus to a dock window (aka panel)
>
> * way for a widget to advertise that it should receive keyboard focus when
> clicked and have PanelView grab focus in that case

neglecting for a while how actually give focus to the panel, api-wise on 
plasma side could work as this:
Applet::addFocusWidget(QGraphicsWidget *)
it's usedto add widgets that are supposed to request focus when clicked, 
thinking about it maybe we want addFocusWidgets(QList<QGraphicsWidget *>)

for each one of those widgets applet adds and eventfilter (ugh!) monitoring 
the focusin events, in this case emits a signal that gets forwarded up to the 
containment up to the view and in this case the view will get focus

hmm, maybe still a bit twisted, can still be smoothed a little bit

> > But keyboard shortcut to focus whole Plasma (give it possibility to
> > switch between applets and containments using standard tab and other)
> > would be best probably (but still needs my code, or similar solution).
>
> just like alt-tab for windows, ctrl+tab (or whatever) would work for
> multiple panels.


-- 
Marco Martin


More information about the Plasma-devel mailing list