Skip to content

Saturday, 24 July 2021

The Skrooge Team announces the release 2.26.1 version of its popular Personal Finances Manager based on KDE Frameworks

Changelog

  • Correction bug 436006: import not working with woob bank 3.0
  • Correction bug 436081: Help text needs to be escaped
  • Correction bug 436328: there's no word "reconciliate" in English, should be reconcile
  • Correction bug 439494: Downloading currency using skrooge-yahoodl.py fails with UnicodeDecodeError
  • Correction: Small fix for FEC monthly report
  • Correction: Migration on new exchangeratesapi.io APIs. Need a API key now
  • Correction: Fix deprecated knsrc file location
  • Feature: Add confirmation message when an import is triggered by a double click on an imported file

Get it, Try it, Love it...

Grab Skrooge from your distro's packaging system. If it is not yet included in repositories, go get it from our website, and bug your favorite distro for inclusion.

Get Involved

To enhance Skrooge, we need you ! There are many ways you can help us:

  • Submit bug reports
  • Discuss on the KDE forum
  • Contact us, give us your ideas, explain us where we can improve...
  • Can you design good interfaces ? Can you code ? Have webmaster skills ? Are you a billionaire looking for a worthy investment ? We will be very pleased in welcoming you in the skrooge team, contact us !

This is part three of a series of posts describing a potential new API for dealing with countries, country subdivisions and timezones in KI18n, following the previous one country to timezone mapping, covering how we can query the timezone and country or country subdivision information by geographic coordinates.

API

The API for this is fairly straightforward, pass a geographic coordinate in, and get the respective feature at that location back:

  • KCountry::fromLocation(float latitude, float longitude)
  • KCountrySubdivision::fromLocation(float latitude, float longitude)
  • KTimeZone::fromLocation(float latitude, float longitude)

This doesn’t need to overly precise coordinates, even GeoIP-based positions with an accuracy of a few kilometers provides useful results in most areas.

Data Sources

The data sources for this are the same we already used in the last post:

Both are based on OSM data.

Compact Storage and Indexing

The source data however is huge and slow to process, we need to convert that into a compact form allowing efficient storage. For this we reuse prior work from KItinerary which contains a z-order curve based coordinate to timezone index.

There’s a few improvements and extensions over the original code though. Most notably we can now represent multiple features per location, while using the fact that there is only a small set of feature combinations actually occurring. This allows us to look up not only timezones but also the country or the country subdivision by location, without significantly increasing the needed storage size.

The QGIS Python script doing the processing also got optimized a lot, the original version from KItinerary needed about eight hours, the new one only needs about 15 minutes while producing a more detailed result. This makes it much more feasible to experiment with tweaking the various parameters to get to optimal results.

Choosing Parameters and Conflict Resolution

Obviously we can’t just magically reduce the hundreds of megabytes of source data by two orders of magnitudes without trading in spatial resolution, how much depends on the parameters of the index generation script.

There’s three values to keep an eye on:

  • For how much of the earth’s surface do we return a result?
  • For how much of the earth’s surface do we return the wrong result?
  • The size of the index data.

To understand how we can influence those it’s useful to have a quick look at what the index generation does conceptually.

  • Split the earth’s surface in rectangular tiles (currently: 2¹¹ x 2¹¹). Cut off uninhabited polar regions to have more tiles for inhabited areas (currently: 80°N and 60°S). For our current parameters that results in tiles roughly 10x20 km at the equator, and increasingly smaller towards the poles. This controls how much surface area we can cover, and how large features have to be in order to be visible at all.
  • For each tile, check which of the features in that tile actually conflict. For example a tile overlapping the French/German border would see two timezones Europe/Berlin and Europe/Paris. Those two are (at least for the present and near future) equivalent, so we just pick one of those and don’t have an actual conflict. For the country we obviously can’t do that, so there we wont be able to return a result.
  • For each feature conflict, discard those features that only cover a small fraction of the tile (currently: 2%). This trades correctness within a few hundred meters of a border for a larger coverage area.

With the above mentioned parameters, we get to an index size of about 950kB, and cover 99% of the non-polar regions for timezones and countries, as well as 98% for (first level) country subdivisions, and we shouldn’t get wrong results when being away at least 300 meters from a border.

