Planet KDE

Subscribe to Planet KDE feed Planet KDE
Planet KDE | English
Updated: 18 hours 26 min ago

Oxygen Icons 6 Released

Wed, 2024-02-21 05:20

Oxygen Icons is an icon theme for use with any XDG compliant app and desktop.

It is part of KDE Frameworks 6 but is now released independently to save on resources.

This 6.0.0 release requires to be built with extra-cmake-modules from KF 6 which is not yet released, distros may want to wait until next week before building it.

Distros which ship this version can drop the version released as part of KDE Frameworks 5.

sha256: 28ec182875dcc15d9278f45ced11026aa392476f1f454871b9e2c837008e5774

URL: https://download.kde.org/stable/oxygen-icons/

Signed by E0A3EB202F8E57528E13E72FD7574483BB57B18D Jonathan Esk-Riddell <jr@jriddell.org>
https://jriddell.org/esk-riddell.gpg

Categories: FLOSS Project Planets

KDSOAP WS-Discovery Client 0.4.0

Wed, 2024-02-21 04:44

This project is creating a WS-Discovery client library based on the KDSoap library.

The name is short for Klarälvdalens Datakonsult AB Simple Object Access Protocol Web Services Addressing Discovery Client.

It is used by the SMB KIO worker from kio-extras.

kio-extras will have two releases as part of KDE’s 6th Megarelease, one for Qt 5 and one for Qt 6. Distros should build and ship both versions of kio-extras but the Qt5 build should use the internal static copy of kdsoap-ws-discovery-client so does not need to be built separately. The Qt 6 build of kio-extras does need this external build of kdsoap-ws-discovery-client. Distros will need an up to date copy of KDSoap library.

There are no changes compared to 0.3.0 but this one is released as stable ahead of KDE Gear 24.02.

SHA 256: 2cd247c013e75f410659bac372aff93d22d71c5a54c059e137b9444af8b3427a
URL: https://download.kde.org/stable/kdsoap-ws-discovery-client/
Signed by E0A3EB202F8E57528E13E72FD7574483BB57B18D Jonathan Esk-Riddell <jr@jriddell.org>
https://jriddell.org/esk-riddell.gpg

Categories: FLOSS Project Planets

Introducing Support For KdeEcoTest On Windows

Tue, 2024-02-20 19:00

KdeEcoTest is an emulation tool aimed at emulating user activity when measuring the energy consumption of an application. You can read more about work on KdeEcoTest at this SoK23 and this SoK24 blog post. Check out the KDE Eco handbook for more details about measuring software's energy consumption.

Figure : KDE Eco logo.

One of the main goals of the KDE Eco project for Season of KDE 2024 is to extend KdeEcoTest so it can run on both Windows and GNU/Linux (X11 & Wayland). This enables energy consumption measurements of a single application across different platforms, such as Okular in X11 vs. Wayland vs. Windows.

This also makes it possible to compare Okular with a proprietary application like Adobe Acrobat. Comparisons with proprietary software are possible because KdeEcoTest can create usage scenario scripts without requiring access to the source code of the software being tested!

I have taken the task of extending support for Windows.

Getting Started: Platform Abstraction Layer

The primary function of KdeEcoTest is to emulate user behavior. Why do we need an abstraction layer for this?

  1. Think about simulating keyboard shortcuts. We'll need to change many parts of the code. But if we have an abstraction layer, we can add new features easily. Just add a function to the right module.
  2. Currently, we have 3 modules for 3 different platforms, namely, Wayland, X11, and Windows. If a fourth platform needs to be added, one can simply extend the base handler class and implement the abstract functions.
  3. This abstraction layer ensures that the same script can be used for testing across several different platforms.

During the first two weeks of SoK'24, Athul Raj K and I worked on understanding the code base and creating the abstraction layer. The layer provides two interfaces to access the underlying methods for taking window or input actions, a WindowHandler and an InputHandler (which have platform specific implementations).

Figure : Running a Standard Usage Scenario script on the Windows Platform for GCompris prepared with KdeEcoTest. Initial Task: pywin32 For Windows Management

pywin32 is a python module that provides access to many of the Windows APIs. This is used to perform window management actions for the Windows platform. Special thanks to Emmanuel for pointing out this wonderful module which has made it very convenient to extend KdeEcoTest support to Windows.

Win32 is an application programming interface (API) developed by Microsoft. It is dedicated to 32-bit Windows operating systems. Using this API, developers benefit from a set of functions for creating Windows applications using programming languages such as C, C++, and Visual Basic. They are able to control and manipulate various aspects of the Windows operating system. ctypes is a Python library for calling functions from shared libraries (DLLs) with a syntax similar to C. Pywin32 uses ctypes to use win32 functions.

During the first week, I explored the module to find the required functions and tested them out on a Windows machine. In the third week of Sok'24, I integrated the functions in the KdeEcoTest codebase. Now, the same test scripts that were used to test on X11 also run on Windows! The WindowActionHandler of win32 module under core/Handlers/win32.py handles the window management functions for Windows platforms.

class WindowActionHandler(BaseWindowActionHandler): @classmethod def GetHandler(cls): return cls() @staticmethod def GetActiveWindow(): # returns the handle of the currently active window win_id = win32gui.GetForegroundWindow() return win_id @staticmethod def GetwindowLocation(win_id): # returns active window loaction -> {"x": start_x, "y":start_y} start_x, start_y, end_x, end_y = win32gui.GetWindowRect(win_id) location = namedtuple("location", ["x", "y"]) return location(start_x, start_y) @staticmethod def GetWindowGeometry(win_id): # returns active window geometry -> {"width": width, "height": height} start_x, start_y, end_x, end_y = win32gui.GetWindowRect(win_id) width = end_x - start_x height = end_y - start_y geometry = namedtuple("geometry", ["width", "height"]) # return {"width": width, "height": height} return geometry(width, height) @staticmethod def SelectWindow(): # returns the window handle of the window selected by user x, y = win32gui.GetCursorPos() win_id = win32gui.WindowFromPoint((x, y)) return win_id @staticmethod def WindowMove(win_id,win_posx:int, win_posy:int): # relocates active window to specified loaction current_size = WindowActionHandler.GetWindowGeometry(win_id) win32gui.SetWindowPos(win_id, win32con.HWND_TOP, win_posx, win_posy, current_size.width, current_size.height, win32con.SWP_SHOWWINDOW) @staticmethod def ResizeWindow(win_id,n_height:int,n_width:int): # resizes active window to specified dimensions current_position = WindowActionHandler.GetwindowLocation(win_id) win32gui.SetWindowPos(win_id, win32con.HWND_TOP, current_position.x, current_position.y, n_width, n_height, win32con.SWP_SHOWWINDOW) @staticmethod def WindowFocus(win_id): # brings the window to top(focus) win32gui.SetActiveWindow(win_id) win32gui.SetForegroundWindow(win_id) A Minor Setback: Adding Support For Input Actions

pywin32 also provides support for simulating mouse actions such as left clicks as well as keyboard key presses. However, I am not yet able to create a proper listener for input actions of the user. The module does not provide a default listener, although it does provide a function win32api.GetAsyncKeyState() which can be used as a listener inside an infinite loop. Running an infinite while-loop results in unnecessary resource utilization of processor and main memory, which slows down the tool and affects the results of the test cases.

For these reasons, pynput has been chosen instead, which works across all the targeted platforms.

The class InputActionHandler bundles all the pynput handlers required for emulating the user input activities

