Issue 106
13th April 2008 by Danny AllenThis Week...
Argument from the Oxygen people in this case is that there is not really a titlebar but rather that the decoration is meant to be seen as a part of the window and that as such it follows the right colors (e.g. comments #1, #36). I basically find it that they value their artistic design higher than actual practical usability, which I find rather unacceptable for the default decoration, together with some other assumptions - comment #1, shadows (i.e. compositing) is assumed, currently unrealistic due to technical reasons; comment #40, users not liking it are expected to switch to a different style, while in practice many users don't change defaults.
Bug #152030 was about two things for most of the discussion, namely 1) Oxygen (not) following the configured colors for titlebar, 2) poor visibility of which window is the active one, simply because 1) seemed like a trivial (at least temporary solution) for 2). When, after quite some time, it eventually became obvious to me that Oxygen people were strongly opposed to 1) in any way, I split off 2) as Bug #160117 to let these two be solved separately. For 1), when it was mentioned in the discussion that Oxygen should be rather forked and not branched as Oxygen than a patch for making the titlebar colorable would be accepted for it (e.g. comments #57, #65), I eventually saw no other realistic solution for now and decided to go that way (comment #70).
Which means that "Ozone" is just the Oxygen style that isn't branded as "Oxygen", and it has the option to use the titlebar colors (so for a screenshot imagine Oxygen e.g. with a blue titlebar, that's it) and it is the default KWin decoration for now (that way I'm fine with the request refused for Oxygen, since non-default styles don't necessarily need to have as strong requirements as the default one). Depending on how the Oxygen people manage to handle bug #160117 for the KDE 4.1 release (no progress I'd be aware of so far), I may be left up with solving it by shipping KDE 4.1 with this option enabled by default. I personally consider this all pretty sub-optimal (and there have already been complaints, bug #160627), and I'd definitely prefer a more reasonable solution, but right now I don't see any.
- "Copy Input To" dialog allows input to one session to be copied to all or a subset of other sessions. (Like 'Send Input to All' in KDE 3 but more flexible).
- Drag and drop re-arrangement of tabs and movement of tabs between windows.
- Better warnings and fallbacks if starting the shell fails (due to missing binary or crash).
- Transparency is available by default (with an option to forcibly disable it).
- Support for bi-directional text rendering (Diego Iastrubni).
- New "Dark Pastels" colour scheme (adapted from one by Christoffer Sawicki).
- Mouse-wheel scrolling in less and other non-mouse enabled terminal applications
In other news, like several other KDE developers I have started using git and git-svn locally. It is a huge improvement over Subversion, especially when developing experimental features that touch many parts of the code alongside bug fixes to the current trunk. It does make you wonder how you ever managed before. A quick "git branch" on my current local checkout shows 10 branches for various little features in progress, for example:
- custom-pty-fd
- image-background
- inheritance-ui
- port-to-mono
- profile-editor-binding
- profile-editor-improvements
- window-tab-settings
- Improved selection in the single click mode.
- Tree view
- Tooltips (Konstantin Heil and Fredrik Höglund)
- "Copy To"/"Move To" entries in context menu (David Faure)
- Improved information panel: dynamic resizing of previews, better Nepomuk integration (Sebastian Trüg)
- Better drag and drop support for the places panel
- Inline renaming (Fredrik Höglund)
- Tabs
Beside those features 97 bugs and wishes have been fixed until now. Some important fixes are:
- Improved performance for previews
- Optimized selection size and textwrapping fixes for the icon view
- Consistent copy/paste behavior as Konqueror in KDE 3
Still there is a lot of work left for KDE 4.1 and I'd appreciate it if people would check the latest trunk version and give feedback on bugs.kde.org :-) Thanks!
Statistics
Commits | 2255 by 241 developers, 4679 lines modified, 1102 new files |
Open Bugs | 16505 |
Open Wishes | 13929 |
Bugs Opened | 239 in the last 7 days |
Bugs Closed | 205 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/KDE |
612
|
/trunk/l10n-kde4 |
550
|
/trunk/extragear |
206
|
/trunk/playground |
190
|
/branches/work |
134
|
/branches/stable |
98
|
/branches/extragear |
92
|
/branches/KDE |
63
|
/trunk/koffice |
59
|
/trunk/www |
46
|
Lines | Developer | Commits |
190
|
Gilles Caulier |
89
|
190
|
Laurent Montel |
80
|
110
|
Albert Astals Cid |
51
|
213
|
Jarosław Staniek |
46
|
45
|
Khoem Sokhem |
45
|
87
|
Joris Guisson |
43
|
125
|
Richard Dale |
39
|
59
|
Matthias Kretz |
35
|
34
|
Andrew Walker |
34
|
69
|
David Faure |
33
|
Internationalization (i18n) Status
Language | Percentage Complete |
Portuguese (pt) |
99%
|
Greek (el) |
97%
|
Swedish (sv) |
92%
|
Japanese (ja) |
92%
|
Dutch (nl) |
88%
|
Ukrainian (uk) |
88%
|
German (de) |
86%
|
Polish (pl) |
85%
|
Brazilian Portuguese (pt_BR) |
85%
|
Low Saxon (nds) |
84%
|
Bug Killers and Buzz
Person | Bugs Closed |
Bram Schoenmakers |
31
|
Michael Leupold |
21
|
Dominik Haumann |
13
|
Luboš Luňák |
12
|
Andriy Rysin |
10
|
Thomas McGuire |
9
|
Pino Toscano |
7
|
Robert Knight |
7
|
Jason Harris |
7
|
Gilles Caulier |
7
|
Program | Buzz |
Amarok |
9815
|
K3B |
4875
|
KMail |
4840
|
Kopete |
3320
|
KDevelop |
2595
|
Plasma |
2489
|
Kaffeine |
2037
|
Kate |
2001
|
Solid |
1873
|
Kontact |
1790
|
Person | Buzz |
David Faure |
2110
|
Stephan Kulow |
1749
|
Aaron J. Seigo |
1390
|
Torsten Rahn |
1367
|
Jonathan Riddell |
1132
|
Laurent Montel |
1030
|
Stephan Binner |
782
|
Thiago Macieira |
668
|
Zack Rusin |
638
|
Adriaan de Groot |
631
|
Commit Countries
Commit Demographics
Sex
Age
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 116 selections this week
Bug Fixes
Educational
Various fixes needed for ensuring that the molecule viewer keeps running well on low-spec / software-only OpenGL implementations.
- disable eyecandy in "Low quality" mode
- by the way, always disable the zoom's eyecandy, it's ugly.
- only enable the second light in "High quality" mode
- only keep asserts in libavogadro in 'debugfull' mode.
This prompted changes to libavogadro which I'm posting upstream.
Fixing bug #119963. Now you can center & track on solar system bodies, even when they are not being drawn. The centered body remains invisible but does get a name label.
The drawback from this fix is that users can no longer attempt to save CPU cycles by turning off solar system bodies; their positions will still get updated, even when invisible. Still, that's better than centering on a null position when the user tries to center on a real body.
KDE Base
Make 3rd-party-theme fallbacks work correctly, part 1:
For themes that don't inherit Oxygen, we either need to hardcode it as fallback, or revive the /usr/share/icons/default.kde symlink from KDE 3.
jstaniek indicated that there might be a workable solution also for Windows (using "shortcuts"), so I'm confident that the symlink is better. Unix only for now, and renamed to "default.kde4".
Thanks to dfaure for the advance work on the CMake script.
Make 3rd-party-theme fallbacks work correctly, part 2:
Fix the theme fallback order in KIconLoader in order to
a) include Oxygen as fallback even if it's not included in the theme's "Inherits" property, and
b) make sure that "hicolor" is always included and always goes last in the theme hierarchy, as defined by the icon theme specification.
(a) is what makes you get rid of the numerous "unknown" icons if you use a theme that doesn't inherit Oxygen directly.
Enjoy running KDE with gnome-icon-theme & Co.! :P
Part 1 (reviving the default.kde symlink, r794564) wasn't actually needed in order to make this work, but is still a good thing to have, so I won't revert it.
A set of fixes for improving experience of file dialogs, mostly on Windows + some fixes for handling urls
KFileWidget:
- check whether a string contains protocol part more carefully because c:/ is an absolute path, not a protocol (static containsProtocolSection()), so we assume the protocol has at least two characters before ":/"
- enclose locationEdit->currentText() with QDir::fromNativeSeparators() and add .trimmed() to cover more cases in conditions
- slotOk(): add code for handling accepting using OK button when directory path is entered and directories are not acceptable result of the file widget:
cd to that directory then; in particuar it is now possible to enter C:\ or /
and press OK to change to the root dir on windows (or linux, respectively)
KUrlCompletion:
- construct the path more carefully because cwd can already end with '/', e.g. it can be "c:/"
KUrl:
- KUrl::equals() and ::urlcmp(): make comparison of local urls case-insensitive on Windows
- KUrl::hasSubUrl() some more optimizations
Fixes: Make the UI not jump its combobox when you change the item in that combobox.
Details: If you would switch from an image that has metadata to one that does not, the labels were hidden making the whole layout jump.
I tried different solutions, but the jumping was pretty disruptive, so just clear the label value instead.
Fix changing the current dir using the 'recent url' combo box.
Upon accepting new url in the 'directory' url combo box, append '/' if needed: the combo does not add it, but tokenize() expects it because uses KUrl::setFileName(), which would silently remove the last segment of the path.
Without the fix, if you select /home/js/foo/bar from the url combo box, and click on file.txt, the resulting url would be /home/js/foo/file.txt, not the expected /home/js/foo/bar/file.txt.
Another, and hopefully the last place where we have to care about trailing slashes for dirs, is kdiroperator.
KDE-PIM
there's comment like "QTextBrowser for some reason insists on putting // in links, this is a crude workaround".
Unfortunately there is no condition for mailto: links, apparently passed by QTextBrowser in the following form:
"mailto:/foo@bar.com"
Thus in the email client, the resulting address is broken: /foo@bar.com (should be foo@bar.com)
The fix:
- add "mailto:" to the list of protocols to fix
- change the regexp to "^([^:]+:)/+", to also support the single '/' after ':'
QDate::currentDate().daysTo( todo->dtDue().date() ) returns negative number if the due date is invalid, thus the summary displays 2,451,561 days due: <a href="/issues/2008-04-13/files/todonoduedateed3.png">http://img515.imageshack.us/my.php?image=todonoduedateed3.png</a>
After the fix (todosummarywidget.patch), we do not display invalid dates but we still show the todo items:
<a href="/issues/2008-04-13/files/todonoduedatefixpp3.png">http://img209.imageshack.us/my.php?image=todonoduedatefixpp3.png</a>
(initially reported as <a href="https://www.intevation.de/roundup/kolab/issue2602">https://www.intevation.de/roundup/kolab/issue2602</a>)
Office
Multimedia
Some fixes to the new applet theme.
Also, make sure that text is readable on dark color schemes until I figure out how to properly tint this thing to match the rest of our svgs without violating every single sacred concept of plasma hacking
Features
Development Tools
Educational
Three new icons, of course again done by Jarle!
Ability to drag the scene with MMB.
Graphics
Add the possibility to choose which screen to use for the presentation mode.
Default is "Default Screen", with the options for showing it to any available screen.
Also, dynamically resize when the screen used for the presentation mode changes size during a presentation.
Many thanks to 'zbsz' for his testing!
Multi-screen improvement for the presentation mode:
When there is more than one screen available, add a popup menu in the toolbar to dynamically move the presentation widget to another of the available screens.
Many thanks go again to Zbigniew Szymanski for his really precious testing!
Add the possibility to select the current screen as start of the presentation mode, and make that the default (as one would expect).
(futhermore, use an explicit value as screen index)
KDE Base
Added initial dragndrop
Improved animations for RSSNOw. While scrolling, the old item now also slides away, making it clearer that the item has just switched.
Also, only 1 timeline is now used per scroller which reduces stuttering while scrolling fast.
Quickly scrolling now also accelerates the speed at which items scroll by.
I'm still going to add a way for scrollers to delay their clearUnusedItems() to a moment where no scrollers are animated to improve animation performance further.
Also a couple of unrelated small fixes.
This changes current notifications DBus interface to conform to one present in current state of galago spec.
Mostly naming changes.
Now I need to adapt KNotify to this change. Will do later today.
made fetch icon-themes via GHNS working
This makes digital clock ready for saving multi-selection choice in KTimeZones. Will be needed in future when we implement displaying a list of timezones in tooltip.
Reviewed by Sebastian Kügler
Added methods to get and enable/disable autostart values of services.
This will be important for a service management GUI.
Provide a setting to turn on/off tooltips.
The tooltip implementation itself will be committed before the feature freeze (20th of April).
The ability to remove icons: not yet user visible
Now everyone can remove icons
Now we can also add icons via a dialog
Adding improving the closed window items support after having discussed the patch with David Faure.
- Shared closed window items over D-Bus
- Persistent closed window items by storing them in a config file or sharing them by D-Bus when there are other konqueror instances running
* More detailed error page (enable code which was intended for KDE 3.1 (okay, now just one major version later.. ;))).
* Themable error page (inspired by Qt demo browser).
Okayed by Leo Savernik (kfm-devel).
Galago spec conformance:
- Move from int IDs to uint IDs
- Handle actions string list like (act_id1, act_name1, act_id2, act_name2,...)
After a commit to KNotify branch (which will happen in a second), things start to work as they used to, but this time with conformance to galago spec :)
Added skeleton implementation of autoscrolling horizontal KTreeView
Start to add webkitpart support
Implement support for drag and drop.
It's now possible to reposition the items within the view, drag items out of the view, and drop files into it.
New way of configuring RSSNOW: allow feeds to be grouped together by dragging feeds to existing scrollers. RSSNOW now also has a single scroller as drop target to create a new group.
dataUpdated moved from the applet to the scroller widget, making this grouping easier to accomplish, and the scrollers independent from the applet (extender ready :)).
Added the isAnimating() function to Phase.
This way, applet/widgets can delay 'heavy' operations until all animations are finished to avoid stuttering animations.
Add flags to KUniqueApplication::start() to control how the new instance is started and define a NonUniqueInstance flag which can be used to make an instance of KUniqueApplication behave like a normal KApplication.
This will be used in Konsole so that running "konsole" from a terminal creates a new process which inherits the environment of the parent shell.
Allow to show page source (code based on qt/demo/browser)
Added overlay support.
To use it add to your theme overlay.svg.
The applet now adapts to live in a panel, by grouping all scrollers together if it doesn't fit otherwise, and hiding the drop target and logo.
It now also works again with a more recent version of Phase.
KDE-PIM
Properly enable/disable actions, and the very early starts of context menu support.
Add todays date to the proposed filename when making backups.
I'm forcing yyyyMMdd. Example: akonadibackup-20080409.tgz
This way sorting alphabetically gives you a nice list.
Office
Konqueror
Add support when we use webkitpart.
pb: by default search bar doesn't work (even if there is not webkit support, it's broken).
I will fix it today
Multimedia
Add new html info page to the Seeqpod script.
Seeqpod has given the ok to use their graphics on this page.
Added the start of a kjob to handle longer queues of queries without bugging musicbrainz more than once a second.
New test app discbrainz which is a baby CD player using solid / phonon for hardware detection / media playing and detecting musicbrainz disc id.
Will do simple CD lookups to test musicbrainz cd key lookups
Shuffle a few bits and pieces around in the lib and brainzscanner
Automatically skip unplayable tracks.
This is especially useful for playing from internet services like SeeqPod, where a high percentage of tracks is borked.
Networking Tools
Option support for WebKit KPart in KGet Konqueror plugin.
Utilities
- added new class MirrorsConfig which is used in class Mirror
- set www.winkde.org as default mirror list server
- set sourceforge as fallback mirror list server
Games
Intorduce auto switching to the next level after successfully completing current one.
Advancing takes place after a slight pause to let user review his solution.
Also disable "Previous Level" and "Next Level" actions when switch to corresponding level can't be performed.
Patch by gnushi - many thanks! :)
* Revive text-labels.
* Implement View menu.
* Keep statusbar up to date.
* Add toolbar texts, tips and whatsthis.
* Streamline (re-write) left-button slice-move operations.
* Fix ugly uses of rapid animation.
* Improve lighting and reflections.
* Remove Quit from toolbar.
* Re-word the Demo message.
* Update TODO file.
Other
finally, cache keyrings with file monitoring just like old psi 0.10 code.
now qca-gnupg should be a lot faster and support keyring update notifications
Added initial experimental support for explicit vectorization.
Currently only the following platform/operations are supported:
- SSE2 compatible architecture
- compiler compatible with intel's SSE2 intrinsics
- float, double and int data types
- fixed size matrices with a storage major dimension multiple of 4 (or 2 for double)
- scalar-matrix product, component wise: +,-,*,min,max
- matrix-matrix product only if the left matrix is vectorizable and column major or the right matrix is vectorizable and row major, e.g.: a.transpose() * b is not vectorized with the default column major storage.
To use it you must define EIGEN_VECTORIZE and EIGEN_INTEL_PLATFORM.
Optimization
Development Tools
Optimization: For line-breaking long symbols use binary search
This optimizes the line break algorithm for text labels in the RectDrawing class (method drawField) by reducing the number of calls to QFontMetrics::width(), which is a lot slower in Qt4 than in Qt3. RectDrawing is used for the drawing of rectangles in treemaps and graph nodes.
KDE Base
only recreate the SmartRange if it really differs.
This is much faster (= less repaints) than recreating it everytime the mouse moves a pixel...
Security
security measure: disable delayed variable expansion on win2k+ - just in case somebody enabled it by default. scripts still can enable it locally. and for complex command lines ... oh, well - too bad.
entirely untested.
Other
Development Tools
Branch to work on duchain support for QMake
* Added Ruby versions of the plasmoidviewer and engineexplorer tools.
This is a good test for the Plasma bindings and in particular the code in the viewer is useful showing how to load an applet in a Qt::GraphicsView outside the Plasma process.
* Fixed up some of the license text in the applet examples.
Educational
I added a slot to call a signal. Great achievement. Get rid of it. (focus for search line)
Increase maximum zoom level by a factor of 5.
Graphics
Move Skanlite to extragear/graphics/
KDE Base
Do not outright deny the user to use a standard shortcut for a global shortcut but ask for confirmation.
What was I thinking - the user is always right :)
OK, let's just not have translation placeholders until a sensible method of transferring translations (and, more importantly in this case, their contexts) from a dataengine to an applet is devised.
See the thread beginning with <a href="http://mail.kde.org/pipermail/panel-devel/2008-April/009575.html">http://mail.kde.org/pipermail/panel-devel/2008-April/009575.html</a>
Applets will just have to have their own translation strings...
"delete this" considered harmful.
I know I'm taking the risk of breaking something that isn't really broken.
Creating ktreeview folder in playground
Complete source rewrite/improvement of KInfocenter:
- Complete port to KDE/Qt 4, no more use of QT3 Support
- Simplify interface (remove multiple left tabs, add quick help in the top of the layout, use a KListWidgetSearchLine to filter by keywords and name)
- Fix General Page (modules were not displayed), and allow user to select it from the left panel
- Clean code and indentation structure
- Remove big margins and useless layout/widgets to integrate KCMModule (request from Aaron Siego)
- Memory module is now in a separate folder
- Memory module has been rewritten, and the chart generation is now simpler.
- Use color gradient and color scheme of System Monitor app (request from John Tapsell)
- Use a default icon when the requested icon does not exist (request from David Jarvie)
- Integrate patch from Konrad Rzepecki about improve PCI module by using libpci API. Add an optional dependency in CMake for this library
- The porting to KDE4 of all architecture may add some compilation errors (sorry, I have no AIX, HPUX, Solaris, SGI, FreeBSD, OpenBSD systems to test those source). However, some existing codes already did not compile.
- Simplify source code by removing some part corresponding to the moment where KInfocenter and KControl were the same (it seems to).
- Name and comments of each modules are now normalized. (even IOSlaves Info and Samba Status)
- Allow the future move of inner modules of kcm_info to a dedicated module (examples: Sound, X-Server, Partitions,...)
TODO:
- Improve Loading page layout
- Port Partitions, Sound and Network Interfaces modules to Solid
- Set my email as current maintainer
Refine animating of switching SVG when AC is unplugged.
switch autocomplete to non-drop down; history remains and the combobox is manually openable still, and of course you can also swith the completion mode to something else... this just about the default.
it also now saves/restores the completion mode from the config file
slightly nicer dialog. just when I learned about KPasswordEdit...
I'll switch to that one tomorrow.
Start a new process rather than re-using an existing one when Konsole is started from a terminal. This is useful because:
1) The environment from the terminal propagates into the new process (including changes to DISPLAY)
2) Konsole/KDE 4 can be used for developing Konsole/KDE 4.
Make transparency support opt-out rather than opt-in.
Transparency can be disabled in an environment which otherwise supports it via the --notransparency flag at startup.
This should save confusion over why the transparency setting has no effect by default.
It was opt-in originally because of problems with NVidia hardware in particular.
Recent drivers apparently alleviate the those problems to some extent.
Office
Use the text shape instead of the simple text shape.
This has two reasons.
The first one is that it turned out to be impossible (without risking crashes) to use an interface to a plugin if the interface definition is not in the libs.
If I had knew this before, that would have saved me and Jan (thanks again for your help) a lot of time.
Second reason is that the text shape is more flexible than it seemed to me, which means that the functionality that chart labels don't support can be turned off.
Initial version for testing ODF document loading.
The test compares the QTextDocument that is created by KoTextLoader with another QTextDocument that is created by a QScript. The script requires one to generate bindings for Qt using <a href="http://labs.trolltech.com/page/Projects/QtScript/Generator.">http://labs.trolltech.com/page/Projects/QtScript/Generator.</a>
Test data is from <a href="http://testsuite.opendocumentfellowship.com/.">http://testsuite.opendocumentfellowship.com/.</a> I will import them and the scripts into svn after checking with Thomas Zander about the licensing.
Multimedia
Testing a proposal from Mamarok: Let's try getting rid of the SVG border around the main toolbar buttons.
It always looked rather cheesy anyway.
What do you think?
Simplify the Wikipedia applet somewhat, and remove the artist/album/track buttons that are of no use for now.
Now at least it look sane untill someone has a chance to really bring it to feature parity with the wikipedia stuff from 1.4.x
Tag Amarok 1.4.9.
Use Phonon::MediaSource::stream() for determining if the current track is a stream.
It's more reliable than our simplistic old method, and also less code.
Remember guys: Don't invent a bike!
Networking Tools
Created branch for the windows port
- Removed torrentspy (RIP) from default list of search engines
- Fix update from search engines from internet feature
User Interface
Welcome ... er ... Ozone, the new default KWin decoration, that will be a fork of the Oxygen decoration with additional features that the Oxygen developers don't want to have in Oxygen.
See README or #152030 for why they prefer it this way.
Utilities
python-qt4-dbus now working with QtDbus, start port to being a KDE app
Replaced by plasma's luna applet.
Games
Initial import of Parsek, a client for turn-based 4X strategy games based on Thousand Parsec framework.
4X stands for explore, expand, exploit and exterminate. Similar games are Stars!, Galactic Civilizations, Reach for the Stars, and many others. You can also think of those as an advanced version of Konquest.
I hope I've put everything into the right place and that the CMake files are OK.
The client is still in the early phase ocf development so currently you can only connect to a game server, download the Universe and see the tree of objects in it and a table with messages.
Any help and feedback is much appreciated.
New Default theme for kbreakout. The old one has been renamed into Crystal.
KBoggle is not ported to KDE4, moving to unmaintained as accorded with Bram (author).
Move Kubrick from kdereview to kdegames.
initial upload of wordKubes
Other
draw desktop icons the old style...
allow to define default clock color