Events
The Power of Developer Meetings
Since several years, we have lots of small developer meetings in the KDE project, gratefully supported by the KDE e.V. There, developers of a certain project (e.g. KMail/kdepim, Plasma, you name it) meet to discuss further plans and to push the project further. From experience we can tell that those meetings are really beneficial in several ways:
- Social aspect: You get to know the other developers involved in the project in real life, which is a great motivation factor. This also happens at KDE’s annual conference Akademy, although there are a lot more people.
- Productivity: Since you are sitting next to each other discussions about how to do what are very focused. It’s amazing how quickly a project can evolve this way. (I haven’t seen such focused work in companies, yet. I guess the variance in the knowledge of people involved is higher. And the motivation is usually very different).
- Knowledge Transfer: Since participants are experts in different areas, discussions lead to knowledge transfer. This is essential, as sometimes developers have very few free time to contributes to a project. Spreading the knowledge helps a lot to keep the project alive.
- Steady Contributions: We are always open for new contributors. Just send a patch, get commit access and join development. Experience shows that participants of a developer meeting usually contribute for years to come.
Enough said, here is what happened the last three days in Kate:
Read MoreDeveloper Meeting: More on scripting Kate
Yesterday I closed a bug requesting an “unwrap” feature in Kate that works like “Tools > Join Lines” but maintains paragraph separation, i.e., empty lines are not removed. This feature is implemented now in javascript. Further infos: Read More
KDevelop & KWrite/Kate hacksprint 2010 in Berlin
Hey everybody!
If you are a KDevelop and/or Kate/Kwrite developer and do not read the mailing lists: There’s a hack sprint coming up in Berlin in 2010. I think there’ve been enough sprints in Berlin already so that you know it’s a great city for such an event. Though this time it won’t be at KDAB or Nokia offices, but at the Physics Faculty of the FU-Berlin. Since I (currently) work there as an IT admin, it was my first choice and worked out. I hope it will be a good location for the meeting. If you want to attend, vote on doodle:
Read MoreAkademy 08: Kate Flashback
This Akademy’s Kate changes include
- fix: drag & drop of text
- code completion: only show group header if the group name is not empty
- reintroduction of buffer blocks in Kate’s document buffer (one buffer contains up to 4096 lines). The blocks build a linked list. Editing a 500 MB file kind of works now again. It’s still rather slow, though.
- more speedup in Kate’s document buffer
- Kate is using KEncodingProber instead of KEncodingDetector now
- generate internal version of KatePart automatically, so developers don’t have to adapt it manually each release
- python encoding detection plugin that warns if encoding is not correct while saving
- new plugin: Backtrace browser, mainly for developers
- find in files: several speed optimizations
- find in files: progress indicator while search is active
- find in files: redesign of workflow. Search happens with non-modal dialog and results are shown in toolviews.
- lots of vi mode changes
- lots of bugs closed, mainly old ones
- some real bug fixes…
- things I forgot
Kate Meeting: Day 1 and 2
basysKom’s coffee maching is simply the best: It can do everything, you just have to press the right key combos: Read More
Kate Developer Sprint 2008 Results
The below notes is what was decided at the development sprint in Darmstadt on April 11-13, 2008
Short term goals
- Scripting, part level QtScript
- API for indentation scripts
- Sessions handling
- make text completion work!
- VI-Modes (GSoC-project)
Long term goals
- Scripting at application level (Kate): Kross
- Combination of highlightings & indentations
Table of Contents
- Scripting
- Indentation
- Kate Sessions
- Extending the highlighting system (Highlighting combination)
- Collaborative editing
- Text input modes (vi mode)
- Minor topics: Search & Replace, text completion
- Interface Review
- Simplifying KWrite
Scripting
- Use cases
- indentation
- helper scripts + assign shortcut
- useful for vi-mode scripting
- right now: kjs (barely documented, future uncertain)
- choices: Kross, QtScript
- Kross: language independent, depends on available bindings/plugins at runtime
- QtScript, Kross: simply wrap QObjects (signals/slots, Q_SCRIPTABLE automatically exported)
Kate Part: QtScript
- flexible integration possible
- make it fast for specific use cases (e.g. indentation)
- script header
- meta information: key/value pairs (type, name, mimetype, wildcard, …)
- contact i18n people: how to do translation
- translation possible outside KDE?
Kate App
- Kross
Indentation
- allow multiple indenters for documents with mixed languages (e.g. php and html)
- document variables: e.g. indent-mode
[ ]; - document variables: allow different settings (indent-width, …)
- document variables: e.g. indent-mode
- remove option “Default Indenter”, it does not make sense (really?)
- the script header should state which hl-modes it can indent (instead of mimetype/wildcard in the header)
Auto-completion:
- build word completion plugin into kate part by default
- fix implementation to actually complete stuff
- simplfy the popupmenu (!), just as in KDE3
- remove code completion config dialog, this must be implemented in the code completion model, as this is not applicable to any other than the cpp model. Better have something tiny working instead of a broken monster
Kate Sessions (profiles)
- data stored:
- application plugin config
- file list (opened files)
- window configuration
- editor component config
- ktexteditor plugin config (maybe kpluginselector problems)
- session level configuration / document variables
- kill default.katesession file, always use katerc
- do not show the session chooser at startup, instead, make a good default (katerc)
- clone session: “save as” opens a small dialog with line edit and options like window config, file list
- remove option “restore view config” -> simply always do it
- make sure kate part plugins can save data to sessions: fork kpluginselector, if necessary :)
Highlighting
- extend highlighting system to allow combined highlighting
- add e.g. “entercontext” rules
- separate highlighting loader from hightlight class
Explanation: The purpose of this is to combine template languages such as PHP, EmbPerl, Mason etc with any other syntax highlighting on the fly, as opposed to the current practice which requires a combined set of files to be generated at build time. This is only done for the HTML + PHP combination, so with the new way a multitude of combination becomes available. In addition to that, nothing needs to be regenerated when a highlight is updated, makeing it much easier for users to keep their highlightings updated.
Read More