September 22, 2018

Hoy me apetece promocionar el canal de Linux Center en youtube, una excelente forma de poder seguir la prolífica actividad de este proyecto que está dando buenos frutos en Valencia. Ojalá se pudiera ampliar la iniciativa a otras ciudades.

Canal de Linux Center en youtube

Hace unos meses que de la mano de Slimbook se inauguró Linux Center, el primer centro específico de divulgación y aprendizaje de GNU/Linux y tecnologías abiertas. El proyecto, ubicado a las afueras de Valencia (aquí), cuenta con 3 áreas principales en un mismo lugar físico. Un espacio de distensión y conversación, un espacio de demostración de hardware y un espacio de formación.


Desde el pasado mes de mayo, Linux Center no ha dejado de ir convocando a los simpatizantes del Software y el Conocimiento Libre algunos sábados para compartir ponencia/clase y posterior charla para dar a conocer algunos de los proyectos, herramientas o cursos.

Canal de Linux Center en youtube

Evidentemente, no todo el mundo puede ir a Valencia, así que la gente de Linux Center se preocupa de grabar el evento y, posteriormente, subirlo a su canal de youtube, el cual poco a poco va creciendo con interesantes vídeos.

De esta forma, en el momento de escribir esta entrada, al canal ya tiene 12 vídeos, dos de ellos promocionales y 10 con de talleres/cursos, cuyos títulos son los siguientes:

  • Taller de WordPress Multisite, o como tener varias webs en una
  • Taller de BASH: El poder de la terminal y el scripting
  • Taller/Curso: Iniciación a Blender
  • Taller/Curso: Python para proyectos de seguridad
  • Taller/Curso: Como montar tu web con Joomla
  • Taller/Curso: Ubuntu para no iniciados, de 0 a 100 en 1 hora
  • Curso/taller: Crea tu primera app con AppInventor por Bernat Llopis de ByLinedu
  • Curso: Cómo crear una web corporativa con WordPress sin morir en el intento, de 0 a 10
  • Taller/Curso de introducción a Python: José Manuel Ortega en Linux Center Valencia
  • Taller: Cómo crear tu distribución GNU/Linux desde cero por Raúl Rodrigo

Horas y horas de sabiduría libre. ¡Larga vida a Linux Center!

 

It’s exactly 20 years ago to the day, that on an equinox as well the first announcement of a KDevelop snapshot, the 0.1 Alpha, was made:

List: kde-announce
Subject: ANNOUNCE: kdevelop-0.1.tar.gz
From: konold () alpha ! tat ! physik ! uni-tuebingen ! de
Date: 1998-09-22 15:50:19

Dear KDE Enthusiast,

the KDE Team is pleased to announce the availability of:

kdevelop-0.1.tar.gz

It can be found at
ftp://ftp.kde.org/pub/kde/unstable/apps/ide/kdevelop-0.1.tar.gz

and at our U.S mirror site
ftp://ftp.us.kde.org/pub/kde/unstable/apps/ide/kdevelop-0.1.tar.gz.

it will probably appear firstly at
ftp://ftp.de.kde.org/pub/kde/unstable/apps/ide/kdevelop-0.1.tar.gz.

Here follows the LSM:

Begin3
Title: KDevelop
Version: 0.1 Alpha
Entered-date: 22 Sep 1998
Description: an IDE for X/Qt/KDE
Keywords: IDE, KDE, X11, Qt, development
Author: Sandy Meier, Stefan Heidrich, Stefan Bartel
Maintained-by: Sandy Meier
Primary-site: http​://www.cs.uni-potsdam.de/~smeier/kdevelop/kdevelop-0.1.tar.gz
Home-page: http​://www.cs.uni-potsdam.de/~smeier/kdevelop/index.html
Original-site: http​://www.cs.uni-potsdam.de/~smeier/kdevelop/kdevelop-0.1.tar.gz
Platform: Linux, needs Qt 1.4 and the kde libs
Copying-policy: GNU Public License
End

20 years of getting feature by feature, sometimes first of its kind, being partially rewritten, getting ported from Qt1 to Qt2 to Qt3 to Qt4 to now Qt5, being made run on non-Linux platforms, seeing hand-overs of maintainers.
At its 20th anniversary KDevelop, now to be called an extensible cross-platform IDE for C, C++, Python, PHP and other languages, continues to provide developers a very reliable and powerful environment to get their code work done. While being inviting to enhance their tool, KDevelop, itself, being a FLOSS software and with no company agenda attached.

I have been a happy user of KDevelop all the years, and currently am giving back to it by doing some development and feature additions.
Be a happy user as well, and then one giving back.
Looking forward to more 20 years, and then some.

KDevelop, ensuring development equity, by day and night. ��

As part of the research project on “The Interaction between Open Source Software and FRAND licensing in Standardisation”, a workshop was organised by the European Commission, Joint Research Centre (JRC) in collaboration with Directorate General Communications Networks, Content and Technology (CONNECT) to present and discuss the intermediate results to date. The workshop took place in Brussels on September 18, 2018. I presented a set of observations from the research on the case studies performed as part of the project that are outlined below. Other speakers where Catharina Maracke on the issue of legal compliance between Open Source and FRAND licenses, Bruce Perens on “Community Dynamics in Open Source”, and Andy Updegrove on “Dynamics in Standardisation”.

September 21, 2018

Finalizamos la semana laboral con más eventos en el blog, concretamente con las  Jornadas de Software Libre de la Universidad de Granada, que contará con la presencia de la Comunidad KDE de la mano de Albert Astals y que se celebran en menos de una semana.

Jornadas de Software Libre de la Universidad de Granada

El próximo 27 y 28 de Septiembre de 2018, coincidiendo con otros eventos como la Eduhorchata, se va a celebrar en Granada las Jornadas de Software Libre de la Universidad de Granada organizadas por la Oficina del S0ftware Libre de Granada.

La sede elegida ha sido el Instituto de Matemáticas (IEMath-Granada) al cual se accede a través del aparcamiento del Centro de Documentación Científica en la calle Rector López-Argüeta.

Como dicen en la web del evento “Las jornadas son el reflejo de la importancia creciente del Software Libre. Están abiertas a entusiastas del Software Libre independientemente de su filiación o área de interés. Buscan, además, fomentar las relaciones sociales entre los participantes para crear futuras colaboraciones dentro o fuera de esta universidad. ”

La Comunidad KDE estará presente de una forma notable, ya que el gran Albert Astals será el responsable de la Conferencia Inaugural con “Aprendiendo y enseñando con software KDE.” y que dará inicio a un par de días con charlas y talleres. Podéis consultar el programa completo ya publicado y que podéis consultar en la web o imprimir.

Las Jornadas de Software Libre de la Universidad de Granada tienen como los siguientes objetivos:

  • Proporcionar un punto de encuentro a los usuarios de Software Libre
  • Fomentar la colaboración entre ellos en un ambiente multidisciplinar
  • Divulgar el conocimiento libre del software y sus posibilidades de trabajo en abierto
  • Promover el uso del Software Libre

En resumen una gran oportunidad para disfrutar del Software Libre en una de las Universidad que más está haciendo por su promoción.

Así que, si puedes acércate y disfruta del evento, aunque siempre puedes ayudar a la difusión de este evento utilizando el hashtag

 