class InputActionHandler(BaseInputActionHandler): @classmethod def GetHandler(cls): return cls() def __init__(self) -> None: super().__init__() self.mouse = mouse.Controller() self.mouse_listener = mouse.Listener self.mouse_buttons = mouse.Button self.keyboard = keyboard.Controller() self.keyboard_listener = keyboard.Listener self.keyboard_keys = keyboard.Key Looking Forward

Currently, I am working on testing the accuracy of mouse pointers using the 9 point calibration testing. This can also be used to check window size inaccuracy caused by window decorations such as the title bar on Windows.

I also plan to replace pynput with pywin32 if I can find or develop a proper listener for user actions.

I would like to thank the project mentors Emmanuel Charrau and Joseph P. De Veaugh-Geiss for their amazing support and guidance. Also, I am thankful to Athul Raj K, my fellow contributor in SoK'24, for his support and collaboration during this Season of KDE.

Categories: FLOSS Project Planets

Release GCompris 4.0

Tue, 2024-02-20 18:00

Today we are releasing GCompris version 4.0.

This version adds translations for 3 more languages: Bulgarian, Galician and Swahili.

It contains 190 activities, including 8 new ones:

  • "Grammar classes" is an activity to learn to identify words grammatical classes, one class at a time.
  • "Grammar analysis" is similar to the previous one, but with several classes requested for each sentence.
  • "Calcudoku" is an arithmetic game where the goal is to fill a grid with numbers according to specific rules.
  • With "Guess 24", using the 4 given numbers and the operators, find the number 24!
  • In "Frieze", reproduce and complete the different friezes.
  • "Read a graduated line" is an activity where you need to find a value represented on a graduated line.
  • In "Use a graduated line", place the given value on the graduated line.
  • In "Adjacent numbers", learn which numbers come before or after the given sequence.

It contains bug fixes and graphics improvements on multiple activities.

One major milestone has been reached with this version: after almost 9 years of work, the task of reworking all the graphics to fit the guidelines has been completed!

It is fully translated in the following languages:

  • Arabic
  • Bulgarian
  • Breton
  • Catalan
  • Catalan (Valencian)
  • Greek
  • Spanish
  • Basque
  • French
  • Galician
  • Croatian
  • Hungarian
  • Italian
  • Lithuanian
  • Malayalam
  • Dutch
  • Polish
  • Brazilian Portuguese
  • Romanian
  • Slovenian
  • Turkish
  • Ukrainian

It is also partially translated in the following languages:

  • Azerbaijani (97%)
  • Belarusian (86%)
  • Czech (94%)
  • German (95%)
  • UK English (95%)
  • Esperanto (99%)
  • Estonian (95%)
  • Finnish (94%)
  • Hebrew (95%)
  • Indonesian (95%)
  • Macedonian (90%)
  • Norwegian Nynorsk (95%)
  • Portuguese (95%)
  • Russian (95%)
  • Slovak (83%)
  • Albanian (99%)
  • Swedish (95%)
  • Swahili (99%)
  • Chinese Traditional (95%)

You can find packages of this new version for GNU/Linux, Windows, Android, Raspberry Pi and macOS on the download page. This update will also be available soon in the Android Play store, the F-Droid repository and the Windows store.

Thank you all,
Timothée & Johnny

Categories: FLOSS Project Planets

Kubuntu Graphic Design Contest

Tue, 2024-02-20 16:21
Announcing the Kubuntu Graphic Design Contest: Shape the Future of Kubuntu

We’re thrilled to unveil an extraordinary opportunity for creatives and enthusiasts within and beyond the Kubuntu community

The Kubuntu Graphic Design Contest.

This competition invites talented designers to play a pivotal role in shaping the next generation of the Kubuntu brand. It’s your chance to leave a lasting mark on one of the most beloved Linux distributions in the world.

What We’re Looking For:

The contest centers on reimagining and modernizing the Kubuntu brand, including the logo, colour palette, fonts, and the default desktop environment for the upcoming Kubuntu 24.04 release. We’re seeking innovative designs that reflect the essence of Kubuntu while resonating with both current users and newcomers.

Guidelines:

Inspiration: Contestants are encouraged to review the current brand and styles of kubuntu.org, kde.org, and ubuntu.com to understand the foundational elements of our visual identity.

Creativity and Modernity: Your submission should propose a fresh, modern look and feel for the Kubuntu brand and its supporting marketing materials. Think outside the box to create something truly unique.

Cohesion: While innovation is key, entries should maintain a cohesive relationship with the broader KDE and Ubuntu ecosystems, ensuring a seamless user experience across platforms.

How to Participate:

The contest is open now! We welcome designers from all backgrounds to contribute their vision for Kubuntu’s future.

Multiple entries are allowed, giving you ample opportunity to showcase your creativity.

Submission Deadline: All entries must be submitted by 23:59 on Sunday, 31st March.

Prizes:

Winner will have the honour of seeing their design become the face of Kubuntu 24.04, receiving recognition across our platforms and within the global open-source community.

First Prize:

  • Global recognition of your design as the new face of Kubuntu.
  • A trophy and certificate.
  • A Kubuntu LTS optimized and validated computer: the Kubuntu Focus Ir14 Laptop or the Kubuntu Focus NX MiniPC with 32 GB of RAM – over a $1,000 value.
  • Kubuntu Focus branded merchandise up to $50 USD shipped.

Second Prize:

  • Your runner up entry featured on kubuntu.org.
  • A trophy and certificate.
  • Kubuntu Focus branded merchandise up to $50 USD shipped.

Third Prize:

Join the Contest:

This is more than a competition; it’s a chance to contribute to a project that powers the computers of millions around the world. Whether you’re a seasoned designer or a passionate amateur, we invite you to bring your vision to life and help define the future of Kubuntu.

For more details on how to submit your designs and contest rules, visit our contest page.

Let’s create something extraordinary together. Your design could be the next symbol of Kubuntu’s innovation and community spirit.

Apply now: Contest Page
Categories: FLOSS Project Planets

Making way for Wayland in KdeEcoTest

Mon, 2024-02-19 19:00
KdeEcoTest

KdeEcoTest is an automation and testing tool which allows one to record and simulate user interactions with a Graphical User Interface. It is being developed as part of the FOSS Energy Efficiency Project to create usage scenario scripts for measuring the energy consumption of software in the KDE Eco initiative. Emmanuel Charruau is the original developer and lead maintainer of the project. In Season of KDE 2023 the tool was further improved by Mohamed Ibrahim under the tutelage of Karanjot Singh and Emmanuel Charruau.

One of the main goals in Season of KDE 2024 is to make the KdeEcoTest cross-platform so it can run on Windows and Linux systems (both Wayland and X11). Another necessary change in KdeEcoTest is to completely remove the use of libX11 and xdotool from the code base, which had issues with pixel coordinates while testing.

A benefit of a tool such as KdeEcoTest is that it is possible to create usage scenario scripts without having access to the source code of the software being tested. This is in contrast to a tool such as Selenium-AT-SPI, which requires access to the application's sources (QML file).

See how Selenium-AT-SPI helps with the KDE Eco project (Selenium-AT-SPI KDE Eco).

Getting Started: Platform Abstraction Layer

For the tool to be cross platform, it requires a platform abstraction layer, which is what Amartya Chakraborty and I, the SoK24 team, set out to write first. Any action, either simulated or read by the KdeEcoTest tool, can be separated into Window-based and Input device-based. The design goal is therefore to provide platform-independent interfaces for performing these actions.

We finished work on the abstraction layer and integrated it into the current code base with some minor changes. The layer provides two interfaces, a WindowHandler and an InputHandler (which have a platform-specific implementation), in order to access the underlying methods for taking window or input actions.

