Replacing Autokey in Wayland

Many Linux distros are leaving xorg (x11) for Wayland, as display server protocol. Unfortunately not all the applications are ready for Wayland.

In particular Autokey, a very useful application to expand text and automatize typing operations, is not (yet) compatible with Wayland.

A quite good replacement of Autokey is Espanso. But there are also some limitations:

  • Espanso has big problems in LibreWriter (abbreviations are often expanded with errors). Similar problems there were also with Autokey in LibreWriter, but Autokey was able to provide some workarounds.
  • Espanso, unlike Autokey, can provide a very small range of hotkeys (such as ctrl + alt + d): Espanso can use only hotkeys with ctrl (not with alt or shift) and a few letters. I.g. “x01” means “ctrl + a”. You can find the whole range of possible combinations here.

However, as long as the main typing operations are in LibreWriter, or Kate, you can use that applications possibilities to expand text.

in LibreWriter there are at least two possibilities (to expand an abbreviation):

  • tools – > autocorrect
  • tools -> autotext

In Kate you can use snippets to create something similar to Autokey.

I.g. to create a snippet to wrap selected text with the tag <h1>, you can add this code as snippet code:

${rangeCommand("<h1>%%1</h1>", "title")}

Choose the title as you prefer (obviously without spaces), and a key combination, i.g. ctrl+1.

Don’t forget to add, in the javascript section (the tab scripts) this code

function rangeCommand(command, def) {
    if (view.selectedText().length > 0) {
        return command.replace("%%1", view.selectedText());
    } else {
        return command.replace("%%1", def);
    }
}

In this way, you will be able to add a title <h1> to your selected text.

missing gtk icons

Using KDE in a new installation you could don’t have all the gtk icons. If so, try with:

sudo apt-get install --reinstall adwaita-icon-theme-full

Install Kubuntu without EFI bootloader

If you have, i.g., another linux distro, such as KDE-Neon, and you want add Kubuntu as secondary SO, without changing your EFI, you do this way:

  • in Kubuntu (usb iso) menu -> try Kubuntu
  • in a terminal (once logged in): ubiquity -b
  • this will open the graphical installation tool letting you install Kubuntu without modifying existing EFI
  • don’t worry for the warnings (“the system could not start”)
  • after rebooting, in KDE-Neon do update-grub

If you get, with update-grub, an error such this:


Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.

You can solve adding or uncommenting this line in /etc/default/grub

GRUB_DISABLE_OS_PROBER=false


Verify a KDE-Neon iso with a sig file

You have first of all to install the public-key of KDE-Neon:

  • downloading it (it is a text file such as armored-keys.asc)
  • and installing it gpg –import [your-downloaded-public-key-file]

Then you have to go into the folder where are both iso and sig files and give this command

gpg --verify [your-iso-file-name].iso.sig

You should see something like:

gpg: assuming signed data in 'neon-user-20200813-1119.iso'
gpg: Signature made �� 16:40:21 PKT �� 13 �������� 2020
gpg:                using RSA key 348C8651206633FD983A8FC4DEACEA00075E1D76
gpg: Good signature from "KDE neon ISO Signing Key <neon@kde.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 348C 8651 2066 33FD 983A  8FC4 DEAC EA00 075E 1D76

Here more.

MIDI keyboard and Linux

To get your MIDI keyboard working in Linux, you should do something like the following steps:

1) install Rosegarden, which automatically install jack and the related software in particular Qjackqtl (jack GUI). Maybe you could install directly Qjackqtl…

2) add your user to the audio group

sudo usermod -a -G audio <your_user_name>

3) install Qsynth,
4) do the following terminal command

sudo apt update; sudo apt full-upgrade -y; sudo apt install -y pipewire-audio-client-libraries libspa-0.2-bluetooth libspa-0.2-jack wireplumber pipewire-media-session-; sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/; sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/; sudo ldconfig; sudo apt remove -y pulseaudio-module-bluetooth; systemctl --user --now enable wireplumber.service

Musescore and a MIDI keyboard

To get Musescore able to record from a MIDI keyboard I had to use the 4 release, so far with an appimage from their website.

Flatpak bad installation

It could happen that a flatpak installation, from a link, goes bad and from a GUI you can’t fix the problem. In this case you can try with: sudo flatpak repair in a terminal.

At least, this was my experience with Bottles.

ssd slow (in Linux)

If your SSD has become slow, it could depend from the swap file: f.e. in fstab the ssd swap UUID could be wrong (after some partitions changes in your SSD).

You can fix this by giving to the swap partition the correct UUID.

radial gradient in new KDE

The new KDE Plasma releases require a slight change in your svg files, if you have a radiant gradient (no problems instead with the linear ones).

You have to specify the radialGradient cx, cy and r, like in the following example:

<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <defs>
    <radialGradient id="gradient" cx="0.50" cy="0.50" r="0.45">
      <stop offset="0%" stop-color="#fbfbf0"></stop>
      <stop offset="80%" stop-color="#bc5a1f"></stop>
    </radialGradient>
  </defs>
  <g>
    <path fill="url(#gradient)" d="M11 .008l3.4 6.888L22 8l-5.5 5.361 1.298 7.57L11 17.357l-6.798 3.574 1.298-7.57L0 8l7.6-1.104z" />
  </g>
</svg>

Because a svg with this other following code won’t work (will be invisible)

<?xml version="1.0" standalone="no"?>
<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <defs>
    <radialGradient id="gradient">
      <stop offset="0%" stop-color="#fbfbf0"></stop>
      <stop offset="80%" stop-color="#bc5a1f"></stop>
    </radialGradient>
  </defs>
  <g>
    <path fill="url(#gradient)" d="M11 .008l3.4 6.888L22 8l-5.5 5.361 1.298 7.57L11 17.357l-6.798 3.574 1.298-7.57L0 8l7.6-1.104z" />
  </g>
</svg>