September 20, 2018

Como comenté hace unos días, a finales de septiembre voy a participar en un evento educativo en la ciudad donde imparto docencia. Es por ello que quiero darle promoción y me complace compartir con vosotros el programa de las I Jornadas Eduhorchata del Puerto de Sagunto que se realizará del 28 al 30 de septiembre. Y es que septiembre es un mes donde lo eventos libres despiertan con fuerza tras el periodo veraniego.

Programa de las I Jornadas Eduhorchata del Puerto de Sagunto

Cuando un docente tan crítico y activo como Jordi Martín te invita a participar en un evento cuesta decir que no. Y si además si se realiza tan cerca de tu domicilio habitual y justo en la localidad donde trabajas, las posibles excusas se desvanecen.

Es por ello que estoy muy contento de participar en las I Jornadas Eduorchata del Puerto de Sagunto, ahora conocidas oficialmente como Jornadas Educativas Activas, representando a la Comunidad Educativa de KDE.

Programa de las I Jornadas Eduhorchata del Puerto de Sagunto

Pero, evidentemente, no solo serán interesante acudir al evento por KDE ya que a lo largo de los tres días que va a durar el evento vamos a tener un buen número de actividades con un fabuloso número de ponentes.

El programa oficial, siempre sujeto a cambios de última hora, de las I Jornadas Eduhorchata es el siguiente:

Viernes 28

18:00 – 18:30 Acreditaciones de participantes
18:30 – 19:00 Bienvenida y explicación de las jornadas
19:00 – 20:30 Debate: La innovació: això és or, xata?

Sábado 29

8:45 – 9:30 Acreditaciones de participantes
9:30 – 10:15 Inauguración institucional
10:15 – 11:30 Por una Educación basada en pruebas. Retos y propuestas de mejora por Marta Ferrero
11:30 – 11:50 Hora del café
11:50 – 12:55 ¿Es un txoko una cibercomunidad de aprendizaje (cCA)? por Iñaki Murua
13:00 – 14:05 Cacharrismo y metacacharrismo. Experimentos caseros en el aula por Javier Fernández Panadero

Comida

16:00 Firmas
16:15 – 17:15 Talleres simultáneos en las Aulas. [Momento de KDE y el proyecto KDE]
17:30 – 18:30 Innovación educativa y otras mentiras por Noelia Alcaraz y Manuel F.Navas

18:30 – 19:00 Hora de la horchata

19:20 – 20:00 Chilly-Crab, en Singapur al cangrejo le ponen guindilla: una visión desde dentro de su sistema educativo
por J.Daniel García
20:00 – 21:00 Debate: Hacia una mejora educativa. Fem un pacte?

Agradecimientos y cena

Domingo 30

10:00 – 12:00 Visita cultural a Sagunto: museos, Teatro romano, ..

 

 

Como vemos, un programa completa que combina educación, innovación, realidad, cultura y, sobre todo, desvirtualización. Si no te has podido apuntar, no te preocupes, poneros en contacto con las I Jornadas Eduorchatay seguro que os hacen hueco.

Maybe it’s all the QA we added but issues kept cropping up with Bionic.  All those people who had encrypted home folders in xenial soon found they had no files in bionic because support had been dropped so we had to add a quirk to keep access to the files.  Even yesterday a badly applied patch to the installer broke installs on already partitioned disks which it turns out we didn’t do QA for so we had to rejig our tests as well as fix the problem. Things are turning pleasingly green now so we should be ready to launch our Bionic update early next week. Do give the ISO images one last test and help us out by upgrading any existing installs and reporting back.  Hasta pronto.

 

Qt 5.11.2 is released today. As a patch release it does not add any new functionality, but provides important bug fixes, security updates and other improvements.

Compared to Qt 5.11.1, the Qt 5.11.2 release provides fixes for more than 250 bugs and it contains around 800 changes in total. For details of the most important changes, please check the Change files of Qt 5.11.2.

The recommended way for getting Qt 5.11.2 is using the maintenance tool of the online installer. For new installations, please download latest online installer from Qt Account portal (commercial license holders) or from qt.io Download page (open source).

Offline packages are also available for those who do not want to use the online installer.

The post Qt 5.11.2 Released appeared first on Qt Blog.

We’re about a week into the campaign, and almost 9000 euros along the path to bug fixing. So we decided to do some preliminary vote tallying! And share the results with you all, of course!

On top is Papercuts, with 84 votes. Is that because it’s the default choice? Or because you are telling us that Krita is fine, it just needs to be that little bit smoother that makes all the difference? If the latter, we won’t disagree, and yesterday Boudewijn fixed one of the things that must have annoyed everyone who wanted to create a custom image: now the channel depths are finally shown in a logical order!

Next, and that’s a  bit of a surprise, is Animation with 41 votes. When we first added animation to Krita, we were surprised  by the enthusiasm with which it was welcomed. We’ve actually seen, with our own eyes, at a Krita Sprint, work done in Krita for a very promising animated television series!

Coming third, there’s the Brush Engine bugs, with 39 votes. Until we decided that it was time to spend time on stability and polish, we thought that in 2018, we’d work on adding some cool new stuff for brushes. Well, with Digital Atelier, it’s clear that there is a lot more possible with brushes in Krita than we thought — but as you’re telling us, there’s also a lot that should be fixed. The brush engine code dates back to a rewrite in 2006, 2007, with a huge leap made when Lukáš Tvrdý wrote his thesis on Krita’s brush engines. Maybe we’ll have to do some deep work, maybe it really is all just surface bugs. We will find out!

Fourth, bugs with Layer handling. 23 votes. For instance, flickering when layers get updated. Well, Dmitry fixed one bug there on Wednesday already!

Vector Objects and Tools: with 20 votes, Text with 15 votes and Layer Styles, with 13 votes (4 less than there are bug reports for Layer Styles…): enough to show people are very much interested in these topics, but it looks like the priority is not that high.

The remaining topics, Color Management, Shortcuts and Canvas Input, Resource Management and Tagging, all get 8 votes. We did fix a shortcuts bug, though… Well, that fix fixed three of them! And resource management is being rewritten in any case — maybe that’s why people don’t need to vote for it!

September 19, 2018

DSC00064.JPG

I had the awesome opportunity to attend Akademy in Vienna this year. First off, a big thank you to the organising  team for pulling off this years Akademy without a hitch.

This Akademy was a bit more special, since it was decided to switch up the format, which in my opinion worked quite well. There were training’s that ran alongside the talk’s and BoF’s, which I think was a great idea. I signed up to the Public Speaking Training and the Non Violent Communication training, which I think were run exceptionally. I hope that these training sessions are run again next Akademy because I found them exceptionally valuable.

I also used this opportunity to sit down with TL Lim from Pine64 to discuss the needs of the Pine64 community and how KDE and Pine64 could work together to provide a great experience on Pine64 products such as Pinebook. This eventually led to the release of the KDE Neon image for the Pinebook in the past week, which everyone seems to be quite happy about ��

Overall, I’d say this was a very productive Akademy for me personally, and I thoroughly enjoyed it.

Since this blog is starting after the beginning of my contributions to KDE, the first few regular posts will be explaining my prior contributions, before moving into the present.

Continuity, right?

I’d also like to outline how I got involved in development, as an entry-level/non-programmer. I hope this will be helpful for those interested in helping, but unsure how to go about doing something useful.