The team's next task was to implement these platform-specific classes. For the SoK24 project, Windows-specific classes were tasked to Amartya Chakraborty, while I set out to implement support for Wayland.

Adding Wayland Support: KDE's kdotool

From initial conversations between me, Emmanuel, and other members of the KdeEcoTest channel, we decided on using ydotool, a program written in C that simulates input devices with uinput. This enables the simulation of input devices on Wayland as well.

But ydotool was not enough as it did not support manipulating windows like xdotool did and we still required listening to input devices. For Window-based actions it requires communication with the underlying display server or compositor (in Wayland world), and Wayland currently did not have such a protocol. So we went back to the drawing board and tried different methods, even running the application as an X Client on Xwayland, which indeed worked but could hardly be called a solution to supporting Wayland.

Figure : Running as X client on Wayland using Xwayland. (Image from Wayland docs published under an MIT license.)

We thought that currently there did not exist any solution for Wayland, but we were wrong. It turns out that KWin, the KDE Plasma compositor for Wayland and X11, already had one! One fine day Emmanuel posted a message on the KDE Dev channel, and voilà we got our solution from a KDE developer in the form of a Rust tool, kdotool. The tool uses KWin’s dbus interface to upload a JavaScript file and access methods and properties provided by the KWin scripting API. Just love you, KDE!

Emmanuel brought kdotool’s author ‘genericity’ on board and we set sail. With some minor tweaks and upgrades we integrated kdotool into KdeEcoTest and we now have all window-related functionalities set up and working on X11 and Wayland. (Oh … and by the way that’s when I found out you can’t have gitsubmodules on invent.kde.org). The use of the KWin specific APIs means that KdeEcoTest will currently only work on KDE Plasma.

Special mention to ‘genericity’ for developing this great tool.

Adding Input Actions

With all window-related actions in, it was time to add support for input actions. I was testing this out with ydotool, but later dropped it and decided to directly access uinput. Reading through Linux kernel documentation, I found it's rather better to use the evdev interface, which also allows one to create and simulate devices and also to read inputs from existing ones.

evdev is the generic input event interface. It passes the events generated in the kernel straight to the program, with timestamps. The event codes are the same on all architectures and are hardware independent. The layout of the input event -

struct input_event { struct timeval time; unsigned short type; unsigned short code; unsigned int value; };

time is the timestamp, it returns the time at which the event happened. Type is for example EV_REL for relative movement, EV_KEY for a keypress or release. code is event code, for example REL_X or KEY_BACKSPACE. value is the value the event carries. Either a relative change for EV_REL, absolute new value for EV_ABS (joysticks ...), or 0 for EV_KEY for release, 1 for keypress and 2 for autorepeat.

You can find more details about the input event codes here, https://docs.kernel.org/input/event-codes.html.

libevdev sits below the process that handles input events, in between the kernel and that process. The stack would look like this:

  • Kernel → libevdev → libinput → Wayland compositor → Wayland client

And for X11 using libinput:

  • Kernel → libevdev → libinput → xf86-input-libinput → X server → X client

With the python-evdev binding for libevdev one could directly access evdev devices, but there is a catch: the script needs to be run as root, or the user needs permissions to read and write from /dev/input and /dev/uinput (and also /dev/console to run dumpkeys to get the keyboard drivers translation table). Considering the challenges, this was something we could live with.

My first plan was to directly use evdev to simulate and listen to input devices, but digging into it some more I found out that pynput had a uinput backend that, it turns out, was not fully implemented (it was partially implemented for keyboard). pynput is a cross-platform Python library that allows one to control and monitor input devices. Since pynput was already being used in KdeEcoTest and it supported all other systems (except Wayland), implementing a backend that uses libevdev would allow for using pynput and its already implemented methods and classes directly.

I finished writing a backend for pynput which allowed me to simulate and listen for mouse and keyboard events on Wayland. But there is one more problem with directly using libevdev. Input events generated from libevdev are passed to libinput before reaching the compositor.

Figure : libinput (Image from Wayland docs published under an MIT license.)

libinput processes these inputs and provides easy-to-use APIs to handle them. It also provides configurable interfaces, which means that inputs we simulate using uinput may not be interpreted the same way by the compositor. For, e.g. the delta values in EV_REL type events (Event type for relative movement) generated by evdev devices such as a mouse are converted into relative movement on screen using a function called pointer accelaration in libinput. This function depends on the pointer acceleration profiles configured by the user depending on the compositor. There are namely two: "adaptive and flat". We skip further low level details about this here, and just add that switching to "flat" profile provides 1:1 movement between the device and the pointer on-screen. This also means that the mouse acceleration profile needs to be set to flat when running KdeEcoTest.

Now all that was required was to alias InputHandler class's attributes to pynput classes. This may be improved in the future when individual level implementation is required.

With both now implemented and integrated, KdeEcoTest supports running on Wayland, and also with the contribution from Amartya Chakraborty it runs on Windows as well.

Finished Platform Abstraction layer

The platform abstraction layer in current form sets the required backend for pynput, imports the necessary backend and exposes the required interfaces WindowHandler and InputHandler. When running on KDE Plasma, since we require kdotool, it additionally adds kdotool to the path.

import platform as _platform import os from pathlib import Path import importlib def set_handlers(package): module = None if _platform.system() == 'Windows': module = '.win32' os.environ['PYNPUT_BACKEND']='win32' elif _platform.system() == 'Linux': if os.environ.get('XDG_SESSION_DESKTOP',None) == 'KDE': module = '.kwin' os.environ['PYNPUT_BACKEND']='uinput' #add kdotool to path KDOTOOL_PATH = os.path.join(Path(os.path.dirname(__file__)).parent,'bin/kdotool/release') os.environ['PATH'] = KDOTOOL_PATH + ':' + os.environ['PATH'] elif os.environ.get('XDG_SESSION_TYPE',None) == 'X11': print('Platform Not Supported') exit() try: return importlib.import_module(module,package) except ImportError: raise ImportError('Platform not supported') backend = set_handlers(__name__) WindowHandler = backend.WindowActionHandler InputHandler = backend.InputActionHandler del backend __all__ = [ WindowHandler, InputHandler ] Looking Forward

The listener for mouse events in pynput's uinput backend currently does not listen for touchpad events, because the event codes generated made it confusing to implement one. I think a better approach would be to use libinput for listening for events, as this would provide abstraction and also make it easier to write code for handling events, but libinput currently lacks a python binding.

Interested?

Of course it is far from complete. KdeEcoTest is still very much a work in progress and we're happy to have more developers looking to contribute. Hop on to the KdeEco and KdeEcoTest matrix channels to join the developers and follow the tool's development.

See https://invent.kde.org/teams/eco/feep for the FEEP repository, which hosts the KdeEcoTest tool among others.

Thank you to Emmanuel, 'genericity', Amartya, Joseph, as well as the whole KDE community and Wayland developers for helping out with the project.

Categories: FLOSS Project Planets

Kdenlive 23.08.5 released

Mon, 2024-02-19 07:37

Kdenlive 23.08.5 has been released, featuring a multitude of bug fixes, including many issues related to nested sequences and same-track transitions. This release temporarily removes Movit effects until they are stable for production. However, the primary focus of this release was to continue the ongoing efforts in transitioning to Qt6 and KF6.

It’s important to note that, due to this transition, we regret to inform our Mac users that a package for this release won’t be available. We kindly request them to wait for the 24.02 release, expected by the end of the month.

