- Having a "blessed" KDE scripting language for writing complete KDE applications is a good thing and allowing applications written in that language
- A tangent to the main thread is adding scriptability to KDE applications
- For the first sort of scripting, there's something of a concensus that Python or Ruby are the primary candidate languages
- There hasn't been much language flaming between Ruby and Python; it seems most folks agree that they're both acceptable OO scripting languages, though there have been plugs a bit for one language or the other
- There's some debate over what appropriate languages are for the latter; KJS (JavaScript) is currently advocated, but there's some debate over the merits of JavaScript
Issue 27
8th October 2006 by Danny AllenThis Week...
- Blessing the use of scripting languages for writing complete applications is important. Equally important is not to bless a single language. Let's first see in which languages applications actually will be written. The really important thing is that among the set of tarballs that comprises a complete kde release can be applications completely written in a scripting language. Of course, apart from Python and Ruby there are no serious candidates.
- There are still people who think that the current bindings to Qt and KDE of, for instance Python, are not completely mature and stable and that the maintenance of those bindings will cost kde-core hackers time. Come on, guys! Living under a rock is not healthy. We've had stable scripting language bindings for more than half a decade. They just didn't take off because kde doesn't package scripted applications, relegating them to the whims of distribution packagers.
- Forcing users to script in Javascript is an act of unmitigated evil. Allowing them to do that is okay.
- Making applications extensible through scripting should be done with Kross. Using Kross exposes a single API for your applications to D-Bus, Javascript, Python and Ruby. That means, no longer designing a separate DCOP API and a separate KJSEmbed API. It also means that people actually using the applications can code their extensions in the language they already know.
- I'm fine with no, or just one, or two scripting languages allowed for extending or implementing kde-base and kde-core bits. I still think that Kross is better than just mandating kjsembed. Look at how cool Kross is: Kross 2.0 and DBus. Kross really is the definitive solution to scripting KDE, on a par with what BeOS had, maybe even better.
I've been doing more work with QDBus in QtRuby. I've translated all the Qt4 dbus examples, and they all work except 'complexpingpong'. One nice thing I've added to Qt::DBusMessage is the ability to call methods on them as proxies, instead of having to invoke the call() method, with the target method name as a string. For example, you can call a method called 'query()' like this:
reply = iface.call("query", Qt::Variant.new(line))
Or call it more simply like this:
reply = iface.query(line)
In the first case 'reply' will be a Qt::DBusMessage, and you can check if it is ok with 'reply.valid?', and then extract the value with 'reply.value'. In the second case 'reply' is the return value of the method (a Ruby String in this example). So it works just as if it was a local method call.
Statistics
Commits | 2675 by 219 developers, 5294 lines modified, 1338 new files |
Open Bugs | 13040 |
Open Wishes | 11682 |
Bugs Opened | 269 in the last 7 days |
Bugs Closed | 184 in the last 7 days |
Commit Summary
Module | Commits |
/trunk/www |
517
|
/trunk/KDE |
494
|
/branches/stable |
419
|
/trunk/l10n |
352
|
/trunk/extragear |
210
|
/trunk/koffice |
175
|
/trunk/playground |
154
|
/branches/KDE |
119
|
/branches/work |
60
|
/branches/koffice |
49
|
Lines | Developer | Commits |
139
|
Adriaan de Groot |
126
|
228
|
Stephan Kulow |
121
|
87
|
Christoph Cullmann |
60
|
137
|
Laurent Montel |
60
|
97
|
Dirk Mueller |
48
|
219
|
Jarosław Staniek |
45
|
140
|
Allen Winter |
44
|
112
|
Oswald Buddenhagen |
43
|
84
|
Gilles Caulier |
38
|
35
|
Michal Ostrowski |
35
|
Internationalization (i18n) Status
Language | Percentage Complete |
Swedish (sv) |
100%
|
Portuguese (pt) |
100%
|
Danish (da) |
99.86%
|
Spanish (es) |
97.28%
|
Dutch (nl) |
96.77%
|
Greek (el) |
94.7%
|
Italian (it) |
93.7%
|
Estonian (et) |
93.54%
|
French (fr) |
93.26%
|
German (de) |
92.6%
|
Bug Killers and Buzz
Person | Bugs Closed |
Lex Hider |
21
|
Sebastian Trueg |
15
|
Joris Guisson |
12
|
Mark Kretschmann |
10
|
Christoph Burger-Scheidlin |
10
|
Maks Orlovich |
8
|
Jarosław Staniek |
7
|
Alexandre Pereira de Oliveira |
7
|
Gilles Caulier |
7
|
Tommi Tervo |
6
|
Program | Buzz |
Amarok |
8255
|
KMail |
5100
|
Kate |
4950
|
KDevelop |
3820
|
K3B |
3580
|
Kat |
3415
|
Kopete |
3370
|
Ark |
2280
|
Kontact |
1994
|
Quanta |
1968
|
Person | Buzz |
David Faure |
986
|
Adriaan de Groot |
950
|
Stephan Kulow |
768
|
Waldo Bastian |
540
|
Jonathan Riddell |
524
|
Philip Rodrigues |
456
|
George Staikos |
342
|
Boudewijn Rempt |
311
|
Stephan Binner |
302
|
Aaron J. Seigo |
292
|
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 57 selections this week
Bug Fixes
Networking Tools
Changes :
- Fixed bug in advanced choke algorithm
- Deselecting files without deleting data is now possible
- Deselecting files without deleting data is now the default action when you uncheck a file in the infowdiget
- Deselecting existing files at torrent load time, will not delete the file
Utilities
- Allright, after two days I've finally tracked down this bug. The loadconfig did not get the correct value for the slider interval. By re-setting the config group it magically works again. If any guru can tell me why this is needed, you get a beer.
- Change default slider interval from 2 sec to 10 sec. Draining your system resources by default is not very friendly...
Features
Development Tools
Add initial support for namespace-aliases and namespace-imports. They are both stored into the code-repository and code-model now, and used through the namespace-aliasing system. Create facilities for efficient management and comparison of include-files for future header-parsing. Make the namespace-system aware of those facilities.
Together with some simple header-parsing (included headers need to be collected), and with a little work on making the resolution-system aware of those header-sets, that will allow near-perfect code-completion. A few other fixes.
Educational
kturtle can now parse turtle code into c++ embeddable code, handy for developers
Graphics
As suggested by our usability expert Florian, add a bar above the page view showing in case the document has embedded files, that can be clsed with the X button.
Started to work on loading JPEG pictures immediatly rotated instead of loading
them then rotating them.
KDE Base
Allow views to be removed from a session. Better handling of terminal emulation size when a view is resized - Konsole looks through all of the visible views on a session and selects the largest number of lines and columns which can be displayed on all views.
Highlighting for django templates. Created by Matthew Marshall who is willing to maintain it
lower the time the tip shows except for taskbar, pager and clock where it makes sense to have extended times (4s in this case) re-increase the time between tip reshows because too many reshows sucks on low powered cpus and also looks a bit stupid on the pager and taskbar (among other places, i'm sure) the idea is that the tip should show only on items that the user settles on, not to follow their mouse around randomly. yes, this is not how things like tooltips work but that's because those items do something differently and do it, quite honestly, rather poorly anyways.
the design of the kicker mouse overs is quite intentional and based on a fair amount of actual research, testing and reaching stated goals.
if you think there's something wrong in it, perhaps talk to me first because it may be your assumptions that are wrong rather than the code in kickerTip.cpp.
KDE-PIM
Implement top quoting support for signatures. There's a new config option to include signatures before quoted text, and a new entry in the composer's edit menu to prepend the current signature. Identity switching tries to remove the signature, if it finds it anywhere in the body, which has some risk, but I guess that's not a real issue. In top quote mode the signatures are added without -- seperator, as seems to be the convention.
(Kolab Issue 1385)
Office
Multimedia
New crossfading option UI. Doesn't work right, probably because I don't really understand how crossfading is implemented. Trying to find out who does... :-)
Show progress bar while copying tracks from an MTP device.
move daap 'share my music' button to collection browser, as it's the collection that is going to be shared
"Favorite tracks" default smart playlist now obeys "Use Scores" and "Use Ratings" setting.
allow the user to hide music which is already in the local collection when browsing daap shares. The option to enable this is in the config page, which is very obscure location to put it. Probably should put the config button in the daap toolbar
Networking Tools
Stop systray flashing when cancelling a notification by clicking the OSD.
Added ETA calculator class.
Added feature to remove torrent and data in context menu of view.
Added distinction in Completed status, there is now a seeding completed and a downloading completed. Seeding completed means that the torrent has reached it's max share ratio.
A complete replacement. Now has online help, can select an individual player or player type for reporting. Output formatting is centralized and much more flexible. Needs to be tested on $YourFavouritePlayer.
User Interface
new icons
Utilities
Do not use hardcoded colors for the relax popup, use the KDE wide color scheme instead.
Games
Added more levels. Fixed saving number of completed levels.
Optimization
Educational
fixed a lot of memleaks... (from 42,084 to 536 bytes definitely lost)
thanks valgrind people, i could not figure it out without...
thanks coolo, for pointing it out to me...
thanks annma for putting it on my agenda...
the remaining memleaks seem out of my control
Graphics
Stop blink timer when ICC data is loaded
(Previously, the timer would run and triggered a full repaint every 200ms)
KDE Base
Performance improvement when scrolling - especially with large terminal windows. The emulation now gives hints to the display about how the image has scrolled since the last update, which allows the display to scroll using QWidget::scroll() and avoid redrawing lots of text. Unfortunately it seems that Vim and terminal emacs don't use the terminal facilities to scroll the display, so it doesn't help those particular programs.
Office
Multimedia
Networking Tools
Other
Development Tools
We will commit all tools for the English Breakfast Network (EBN) here.
KDE Base
while the theming engine is sufficiently similar to gdm's one to make creating theme variants for both gdm and kdm from one source simple, it is certainly not true that kdm can directly use gdm themes. so don't claim it.
let's see how many people this upsets ... :}
KDE-PIM
Office
Removed the screenshot plugin: it was not well-integrated, not portable and not easy to maintain or use. External screen grabbers can be used, to, for instance d&d the image into krita.