Konqui_dev_close_cropped.pngI was introduced to the idea of developing for KDE by Nate Graham and his Usability & Productivity goal. I was immediately drawn to the idea of polishing the applications, like I stated in my first post. But how do I get started? I mean, besides the technical stuff. How do I find something easy to work on? I’m not a programmer by trade, so while we do have the Junior Jobs, a lot of those seemed out of my reach. So what to do?

One of the Usability & Productivity posts from Nate mentioned icons being added to the menus in an app. I looked at the linked code that was changed, and noticed how simple it was! I can do that! So I searched through the Junior Jobs, and Phabricator (KDE’s development and code review platform) for applications that needed some icons added to their menu. I found some tasks, and set to work:

Check out the screenshots in those links! Here is an example:

It really makes the app look nicer, right? If you scroll down in those pages and look at the code changes, you will see they are basically simple one-liners that are copy/pasted from elsewhere, with a different icon name. Easy!

You could help do easy tasks like this too!

Visit KDE’s Get Involved page for more information, or contact me!

Recently a KDE neon image for the Pinebook was announced. There is a new image, with a handful of fixes, which the KDE Plasma team has been working on over the past week and a half.

Photo of Pinebook

Pinebook running KDE neon

Here’s a picture of my Pinebook running KDE neon — watching Panic! At the Disco’s High Hopes — sitting in front of my monitor that’s hooked up to one of my openSUSE systems. There are still some errata, and watching video sucks up battery, but for hacking on documentation from my hammock in the garden, or doing IRC meetings it’s a really nice machine.

But one of the neat things about running KDE neon off of an SD card on the Pinebook is that it’s portable — that SD card can move around. So let’s talk about multiboot in the sense of “booting the same OS storage medium in different hardware units” rather than “booting different OS from a medium in a single hardware unit”. On these little ARM boards, u-boot does all the heavy lifting early in the boot process. So to re-use the KDE neon Pinebook image on another ARM board, the u-boot blocks need to be replaced.

I have the u-boot from a Pine64 image (I forget what) lying around, 1015 blocks of 1024 bytes, which I can dd over the u-boot blocks on the SD card, dd bs=1k conv=notrunc,sync if=uboot.img of=/dev/da0 seek=8, and then the same SD card, with the filesystem and data from the Pinebook, will boot on the Pine64 board. Of course, to move the SD card back again, I need to restore the Pinebook u-boot blocks.

Photo of a dusty circuit board

KDE neon Pinebook edition running on a Pine64, with console output

Here’s a picture of my Pineboard (the base is a piece of the garden fence, it’s Douglas pine, with 4mm threaded rods acting as the corner posts for my Pine64 mini-rack), with power and network and a serial console attached, along with the serial console output of the same.

The nice thing here is that the same software stack runs on the Pine64 but then has a wired network — which in turn means that if I switch on the other boards in that mini-rack, I’ve got a distcc-capable cluster for fast development, and vast NFS storage (served from ZFS on my FreeBSD machines) for source. I can develop in a high(er) powered environment, and then swap the card around into the Pinebook for testing-on-the-go.

So to sum up: you can multiboot the KDE neon Pinebook image on other Pine64 hardware (i.e. the Pine64 board). To do so, you need to swap around u-boot blocks. The blocks can be picked out of an image built for each board, and then a particular image (e.g. the latest KDE neon Pinebook) can be run on either board.

September 18, 2018

Today, on September 18th, 2018, the Russian-speaking KDE community launches its updated website on KDE.ru.

The new website serves as the main page for the Russian-speaking community. It provides localized information about the community, product download links and the list of social network pages we maintain. It is also meant to help new members get involved in KDE’s projects, particularly in our translation and promotion efforts.

The website was created by me and Alexander Potashev on top of Jonah Brüchert‘s work for plasma-mobile.org. It uses Jekyll and is now hosted on official KDE servers. It replaces the old forum that has significantly lost its users in the past years.

If you like our work, please share the website with your friends and subscribers! �� If you find mistakes, report them in VK group messages, contact me or open a Phabricator revision with a fix.

We would like to thank Ben Cooksley for his help with website deployment, all the users who participated in beta testing, and everyone who helped polish the content.

Krita’s 2018 fund raiser is all about fixing bugs! And we’re fixing bugs already. So, let’s take a non-technical look at a bug Dmitry fixed yesterday. This is the bug: “key sequence ctrl+w ambiguous with photoshop compatible bindings set” And this is the fix.

So, we actually both started looking at the bug at the same time, me being Boudewijn. The issue is, if you use a custom keyboard shortcut scheme that includes a shortcut definition for “close current image”, then a popup would show, saying that the shortcut is ambiguous:

The popup doesn’t tell where the ambiguous definition is… Only that there is an ambiguous definition. Hm… Almost everything that does something in Krita that is triggered by a shortcut is an action. And deep down, Qt keeps track of all actions, and all shortcuts, but we cannot access that list.

So we went through Krita’s source code. The action for closing an image was really created only once, inside Krita’s code. And, another bug, Krita doesn’t by default assign a shortcut to this action. The default shortcut should be CTRL+W on Linux and Windows, and COMMAND+W on macOS.

Curiously enough, the photoshop-compatible shortcut definitions did assign that shortcut. So, if you’d select that scheme, a shortcut would be set.

Even curiouser, if you don’t select one of those profiles, so Krita doesn’t set a shortcut, the default ctrl+w/command+w shortcut would still work.

Now, that can mean only one thing: Krita’s close-image action is a dummy. It never gets used. Somewhere else, another close-image action is created, but that doesn’t happen inside Krita.

So, Dmitry started digging into Qt’s source code. Parts of Qt are rather old, and the module that makes it possible to show multiple subwindows inside a big window is part of that old code.

/*!
    \internal
*/
void QMdiSubWindowPrivate::createSystemMenu()
{
...
    addToSystemMenu(CloseAction, QMdiSubWindow::tr("&Close"), SLOT(close()));
...
    actions[CloseAction]->setShortcuts(QKeySequence::Close);
....
}
#endif

Ah! That’s where another action is created, and a shortcut allocated. Completely outside our control. This bug, which was reported only two days ago, must have been in Krita since version 2.9! So, what we do now is to make sure that the Krita’s own close-image action’s shortcut gets triggered. We do that by making sure Qt’s action only can get triggered if the subwindow’s menu is open.

    /**
     * Qt has a weirdness, it has hardcoded shortcuts added to an action
     * in the window menu. We need to reset the shortcuts for that menu
     * to nothing, otherwise the shortcuts cannot be made configurable.
     *
     * See: https://bugs.kde.org/show_bug.cgi?id=352205
     *      https://bugs.kde.org/show_bug.cgi?id=375524
     *      https://bugs.kde.org/show_bug.cgi?id=398729
     */
    QMdiSubWindow *subWindow = d->mdiArea->currentSubWindow();
    if (subWindow) {
        QMenu *menu = subWindow->systemMenu();
        if (menu) {
            Q_FOREACH (QAction *action, menu->actions()) {
                action->setShortcut(QKeySequence());
            }
        }
    }

That means, for every subwindow we’ve got, we grab the menu. For every entry in the menu, we remove the shortcut. That means that our global Krita close-window shortcut always fires, and that people can select a different shortcut, if they want to.