Full changelog

  • Fix undocked widgets don’t have a title bar to allow moving / re-docking. Commit.
  • Multi guides export: replace slash and backslash in section names to fix rendering. Commit. Fixes bug #480845.
  • Fix sequence corruption on project load. Commit. Fixes bug #480776.
  • Fix multiple archiving issues. Commit. Fixes bug #456346.
  • Fix possible sequence corruption. Commit. Fixes bug #480398.
  • Fix sequences folder id not correctly restored on project opening. Commit.
  • Fix Luma issue. Commit. See bug #480343.
  • Fix subtitles not covering transparent zones. Commit. Fixes bug #480350.
  • Group resize: don’t allow resizing a clip to length < 1. Commit. Fixes bug #480348.
  • Fix crash cutting grouped overlapping subtitles. Don’t allow the cut anymore, add test. Commit. Fixes bug #480316.
  • Fix clip monitor not updating when clicking in a bin column like date or description. Commit. Fixes bug #480148.
  • Fix start playing at end of timeline. Commit. Fixes bug #479994.
  • Fix save clip zone from timeline adding an extra frame. Commit. Fixes bug #480005.
  • Fix clips with mix cannot be cut, add test. Commit. See bug #479875.
  • Fix project monitor loop clip. Commit.
  • Fix monitor offset when zooming back to 1:1. Commit.
  • Fix sequence effects lost. Commit. Fixes bug #479788.
  • Improved fix for center crop issue. Commit.
  • Fix center crop adjust not covering full image. Commit. Fixes bug #464974.
  • Disable Movit until it’s stable (should have done that a long time ago). Commit.
  • Fix cannot save list of project files. Commit. Fixes bug #479370.
  • Fix editing title clip with a mix can mess up the track. Commit. Fixes bug #478686.
  • Fix audio mixer cannot enter precise values with keyboard. Commit.
  • Prevent, detect and possibly fix corrupted project files, fix feedback not displayed in project notes. Commit. See bug #472849.
  • Test project’s active timeline is not always the first sequence. Commit.
  • Ensure secondary timelines are added to the project before being loaded. Commit.
  • Ensure autosave is not triggered when project is still loading. Commit.
  • Fix variable name shadowing. Commit.
  • When switching timeline tab without timeline selection, don’t clear effect stack if it was showing a bin clip. Commit.
  • Fix crash pressing del in empty effect stack. Commit.
  • Ensure check for HW accel is also performed if some non essential MLT module is missing. Commit.
  • Fix tests. Commit.
  • Fix closed sequences losing properties, add more tests. Commit.
  • Don’t attempt to load timeline sequences more than once. Commit.
  • Fix timeline groups lost after recent commit on project save. Commit.
  • Ensure we always use the correct timeline uuid on some clip operations. Commit.
  • Add animation: remember last used folder. Commit. See bug #478688.
  • Refresh effects list after downloading an effect. Commit.
  • Fix audio or video only drag of subclips. Commit. Fixes bug #478660.
  • Fix editing title clip duration breaks title (recent regression). Commit.
  • Glaxnimate animations: use rawr format instead of Lottie by default. Commit. Fixes bug #478685.
  • Fix timeline focus lost when dropping an effect on a clip. Commit.
  • Fix dropping lots of clips in Bin can cause freeze on abort. Commit.
  • Right click on a mix now shows a mix menu (allowing deletion). Commit. Fixes bug #442088.
  • Don’t add mixes to disabled tracks. Commit. See bug #442088.
  • Allow adding a mix without selection. Commit. See bug #442088.
  • Remove line missing from merge commit. Commit.
  • Fix proxied playlist clips (like stabilized clips) rendered as interlaced. Commit. Fixes bug #476716.
  • Always keep all timeline models opened. Commit. See bug #478745.

The post Kdenlive 23.08.5 released appeared first on Kdenlive.

Categories: FLOSS Project Planets

Marco Arena's series on SObjectizer

Sat, 2024-02-17 07:05

Some time ago, Marco started a series of articles on SObjectizer. It is starting to become the source for all things SObjectizer – it is currently at post number 19 – quite an endeavour.

For those who haven’t met SObjectizer before, it is a framework for writing concurrent applications which supports the actor model, publish-subscribe…

You can support my work on Patreon, or you can get my book Functional Programming in C++ at Manning if you're into that sort of thing. -->
Categories: FLOSS Project Planets

This week in KDE: longstanding issues crushed

Fri, 2024-02-16 21:47

This week the focus was on annoying longstanding issues, and a whole bunch of them are now history! If you’ve used KDE software for any significant amount of time, I bet you noticed and were annoyed by at least one of the issues mentioned below, and can now rejoice at their annihilation! This effort has dropped the number of 15-minute Plasma bugs to its lowest level ever–just 30. The Mega-Release will be shipped in under two weeks, and we want it to be as fabulous as possible!

Pre-Mega-Release

…But first, some bugfixes backported to Plasma 5.27!

Fixed a way that KWin could crash in the Plasma Wayland session (Xaver Hugl, Plasma 5.27.11. Link)

Files copied to the clipboard are now made available to sandboxed apps using the portal system, so you can paste them into those apps (Karol Kosek, Plasma 5.27.11. Link)

After opening your laptop’s lid, the brightness of its backlit keyboard is now correctly restored to the same value it had before the lid was closed (Werner Sembach, Plasma 5.27.11. Link)

KDE 6 Mega-Release

(Includes all software to be released on the February 28th mega-release: Plasma 6, Frameworks 6, and apps from Gear 24.02)

UI improvements

When a panel popup is open, clicking on an empty area of the panel will now close it (David Edmundson, link)

When you try out a Global Menu and all your apps’ in-window menubars get hidden, if you later change your mind and remove the Global Menu, all of those apps’ in-window menubars now re-appear automatically instead of remaining hidden until manually shown again (David Edmundson, link)

When any of your physically connected screens are marked as disabled, opening System Settings’ Display & Monitor page now always shows an enabled screen when it opens, rather than sometime showing one of the disabled screens (David Edmundson, link)

Added Breeze icons for OpenVPN and Cisco VPN configuration files (Kai Uwe Broulik, link):

Bug fixes

Important note: I don’t mention fixes for bugs that were never released to users; it’s just too much for me (it would probably be too much for you to read as well), and most people never encountered them in the first place. Because we’re in the middle of a big Plasma dev cycle, there are a lot of these bugs! So big thanks to everyone who’s made it a priority to fix them!

Fixed several common random-seeming crashes in Plasma’s Activities backend code (Harald Sitter, link)

Fixed a significant annoyance that would, in most distros, cause several types of files to be opened in the wrong apps by default (e.g. images opened in Okular rather than Gwenview) until the first time the user changed any of the file associations (Harald Sitter, link)

Fixed a visual glitch in Gwenview that could cause image thumbnails to overlap when using a fractional scale factor (David Edmundson, link)

in Spectacle, drawing annotations with a touchscreen or a stylus no longer draws additional random-seeming straight lines in weird places (Marco Martin, link)

Shift+dragging windows to custom-tile them now works even if you’ve set your keyboard to do something exotic like emulate the Caps Lock key when pressing both Shift keys together (Xaver Hugl, link)

Fixed a case where the cursor failed to disappear as expected in certain WINE games (Vlad Zahorodnii, link)

Fixed a memory leak seen in Spectacle when recording the screen (Aleix Pol Gonzalez, link)

Other bug information of note:

Post-Mega-Release

Gwenview now has a minimal “Spotlight View” mode in which all the normal UI is hidden, and all you see is the image and the window titlebar (Ravi Saifullin, Gwenview 24.05. Link):

Before you ask, no this is not my paintjob! But I do plan to use it as inspiration

The warning on System Settings’ Proxy page no longer inaccurately warns you that Chromium-based browsers don’t respect it, which isn’t true anymore (Someone going by the pseudonym “Chaotic Abide”, kio-extras 25.04. Link)

