13th April 2008by Danny Allen
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:
- 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)
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!
|Commits||2255 by 241 developers, 4679 lines modified, 1102 new files|
|Bugs Opened||239 in the last 7 days|
|Bugs Closed||205 in the last 7 days|
||Albert Astals Cid||
Internationalization (i18n) Status
|Brazilian Portuguese (pt_BR)||
|Low Saxon (nds)||
Bug Killers and Buzz
|Aaron J. Seigo||
|Adriaan de Groot||
There are 116 selections this week
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.
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
- 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)
- construct the path more carefully because cwd can already end with '/', e.g. it can be "c:/"
- 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.
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:
Thus in the email client, the resulting address is broken: /email@example.com (should be firstname.lastname@example.org)
- 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:
(initially reported as <a href="https://www.intevation.de/roundup/kolab/issue2602">https://www.intevation.de/roundup/kolab/issue2602</a>)
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!
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.
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
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 :)
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 :)).
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.
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
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.
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: 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.
* 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.
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...
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,...)
- Improve Loading page layout
- Port Partitions, Sound and Network Interfaces modules to Solid
- Set my email as current maintainer
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.
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.
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.
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.