Just because KDE4-era software has been deprecated by the KDE-FreeBSD team in the official ports-repository, doesn’t mean we don’t care for it while we still need to. KDE4 was released on January 11th, 2008 — I still have the T-shirt — which was a very different C++ world than what we now live in. Much of the code pre-dates the availability of C++11 — certainly the availability of compilers with C++11 support. The language has changed a great deal in those ten years since the original release.

The platforms we run KDE code on have, too — FreeBSD 12 is a long way from the FreeBSD 6 or 7 that were current at release (although at the time, I was more into OpenSolaris). In particular, since then the FreeBSD world has switched over to Clang, and FreeBSD current is experimenting with Clang 7. So we’re seeing KDE4-era code being built, and running, on FreeBSD 12 with Clang 7. That’s a platform with a very different idea of what constitutes correct code, than what the code was originally written for. (Not quite as big a difference as Helio’s KDE1 efforts, though)

So, while we’re counting down to removing KDE4 from the FreeBSD ports tree, we’re also going through and fixing it to work with Clang 7, which defaults to a newer C++ standard and which is quite picky about some things. Some time in the distant past, when pointers were integers and NULL was zero, there was some confusion about booleans. So there’s lots of code that does list.contains(element) > 0 .. this must have been a trick before booleans were a supported type in all our compilers. In any case it breaks with Clang 7, since contains() returns a QBool which converts to a nullptr (when false) which isn’t comparable to the integer 0. Suffice to say I’ve spent more time reading KDE4-era code this month, than in the past two years.

However, work is proceeding apace, so if you really really want to, you can still get your old-school kicks on a new platform. Because we care about packaging things right, even when we want to get rid of it.

September 17, 2018

An art school in Paris, France, is looking for a Krita teacher! This is pretty cool, isn’t it? If you’re interested, please mail foundation@krita.org and we’ll forward your mail to the school!


A freelance Krita teacher to teach basics to art school students, Paris 11e. November 2018.

The course has to be mainly in french (could be half in english).
That’s full-days session with differents students group (28 students x 5 classes).

  • The teacher has to have an “statut autoentrepreneur” (french freelance).
  • Price is around 50 euros per hour (6 hours days)
  •  The courses will be on : 5th, 8th, 9th,12th, 13th, 14th, 15th, 16th november 2018
  • It’s mainly about general tools of the software, and how to draw and paint with Krita
    using tablets
  • There are possibilities to work more than this first schedule, later in 2019

Profile: Game artist, Concept artist, digital painter, illustrator… please send your website if interested!


Cherche formateur auto-entrepreneur pour cours de Krita à des étudiants en Ecole d’Art, Paris 11. Novembre 2018.

Le cours doit être majoritairement donné en français, mais anglais partiel possible.
Jours pleins à l’école avec différents groupes d’étudiants (28 étudiants x 5 classes).

  • le formateur doit avoir un statut auto-entrepreneur
  • rémunération autour de 50 euros l’heure (journées de 6 heures)
  • les cours seront les : 5, 8, 9, 12, 13, 14, 15, 16 novembre 2018
  • il s’agit d’apprendre les outils de bases du logiciel, et surtout les outils de dessin et peinture avec tablette
  • Il y a des possibilités futures pour d’autres dates dans l’année 2019

Profil: Game artist, Concept artist, digital painter, illustrateur… merci d’envoyer votre site si intéressé !

KGraphViewer, your favourite visualiser of .dot files, has a new update.

  • Switch KgvPageLayout to QPageSize for page size handling
  • Avoid double top-level layout in KGVSimplePrintingPageSetup
  • Fix layout of page layout & size dialog
  • Remove unused dependency KIO
  • Fix minor typo
  • Update kgraphviewer docbook
  • Make sure the Graphviz library directories are known to the linker

Thanks to Pino, Michael, Yuri, Berkhard, Ben and translators for their continued gardening of this project.

Git tag v2.4.3a 4ff52f959f03291659db58554901d536356764e2

Tar https://download.kde.org/stable/kgraphviewer/2.4.3/kgraphviewer-2.4.3.tar.xz

GPG Signature https://download.kde.org/stable/kgraphviewer/2.4.3/kgraphviewer-2.4.3.tar.xz.sig

Signed by Jonathan Riddell GPG key fingerprint ‘2D1D 5B05 8835 7787 DE9E  E225 EC94 D18F 7F05 997E’

Facebooktwittergoogle_pluslinkedinby feather

Could you tell us something about yourself?

I’m a graduate of the Kansas City Art Institute, but I’ve since moved back to Northwest Arkansas. When I’m not painting or playing video games, I’m enjoying the great outdoors with my wonderful husband, adorable daughter, and our 8-year-old puppy.

Do you paint professionally, as a hobby artist, or both?

I do both! I do freelance work for clients, but I still paint for fun (and for prints).

What genre(s) do you work in?

Primarily fantasy because I love how much room for imagination there is. Nothing is off-limits! While that genre is my favorite, I also do portraiture (mostly pets) and have been dabbling a bit in children’s illustration recently.

Whose work inspires you most — who are your role models as an artist?

Dan dos Santos is my absolute favorite artist. His rendering is gorgeous. His color is masterful. There’s a lot that can be learned just by looking at the paintings he produces, but luckily for me and anyone else who looks up to his work, he even shares some of his techniques and professional experience with the world. He works mostly in traditional media, but the concepts that he discusses are pretty universal. As far as digital artists go, I’m very fond of the work of people like Marta Dahlig and Daarken.

How and when did you get to try digital painting for the first time?

I think college was the first time that I sat down with a tablet and computer and gave the digital painting thing a go. Before that, though, I had dabbled in some other digital image-making techniques, I was more interested in the traditional stuff like oil paints and charcoal.

What makes you choose digital over traditional painting?

Once I got over that initial transitional hump from traditional to digital I was hooked. There’s no cleanup. You can’t run out of blue paint at just the wrong moment. The undo function is absolute magic. More than anything, though, it’s the control that keeps me working in a digital space. Between layers, history states, and myriad manipulation options, I can experiment without worrying about destroying anything. It’s very freeing and really strips the blank canvas of any of its intimidating qualities.

How did you find out about Krita?

Reddit. It came up in a number of threads about digital painting software. People had a lot of positive things to say about it, so when I felt like it was time to start looking at some Photoshop alternatives to paint in, it was the first one that I tried.

What was your first impression?

I was pleasantly surprised when I launched Krita the first time. The UI was polished and supported high DPI displays. All of the functionality that I was looking to replace from Photoshop CS5 was there—and it had been tuned for painting specifically. I was even able to open up the PSDs I had been working on and transition over to Krita without losing a beat. All of my layers and blending modes were intact and ready rock. Hard to ask for a smoother switch than that!

What do you love about Krita?

Aside from the pricing and the whole thing being built from the ground up with painting in mind, I think my favorite feature is actually just the ability to configure what shows up in the toolbars as much as you can in Krita. I work on a Surface Pro 4, and being able to have all of the functions I need in the interface itself so that I don’t have to have a keyboard in between me and the painting to keep repetitive functions speedy is so great.

What do you think needs improvement in Krita? Is there anything that really annoys you?