Fixed the most common crash in Discover for Plasma 6.1, and we’re scoping out options for fixing it for 6.0 as well (Ivan Tkachenko, Plasma 6.1. Link)

System Settings’ Screen Locking page now has a clearer UI for selecting times (Kristen McWilliam, Plasma 6.1. Link):

  • Standard durations
  • Custom duration with selectable units

There’s now a KWin window rule you can use for controlling the status of Adaptive Sync for individual windows (Ravil Saifullin, Plasma 6.1. Link)

Performance & Technical

KWin now supports direct scan-out when run in a nested manner inside another compositor (Xaver Hugl, Plasma 6.1. Link)

Landed some major performance improvements for thumbnail generation in Gwenview and file listing in general (Arjen Hiemstra, Mega-Release 6. Link 1 and link 2)

Landed some major performance improvements for Spectacle’s Rectangular Region mode (Noah Davis, Spectacle 24.05. Link)

The spacings used throughout Plasma and Kirigami-based apps are no longer based on font sizes, and are now simply hardcoded to various static values, as they are in QtWidgets-based apps. This should slightly increase visual consistency everywhere, and make it possible over time to build UIs with more predictability in their spacings. This is more of a long-term thing, but it’s an exciting first step! (Noah Davis, Kirigami 6.0. Link)

…And Everything Else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out https://planet.kde.org, where you can find more news from other KDE contributors.

How You Can Help

Thanks to you, our Plasma 6 fundraiser has been a crazy success! I originally thought the goal of 500 new KDE e.V. supporting members was over-optimistic, but you’ve all proven me happily wrong. We’re now up to an amazing 825 members, blown past our stretch goals, and 1000 members by launch time seems like it might even be feasible. Thank you everyone for the confidence you’ve shown in us; we’ll try not to screw it up! For those who haven’t donated to become members yet, spreading the wealth via this fundraiser is a great way to share the love.

If you’re a developer, work on final Qt6/KF6/Plasma 6 issues! Which issues? These issues. Plasma 6 is very close to a release and in a good state, but could still benefit from some final bug-fixing and polishing. And as I mentioned before, if you haven’t tried it out yet, please do!

Otherwise, visit https://community.kde.org/Get_Involved to discover other ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite!

Categories: FLOSS Project Planets

Web Review, Week 2024-07

Fri, 2024-02-16 02:38

Let’s go for my web review for the week 2024-07.

Non-code contributions are the secret to open source success · GitHub

Tags: tech, foss, community

Good reminder that contributions are not only about code. Documentation, support, release management and so on are very important as well and too often underrated.

https://github.com/readme/featured/open-source-non-code-contributions


Extending our Mastodon social media trial - BBC R&D

Tags: tech, bbc, social-media, fediverse

Looks like the BBC likes the fediverse experiment so far. Engagement is even better than on Twitter at times. Let’s hope they keep expanding.

https://www.bbc.co.uk/rd/blog/2024-02-extending-our-mastodon-social-media-trial


European Court of Human Rights bans weakening of secure end-to-endencryption

Tags: tech, politics

Excellent news, let’s hope this thwarts the commission plans as expected.

https://www.eureporter.co/world/human-rights-category/european-court-of-human-rights-echr/2024/02/14/european-court-of-human-rights-bans-weakening-of-secure-end-to-endencryption-the-end-of-eus-chat-control-csar-mass-surveillance-plans/


Estimating the environmental impact of Generative-AI services using an LCA-based methodology

Tags: tech, ecology, energy, ai, machine-learning, gpt

Interesting paper evaluating a Life Cycle Assessment (LCA) method to estimate the power consumption and environmental impact of generative AI services. This is illustrated on a single service, hopefully we’ll see more such assessments.

https://inria.hal.science/hal-04346102


Short history of all Windows UI frameworks and libraries

Tags: tech, windows, gui

Confused about which UI frameworks are used in Windows? Here is the list in chronological order.

https://irrlicht3d.org/index.php?t=1626


The Stupidity Manifesto

Tags: culture, empathy

Definitely this, it’s better when you don’t make people feel stupid.

https://insimpleterms.blog/the-stupidity-manifesto


RSS is still pretty great

Tags: tech, rss, blog

Good explanation of what RSS is, where its weaknesses and strengths are.

https://www.pcloadletter.dev/blog/rss/


Too dangerous for C++

Tags: tech, rust, c++, type-systems, multithreading

It’s hard to argue that the Rust type system isn’t superior to the C++ type system… it’s definitely nice how it actively prevents data races at compile time.

https://blog.dureuill.net/articles/too-dangerous-cpp/


The History of Python: Why Python’s Integer Division Floors

Tags: tech, python, mathematics, floats

Some reasons why Python and C behave differently on this matter. It’s a source of mistakes.

https://python-history.blogspot.com/2010/08/why-pythons-integer-division-floors.html


CUDA on AMD GPUs

Tags: tech, gpu, amd, nvidia, computation

Interesting project, could bring a boost in AMD GPUs usage for CUDA workloads.

https://github.com/vosen/ZLUDA


Not just NVIDIA: GPU programming that runs everywhere

Tags: tech, python, gpu, computation, webgpu

Interesting to see WebGPU bindings for Python.

https://pythonspeed.com/articles/gpu-without-cuda/


WebGPU Best Practices

Tags: tech, 3d, gpu, computation, webgpu

Looks like a nice list of resources to dive deeper with WebGPU

https://toji.dev/webgpu-best-practices/


Open-source data multitool | VisiData

Tags: tech, tools, data, python

Looks like a nice tool for quick data exploration straight from the command line.

https://www.visidata.org/


Magika: AI powered fast and efficient file type identification | Google Open Source Blog

Tags: tech, ai, machine-learning, tools, command-line

Interesting tool for file type detection. Seems very accurate too.

https://opensource.googleblog.com/2024/02/magika-ai-powered-fast-and-efficient-file-type-identification.html


Why Bloat Is Still Software’s Biggest Vulnerability - IEEE Spectrum

Tags: tech, security, architecture, dependencies, supply-chain

Definitely this, the software bloat directly impacts the attack surface of what gets shipped. Even though this is far from a panacea in terms of security, it’s time for people to critically examine their dependencies also for other reasons.

https://spectrum.ieee.org/lean-software-development


Mastering Programming - by Kent Beck

Tags: tech, craftsmanship, programming

As always from Kent Beck, an excellent set of advices to improve you programming skills.

https://tidyfirst.substack.com/p/mastering-programming


Deciphering Glyph :: Let Me Tell You A Secret

Tags: tech, communication, management, team

This is a bit cartoonish I’d say but there’s some truth to it. I indeed regularly get onto consulting gigs where you find out that the people already had the solution to their problem. In those cases it’s very often because communication channels are broken somewhere (team don’t feel at liberty to share what they noticed, managers having a hard time to listen, etc.).

https://blog.glyph.im/2024/02/let-me-tell-you-a-secret.html


Tracking Engineering Time - Jacob Kaplan-Moss

Tags: tech, management, metrics, estimates

Interesting approach when managing at a distance. It tries hard to stay lightweight which is definitely welcome.

https://jacobian.org/2024/feb/7/tracking-engineering-time/


What Is in Your Organizational Closet? - esther derby associates, inc.

Tags: management, organization

Interesting idea… indeed organizations can carry legacy processes and ideas as well.

https://estherderby.com/what-is-in-your-organizational-closet/


Bye for now!

Categories: FLOSS Project Planets

Qt Creator 13 Beta released

Thu, 2024-02-15 06:06