This is a decent trade-off for many use-cases, further reducing the tile size results in a rapidly growing index size for a decreasing win in precision.

There are ways to break this of course, land-locked and shaped against the tile orientation mini-countries such as Lichtenstein can fall through the cracks entirely, even more so their subdivisions. Similarly, very fine-grained country subdivisions can also be missed, but in those locations we tend to at least get a correct country information.

Outlook

There’s two more remaining aspects to be sorted out now:

  • Human readable and translated timezones names. Unlike with countries there is no canonical form for this, applications tend to use different approaches to represent timezones. It’s still unclear which building blocks for this can be offered by KI18n.
  • Looking up the language of a country or country subdivision, as well as human readable and translated language names. This needs a bit more thought as well, as code referring to languages often rather expects locales (area and/or script variants used in a specific area), as well as the available translation catalogs on the system.

Feedback for all this is very welcome, on the implementation but also regarding use-cases and requirements you have in your application. Check the corresponding Phabricator task and the Gitlab branch for this, or find me in the #kde-devel channel on Matrix, the weekly KF6 meetings (Monday 15:00 UTC) or the kde-frameworks-devel mailing list.

This week I have two particularly large things to present! Not Steam Deck levels of large, but still pretty cool, I think. 🙂

First of all, David Redondo and Kai Uwe Broulik implemented the power profiles feature! This allows you to specify how your computer should balance energy use against performance. You can switch modes at any time using the Battery and Brightness applet, and you can configure which profile gets used automatically when plugging or unplugging the power cord. The feature will be available in Plasma 5.23 with a newer computer that supports it when using Linux Kernel 5.12 or greater.

Hmm, this thing is starting to look a bit crowded

Next, the new Kickoff launcher menu that was introduced in Plasma 5.20 has received a gigantic code overhaul which fixes many bugs, improves performance and accessibility, tightens up the user interface, and adds a few commonly requested features. Among the fixes:

Here’s how it looks now:

Big thanks to Noah Davis for completing this exhaustive change! It will be released in Plasma 5.23.

More New Features

You can now configure whether the footer action buttons in Kickoff have text or not, and you can opt to show all the power and session actions at once if you prefer (Maxim Leshchenko, Plasma 5.23):

Sensor labels in System Monitor can now be changed and given custom text (David Redondo, Plasma 5.23)

The System Settings Login Screen page’s synchronization feature now syncs your screen arrangement as well, so that the login screen UIs are positioned properly on all your physical screens (Aleix Pol Gonzalez, Plasma 5.23):

Bugfixes & Performance Improvements

Konsole’s window is no longer a tiny tiny rectangle the first time you launch the app (Konsole 21.08)

Okular now scrolls by the correct distance using the PageUp/PageDown keys when its scrollbars are disabled (David Hurka, Okular 21.08)

The “Start a Slideshow” menu item in Dolphin’s context menu is now translated (Yuri Chornoivan, Gwenview 21.08)

Opening the Digital Clock applet’s settings dialog no longer closes the applet’s popup if it has been deliberately pinned open (David Redondo, Plasma 5.22.3)

When using systemd-homed, entering your password incorrectly once on the login screen no longer causes all subsequent unlock attempts to fail (Gibeom Gwon, Plasma 5.22.4)

The Bluetooth widget now works properly when placed directly on the Panel, as opposed to when it lives in the System Tray (Nicolas Fella, Plasma 5.22.4)

System Monitor is now hugely faster to launch (David Redondo, Plasma 5.22.4)

The grid items in the System Tray’s expanded popup are now always perfectly pixel-aligned so they will not become blurry (Derek Christ, Plasma 5.22.4)

Using QTimer in KWin script now works again (Vlad Zahorodnii, Plasma 5.22.4)

In the context menu for desktop items, pressing the shift key to switch between “Move to Trash” and “Delete” now works when a sub-menu is open (Derek Christ, Plasma 5.22.4)

Global shortcuts for apps whose desktop files have uppercase characters in their filenames now work properly, and their entries in the System Settings Shortcuts page now always display the correct icons (David Redondo, Plasma 5.22.4)

