keyboard2 moved to kdereview

Andriy Rysin arysin at gmail.com
Mon Apr 26 13:40:48 BST 2010


On Apr 26, 2010, at 8:31, "Anne-Marie Mahfouf" <annemarie.mahfouf at free.fr 
 > wrote:

> On Monday 26 April 2010 04:18:11 Andriy Rysin wrote:
>> Hi all
>>
>> I've moved new keyboard control module in kdereview under keyboard2  
>> name.
>>
>> keyboard2 is new project to replace keyboard (kcmmisc) and kxkb  
>> modules to
>> manage keyboard hardware configuration and layouts.
>>
>> The project provides: kded daemon, plasma applet, layout widget for
>> embedding and new kcm configuration module.
>>
>> Keyboard daemon:
>> * configures keyboard layouts on start
>> * provides DBUS API "org.kde.KXKB/kxkb"
>> * listens to window/desktop switching if layout switch mode is not  
>> global
>> * listens to new keyboard devices and reinitializes keyboard layouts
>> * listens to Global KDE Shortcut to switch layouts (and listens to  
>> their
>> change)
>> * listens to keyboard configuration change
>> * provides systray icon to show layout
>>
>> Keyboard applet:
>> * displays current layout with text and (optionally flag)
>>
>> Layout widget:
>> * displays current layout with text (currently no flag or tooltip)  
>> embedded
>> in another widget
>> * dynamically loaded as a plugin
>>
>> KCM Module:
>> * allows to configure keyboard hardware, layouts and xkb options  
>> (advanced)
>> in one module
>>
>> Advantages (over old code):
>> * One UI module to configure keyboard layouts and hardware
>> * Allows to configure keyboard model/xkb options without configuring
>> layouts * Less cluttered layout configuration control (add layout is
>> separate) * Layout control/DBus interface is separate from the  
>> indicator
>> * Does not require libxklavier (parses rules xml directly with QtXml)
>> * Takes country/language names/translations from iso-codes project
>> * Information about current layouts is always taken from X server, so
>> should be more robust
>> * Cleaner code (rewritten from scratch)
>> * Due to many points above should start faster (though no benchmarks
>> performed)
>>
>> New features:
>> * Allow selection of keyboard layout by language
>>
>> More info is in the README and TODO.
>>
>>
>> The UI is a bit rough around the edges (need to work on UI layout  
>> in KCM,
>> possibly merge text with flag in the layouts table, some better  
>> drawing of
>> text in the icon etc) and code could be a bit improved (some  
>> optimization
>> like text-drawn pixmap caching and smarter library linking) but all
>> features should be working.
>>
>> I did not like the way the text was drawn over the flag before but  
>> could
>> not find a better way yet, so in the systray icon for now it's  
>> either flag
>> or text. This is a bit different and I am not sure I like it yet :)  
>> so if
>> people like the old way better it'll be fairly easy to revert it  
>> back (and
>> of course people who don't want flags would not care :) ). Also for
>> drawing the text I need to find a way to leave the taskbar  
>> background (but
>> this was also the problem before).
>>
>> If you're willing to try, you'll have to check out keyboard2 into
>> kdebase/workspace/kcontrol and apply the cmake patch attached
>> (keyboard2_cmakefile.patch). You may need to remove old kxkb and  
>> kcmmisc
>> kcms so they don't interfere though. Also the second patch is for  
>> krunner's
>> lockdlg if you want to try that one too.
>>
>> I tried to preserve the translation messages from the old modules  
>> as much
>> as I could and even provided Messages.sh but did not do much  
>> testing in
>> this area. Not sure what the best way to decrease the amount  
>> translators
>> have to redo so any help is appreciated.
>>
>> Also I ran it via krazy so should be fairly clean in this regards.
>>
>> I was carving out some time by bits and pieces and was doing this  
>> rewrite
>> for half a year now so I am hoping to get some (hopefully positive)
>> feedback
>>
>> :), so comments and suggestions are very welcome
>>
>> Thanks,
>> Andriy
> I can't build it. First it does not find
> #include <config-workspace.h>
>
> then when I removed this include it says
> /usr/local/trunk-src/kdereview/keyboard2/xkb_rules.cpp:131: erreur:  
> ‘XLIBDIR’
> was not declared in this scope
>
> Any hints?

I've never tried a standalone build - you'll have to move keyboard2  
dir into existing kdelibs/workspace/kcontrol and apply the first patch  
(for kcontrol cmake files) from my previous email

Hope this helps
Andriy



More information about the kde-core-devel mailing list