We are happy to announce the release of Qt Creator 13 Beta!

Categories: FLOSS Project Planets

Optimizing Embedded Product Design

Thu, 2024-02-15 03:00

Choosing the right system-on-chip (SoC) is probably your first consideration when designing an embedded product, followed closely by deciding whether to use an off-the-shelf board or design your own.

The case for commercial boards in initial designs

For the first product in a new line, consider using a commercially available board that features your chosen SoC. This approach may slightly increase the cost per board compared to building a custom board yourself. However, it lets you build on a vendor’s considerable expertise in areas like SoC characteristics, architectural layout, proper bus design, and errata workarounds. Pre-existing boards offer a significant shortcut in getting your product to market as they can minimize prototype iterations and reduce the risk of crucial mistakes in layout. As you gain experience with your chosen silicon and start looking at moving to higher-volume production, you can then consider whether it makes sense to design and manufacture custom boards to reduce costs and introduce custom functionality.

First step: Picking a vendor

Selecting a CPU architecture is your very first step. While ARM is currently dominating the market, Intel x86 and RISC-V are other possible alternatives. Because toolchains like LLVM and GCC can support all these architectures, your decision will usually depend on factors such as vendor and community support, licensing, power consumption, and clock speeds. Once you’ve selected an architecture, comparing features and prices within that family becomes more straightforward.

Evaluating silicon vendor boards

Silicon vendors such as AMD, Intel, Nvidia, NXP, and Renesas all offer eval boards to help you evaluate their SoCs. These boards are excellent starting points but there are things to consider.

  • Feature overload. Because eval boards are intended to show off the capabilities of their chips, they are often loaded with features. That can be good for trial, but you don’t want to pay for unnecessary hardware once you move to volume production.
  • Limited availability. Eval boards are often intended for very limited distribution, making availability a serious concern. If you’re planning on a very small production run, this might not matter. But it also might force you to move to another platform before you’re ready.
  • Hardware consistency. Eval boards may not have the same process consistency as commercial products. That means you could get multiple hardware revs of the same board within a short timeframe, creating potential software compatibility nightmares and in-field surprises.
  • Support limitations. Support (either engineering assistance or device drivers) may not be at the level you need to build product. That includes some critical aspects such as OS updates. It’s possible the vendor has the capacity or process for consistently delivering commercial quality drivers for their boards that are compatible with the latest Linux releases, but you’ll likely need to ask.

It’s always advisable to consult with a sales representative before using an eval board in a production product. Their feedback can prevent future issues and, if necessary, direct you to distributors for better long-term alternatives.

Choosing a board provider

The other option for using pre-made boards is to go to a board vendor instead of a silicon vendor. They’re creating boards with the intent they’ll be incorporated into products rather than simply for evaluation. When selecting a board provider, consider all aspects, including one of the most important peripherals, the screen. For a more comprehensive guide on selecting hardware, refer to our paper on best practices: Designing Your First Embedded Linux Device: Choosing Your Hardware.

The post Optimizing Embedded Product Design appeared first on KDAB.

Categories: FLOSS Project Planets

KDE Gear 23.08.5

Wed, 2024-02-14 19:00

Over 120 individual programs plus dozens of programmer libraries and feature plugins are released simultaneously as part of KDE Gear.

