Issue 9
4th June 2006 by Danny AllenThis Week...
With an effective implementation (such as the one KDE has had for the last 6 years), the holy grail of desktop integration is brought much closer. This fact, however, leads directly to the reason for the replacement of DCOP by D-BUS. The free desktop is now complemented by viable applications that are not based on the KDE platform, and the use of DCOP prevented full integration with those programs. Thiago Macieira, a leading driver of the switch, elaborates:
D-BUS also allows us to better talk to our own system: projects like HAL and Avahi are already being used by many Linux distributions to let normal applications get access to some privileged resources. In time, I also hope the Portland Project to come around and use D-BUS for its IPC needs, thus freeing us from using a special library with its own protocol to do what D-BUS already does.
The aKademy 2006 conference team is calling for contributors to present their work and vision to the KDE community. This year's conference takes place at Trinity College, Dublin, Republic of Ireland, from September 23rd to September 30th. All presentations will be held during the "KDE Contributors Conference" event on September 23rd and 24th.
Topics of interest include, but are not limited to:
- KDE 4 architecture and vision.
- Desktop related hardware and software technologies.
- Innovative human-machine interface design.
- Cool programming tools, patterns and techniques.
- Applications written for the K Desktop Environment.
- Advancements in l10n and i18n.
- Quality Assurance in Open Source projects.
- Legal, social, philosophical or promotional matters related to KDE.
- Desktop software standards, usability and accessibility.
- Performance analysis and improvements.
The way color management ensures that colors look the same on both (and indeed every) monitor is through the use of profiles. It's possible to measure the profile of a monitor. So the color management software just has to tweak the rgb triplets so that the visual effect is the same.
- expanded number of backends to four: hyperestraier, clucene, sqlite and xapian. hyperestraier is recommended because of it's speed and small index.
- moved in svn to /trunk/playground/base/kitten so check out with:
svn co svn://anonsvn.kde.org/home/kde/trunk/playground/base/kitten - added support for choosing the backend at runtime.
- abstracted the Query object to simplify querying over different backends.
Statistics
Commits | 2284 by 203 developers, 5465 lines modified, 2596 new files |
Open Bugs | 12578 |
Open Wishes | 11002 |
Bugs Opened | 345 in the last 7 days |
Bugs Closed | 253 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/www |
386
|
/trunk/KDE |
338
|
/branches/work |
333
|
/trunk/extragear |
255
|
/trunk/l10n |
189
|
/trunk/playground |
180
|
/trunk/koffice |
154
|
/branches/stable |
126
|
/branches/KDE |
63
|
/branches/koffice |
61
|
Lines | Developer | Commits |
297
|
Laurent Montel |
132
|
151
|
David Faure |
63
|
115
|
Dirk Mueller |
59
|
138
|
Matthias Kretz |
58
|
60
|
Ludovic Grossard |
57
|
124
|
Gilles Caulier |
50
|
104
|
Pino Toscano |
46
|
109
|
Thiago Macieira |
44
|
113
|
Stephan Kulow |
42
|
124
|
George Staikos |
41
|
Internationalization (i18n) Status
Language | Percentage Complete |
Danish (da) |
100%
|
Swedish (sv) |
99.99%
|
Portuguese (pt) |
99.99%
|
Spanish (es) |
96.22%
|
Italian (it) |
94.68%
|
Dutch (nl) |
94.61%
|
French (fr) |
94.26%
|
Greek (el) |
93.71%
|
Estonian (et) |
92.54%
|
British English (en_GB) |
90.67%
|
Bug Killers and Buzz
Person | Bugs Closed |
Chris Howells |
49
|
Thiago Macieira |
21
|
Mark Kretschmann |
21
|
Sebastian Trueg |
20
|
Tom Albers |
19
|
Joris Guisson |
13
|
Jaison Lee |
10
|
Aaron J. Seigo |
8
|
Gilles Caulier |
8
|
Luboš Luňák |
7
|
Program | Buzz |
amaroK |
3136
|
Kopete |
1273
|
K3B |
864
|
Kate |
837
|
KMail |
809
|
SuperKaramba |
642
|
KDevelop |
598
|
Kontact |
578
|
Kicker |
514
|
Quanta |
397
|
Person | Buzz |
zogje |
336
|
George Staikos |
312
|
boud |
296
|
Aaron J. Seigo |
293
|
David Faure |
280
|
cornelius |
276
|
Anne-Marie Mahfouf |
275
|
JohnFlux |
266
|
riddell |
258
|
Stephan Kulow |
257
|
Contents
Bug Fixes | Features | Optimization | Security | Other | |
---|---|---|---|---|---|
Accessibility | |||||
Development Tools | [] | [] | |||
Educational | [] | ||||
Graphics | [] | [] | |||
KDE Base | [] | [] | [] | [] | |
KDE-PIM | [] | ||||
Office | [] | [] | [] | ||
Konqueror | |||||
Multimedia | [] | [] | |||
Networking Tools | [] | [] | [] | ||
User Interface | [] | ||||
Utilities | [] | [] | [] | [] | |
Games | [] | ||||
Other |
There are 96 selections this week
Bug Fixes
Development Tools
Here's what happens when you start using code that had never been used
before: it doesn't work.
Don't clear the list of watchers, or we'll never get any messages in
D-BUS.
Also, move the QDBusConnectionPrivate::timerEvent into the
qdbusintegrator.cpp file and make a queued call to doDispatch after
sending a message (we may have got something to read).
no more code-completion within comments!
Also fix a problem with slotTextHint() where the slot was not disconnected correctly, and the text-hint got slower and slower because slotTextHint was called increasingly often for each
hint.
Graphics
Keep (if possible) the selected page really selected in the thumbnail view when toggling a search.
BUG: 122788
with this i can get the first page of valgrind PS manual to display
no more pages are generated, and crashes on closing, but something is something :-D
avoid to consider pages like foo.html and foo.html#bar as different, as actualy they are the same page, just with a different ref. this way we avoid to load many pages repeated (depending on the hyperlinks in the document)
KDE Base
Add evil hackery to avoid deadlocks in connection.
In theory seeking in kio-file "works" now, but not in nice way.
Fix load rgb.txt for xorg 7.0
(xorg developper moved it )
It seems that KTabCtl is buggy, and that QTabWidget does the same work,
and is more RTL compatible. Solution: KTabCtl out -> QTabWidget in.
This closes bug number 118319
BUG: 118319
Office
Multimedia
If no route to HTTP stream is found, don't give wrong error message.
Load VideoDVD default seperately ignoring multisession settings to ensure it is always NONE.
This should finally fix VideoDVD creation for good.
If player is re-sent play() when already playing, don't append a track, as it's not moving one to history.
Networking Tools
Greatly simplified packet sending code, should get rid of uploads being corrupted when there is a limit
Utilities
Point 1.1 usability report.timing:
- resize kintnuminput to minimum possible
- align the associated labels to the righ.dcop:
- make label break automatically according to the width, this was causing the wide display..popup:
- make label break automatically according to the width, this was causing the small text in the wide display.
Usability work on the setuppopup page.
- brought the checkbox closer to the label
- reduced the text of the label
- a bit more space between the options
Finished issue 2.1 from the report.
extensive fixes to achieve UTF-8 compliance
Comment doesn't work correctly due to a bug in gpg,
compare output of:
gpg --list-secret-keys
and
gpg --list-secret-keys --with-colon
where the comment contains a UTF-8 string
Everything else seems to display and pass utf8 strings
back to gpg correctly
Features
Development Tools
0.7.0:
- WARNING: the protocol is not compatible with earlier versions,
old clients will refuse to connect, so update the full farm
- protocol reworked to no longer require a client->scheduler
connection (the daemon will proxy it all)
- all local jobs are now scheduled by the local daemon to make
sure multiprocessor machines are handling as many jobs as they have
jobs configured (# processors). They used to be "scheduled" by lock
file
- fixed grave bug that removed all daemon environments when the
cache
grew over limit
- new telnet interface command: internals to output daemon
states
- stricter error handling to avoid suprises
- SIGHUP to daemon and scheduler will reopen the log file to
allow logrotate
- a restart of the daemon and scheduler won't flush the log
file, but append
to it
- create-env will create .tar.gz now - the client allows
environments to be
.tar, .tar.bz2 and .tar.gz
Educational
Implementing multiple map projections!
You now have a choice in how the sky map is projected:
Lambert Azimuthal Equal-area (this is the one we've been using)
Azimuthal Equidistant (similar to Lambert)
Orthographic (like viewing a globe)
Stereographic
Gnomonic (great circles are straight lines)You can choose the projection in the View menu, or with the F5-F10 keys
TO get a feel for the differences, try zooming out to see the whole
projection and then switch between them.
WARNING: I renamed "getXY()" to "toScreen()" and "dXdYToRaDec()" to
"fromScreen()" to better reflect their complementary neature. However,
I haven't yet changed fromScreen() to deal with the multiple map
projections, so things like mouse events won't work properly unless you
are using Lambert.
TODO: the Projection submenu items need to be radio-style items.
I also fixed a bug that caused a crash when opening the Configuration
window. However, there are still problems with that window (after all,
this is the first time we've seen it in 4.x!)
Graphics
Now TOC is a simple widget, with the treewiget inside.
Added a search lineedit (and a clear button) to search into the document toc. Implements KPDF's wish #99349.
digikam from trunk : Comments & Tags patch from Mikolaj Machowski about to add keyboard shorcuts
Adding the shift plugin as discussed on the mailing list today. It can shift forward/to the left (positive shift values) and backwards/to the right (negative shift values), and truncates the extra points so that the resulting vector has the same size as the input vector. Missing values are padded with NaNs, which achieves a nice effect: the curves really look like they are shifted (while padding with zeroes could be confusing in many cases). Finally, as suggested by Barth, the plugin is a filter, which means it can be called directly from a plot via the RMB/Filter menu. Simple, but cool :-)
Add basic hyperlink support to the PDF plugin.
KDE Base
Initial version of kdeui-pagewidget branch.
KPageWidget is aimed to be the successor of KJanusWidget
BUG:103679
Add system uptime to ksysguardd's sensors
initial import for SoC project KJSdb
The Phonon of Search
This patch adds support for two additional storage and query backends.
One is already functional, the other is a placeholder at the moment.
Functional the HyperEstaier backend. This is very fast and low-level,
but remarably easy to add. The query language is different from what
we're currently using and a query translater should be added later.
The second backend is Xapian. It's present in the build system, it
compiles, but that's it for the moment.
KDE-PIM
Add notification manager (for now it's just a dummy DBus service that
regularly emits a changed signal).
This adds a hard dependency on DBus, ie. you wont be able to compile
kdepim without the latest kdesupport/qt-dbus (that would have happened
on next monday anyway).
Office
Now we can really use dark background colours/images: User can specify the colours for Axis Line, and for Axis Zero Line now.
The biggest symbolview change ever !!!
- Renewed symbols, added many new symbols and new categories
- The symbols are now in a QToolBox, to make the GUI more clearly arranged
- added tooltips for the icons
- added SHIFT / CTRL modifiers for inserting commands
- the commands are now added to the png-Comments, making the big code array unnecessary
- new scheme for creating the pngs, see testfile.tex for an example how to do it
- the gesymb.{cpp,h} will perhaps be moved to a class in kile, to be used as a tool
- the left sidebar now shows the icons and the text (changed by me without asking before, can be easily reverted)
- metapostview moved to KListBox from QListBox
- new icons for the QToolBox and others
Make the selectionDecorator work better by painting nicer graphics
and showing the (mostly) correct cursors. It actually looks pretty now ;)
Multimedia
experimental: try putting context & playlist in tabbed widget right to the browsers
less experimental: kmail-like layout with context on top of the playlist
Commit initial progress to native last.fm stream integration in amarok.
doesn't do anything, so don't try.
Move clear undo/redo above playlist, looks better, needs stretch between playlist filter.
Discussion on svntalk encouraged!
Always put imported playlists from collections scanning into a special subfolder "Imported". Note: The folder will not get populated until you have removed your old playlists.
With the tree view, there's no need to prepend the type of the script to the name any longer.
commit work on ScanController
porting to QProcess in order to make it (a) simpler, and (b) functional
unfortunately, the latter isn't true yet, though I can't tell why
collection scanning works!
Support Smil's <ref> mediatype, for now pretend it's audio/video. Should
check mime if image or text type (finally the split node/runtime does
pay off)
Support Smil head's <meta> for 'base' urls and 'title' info
Reapply the changes that the polish code had suffered while it was moved to the constructor. It means the default dynamic playlists are back
Networking Tools
A new (quick and fast) icon for "yahoo stealthed", to replace the ugly existing one. I hope Andred'll like it ;)
* Adopt standard KDE system tray mechanic (remove option to skip taskbar entirely
as it's incompatible with Minimize, Alt+Tab and Toggle Show Desktop).
* Move "Automatically insert remember line after minimizing main window" into the
corrent preferences page (Behavior->Chat Window rather than Behavior->General).
* Update rough changelog.
* Bump build number.
User Interface
adding files needed for theme creation
new icons(nuno@oxygen-icons.org)
Utilities
Multiple entries can now be selected in the bookshelf.
Still needs some modifications; but it's there and working.
Expand the api to better handle multiple batteries
It's about time I implemented this: allow selecting which ingredient properties to
display.
This can be done via Data->Properties and checking/unchecking the tickbox next to a
property.
It is important to note that properties to show are stored in the user configuration
file, and NOT the database. This means users can select which properties without
affecting other users who are potentially sharing the same database (i.e. a remote
database).
Optimization
KDE Base
konsole speedup patches part 1: the trivial stuff:
- reduce redundant memory allocations by factor 2
Utilities
- early gui like in manager and installer (the last one, finally)
- reinstate style guide fixes by chowells (were reverted for 2.0 due
to string freeze)
- allow the user to skip the "apt-get update" phase if they like
-Speed up startup by utilizing a cache of the category hierarchy. Loading subcategories is expensive, so at
startup
a cache is initialized and every interface element that loads the category tree transparently takes advantage of
this cache.
-Allow displaying the overall rating of a recipe
-When moving a category, fix memory leak
Other
KDE Base
Start porting libkonq to D-BUS and stop.
I cannot port kdebase until the next kdelibs snapshot, because of the
KService changes.
Stopping here for a week.
Since no objections were raised in kde-core-devel, I am merging the
kdelibs4-dbus branch back into trunk. KDELibs compiles, links and
installs with this, but obviously all other modules will fail to
build. Let the porting commence.
kde.org
Complement the D-BUS merge: remove DCOP
Office
Now all kpresenter filter compiles/links
(need now to test it)
Now koffice was ported to kde4/qt4 (not kexi yet) now we can work for koffice-2.0
First steps towards a flake based canvas... aka Kivio goes flakey ;)
It was a nice idea to toy with, but as its not being maintained lets remove it from trunk.
Prepare for
a) replacement of KoPoint / KoRect with the new Qt variants
b) replacement of KWFormulaFrameSet and KWTextFrameSet with the flake
equivalents
c) various commands (move rotate etc) to be replaced with the flake
equivalents
Alter the KWFrame to extend KoShape and adjust (read disable) code that
stops compiling due to that.
Question of the day: how do you know kword dcop interface is not used
very much?
A) because I never received a bugreport about the typo in the
'set*BorderWitdh' methods
Networking Tools
Give a better structure to the network activation/passphrase dialog
code. Reduce coupling, separate the backend from the ui some more, and
stop passing pointers around wildly.
Now the NetworkManagerInfo signals that it needs a passphrase with
passphraseNeeded, which is connected by the applet to the tray. The
tray launches the AcquirePassphraseDialog, which signals back to the
NMInfo when it is accepted or dismissed. The connections are managed by
the tray and the applet. Instead of creating/passing new Networks, the
networks' hal paths are used as handles for signalling, and Networks are
updated directly on the store.
NewWirelessNetwork dialog still passes Network pointers as these are new objects. They will be handled properly in an upcoming commit.
Encryption objects are created on demand by the new widget structure and
should be deleted along with their Network. The new widgets no longer
update Network and Encryption on user input, but only on dialog slotOk,
for simpler code.
Utilities
Games
Futher porting of kgoldrunner to KAction:
replaced calls to (kde3's) KToolBar::insertButton() with kactions
and removed functions which simulated exclusive action group's behaviour.
KGoldRunner compiles now. And even runs :).
But none of its toolbars is shown.
I'll continue digging in Monday :).
Maybe I'll learn how to use xmlgui till then.