Plasma Notifications with embedded links now use the link color from the Plasma theme rather than the application color scheme, fixing bugs in cases where these differed such as when the Breeze Twilight theme is applied (Kai Uwe Broulik, Plasma 5.22.4)

Category lists in the Unsplash Picture of the Day wallpaper’s configuration page are now sorted alphabetically, rather than semi-randomly (Arnaud Vergnet, Plasma 5.22.4)

Website Favicons displayed in KRunner that come from a browser using Plasma Browser Integration are now nice and crisp when using a high DPI scale factor (Kai Uwe Broulik, Plasma 5.22.4)

Opening the System Settings User Feedback page no longer briefly makes Discover appear in the Task Manager (Plasma 5.23)

In the Plasma Wayland session, global shortcuts once again work while popups that would otherwise steal focus (on X11) are open (Andrey Butirsky, Plasma 5.23)

Fixed a case where searching in Dolphin could cause the kdeinit5 process to crash (Ahmad Samir, Frameworks 5.85)

User Interface Improvements

Dolphin’s Places panel now elides text when it’s not wide enough to show everything, rather than showing a horizontal scrollbar (Eugene Popov, Dolphin 21.08):

Every one of Dolphin’s zoom levels now has a different icon size associated with it; no longer will changing the zoom level sometimes cause the size of the grid to change but the icons stay the same size (Eugene Popov, Dolphin 21.12)

Panels using the Adaptive Transparency feature now enter transparent mode when the Show Desktop effect is in use (David Edmundson, Plasma 5.22.4)

When multiple devices are mounted, the Device Notifier applet now shows the “Unmount All” action inside the hamburger menu instead of as the lone button on a new toolbar that appears (Eugene Popov, Plasma 5.23):

When browsing app lists in Discover, the icon of the source that the app comes from is now displayed inside the button that also lists the name of the source (me: Nate Graham, Plasma 5.23):

The Kimpanel candidates popup now looks better (Mufeed Ali, Plasma 5.23):

The question mark button in the titlebar is now hidden by default for dialog windows (me: Nate Graham, Plasma 5.23)

Discover no longer misleadingly shows the wrong date of last update for apps that fail to provide this information themselves (Aleix Pol Gonzalez, Plasma 5.23)

In System Monitor, the app-specific process list view now sorts by memory usage by default, just like it does elsewhere (Felipe Kinoshita, Plasma 5.23)

Event indicator dots on the Plasma Calendar widget and the Digital Clock popup are now more visible no matter what color scheme or Plasma theme you’re using (Carl Schwan, Frameworks 5.85)

Kirigami-based apps’ “About” pages now display a “Get Involved” link that takes you to https://community.kde.org/Get_Involved (Felipe Kinoshita, Frameworks 5.85):

…And everything else

Keep in mind that this blog only covers the tip of the iceberg! Tons of KDE apps whose development I don’t have time to follow aren’t represented here, and I also don’t mention backend refactoring, improved test coverage, and other changes that are generally not user-facing. If you’re hungry for more, check out https://planet.kde.org/, where you can find blog posts by other KDE contributors detailing the work they’re doing.

How You Can Help

Have a look at https://community.kde.org/Get_Involved to discover 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!

Finally, consider making a tax-deductible donation to the KDE e.V. foundation.

Friday, 23 July 2021

Let’s go for my web review for the week 2021-29.


A Facebook engineer abused access to user data to track down a woman who had left their hotel room after they fought on vacation, new book says

Tags: tech, facebook

This company is just an enabling environment for toxic behaviors… it’s so clear each time some information about how they work leaks out.

https://www.businessinsider.com/facebook-fired-dozens-abusing-access-user-data-an-ugly-truth-2021-7


Revealed: leak uncovers global abuse of cyber-surveillance weapon | Surveillance | The Guardian

Tags: surveillance, dystopia

Here we go for another surveillance scandal…

https://www.theguardian.com/world/2021/jul/18/revealed-leak-uncovers-global-abuse-of-cyber-surveillance-weapon-nso-group-pegasus


Germany’s national healthcare system adopts Matrix! | Matrix.org

Tags: tech, matrix

This is excellent news. I like to see more adoption of Matrix. We’ll finally find out how it scales in practice. ;-)