Really, the brush system improvements in the last big update fixed up basically anything I could have hoped for! The only lingering thing for me probably comes down to a personal preference, but when I choose to save out a flat version of my document while working on a KRA, I’d rather the open document default to saving on the KRA on subsequent saves instead of that new JPEG/TIFF/whatever other format I selected for the un-layered copy.

What sets Krita apart from the other tools that you use?

I think the open source nature of it is a big component, but on a daily use basis, the biggest functional difference between Krita and other tools I use (like Photoshop and Illustrator) is that painting is the intended usage. The interface and toolsets are geared entirely toward painting and drawing by default, so doing that feels more natural most of the time.

If you had to pick one favourite of all your work done in Krita so far, what would it be, and why?

I think my favorite Krita painting so far is my most recent—Demon in the Dark. Out of my work produced start to finish in the program, that one had the most detail to play with and I had a lot more fun balancing the composition. Cloth, smoky details, and the female figure are some of the things I enjoy painting most, and that one included all of them!

What techniques and brushes did you use in it?

There weren’t any particularly fancy techniques or brushes used. I like to keep it simple and sketch out my composition, broadly block in color, then progressively refine, layering in and collapsing down chunks of painting until things are reasonably polished and cohesive. To pull it off, I used my staple brushes (hard round and standard blender) for the brunt of the painting, then some more specific texture build-up brushes for hair, clouds, particles, and the like. A time lapse of the whole process is up on my YouTube channel (https://youtu.be/phPrPgK5DYQ).

Where can people see more of your work?

People can check out my work on my website, www.artofalyssamay.com, or my Instagram, @artofalyssamay. They can also find time lapses of my paintings on my YouTube channel, www.youtube.com/c/AlyssaMay!

Anything else you’d like to share?

Just my thanks to the Krita team for making and sharing such a solid program!

There’s some discussion on D15383 about the use of editorconfig in our sources, I belive that we should have this little file in *all* of our projects (actually I would put this in *every single project that exists*. This is a small file that handles common code conventions per project, for instance the tab vs spaces thing.

Before adopting it in my company my life was not good: I had to manually change tabs vs spaces in the configuration of kate multiple times a day. Working with python? spaces. working with c++? tabs. And a few projects here have those two files at the same parent-project, after adopting it life is collorfull again.

The linked branch has a working editorconfig, I beg you fellow developer, this will help windows developers, mac developers, vim / emacs developers and visual developers as editorconfig has plugins or is directly integrated in many developer tools.

 

September 16, 2018

KDE Akademy 2018

Yeah I am not in the picture, but I was there! You can find me over on the left there, where several of us were cut off �� Akademy was held in the lovely city of Vienna, Austria this year. Hats off to the akademy team for a great job!

This year at akademy I spent much of my time catching up with the Blue Systems team and meeting with the KDE Sysadmin team. I am happy to report Ben Cooksley is real! Due to my flights, I missed the first and last day. It was still a productive akademy. I attended some good sysadmin and KDE Neon BoFs . I also did a bit of volunteering ��

Even though I am mostly packaging for Debian directly these days, KDE Neon is still near and dear to my heart. I hope to be able to merge debian packaging into Neon soon so that we can have better collaboration within the team.

I met with Ben in regards to getting back into sysadmin/CI work. I am working on Appimage tooling for KDE Binary factory to begin. I hope to utilize the craft tooling to make everyone’s lives easier. This of course is on my free time, but do keep an eye out!

https://binary-factory.kde.org/

Despite my shortened akademy, I still am happy with the results. It was great to see everyone! See you again next year!


Latte Dock v0.8.1   has been released containing important fixes and improvements!


Go get   v0.8.1  from, download.kde.orgor  store.kde.org*

-----
* archive has been signed with gpg key: 325E 97C3 2E60 1F5D 4EAD CF3A 5599 9050 A2D9 110E



Fixes/Improvements (v0.8.1)




Two Latte panels in Unity mode using properly the
Unity Ambiance plasma theme


  • Most important fix is the new implementation for multi-screen environments. Frustrated as I was from the previous one I decided to make it more robust. With new architecture onPrimary docks/panels have always higher priority that the explicit ones. That change creates a more consistent behavior with Plasma. 

    At the same time a highly sophiticated code that was messing things has been totally removed. Latte was trying to be too smart and never let you without a taskmanager in a multi-screen environment. That was creating more issues than it was solving. In the future when such case for the user occurs a dialog can appear to ask the user what it would prefer to do.
  • Fixes for plasma theme support:
    -
    draw properly plasma theme panel backgrounds based on the edge that the dock or panel is present, e.g. Unity Ambiance, Nilium
    -
    do not double paint plama theme background when the theme does not contain a shadow
  • Fix previews for grouped windows (follow plasma design for window previews)
  • do not move explicit dock on primary screen
  • consider "not show background" case as full transparency
  • consider preferredSize(s) only for >0 values (case of locked analog clock disappearing at a vertical panel)
  • if there is not any active window at all, dodge set docks should reappear
  • do not crash in wayland when right clicking with touchpad
  • identify maximized window screen differently
  • place correctly a new copied dock in a multi-screen environment
  • enable blur for solid theme panels
  • fix for missing global shortcuts '9' badge
  • support unified or not global shortcuts in case the user does not want to use the Latte unified system for its applets. In master version this can be set separately for every dock/panel from its Dock Settings but for v0.8 you should follow:
    https://github.com/psifidotos/Latte-Dock/wiki/Tips-&-Tricks#q-can-i-disable-unified-global-shortcuts-feature-introduced-with-v08

Greetings, KDE-loving humans! This week’s Usability & Productivity is a heavy one in terms of importance. We scored awesome fixes and improvements through the KDE software stack for subjects as varied as Libinput mouse and touchpad device handling, Task Manager icon sorting for LibreOffice, and a snazzy new unified mailbox in KMail. Have a look:

New Features

  • KMail can now display a unified inbox (Daniel Vrátil, KDE Applications 18.12.0):

Bugfixes

UI Polish & Improvement

Next week, your name could be in this list! Just check out https://community.kde.org/Get_Involved, and find out how you can help be a part of something that really matters.

If my efforts to perform, guide, and document this work seem useful and you’d like to see more of them, then consider becoming a patron on Patreon, LiberaPay, or PayPal. Also consider making a donation to the KDE e.V. foundation.

Let’s write a mail viewer with Rust and Qt. This is another blog about Rust Qt Binding Generator, the project that lets you add a Qt GUI to your Rust code, or if you will, add Rust to your Qt program.

Rust Qt Binding Generator (Logo by Alessandro Longo)Rust Qt Binding Generator (Logo by Alessandro Longo)

Previous blogs about Rust Qt Binding Generator covered the initial announcement, building a simple clock, and making a todo list. Now, I’ll show a bit of how to make a more complex application: an email reader.

But first: Rust Qt Binding Generator takes an unusual approach to bindings. It is not a complete binding from the Qt API to Rust because I think that that is impossible: the C++ Qt API does not have all the safety guarantees that Rust has. So the binding API would be full of unsafe negating a big advantage of using Rust.

Instead, Rust Qt Binding Generator generates a binding for just your code to make your Rust code available to a Qt GUI.

In the first tutorial, we showed a clock. The model shared between Rust and Qt had three simple properties: hour, minute and second. The second blog was about a todo application. There, the model was a list of todo items shared between Rust and Qt.

Getting the code

This time, we move on to a more complex object: a tree.

A mail viewer written with Rust and Qt A mail viewer written with Rust and Qt

We’re keeping with the theme of personal information management and are writing an email viewer. It can read mail from MailDir folders and IMAP servers. It is completely readonly and will not even change the state of your messages from unread to read. I feel comfortable using it on my own mails alongside my real mail programs.

The code is available in my personal KDE space. It requires Rust, Cargo, Qt, CMake, OpenSSL, and ninja (or make). You can retrieve and compile it with

The code is about 2200 lines of Rust and 550 lines of QML. Parsing mails and communicating over IMAP is done by three crates: mailparse, imap-proto and imap.

The shared data model

In an email application there are usually two prominent trees: one shows the email folders and the other shows the messages in the selected folder.

First we model the list of folders. Here is the JSON object from bindings.json that does this.

The type of MailFolders is Tree. Each node in the tree has two properties: name and delimiter. Rust Qt Binding Generator generates Qt and Rust code from this. The Qt code (Bindings.cpp and Bindings.h) defines an implementation of QAbstractItemModel. This is the same base class as in the todo example. This time, it holds a tree instead of a list.

There is also Rust code generated. The file interface.rs is the binding to the Qt code. It defines a trait MailFoldersTrait that the developer needs to implement in a struct called MailFolders.

We’ll discuss some parts of the Rust implementation file.

The implementation should be backed by a structure. There are two structures: MailFolder which represents a node in the tree and MailFolders which contains all the nodes in a Vec and interfaces for communicating with other parts of the program.

In the tree, each node has a unique index. The index is used by Qt to find out information about the node, like how many children (rows) it has or to get out data like the name.

These functions correspond to the C++ virtual functions in QAbstractItemModel.

Doing the work in a thread

The user interface should stay responsive. So intense and slow work like reading and parsing email is done in a separate thread. The user interface starts a thread to do the hard work and sends commands to it via a channel.

When new data is available, the UI needs to update. This must be done by the UI thread. When the processing thread has new data it emits a signal to the UI thread. The UI thread then aquires accesses the data via a mutex that is shared between the two threads.

Communication between GUI and processing threadsCommunication between GUI and processing threads

QML for the folders

The Rust-implemented model is used from the QML. The connection between the TreeView and the model is made by the line model: mailmodel.folders. Each node is rendered according to the Text delegate. When the user selects a different folder the model is notified of this by handling the onCurrentIndexChanged event.

TreeView {
    id: folders
    model: mailmodel.folders
    TableViewColumn {
        title: "Name"
        role: "name"
        width: folders.width - 20
        delegate: Text {
            text: icon(styleData.value) + " " + styleData.value
            verticalAlignment: Text.AlignVCenter
        }
    }
    onCurrentIndexChanged: {
        //...
        mailmodel.currentFolder = path;
    }
    style: TreeViewStyle {
        highlightedTextColor: palette.highlightedText
        backgroundColor: palette.base
        alternateBackgroundColor: palette.alternateBase
    }
    headerVisible: false
    frameVisible: false
}

Other parts

The list of folders is one of five object defined in the model. The others are the tree for the message threads in a folder (middle pane in the screenshot above), the current email (right pane), the list of attachments for the current email and an overall object that contains all the other ones. The latter, MailModel, is the initial entry point for the user interface. The user-initiated commands are sent to the processing thread from that overall object.

Trying it out

Create a configuration file for MailDir or IMAP.

The path for the MailDir configuration is the folder that contains .inbox.directory.

and run the code

Concluding

This GUI is built with QML via Qt Quick Controls. One might as well write one with Qt Quick Controls 2, QWidgets or Kirigami. The majority of the code, the Rust code, could stay the same. With the appropriate abstractions one might even use a different GUI framework and still keep the core application logic. Just imagine: KDE and GNOME joined together by Rust.

September 15, 2018

It’s time for a new Krita fundraiser! Our goal this year is to make it possible for the team to focus on one thing only: stability. Our previous fundraisers were all about features: adding new features, extending existing features. Thanks to your help, Krita has grown at breakneck speed!

Squash the bugs!

This year, we want to take a step back, look at we’ve achieved, and take stock of what got broken, what didn’t quite make the grade and what got forgotten. In short, we want to fix bugs, make Krita more stable and bring more polish and shine to all those features you all have made possible!

We’re not using Kickstarter this year. Already in 2016, Kickstarter felt like a tired formula. We’re also not going for a fixed amount of funding this year: every 3500 euros funds one month of work, and we’ll spend that time on fixing bugs, improving features and adding polish.

Polish Krita!

As an experiment, Dmitry has just spent about a month on area of Krita: selections. And now there are only a few issues left with selection handling: the whole area has been enormously improved. And now we want to ask you to make it possible for us to do the same with some other important areas in krita, ranging from papercuts to brush engines, from color management to resource management. We’ve dug through the bugs database, grouped some things together and arrived at a list of ten areas where we feel we can improve Krita a lot.

The list is order of number of reports, but if you support Krita in this fundraiser, you’ll be able to vote for what you think is important! Voting is fun, after all, and we love to hear from you all what you find  the most important things.

Practical Stuff

Practically speaking, we’ve kicked out Kickstarter, which means that from the start, you’ll be able to support our fundraiser with credit cards, paypal, bank transfers — even bitcoin! Everyone who donates from 15 September to 15 October will get a vote.

And everyone who donates 50 euros or more will get a free download of Ramon Miranda’s wonder new brush preset bundle, Digital Atelier. Over fifty of the highest-quality painterly brush presets (oils, pastel, water color) and more than that: 2 hours of tutorial video explaining the creation process in detail.

 

Go to the campaign page!

In the previous post on writing custom data extractors for the KItinerary framework, I mentioned we are augmenting extracted data with knowledge from Wikidata. This post will cover this aspect in more detail.

Static knowledge refers to information that with near certainty don’t change for the duration of your trip, or during a release cycle of our software. That’s things like name, location and timezone of an airport, or the country it belongs to, as opposed to dynamic knowledge like departure gates or platforms, delays, etc.

Use Cases

There’s two main use-cases for static knowledge here:

  • Detecting and translating human-readable identifiers of for example countries or airports into something more suited for machine use. As a human I know ‘Charles de Gaulle’ refers to the main airport of Paris, for the software the IATA airport code ‘CDG’ is much more useful. Similar, we want ISO 3166-1 codes for countries rather than possibly localized human-readable names, and so on.

  • Augmenting or completing partial information. Usually the booking confirmation data we extract doesn’t contain geo coordinates (useful for navigation to/from the airport/station), the timezone (essential for correctly converting arrival/departure times) or the country (needed for our power plug compatibility check), so we need to obtain that from elsewhere.

Data Sources

Currently we are basing this on the following free and open data sources:

Offline Data

One aspect that might be a bit counter-intuitive at first is that we don’t query this information online, but bake it into the program code. This has a number of advantages:

  • Privacy. Your email client would otherwise produce a predictable online access when opening an email containing a travel booking. Even with transport encryption this activity would still be observable on e.g. an open WiFi network, not ideal.
  • Speed. The data is encoded in the shared read-only data section of the KItinerary library, in a way that is directly usable without any parsing or additional memory allocations.
  • Offline support. That’s something quite handy when traveling, as you might be forced into flight mode or are outside of data roaming coverage.

Obviously there are some downsides to this approach as well, but they are comparatively small:

  • Outdated data. You’d need a software update to roll out data changes. This is however why we limit this to “static” data, ie. information that should be stable within one release cycle (3-4 month) with a very high certainty.
  • Size. Obviously this data needs space. It’s however surprisingly little, about 600kB for the localized country name to ISO 3166-1 mapping in KContacts, and about 400kB in KItinerary for the airport and train station databases.

Contribute

There’s an easy way to help in this area too, by improving the Wikidata content. Our code extracting the relevant knowledge from Wikidata is warning about some issues such as missing or conflicting data. These issues are usually easy to research and fix, so that might be a nice entry point into Wikidata editing (it definitely was for me).

Since the data quality is actually very good, the below is the complete list of remaining issues at this point, for the few ten thousand objects we are looking at.

The following airports have two geo coordinates assigned to them that differ by more than 20 kilometers. Few airports are that large, more commonly that’s a simple typo. A quick look on a map is often enough to determine which is the right coordinate.

Similarly, the following airports have no geo coordinate specified:

The list of train stations missing geo coordinates is a bit longer and therefore in a separate file.

A bit more elaborate are the following train stations with IBNR conflicts (an ideally unique station identifier). In the easiest case it’s just two duplicate objects that can be merged, in other cases this might require some understanding on which part of a larger station is actually addressed by the identifier.

And finally there is a more conceptual issue with Gares & connexions IDs for international destinations on SNCF tickets, as described in task T8830.

September 14, 2018

Edoarda

Some seeds take a while to grow, and what a while. I’v met Karina Mochetti five years ago when I moved to Campinas, back then I had just started working at Intel and I had finished one of my most glorious software developer tasks, good subversive terrorist that I’m, I made Linus Torvalds program in C++ and talking with a friend that lives in Rio de Janeiro I heard “I have a programmer friend in Campinas, wanna meet?”, well, yes, always.

Fernando

Then I met Karina, a really shy programmer about her habilities, finishing her doctors in Cryptography and Quantum Computers, and I was like “wow, and you feel that you don’t have habilities?”, I’v shown her some stuff that I work on, she regozijed. And time passed. I moved to a really welcoming place with lots of culture, arts, craft, programmers called Munich, and she moved to a really welcoming place with lots of culture, arts, craft, programmers called Niteroi. We lost contact.

Untill we got contact again a few months ago, and we talked about a ~partnership~ between KDE and UFF, the  Unversity that she’s now a professor, and now I can say: We have 9 students from the Fluminense Federal University working on 5 applications from kde-edu.

First we have two students that are almost finishing the university and choosed to work on KDE software for their Projects:

Joao

Lukas is already working on Minuet and plans to have code for understanding sounds and giving you the note that you played, This can really boost Minuet’s hability to teach music theory as it can discover when you got it wrong.

Carlos is taking a go in Kalzium and trying to fix bugs, modernizing it’s codebase and trying to improve avogrado integration.

Carlos

He’s a computer scientist that loves movies, food and cold nights. Has a hate/love relationship with computers since childhood and is clumsy as a panda. Eager to do things that will actually matter to the world in general.

Edoarda and Hugo are tackling Kiten, trying to rethink it’s user interface for the modern user keeping mobile and desktop in mind. it’s not a easy task as kitten has many powerfull features hidden behind a really clean interface.

Luan and Fernando are reviving my Pet Project, Rocs, a Graph Theory teaching tool that for many years was maintained by me and Wagner Reck, later by Andreas Cord-Landwehr. It’s really good to see an University taking that project again.

Joao and Marcelo are working in KTurtle with the blessing of the KTurtle ex maintainers, they are full of energy and ideas.

Karina Mochetti

Hugo

Lucas

 

September 13, 2018

I’ve started contributing to Clang, in the hope that I can improve the API for tooling. This will eventually mean changes to the C++ API of Clang, the CMake buildsystem, and new features in the tooling. Hopefully I’ll remember to blog about changes I make.

The Department of Redundancy Department

I’ve been implementing custom clang-tidy checks and have become quite familiar with the AST Node API. Because of my background in Qt, I was immediately disoriented by some API inconsistency. Certain API classes had both getStartLoc and getLocStart methods, as well as both getEndLoc and getLocEnd etc. The pairs of methods return the same content, so at least one set of them is redundant.

I’m used to working on stable library APIs, but Clang is different in that it offers no API stability guarantees at all. As an experiment, we staggered the introduction of new API and removal of old API. I ended up replacing the getStartLoc and getLocStart methods with getBeginLoc for consistency with other classes, and replaced getLocEnd with getEndLoc. Both old and new APIs are in the Clang 7.0.0 release, but the old APIs are already removed from Clang master. Users of the old APIs should port to the new ones at the next opportunity as described here.

Wait a minute, Where’s me dump()er?

Clang AST classes have a dump() method which is very useful for debugging. Several tools shipped with Clang are based on dumping AST nodes.

The SourceLocation type also provides a dump() method which outputs the file, line and column corresponding to a location. The problem with it though has always been that it does not include a newline at the end of the output, so the output gets lost in noise. This 2013 video tutorial shows the typical developer experience using that dump method. I’ve finally fixed that in Clang, but it did not make it into Clang 7.0.0.

In the same vein, I also added a dump() method to the SourceRange class. This prints out locations in the an angle-bracket format which shows only what changed between the beginning and end of the range.

Let it bind

When writing clang-tidy checks using AST Matchers, it is common to factor out intermediate variables for re-use or for clarity in the code.

auto valueMethod = cxxMethodDecl(hasName("value"));
Finer->addMatcher(valueMethod.bind("methodDecl"));

clang-query has an analogous way to create intermediate matcher variables, but binding to them did not work. As of my recent commit, it is possible to create matcher variables and bind them later in a matcher:

let valueMethod cxxMethodDecl(hasName("value"))
match valueMethod.bind("methodDecl")
match callExpr(callee(valueMethod.bind("methodDecl"))).bind("methodCall")

Preload your Queries

Staying on the same topic, I extended clang-query with a --preload option. This allows starting clang-query with some commands already invoked, and then continue using it as a REPL:

bash$ cat cmds.txt
let valueMethod cxxMethodDecl(hasName("value"))

bash$ clang-query --preload cmds.txt somefile.cpp
clang-query> match valueMethod.bind("methodDecl")

Match #1:

somefile.cpp:4:2: note: "methodDecl" binds here
        void value();
        ^~~~~~~~~~~~

1 match.

Previously, it was only possible to run commands from a file without also creating a REPL using the -c option. The --preload option with the REPL is useful when experimenting with matchers and having to restart clang-query regularly. This happens a lot when modifying code to examine changes to AST nodes.

Enjoy!

I'm glad to announce that KStars is now available on Microsoft Store in over 60 languages! It is the first official KDE App to be published by KDE e.V on the MS Store.

Currently, KStars v2.9.8 is in the store and should be updated every stable release.


While KStars has sand-boxed packages for both MacOS & Windows, we are still missing a Linux sandboxed package. Earlier attempts at packaging a Snap package failed and I didn't pursue it further due to lack of support. Additional work at creating an AppImage also failed due to a few technical issues with linuxdeployqt and SSL. If anyone can help us create a Snap/FlatPak package, that would be great.

This release on the Windows Store would not have been possible without the tremendous work done by Hannah Von Reth. She played a pivotal role in setting up the infrastructure and tools necessary to make this work, thank you Hannah!



Plasma 5.14 Beta

KDE Plasma 5.14 Beta

Thursday, 13 September 2018. Today KDE launches the beta release of Plasma 5.14.

Plasma is KDE's lightweight and full featured Linux desktop. For the last three months we have been adding features and fixing bugs and now invite you to test the beta pre-release of Plasma 5.14.

A lot of work has gone into improving Discover, Plasma's software manager, and, among other things, we have added a Firmware Update feature and many subtle user interface improvements to give it a smoother feel. We have also rewritten many effects in our window manager KWin and improved it for slicker animations in your work day. Other improvements we have made include a new Display Configuration widget which is useful when giving presentations.

Please test and send us bug reports and feedback. The final release is scheduled for three weeks' time.


Browse the full Plasma 5.14 Beta changelog to find out about more tweaks and bug fixes featured in this release: Full Plasma 5.14 Beta changelog


New in Plasma 5.14 Beta


New Features



    Display Configuration Widget

    Display Configuration Widget
  • There's a new Display Configuration widget for screen management which is useful for presentations.
  • The Audio Volume widget now has a built in speaker test feature moved from Phonon settings.
  • The Network widget now works for SSH VPN tunnels again.
  • Switching primary monitor when plugging in or unplugging monitors is now smoother.
  • The lock screen now handles user-switching for better usability and security.
  • You can now import existing encrypted files from a Plasma Vault.
  • The Task Manager implements better compatibility with LibreOffice.




  • System Monitor Tools

    System Monitor Tools

  • The System Monitor now has a 'Tools' menu full of launchers to handy utilities.
  • The Kickoff application menu now switches tabs instantly on hover.




  • Old Panel Widget Edit Menu
       

    New Slicker Panel Widget Edit Menu

    Panel Widget Edit Menu Old and New Style

  • Widget and panels get consistent icons and other user interface improvements.




  • Logout Warning

    Logout Warning

  • Plasma now warns on logout when other users are logged in.
  • The Breeze widget theme has improved shadows.





Plasma Discover

Plasma Discover

Plasma Discover

Discover, our software and add-on installer, has more features and improves its look and feel.

  • Discover gained fwupd support, allowing it to upgrade your computer's firmware.
  • It gained support for Snap channels.
  • Discover can now display and sort apps by release date.
  • You can now see an app's package dependencies.
  • When Discover is asked to install a standalone Flatpak file but the Flatpak backend is not installed, it now offers to first install the backend for you.
  • Discover now tells you when a package update will replace some packages with other ones.
  • We have added numerous minor user interface improvements: update button are disabled while checking for updates, there is visual consistency between settings and the update pages, updates are sorted by completion percentage, we have improved the review section of the update notifier plasmoid, etc..
  • We have improved reliability and stability through a bunch of bug fixes.





Improved KWin Glide Effect

KWin and Wayland:

  • We fixed copy-paste between GTK and non-GTK apps on Wayland.
  • We fixed non-centered task switchers on Wayland.
  • We have improved pointer constraints.
  • There are two new interfaces, XdgShell and XdgOutput, for integrating more apps with the desktop.
  • We have considerably improved and polished KWin effects throughout, including completely rewriting the Dim Inactive effect, adding a new scale effect, rewriting the Glide effect, and more.


Bugfixes

We fixed many bugs, including:

  • Blurred backgrounds behind desktop context menus are no longer visually corrupted.
  • It's no longer possible to accidentally drag-and-drop task manager buttons into app windows.

September 12, 2018

0.3 Beta Release of Elisa Music Player

Elisa is a music player developed by the KDE community that strives to be simple and nice to use. We also recognize that we need a flexible product to account for the different workflows and use-cases of our users.

We focus on a very good integration with the Plasma desktop of the KDE community without compromising the support for other platforms (other Linux desktop environments, Windows and Android).

We are creating a reliable product that is a joy to use and respects our users privacy. As such, we will prefer to support online services where users are in control of their data.

New Features and Improvements

The main improvements are the following:

  • Hide stars when there is no rating by Diego Gangl ;

  • Various fixes for the Windows support by Matthieu Gallien ;
  • Implement interface of Baloo to watch renamed files by Matthieu Gallien ;
  • Upgrade some code using deprecated features in KDeclarative framework by Alexander Stippich ;
  • Align the action buttons with the big icon in the views header by Diego Gangl ;
  • Allow the playlist to be hidden when browsing your music by Diego Gangl ;
  • Always display the title of the playlist entries by Matthieu Gallien ;

  • Internal improvements to various non graphical components to allow future improvements to the header bar by Matthieu Gallien ;
  • Resize track metadata view dynamically by Alexander Stippich ;
  • Improvements to the header of the play list by Diego Gangl ;
  • Add a mode where Elisa can show only the header but in the full window by Carl Schwan. Welcome to the project. This was a junior task identified in the Elisa workboard ;
  • Optimize the data methods of model and use QAbstractItemModelTester (see the blog from ) by Matthieu Gallien ;
  • Makes KIO and KFileMetaData be optional dependencies by Matthieu Gallien. This a preliminary step to allow building Elisa for Android with as few dependencies as possible.

New Mode with only the Player Header Visible

This feature improves two different cases. The first is to allow usage of Elisa with a small window. In this case, only minimal information is shown in a possibly small window. The second is to implement the “party” mode that was originally designed by Andrew Lake.

Screenshot_20180912_231947

Other Improvements to the Interface

As already said, there have been various improvements to the interface.

Screenshot_20180912_232200

How You Can Help

We are preparing for the next stable release. As such, there is a feature freeze and an ongoing effort to squash as many bugs as possible.

We really appreciate any feedback on the current state via bugs.kde.org. We welcome bug report or feature suggestions.

You can get the next release by building from source or by using the flatpak package provided by KDE. The windows installer is also available here (thanks a lot to the Craft and binary-factory teams).

More long and thoughtful posts like the prior one will be coming. But right now I have an important announcement! I have resurrected the KDE Bugsquad, and we have our first official Bug Day on Saturday!

The KDE Bugsquad is back! We can think of no better way to celebrate than joining forces with the Krita team as part of their Squash All the Bugs fundraiser!

We will be holding the first Bug Day on September 15th, 2018, focusing on bugs reported on Krita. Expect events to kick off at 10:00 AM EDT.

This is a great opportunity for anyone, especially non-developers to get involved!

  1. Mascot_konqi-support-bughunt.pngCheck out our Bug Triaging guide for a primer on how to go about confirming and triaging bugs.
  2. Log into KDE Phabricator and join the Bugsquad!
  3. Join the #kde-bugs IRC channel on Freenode to chat with us in real-time as we go through the list.
  4. Open the shared Etherpad for this event (use your KDE Identity login) to select your block of bugs and cross them off.

If you need any help, contact me!


Older blog entries

 

 


Planet KDE is made from the blogs of KDE's contributors. The opinions it contains are those of the contributor. This site is powered by Rawdog and Rawdog RSS. Feed readers can read Planet KDE with RSS, FOAF or OPML.