Today they all get new bugfix source releases with updated translations, including:

  • knavalbattle: Fix test for placing a ship vertically (Commit)
  • konsole: Show wallpaper on non-translucent top-levels (Commit, fixes bug #477800)
  • neochat: Fix saving images (Commit, fixes bug #479053)

Distro and app store packagers should update their application packages.

Categories: FLOSS Project Planets

New krita.org website launched

Wed, 2024-02-14 19:00

After a lot of work, we moved our website to a new Hugo based platform! A lot of time and energy went into making this new version. There were a number of reasons and issues that we moved the site.

  1. Translations - The previous website had a very messy translation process. There was so much manual work creating logins for translators, and uploading files to the web server every time new languages were added. With the new system, translation is built through our KDE translation pipeline. This is the same pipeline that is used for translating the application. This greatly simplifies the experience for both our web master and translation team.
  2. Site maintenance - While many updates could previously be done via the CMS, there were a lot of portions that needed special access to the web server files. This made doing updates like releases a coordination between a lot of people to make sure all the pieces in place.
  3. Simplify site building and publishing - The new site is only using static files in the end. In the previous CMS, pages were dynamically generated from a database. There were many complicated layers of caching that were needed to make the site responsive and load fast. This created a number of instances where the entire krita.org went down because of some caching snafu.

All the files for the website and information on how our site process works can be found on GitLab instance.

Special Thanks

Special thanks goes out to all the work that was involved in making this transition

  • Scott Petrovic: Leading the charge with performing the bulk of the work and taking the project to completion.
  • Phu Nguyen: A large amount of help with understanding the inner workings of the Hugo platform as well as many code contributions.
  • Wolthera van Hövell: Site fixes and cleanup when porting the content to the new system.
  • Alvin Wong: Improvements to the translation and internationalization aspects of the site.
  • Ben Cooksley: Helping configure and get the site on a CI/CD process that makes publishing changes seamless.
  • All the people that provided feedback on krita-artists.org
Categories: FLOSS Project Planets

Qt for MCUs 2.6.1 Released

Wed, 2024-02-14 10:20

Qt for MCUs 2.6.1 has been released and is available for download. As a patch release, Qt for MCUs 2.6.1 provides bug fixes and other improvements, and maintains source compatibility with Qt for MCUs 2.6.x. It does not add any new functionality.

Categories: FLOSS Project Planets

Plucker/Palm support removed from Okular for 24.05

Sat, 2024-02-10 04:52

We recently remove the Plucker/Palm support in Okular, because it was unmaintained and we didn't even find [m]any suitable file to test it.


If you are using it, you have a few months to step up and bring it back, if not, let's have it rest.

Categories: FLOSS Project Planets

FOSDEM 2024 and Open Public Transport Routing

Sat, 2024-02-10 04:30

Last weekend I attended FOSDEM as part of KDE’s presence there, gave a talk about semantic data extraction of travel-related emails, met old long-time friends, had many interesting discussions and the occasional waffle. One topic however got slightly out of hand and ended up consuming most of my time.

Open Public Transport Routing

For road-based routing a few FOSS and Open Data services exist, OSM has some integrated on their website for example. We don’t have something like this for public transport though.

There we are stuck with proprietary services, run mostly by transport operators themselves or by companies like Google. Those have a number of issues:

  • Borders. Transport operators tend to only cover the area they are serving, be it a municipality, a region or a country.
  • Competition. Transport operators have no interested in showing services offered by their competitors.
  • Access. Most of those services are meant for the corresponding websites or apps of the operators, access for 3rd parties (and even more so non-paying FOSS 3rd parties) is often restricted one way or the other.
  • Privacy and data protection. Google is involved.

While much of this is understandable from an operator perspective, it’s not really satisfying from a user perspective. Therefore demand for an independently-run fully open public transport routing service has been building up since quite some time.

Roughly this would need three non-trivial ingredients:

  • A FOSS routing engine.
  • Freely available schedule data as well as realtime position/delay/disruption data.
  • Someone to run that as a service.

So for context and dramatic effect here’s how things developed in chronological order.

Before 2023

With GTFS, NeTEx, SIRI, etc. standards for exchanging schedule and realtime data exist. Regulation mandating operators to publish such data also exists in several regions of the world (including the EU), compliance with that still has room for improvement though (especially in the EU).

With OpenTripPlanner (OTP), Navitia and MOTIS there are also three FOSS routing engine available.

Deployments for those also exist. OTP is used nation-wide in Finland and Norway, by a few municipalities in Germany (stadtnavi, bbnavi) and by community-run projects in the cities of Münster and Ulm. Being run not by transport operators, those show what becomes possible when your goal isn’t to sell your services but to help people to find the best way to get from A to B.

The Navitia team also runs an instance covering many areas all over the world. Routing between different coverage areas isn’t supported, but it’s often the only way to get any coverage at all, in particular outside of Europe. Many of the FOSS transport apps rely on this.

None of the FOSS engines scales well enough yet to be able to route across all of Europe though.

2023

Navitia drops many coverage areas from their free service and SNCB discontinues their Hafas API, leaving the FOSS transport apps with several large gaps in the regions they can serve.

MOTIS is meanwhile said to have achieved acceptable performance for routing on an European-scale dataset on realistic hardware.

The year ends with various discussions on that topic at 37C3 showing a growing demand for a proper alternative, while at the same time technical blockers crumble.

February 3rd 14:00

It’s the first morning at FOSDEM. Mikolai Gütschow from Transportr presents in the Railway and Open Transport devroom, and towards the end of his talk suggests to create an open public transport routing service among the various parties in the growing FLOSS public transport ecosystem.

Picture by OpenRail Association (source). February 3rd 15:30

Following Mikolai’s talk a few interested people meet in the hallway discussing this subject. There is a sense of actually starting to look into possibly working towards implementing this eventually, gathering people that had shown interest in this, determining what would be needed in terms of infrastructure and approaching organizations that might potentially able and interested in hosting this.

And then things escalated a bit.

February 3rd 17:00

Approaching the end of day 1 of FOSDEM, a powerful server had been found. Retired from previously doing simulations in an university physics lab it comes with plenty of memory (which is important for this), and is hosted and available for free.

Moreover, Jonah had already been looking into setting up MOTIS on it and was getting the first results.

February 4th 11:00

The people interested in this (more by now) meet again in the hallway, to catch up on what had changed meanwhile and to discuss how to continue. Two topics are in focus in particular:

  • Project setup, infrastructure and communication channels to work together.
  • Designing a setup that allows for easy crowd-sourcing of the GTFS feed maintenance.

The last point is probably where most of the work has to be spend overall. FOSS routing engines exist, but they depend on correct input data, and that data is spread out into hundreds if not thousands of separate feeds of varying quality.

Keeping on top of each single one of those will likely involve manual work to some extend, and that is best done by someone local, understanding the local language and able to judge the correctness and completeness of the data. In some cases it might also involve working with the local public transport operator to resolve issues and/or to remind them of regulation requiring the publication of this data.

Luckily there is also quite some prior work around GTFS quality assurance and processing tools available which this can be built on top of.

February 4th 13:00

The hardest problem is solved, the thing has a name, Transitous, and a project repository in the Github public-transport organization. With concrete next steps in hand people head for lunch.

February 4th 14:30

While walking across FOSDEM to another unrelated meeting we get offered more servers to host this on. Just normal FOSDEM things.

February 4th 22:00

From on board of trains home the first code lands and the first merge requests are opened.

February 5th 07:30

People not having been at FOSDEM have gotten word of this and want to join.

February 5th and onwards

There is a continuous stream of work going on, including discussing GTFS feed metadata formats, identifying and fixing API issues in MOTIS, server setup and implementing MOTIS client support in KPublicTransport.

KTrip showing MOTIS search results across four countries and multiple different transport operators.

Initial experiments also show that further work in clients is needed to deal with the much larger variety of operators in the results, some of which might not be usable with an already existing ticket for example.

Outlook

This is and remains an enormous task and there’s no guarantee of success. But if only a fraction of the momentum from the past weekend remains over the next weeks and months this might actually work out.

If you are interested in collaborating on this, join the #opentransport Matrix channel and the Transitous Github project!

Categories: FLOSS Project Planets

This week in KDE: Inching closer

Fri, 2024-02-09 22:21

The KDE 6 mega-release is due in a little under three weeks! And folks have remained in diligent bugfixing-and-polishing mode, because we want this release to be as smooth and drama-free as possible! If you haven’t already tried it out, this is a good time to. Find all the bugs that are bugging you so we can hopefully fix them before the final release!

KDE 6 Mega-Release

(Includes all software to be released on the February 28th mega-release: Plasma 6, Frameworks 6, and apps from Gear 24.02)

UI improvements

KWin’s “Active screen follows mouse” setting is now gone; now the active screen is always the one with the active window on it. This turns out to be much simpler and it’s what we think most people wanted anyway, hopefully alleviating complaints about OSDs and new windows opening on unexpected screens (Vlad Zahorodnii, link)

You can now set the data range manually for “horizontal bars” charts in System Monitor and its widgets (Arjen Hiemstra, link)

When you use the System Tray’s “Always show all entries” option, now it actually does always show all entries, instead of sneakily keeping some of them hidden anyway according to some internal logic which was not obvious (Jin Liu, link)

Searching through clipboard entries is now case-insensitive (Yifan Zhu, link)

Bug fixes

Important note: I don’t mention fixes for bugs that were never released to users; it’s just too much for me (it would probably be too much for you to read as well), and most people never encountered them in the first place. Because we’re in the middle of a big Plasma dev cycle, there are a lot of these bugs! So big thanks to everyone who’s made it a priority to fix them!

Fixed an issue that could cause the screen to end up black with only a movable cursor when you wake your system from sleep while using an NVIDIA GPU with its proprietary drivers (David Redondo, link)

CPU temperature sensors once now work for a variety of Intel and AMD motherboards where they didn’t previously work (Arjen Hiemstra, link 1 and link 2)

When System Monitor’s window opens in maximized state, de-maximizing it now returns it to its pre-maximized geometry as expected (Arjen Hiemstra, link)

In various Kirigami-based apps, double-clicking on a page to open it multiple times is no longer interpreted that way–because opening the same page multiple times makes no sense–which avoids accidentally breaking the app (Arjen Hiemstra, link)

KScreen is now smarter about choosing better-matching screen settings when told to make one screen mirror another (Yifan Zhu, link)

Buttons and scrollbars in the Sticky Notes widget are now always distinguishable no matter what color you choose for the background of the note and no matter what your system color scheme is (me: Nate Graham, link)

A couple of Plasma UI elements with text on them that weren’t previously translatable now are (Emil Sari, link)

When your Task Manager is set up to only show tasks from the current screen, now this still keeps working when you switch around your screen arrangement without restarting Plasma (Someone awesome, link)

Header text in System Tray applets now elides instead of overflowing with a small window size and very long applet text (me: Nate Graham, link)

Other bug information of note:

Post-Mega-Release

When you hit the Alt+Tab shortcut with no windows open, you’ll now see a nice “No open windows” message instead of a broken-looking task switcher or even nothing (Vlad Zahorodnii, Plasma 6.1. Link)

The ancient feature to add a spacer in your window titlebars returns! (Vlad Zahorodnii, Plasma 6.1, link)

Automation & Systematization

Added an autotest to make sure that loading Digital Clock plugins still works (Fushan Wen, link)

…And Everything Else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out https://planet.kde.org, where you can find more news from other KDE contributors.

How You Can Help

Thanks to you, our Plasma 6 fundraiser has been a crazy success! I originally thought the goal of 500 new KDE e.V. supporting members was over-optimistic, but you’ve all proven me happily wrong. We’re now up to an amazing 800 members, blown past our stretch goals, and 1000 members by launch time seems like it might even be feasible. Thank you everyone for the confidence you’ve shown in us; we’ll try not to screw it up! For those who haven’t donated to become members yet, spreading the wealth via this fundraiser is a great way to share the love.

If you’re a developer, work on Qt6/KF6/Plasma 6 issues! Which issues? These issues. Plasma 6 is very close to a release and in a good state, but could still benefit from some final bug-fixing and polishing. And as I mentioned before, if you haven’t tried it out yet, please do!

Otherwise, visit https://community.kde.org/Get_Involved to discover other ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite!

Categories: FLOSS Project Planets

KDE Ships Frameworks 5.115.0

Fri, 2024-02-09 19:00

Saturday, 10 February 2024

KDE today announces the release of KDE Frameworks 5.115.0.

KDE Frameworks are 83 addon libraries to Qt which provide a wide variety of commonly needed functionality in mature, peer reviewed and well tested libraries with friendly licensing terms. For an introduction see the KDE Frameworks release announcement.

This release is part of a series of planned monthly releases making improvements available to developers in a quick and predictable manner.

New in this version Breeze Icons
  • Update Google icon (bug 462165)
Extra CMake Modules
  • ECMUninstallTarget: port generated code away from deprecated exec_program
KCalendarCore
  • src/incidence.cpp - fix infinite looping
KCoreAddons
  • Add isProcExists func to check if /proc exists
  • Determine UNIX process if "/proc" does not exist
KDeclarative
  • Show GridDelegate labels as plaintext (bug 480106)
KHolidays
  • holiday_ie_en-gb - Add St Brigid's Day (bug 479832)
KIconThemes
  • CI: Don't require Windows test to pass
KIO
  • KDirModel: Consider invalid roots are local fs (bug 477039)
  • slavebase: abort mimetype emission when the worker was terminated (bug 474909)
  • KDirModel: Allow expanding network directories in file picker again (bug 479531)
  • KCoreDirLister: updateDirectory: update parent folder if it is listed (bug 440712)
  • copyjob: Fix implicitly skipping files when copying (bug 479082)
KTextEditor
  • Add parent widget for diff dialogs
KWallet Framework
  • Emit the walletCreated signal in the KWalletD::pamOpen function if a new wallet is created during its call
Prison
  • Enable exceptions for videoscannerworker.cpp
Security information

The released code has been GPG-signed using the following key: pub rsa2048/58D0EE648A48B3BB 2016-09-05 David Faure faure@kde.org Primary key fingerprint: 53E6 B47B 45CE A3E0 D5B7 4577 58D0 EE64 8A48 B3BB

Categories: FLOSS Project Planets

Web Review, Week 2024-06

Fri, 2024-02-09 07:12

Let’s go for my web review for the week 2024-06.

We’ve been waiting 20 years for this - The History of the Web

Tags: tech, web, blog, culture

Excellent piece about the resurgence of old trends on the web.

https://thehistoryoftheweb.com/weve-been-waiting-20-years-for-this/


The European regulators listened to the Open Source communities! - Voices of Open Source

Tags: tech, foss, law

Looks like good progress has been made. A few more adjustments would be welcome before it gets ratified.

https://blog.opensource.org/the-european-regulators-listened-to-the-open-source-communities/


Google workers complain bosses are ‘inept’ and ‘glassy-eyed’

Tags: tech, google, transparency, management

Things don’t look great in this giant… it’s astonishing how much eroding vision and transparency can hurt an organization.

https://www.sfgate.com/tech/article/google-workers-company-culture-pichai-18653877.php


Netflix: Piracy is Difficult to Compete Against and Growing Rapidly * TorrentFreak

Tags: tech, streaming, video, business

Unsurprising trend… this was a market where there was no chance to have a single dominant platform due to the existing studio behemoths. So now we’re in the streaming wars, people can’t afford to pay for every silos… and they turn to piracy again. Could have been all avoided if we went the “global license” route instead of dumping money on platforms.

https://torrentfreak.com/netflix-piracy-is-difficult-to-compete-against-and-growing-rapidly-240204/


Stract search engine

Tags: tech, search, web

A new search engine trying to grow. The approach seems interesting, we’ll see where it goes.

https://stract.com/about


Browsers Are Weird Right Now – Tyler Sticka

Tags: tech, web, browser

A bit opinionated and sarcastic maybe… still it feels right, the web browsers landscape is in a sad state.

https://tylersticka.com/journal/browsers-are-weird-right-now/


Over the Edge: The Use of Design Tactics to Undermine Browser Choice

Tags: tech, microsoft, browser, vendor-lockin

Not unexpected of course, but at least it makes it clear that Microsoft is actively trying to prevent users from using the browser they want.

https://research.mozilla.org/browser-competition/over-the-edge-the-use-of-design-tactics-to-undermine-browser-choice/


Microsoft is seeking a software architect to port Microsoft 365 to Rust | TechSpot

Tags: tech, microsoft, rust

If they really commit to it, this means Microsoft will really invest big in Rust. Let’s wait and see…

https://www.techspot.com/news/101739-microsoft-seeking-software-architect-port-microsoft-365-rust.html


Blog - How I Also Hacked my Car

Tags: tech, automotive, security

The infotainment systems on car are not as locked down as one might think. Another proof of it.

https://goncalomb.com/blog/2024/01/30/f57cf19b-how-i-also-hacked-my-car


Rust Won’t Save Us: An Analysis of 2023’s Known Exploited Vulnerabilities – Horizon3.ai

Tags: tech, security, memory, rust

Indeed, not all security issues are due to memory related problems. It’s 20% of the security issues. This is of course massive, but there’s still 80% of the security issues coming from wrong authentication, appliances and so on.

https://www.horizon3.ai/analysis-of-2023s-known-exploited-vulnerabilities/


OPML is underrated

Tags: tech, blog, rss, opml

Definitely true. This is a good way to share your feeds with friends or to setup a blogroll.

https://kmaasrud.com/blog/opml-is-underrated.html


s/bash/zsh/g

Tags: tech, zsh, shell

Indeed, use zsh more. It’s good… or at least better.

https://www.arp242.net/why-zsh.html


VirtualBox KVM public release — Cyberus Technology

Tags: tech, linux, virtualization

This is an interesting VirtualBox fork for Linux. Using KVM as backend should bring interesting benefits.

https://cyberus-technology.de/articles/vbox-kvm-public-release


When “letting it crash” is not enough

Tags: tech, erlang, safety, crash, resilience

It’s here to sell something. That said it does a good job explaining the Erlang model and its “let it crash” approach to failures. Also highlights the obvious limitations.

https://flawless.dev/essays/when-letting-it-crash-is-not-enough/


Cool Things You Can Do with SELECT - Edward Loveall

Tags: tech, sql, databases

Indeed, a very underappreciated keyword in SQL. It can do much more than what it’s often used for.

https://blog.edwardloveall.com/cool-things-you-can-do-with-select


Postgres is Enough · GitHub

Tags: tech, databases, postgresql

Nice index pointing to resources to do many things with Postgres.

https://gist.github.com/cpursley/c8fb81fe8a7e5df038158bdfe0f06dbb


<model-viewer>

Tags: tech, web, 3d, webcomponents

Looks like a really convenient web component to display 3D models on web pages.

https://modelviewer.dev/


Method of Differences

Tags: tech, mathematics, history

Interesting explanation of the method of differences to easily compute polynomials.

https://ztoz.blog/posts/method-differences/


How to hire low experience, high potential people

Tags: hr, interviews

Good ideas and questions to interview candidates. I don’t think I would use everything though. Also I think some of what’s proposed here would work for candidates at any level of experience.

https://worktopia.substack.com/p/how-to-hire-low-experience-high-potential


Bye for now!

Categories: FLOSS Project Planets

Pages