https://matrix.org/blog/2021/07/21/germanys-national-healthcare-system-adopts-matrix


Framework | Framework Laptop pre-orders are now open

Tags: tech, hardware, repair, laptop

Now that looks like a very interesting modular laptop. I’d be interested to test it and would love to see some KDE stuff installed on it by default. ;-)

https://frame.work/


What’s delegation? - Jacob Kaplan-Moss

Tags: management, delegation

Interesting definition of delegation

https://jacobian.org/2021/jul/19/whats-delegation/


“Give Away Your Toys” - Jacob Kaplan-Moss

Tags: management, delegation

And a good approach to pick what to delegate.

https://jacobian.org/2021/jul/19/give-away-your-toys/


Make Failure A (Safe) Option - Jacob Kaplan-Moss

Tags: management, delegation

Good set of advice on how to handle and plan for failure when delegating.

https://jacobian.org/2021/jul/20/make-failure-safe/


Delegate Outcomes, Not Methods - Jacob Kaplan-Moss

Tags: management, delegation

Again, very good (and short) advice about delegation.

https://jacobian.org/2021/jul/21/delegate-outcomes/


Planning & estimating large-scale software projects

Tags: tech, project-management, estimates

This is a sane approach and a good list of steps for estimating at large scale.

https://tomrussell.co.uk/writing/2021/07/19/estimating-large-scale-software-projects.html


The epistemology of software quality – Increment: Teams

Tags: tech, management, engineering, quality

Very interesting exploration on software engineering “facts” and what we can really do to increase quality. Unsurprisingly caring for the people seems to be the top factor.

https://increment.com/teams/the-epistemology-of-software-quality/


Detached window memory leaks

Tags: tech, frontend, memory, garbage-collector

Interesting exploration of an easy to introduce memory leak in frontend code.

https://web.dev/detached-window-memory-leaks/


oss-security - CVE-2021-33909: size_t-to-int vulnerability in Linux’s filesystem layer

Tags: tech, security, linux

You gotta love narrowing… It regularly ends up instrumental in vulnerabitilies.

https://www.openwall.com/lists/oss-security/2021/07/20/1


Smart Pointers in Rust: What, why and how?

Tags: tech, rust, programming

Nice comprehensive list of the smart pointer types in Rust.

https://dev.to/rogertorres/smart-pointers-in-rust-what-why-and-how-oma


The Tyranny of Spreadsheets | Tim Harford

Tags: tech, history, spreadsheets, quality, knowledge, data, data-science, health

It’s a very nice paper on spreadsheets and how we use them. It got enough history in it to make me tick (goes back all the way to the 1300s!). Also it’s well balanced, it’s not just about blindly blaming tools but looks at their shortcomings but also how we often use the wrong tool for the task… and then end up managing data and knowledge really badly.

https://timharford.com/2021/07/the-tyranny-of-spreadsheets/


Focusing on Blue - 10 Projects

Tags: optics, surprising, physics

Fascinating exploration of our perception of the blue color. Bottom line: our eyes aren’t great cameras at all and the brain compensate quite a lot. This together plays against our perception of blue.

https://calebkruse.com/10-projects/seeing-blue/



Bye for now!

Thursday, 22 July 2021

The Steam Deck is going to use KDE Plasma as a desktop. Since I happen to know how Plasma works, I thought I'd do a video explaining its main features for the new people who would discover Plasma with it. If you want to help me make these videos: Patreon: https://www.patreon.com/niccolove Liberapay: https://liberapay.com/niccolove Paypal: https://paypal.me/niccolove My website is https://niccolo.venerandi.com and if you want to contact me, my telegram handle is [at] veggero. Background music by: After The Fall - https://www.youtube.com/channel/UCGQErWWbH15OMutnpM2vW7w

Wednesday, 21 July 2021

I had a look at a small XmlListModel based project of mine and started migrating the code from Qt 5.12 to Qt 6.2. The code ports pretty cleanly, but there are some caveats to be aware of.

As I’m lazy, I started by changing the imports from 2.12 to 6.2 and tried running the code. The first changes I had to make was to change the import from QtQuick.XmlListModel to QtQml.XmlListModel. I also learned that the import statement no longer requires a specific version to be specified – I’m not sure if I’m a fan of that quite yet.

The second change was that XmlRole has been renamed to XmlListModelRole, and that it no longer has a query property, but an elementName and attributeName property. I guess that saves Qt from having to implement support for XPath queries, and in my use-case (and most others), this should still be enough.

The last change I had to made was to silence a warning. It is no longer encouraged to connect objects directly to signals in QML. In my case, it was animations triggered by the onAdd and onRemove signals in a model. The trick is to declare the animation (in my case, a pair of SequentialAnimation instances, separately. Provide an id for them, and then call start on that id in the signal handler.

All in all, a quite pleasant migration experience with only superficial API changes to handle. All logic could be used as is. Nice!

**Note: This is a preview of the post for automatic RSS parsers, it is currently under testing and does not represent the format and the structure of the actual blog post. Please use the title hyperlink to access the post itself!**

Google Summer of Code 2021 with KDE, how it started and what we aim to achieve.

Blog at last + How it started

Ah yes! The blog is working at last! I suppose that this is my first Google Summer of Code blog literally a month after GSoC started (though I did have final exams for the first week so I suppose that could slide?), though I promise that I have been working on the project just fine throughout the past month. To learn more about how I dug my blog setup into a semi-pit and then back out with its slightly unusual structure and deployment, please visit the about section!

Back in mid-March, the winter quarter had just ended, and I decided to start doubling down on my top choices for Google Summer of Code 2021 and start digging deeper into the sub-groups of the organizations. But I ended up spending 4 to 5 days (and technically many months of usage after that) getting Arch Linux properly set up on my computer that took a good 3 minutes just to POST (but booting from disk afterward is pretty quick though). It took me not too long to realize that the remaining time left was not enough to explore multiple organizations, so I quickly doubled down on KDE.

My initial thoughts were to do something along the lines of accessibility, however, after seemingly finding no mentors who could easily support me on such a customized project, I stumbled across the pre-defined project of the KDE Connect app for iOS, and somehow managed to get in contact with the mentors, look over the codebase, submit a merge request, and finished the entire proposal in a couple of days (?)

The fix we found consisted of something along the lines of calling the same function twice somehow??

Goals: UI + backend + functionalities modernisation

But this existing codebase was something special. Since it was introduced by a GSoC 2014 project, it went many years without any commits until 2019 when Inoki, one of my current mentors, took maintenance of the project and started examining it again while adding changes here and there along the way.

Surprisingly, I was able to get the mostly 7-years old project built on my machine running the latest macOS and Xcode, albeit with a bit of cocoapods fiddling. Upon opening the app on my iPhone 7 Plus, I immediately felt like it was 2013 again with the iOS 8-9 aesthetics and the fact that the app looks like it was simply ballooned up from an iPhone 5s display into the larger one of the 7 Plus (and I can only imagine what it would look like on today's taller iPhone-X era displays). Immediately, it was clear that the UI of the app would benefit greatly from a complete overhaul, preferably using the newest framework, SwiftUI, to put the project on a solid footing for future contributions.

Lots of things have changed in iOS since 2014. But the most relevant regarding KDE Connect is perhaps the fact that some of the features and system APIs needed to implement KE Connect’s functionalities that were previously absent in 2014 (such as an official file browser/user-facing file system) have been added to iOS and usable by apps throughout the years, which should make things easier. It would no doubt still take a fair amount of time to figure out all the protocols and get all the features implemented, very possibly beyond the period of this GSoC project, but the project aims to nonetheless set a solid foundation for further work to be done.

Aside from using system APIs, another major goal is to rewrite the LAN network communications backend written in objective-C with the current Swift Network framework. Aside from seemingly strange behaviours and a noticeable high power-drain/processor usage, the app also makes use of the continuously copying from the system clipboard to pass information around, which continuously triggers the clipboard access alert on iOS 14. Therefore, a sizable rewrite is needed to make sure that things function more optimally going forward.

All in all, these are the primary goals that the GSoC project aims to accomplish. There will soon be more posts following up on these topics, such as UI/UX testing with the UI rewrite and LAN testing with the backend rewrite, stay tuned!

Tuesday, 20 July 2021

The Plasma Mobile team is happy to present the Plasma Mobile updates for July 2021. Read on to found out about all the new stuff included in this release:

Shell

First and foremost: Marco Martin made the shell more responsive by improving the performance of the top panel.

Dialer

We have solved some issues regarding international numbers: When dealing with numbers saved without a country code, we used to need to guess what country the number was from. Previously, we had to do this based on the locale settings, but now we also take into account which country the phone is based in and take information from the cell towers.

We also fixed an issue that could result in the dialer showing the wrong contact name when receiving a call, and now you can also use the dialer correctly with a hardware keyboard.

Spacebar

Thanks to Smitty van Bodegom and Jonah Brüchert, Plasma Mobile’s SMS app gained several UI improvements. For one, errors while sending messages are properly reported, and it also shows you which number you are sending SMS from. Another improvement is that chats are now ordered properly.

KWeather

Han Young overhauled the KWeather plasmoid. Not only did he fix some annoying issues, but the corrections allow you to select separate locations. The corrections in the plasmoid have also removed the same issues in the app.

As for KWeather’s look, Devin worked on giving the dialogs in the app a consistent style, as well as a new inline page indicator for flat mode.

KClock

Han Young’s worked on ensuring that receiving alarms when the phone is suspended works in all cases; and Devin made sure that a proper theme is applied at all times, especially when using KClock on non-Plasma systems. He also changed the dialog style to look more consistent with other native dialogs.

KRecorder

Talking of which, KRecorder received the same theme fixes applied to KClock, so it also now looks consistent across platforms.

Qrca

Qrca, Plasma Mobile’s QR reader, now allows you to choose between multiple available cameras for scanning barcodes. It also offers to import barcodes for transport tickets into KDE Itinerary, and provides helpful links for barcodes containing International Article Numbers or ISBNs.

We also improved the user interface. The Share dialog now handles errors, sends a notification with the shared destination URL for services like Imgur, has a loading indicator and a title. As for the camera selection dialog on the desktop, it won’t fill the entire width anymore.

Calindori

Dimitris Kardarakos made sure that the phone no longer pointlessly wakes up at midnight and added some UI improvements.

Kasts

It’s been quite a busy month for Kasts development. The main features implemented into Plasma Mobile’s podcasting app this month include:

  • Swapnil implemented a Discover page which allows you to search https://podcastindex.org for podcasts.
  • Bart added a feature to resume podcast episode downloads. The Download page has been adapted to show downloading, partially downloaded and completed download categories.
  • Swapnil reworked the playback speed settings. Clicking the speed button will now open an overlay list. This list now includes slower playback speeds.
  • Bart added a button to the error notification. This allows you to directly open the list of errors. This error list can also be opened from the Settings page (previously this was a tab on the Downloads page).
  • On systems running NetworkManager, Kasts can now check whether a metered connection is in use (e.g. an LTE connection on the PinePhone). Bart has introduced new settings to allow/disallow checking for podcast updates, downloading episodes or downloading images on such connections.
  • Swapnil added highlighting to the currently selected page in the main menu. This should make it easier to navigate.
  • Bart added new settings to determine what happens when episodes are marked as played: episodes can be deleted immediately or next time Kasts starts.
  • Swapnil added several tooltips. He also added hotkeys: space will play/pause playback and n will skip to the next track.

Additionally, Bart fixed several bugs. Most notably:

  • Inhibit suspend on GNOME and Phosh has been fixed.
  • The implementation to restore the playback position of episodes has been improved. There should be no more audible glitches when starting up the app.
Kasts discover page
Kasts main menu highlighting
Kasts playback speed setting
Kasts error message
Kasts error list overlay
Kasts new settings

In Other News…

The Plasma Mobile sound contest has now concluded. You can find out more here. A big thank you to all participants! We will be including the sounds in future releases of Plasma Mobile.

Contributing

Want to help with the development of Plasma Mobile?

If you would like to take Plasma Mobile for a spin, read this page to see device support for each distribution: https://www.plasma-mobile.org/get/

We now have a general issue tracker, where you can report any issues you encounter here: https://invent.kde.org/teams/plasma-mobile/issues/-/issues

Also, consider joining our Matrix channel, and let us know what you would like to work on!

Monday, 19 July 2021

Meta: The first thing I have to announce is, that I'm tired of trying to come up with a cool name for every blog post. I'll just use This Week In Tok from now on.

Secret (E2EE) Chats

Tok now supports secret chats, which are indicated in the chat list using a lock icon. Secret chats are Telegram's E2EE solution, and since the clients (like Tok) are open source and the algorithim well-documented, you can easily verify the implementation for yourself. Wish I could say the same for some other E2EE chats.

a secret chat

Color Scheme Persistence

Tok now remembers which colour scheme you picked between restarts.

New Desktop Settings

Tok now has a revamped settings dialogue more in line with other KDE apps on desktop.

desktop settings

New Mobile Settings

Tok now has new dedicated mobile settings that offer a touch-friendly interface.

mobile settings

Creating Chats

Tok now allows you to create chats of all kinds: one-on-one private chats, secret chats, private groups, public groups, and channels.

the dialogue

Disabling Notifications

You can now disable notifications globally in Tok quickly and easily and enable them just as easily.

disabling

Image Improvements

Messages with images are now much less jumpy than they were before.

Images also now show a blurry thumbnail while loading.

loading...

System Tray

Tok now offers the ability to minimize to the system tray on desktop systems, where you can still receive notifications without a visible Tok window and disable/enable them from the tray directly.

system tray

Obtaining Tok

Tok can be built from source from https://invent.kde.org/network/tok.

There's a Telegram room for Tok available at https://t.me/kdetok, where you can come on and chat about anything Tok related, such as asking questions on using or building Tok.

Contributing

Interested in contributing? Come on by the dev chat and say hello!

Tags: #libre

Sunday, 18 July 2021

https://phabricator.kde.org/source/latte-dock/


Getting closer to v0.10 stable release...
 
Let's welcome Latte Dock v0.9.98  the Second Beta of  v0.10.x branch!
 
A new beta was needed because some core parts were updated such as Last Active Window implementation (L.A.W.) . LAW is responsible to track windows per panel/dock level and provide these information to latte centric applets such as appmenu, title, buttons etc. Through LAW, Latte is possible to provide information for windows on inactive VDs/Activities/Screens. By reimplementing some of its parts the multi-screen users that use appmenus/titles/buttons applets in different screens should now get one of the best experiences. You can check how this fix was tracked down from: https://github.com/psifidotos/applet-window-appmenu/issues/172
 
 

Go get beta from, download.kde.org*
-----
* archive has been signed with gpg key: 325E 97C3 2E60 1F5D 4EAD CF3A 5599 9050 A2D9 110E


Changes from First to Second Beta

  • update Last Active Window implementation (L.A.W.)
  • latte sidebars  are ignored from plasma notifications
  • latte tasks, activation through mouse scrolling now works again
  • new option in Latte Preferences window to disable broadcast of screen available geometry to Plasma
  • fix icon typo for running layouts and primary screen
  • fix layout for debug window "-d --with-window"
  • add cmd line option to "--add-dock"  from available dock/panel templates

 

Highlights

  • multiple docks and panels on the same screen edge
  • floating docks and panels
  • support background radius and background shadow size
  • ten different visibility modes
  • OnSemand sidebars
  • inform Plasma Desktop about panels and docks geometries (since plasma 5.18)
  • inform window managers about docks visible area (GTK_FRAME_EXTENTS support)
  • provide internal Widgets Explorer dialog and thus being able to be used completely in other desktop environments such as GNOME and XFCE
  • support multiple Latte Tasks in the same dock or panel
  • improve applets positioning for Justify alignment in latte panels
  • support latte centric applets that can use parabolic effect easily
  • support Plasma Margins Area Separators
  • user can specify custom color scheme per layout
  • redesign and improve all layouts dialogs
  • use templates for all layout functionality
  • provide move/copy/paste functionality for docks and panels
  • export layouts and docks/panels as templates for public use
  • 2200 commits after version 0.9.0
  • plenty of small bug fixes and improvements all around


Donations

You can find Latte at Liberapay,     Donate using Liberapay


or you can split your donation between my active projects in kde store.