psifidotos / applet-window-buttons

Plasma 5 applet in order to show window buttons in your panels
GNU General Public License v2.0
402 stars 55 forks source link

Having trouble building #194

Open retropele opened 1 year ago

retropele commented 1 year ago

Sorry, I'm a complete amateur. But I've built (and love) these applet buttons a few times after messing up my Linux install and then reconfiguring after the fact, and I'm only now encountering this error.

I'm not sure if I'm missing a dependency or if updating my system (which I did on my reinstall a few days ago) has just screwed me entirely.

Sorry if this is my fault. But some guidance would be great. :((

Log below of everything I did and the output


electric@rainmachine:~$ git clone https://github.com/psifidotos/applet-window-buttons.gitCloning into 'applet-window-buttons'... remote: Enumerating objects: 1332, done. remote: Counting objects: 100% (200/200), done. remote: Compressing objects: 100% (28/28), done. remote: Total 1332 (delta 175), reused 172 (delta 172), pack-reused 1132 Receiving objects: 100% (1332/1332), 245.33 KiB | 745.00 KiB/s, done. Resolving deltas: 100% (800/800), done. electric@rainmachine:~$ cd ~/applet-window-buttons/ electric@rainmachine:~/applet-window-buttons$ sh install.sh install.sh: 1: [: -a: unexpected operator -- The C compiler identification is GNU 12.2.0 -- The CXX compiler identification is GNU 12.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done CMake Warning (dev) at /usr/share/ECM/modules/ECMFindModuleHelpers.cmake:113 (message): Your project should require at least CMake 3.16.0 to use FindKF5.cmake Call Stack (most recent call first): /usr/share/ECM/find-modules/FindKF5.cmake:30 (ecm_find_package_version_check) CMakeLists.txt:19 (find_package) This warning is for project developers. Use -Wno-dev to suppress it.

-- Found KF5CoreAddons: /usr/lib/x86_64-linux-gnu/cmake/KF5CoreAddons/KF5CoreAddonsConfig.cmake (found version "5.103.0") -- Installing in the same prefix as Qt, adopting their path scheme. -- Found KF5Declarative: /usr/lib/x86_64-linux-gnu/cmake/KF5Declarative/KF5DeclarativeConfig.cmake (found version "5.103.0") -- Found X11: /usr/include
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so -- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found -- Looking for gethostbyname -- Looking for gethostbyname - found -- Looking for connect -- Looking for connect - found -- Looking for remove -- Looking for remove - found -- Looking for shmat -- Looking for shmat - found -- Looking for IceConnectionNumber in ICE -- Looking for IceConnectionNumber in ICE - found -- Found KF5Plasma: /usr/lib/x86_64-linux-gnu/cmake/KF5Plasma/KF5PlasmaConfig.cmake (found version "5.103.0") -- Found KF5PlasmaQuick: /usr/lib/x86_64-linux-gnu/cmake/KF5PlasmaQuick/KF5PlasmaQuickConfig.cmake (found version "5.103.0") -- Found KF5: success (found suitable version "5.103.0", minimum required is "5.81.0") found components: CoreAddons Declarative Plasma PlasmaQuick -- KDECORATION2 VERSION MINOR : 27 -- Could not set up the appstream test. appstreamcli is missing. -- Looking for GLIBC -- Looking for GLIBC - found -- Performing Test _OFFT_IS_64BIT -- Performing Test _OFFT_IS_64BIT - Success -- Performing Test HAVE_DATE_TIME -- Performing Test HAVE_DATE_TIME - Success CMake Warning (dev) at /usr/share/ECM/modules/ECMFindModuleHelpers.cmake:113 (message): Your project should require at least CMake 3.16.0 to use FindKF5.cmake Call Stack (most recent call first): /usr/share/ECM/find-modules/FindKF5.cmake:30 (ecm_find_package_version_check) libappletdecoration/CMakeLists.txt:37 (find_package) This warning is for project developers. Use -Wno-dev to suppress it.

-- Found KF5WindowSystem: /usr/lib/x86_64-linux-gnu/cmake/KF5WindowSystem/KF5WindowSystemConfig.cmake (found version "5.103.0") -- Found Gettext: /usr/bin/msgmerge (found version "0.21") -- Found KF5I18n: /usr/lib/x86_64-linux-gnu/cmake/KF5I18n/KF5I18nConfig.cmake (found version "5.103.0") -- Found KF5Service: /usr/lib/x86_64-linux-gnu/cmake/KF5Service/KF5ServiceConfig.cmake (found version "5.103.0") -- Found KF5ConfigWidgets: /usr/lib/x86_64-linux-gnu/cmake/KF5ConfigWidgets/KF5ConfigWidgetsConfig.cmake (found version "5.103.0") -- Found KF5: success (found suitable version "5.103.0", minimum required is "5.26.0") found components: Plasma WindowSystem I18n Service ConfigWidgets CMake Warning at /usr/lib/x86_64-linux-gnu/cmake/KF5Package/KF5PackageMacros.cmake:46 (message): Providing metadata with .desktop files is deprecated. Please run "desktoptojson -i /home/electric/applet-window-buttons/package/metadata.desktop" to convert the file to json and remove the desktop file Call Stack (most recent call first): /usr/lib/x86_64-linux-gnu/cmake/KF5Plasma/KF5PlasmaMacros.cmake:36 (kpackage_install_package) CMakeLists.txt:35 (plasma_install_package)

-- Configuring done -- Generating done -- Build files have been written to: /home/electric/applet-window-buttons/build [ 9%] Automatic MOC for target appletdecorationplugin [ 9%] Generating org.kde.windowbuttons-plasmoids-metadata.json About to parse service type file "/usr/share/kservicetypes5/plasma-applet.desktop" Found property definition "X-Plasma-API" with type "QString" Found property definition "X-Plasma-RootPath" with type "QString" Found property definition "X-Plasma-MainScript" with type "QString" Found property definition "X-Plasma-ContainmentType" with type "QString" Found property definition "X-Plasma-DropMimeTypes" with type "QStringList" Found property definition "X-Plasma-DropUrlPatterns" with type "QStringList" Found property definition "X-Plasma-NotificationArea" with type "QString" Found property definition "X-Plasma-NotificationAreaCategory" with type "QString" Found property definition "X-Plasma-DBusActivationService" with type "QString" Found property definition "X-KDE-ParentApp" with type "QString" Found property definition "X-Plasma-Provides" with type "QStringList" Found property definition "X-Plasma-PreloadWeight" with type "int" Found property definition "X-Plasma-ConfigPlugins" with type "QStringList" Found property definition "X-Plasma-StandAloneApp" with type "bool" Found property definition "X-Plasma-RequiredExtensions" with type "QStringList" Found property definition "NoDisplay" with type "bool" Unknown property type for key "Keywords" -> falling back to string Generated "/home/electric/applet-window-buttons/build/org.kde.windowbuttons-plasmoids-metadata.json" [ 9%] Built target org.kde.windowbuttons-plasmoids-metadata-json [ 9%] Built target appletdecorationplugin_autogen [ 27%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/decorationpalette.cpp.o [ 27%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/auroraetheme.cpp.o [ 27%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/buttonsmodel.cpp.o [ 31%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/decorationsmodel.cpp.o [ 36%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/environment.cpp.o [ 27%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/appletdecorationplugin.cpp.o [ 40%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/appletdecorationplugin_autogen/mocs_compilation.cpp.o [ 45%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/commontools.cpp.o /home/electric/applet-window-buttons/libappletdecoration/environment.cpp: In member function ‘uint Decoration::Applet::Environment::frameworksVersion() const’: /home/electric/applet-window-buttons/libappletdecoration/environment.cpp:44:27: warning: ‘unsigned int Plasma::version()’ is deprecated: Since 5.85. use plasma_version.h header instead [-Wdeprecated-declarations] 44 | return Plasma::version(); | ~~~^~ In file included from /home/electric/applet-window-buttons/libappletdecoration/environment.cpp:27: /usr/include/KF5/plasma/version.h:37:28: note: declared here 37 | PLASMA_EXPORT unsigned int version(); | ^~~ [ 50%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/padding.cpp.o [ 54%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/previewbutton.cpp.o [ 59%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/previewbridge.cpp.o [ 63%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/previewclient.cpp.o [ 68%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/previewsettings.cpp.o [ 72%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/previewshareddecoration.cpp.o /home/electric/applet-window-buttons/libappletdecoration/previewclient.cpp: In member function ‘virtual void Decoration::Applet::PreviewClient::requestShowWindowMenu(const QRect&)’: /home/electric/applet-window-buttons/libappletdecoration/previewclient.cpp:414:56: warning: unused parameter ‘rect’ [-Wunused-parameter] 414 | void PreviewClient::requestShowWindowMenu(const QRect &rect) | ~~~^~ [ 77%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/schemecolors.cpp.o [ 81%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/schemesmodel.cpp.o /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp: In member function ‘virtual std::unique_ptr Decoration::Applet::PreviewBridge::createClient(KDecoration2::DecoratedClient, KDecoration2::Decoration)’: /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:75:83: error: invalid new-expression of abstract class type ‘Decoration::Applet::PreviewClient’ 75 | auto ptr = std::unique_ptr(new PreviewClient(client, decoration)); | ^ In file included from /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:27: /home/electric/applet-window-buttons/libappletdecoration/previewclient.h:40:7: note: because the following virtual functions are pure within ‘Decoration::Applet::PreviewClient’: 40 | class PreviewClient : public QObject, public KDecoration2::ApplicationMenuEnabledDecoratedClientPrivate | ^~~~~ In file included from /usr/include/KDecoration2/KDecoration2/Private/DecoratedClientPrivate:1, from /home/electric/applet-window-buttons/libappletdecoration/previewclient.h:31: /usr/include/KDecoration2/kdecoration2/private/decoratedclientprivate.h:80:21: note: ‘virtual QString KDecoration2::DecoratedClientPrivate::windowClass() const’ 80 | virtual QString windowClass() const = 0; | ^~~ /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp: In member function ‘virtual std::unique_ptr Decoration::Applet::PreviewBridge::settings(KDecoration2::DecorationSettings)’: /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:84:21: warning: redundant move in return statement [-Wredundant-move] 84 | return std::move(ptr); | ~~~^~~ /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:84:21: note: remove ‘std::move’ call /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp: In member function ‘void Decoration::Applet::PreviewBridge::createFactory()’: /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:138:44: warning: ‘static KPluginTrader KPluginTrader::self()’ is deprecated: Since 5.82. Use KPluginMetaData and KPluginFactory [-Wdeprecated-declarations] 138 | const auto offers = KPluginTrader::self()->query(s_pluginName, | ~~~~~~~^~ In file included from /usr/include/KF5/KService/KPluginTrader:1, from /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:37: /usr/include/KF5/KService/kplugintrader.h:163:27: note: declared here 163 | static KPluginTrader self(); | ^~~~ /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:138:53: warning: ‘KPluginInfo::List KPluginTrader::query(const QString&, const QString&, const QString&)’ is deprecated: Since 5.82. Use KPluginMetaData::findPlugins [-Wdeprecated-declarations] 138 | const auto offers = KPluginTrader::self()->query(s_pluginName, | ~~~~~~^~~~ 139 | s_pluginName, | ~~~~~
140 | QStringLiteral("[X-KDE-PluginInfo-Name] == '%1'").arg(m_plugin)); | ~~~~~~~~~~~~~~~~ /usr/include/KF5/KService/kplugintrader.h:150:23: note: declared here 150 | KPluginInfo::List query(const QString &subDirectory, const QString &serviceType = QString(), const QString &constraint = QString()); | ^~~~~ /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:149:31: warning: ‘KPluginFactory
KPluginLoader::factory()’ is deprecated: Since 5.86. Use KPluginFactory::loadFactory or KPluginFactory::instantiatePlugin instead [-Wdeprecated-declarations] 149 | m_factory = loader.factory(); | ~~~~~~^~ In file included from /usr/include/KF5/KCoreAddons/KPluginLoader:1, from /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:35: /usr/include/KF5/KCoreAddons/kpluginloader.h:126:21: note: declared here 126 | KPluginFactory factory(); | ^~~ /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp: In member function ‘KDecoration2::DecorationButton Decoration::Applet::PreviewBridge::createButton(KDecoration2::Decoration, KDecoration2::DecorationButtonType, QObject)’: /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:195:67: warning: ‘T KPluginFactory::create(const QString&, QObject, const QVariantList&) [with T = KDecoration2::DecorationButton; QVariantList = QList]’ is deprecated: Since 5.89. Use overload without keyword instead [-Wdeprecated-declarations] 195 | button = m_factory->create(QStringLiteral("button"), parent, QVariantList({QVariant::fromValue(type), QVariant::fromValue(decoration)})); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/KF5/KCoreAddons/KPluginFactory:1, from /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:36: /usr/include/KF5/KCoreAddons/kpluginfactory.h:950:11: note: declared here 950 | inline T KPluginFactory::create(const QString &keyword, QObject parent, const QVariantList &args) | ^~~~~~ [ 86%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/themeextended.cpp.o [ 90%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/types.cpp.o make[2]: [libappletdecoration/CMakeFiles/appletdecorationplugin.dir/build.make:216: libappletdecoration/CMakeFiles/appletdecorationplugin.dir/previewbridge.cpp.o] Error 1 make[2]: Waiting for unfinished jobs.... make[1]: [CMakeFiles/Makefile2:375: libappletdecoration/CMakeFiles/appletdecorationplugin.dir/all] Error 2 make: [Makefile:146: all] Error 2 [ 4%] Built target org.kde.windowbuttons-plasmoids-metadata-json [ 9%] Automatic MOC for target appletdecorationplugin [ 9%] Built target appletdecorationplugin_autogen Consolidate compiler generated dependencies of target appletdecorationplugin [ 13%] Building CXX object libappletdecoration/CMakeFiles/appletdecorationplugin.dir/previewbridge.cpp.o /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp: In member function ‘virtual std::unique_ptr Decoration::Applet::PreviewBridge::createClient(KDecoration2::DecoratedClient, KDecoration2::Decoration)’: /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:75:83: error: invalid new-expression of abstract class type ‘Decoration::Applet::PreviewClient’ 75 | auto ptr = std::unique_ptr(new PreviewClient(client, decoration)); | ^ In file included from /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:27: /home/electric/applet-window-buttons/libappletdecoration/previewclient.h:40:7: note: because the following virtual functions are pure within ‘Decoration::Applet::PreviewClient’: 40 | class PreviewClient : public QObject, public KDecoration2::ApplicationMenuEnabledDecoratedClientPrivate | ^~~~~ In file included from /usr/include/KDecoration2/KDecoration2/Private/DecoratedClientPrivate:1, from /home/electric/applet-window-buttons/libappletdecoration/previewclient.h:31: /usr/include/KDecoration2/kdecoration2/private/decoratedclientprivate.h:80:21: note: ‘virtual QString KDecoration2::DecoratedClientPrivate::windowClass() const’ 80 | virtual QString windowClass() const = 0; | ^~~ /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp: In member function ‘virtual std::unique_ptr Decoration::Applet::PreviewBridge::settings(KDecoration2::DecorationSettings)’: /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:84:21: warning: redundant move in return statement [-Wredundant-move] 84 | return std::move(ptr); | ~~~^~~ /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:84:21: note: remove ‘std::move’ call /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp: In member function ‘void Decoration::Applet::PreviewBridge::createFactory()’: /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:138:44: warning: ‘static KPluginTrader KPluginTrader::self()’ is deprecated: Since 5.82. Use KPluginMetaData and KPluginFactory [-Wdeprecated-declarations] 138 | const auto offers = KPluginTrader::self()->query(s_pluginName, | ~~~~~~~^~ In file included from /usr/include/KF5/KService/KPluginTrader:1, from /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:37: /usr/include/KF5/KService/kplugintrader.h:163:27: note: declared here 163 | static KPluginTrader self(); | ^~~~ /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:138:53: warning: ‘KPluginInfo::List KPluginTrader::query(const QString&, const QString&, const QString&)’ is deprecated: Since 5.82. Use KPluginMetaData::findPlugins [-Wdeprecated-declarations] 138 | const auto offers = KPluginTrader::self()->query(s_pluginName, | ~~~~~~^~~~ 139 | s_pluginName, | ~~~~~
140 | QStringLiteral("[X-KDE-PluginInfo-Name] == '%1'").arg(m_plugin)); | ~~~~~~~~~~~~~~~~ /usr/include/KF5/KService/kplugintrader.h:150:23: note: declared here 150 | KPluginInfo::List query(const QString &subDirectory, const QString &serviceType = QString(), const QString &constraint = QString()); | ^~~~~ /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:149:31: warning: ‘KPluginFactory
KPluginLoader::factory()’ is deprecated: Since 5.86. Use KPluginFactory::loadFactory or KPluginFactory::instantiatePlugin instead [-Wdeprecated-declarations] 149 | m_factory = loader.factory(); | ~~~~~~^~ In file included from /usr/include/KF5/KCoreAddons/KPluginLoader:1, from /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:35: /usr/include/KF5/KCoreAddons/kpluginloader.h:126:21: note: declared here 126 | KPluginFactory factory(); | ^~~ /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp: In member function ‘KDecoration2::DecorationButton Decoration::Applet::PreviewBridge::createButton(KDecoration2::Decoration, KDecoration2::DecorationButtonType, QObject)’: /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:195:67: warning: ‘T KPluginFactory::create(const QString&, QObject, const QVariantList&) [with T = KDecoration2::DecorationButton; QVariantList = QList]’ is deprecated: Since 5.89. Use overload without keyword instead [-Wdeprecated-declarations] 195 | button = m_factory->create(QStringLiteral("button"), parent, QVariantList({QVariant::fromValue(type), QVariant::fromValue(decoration)})); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/KF5/KCoreAddons/KPluginFactory:1, from /home/electric/applet-window-buttons/libappletdecoration/previewbridge.cpp:36: /usr/include/KF5/KCoreAddons/kpluginfactory.h:950:11: note: declared here 950 | inline T KPluginFactory::create(const QString &keyword, QObject parent, const QVariantList &args) | ^~~~~~ make[2]: [libappletdecoration/CMakeFiles/appletdecorationplugin.dir/build.make:216: libappletdecoration/CMakeFiles/appletdecorationplugin.dir/previewbridge.cpp.o] Error 1 make[1]: [CMakeFiles/Makefile2:375: libappletdecoration/CMakeFiles/appletdecorationplugin.dir/all] Error 2 make: *** [Makefile:146: all] Error 2

pizzadude commented 1 year ago

apply the patch from https://github.com/psifidotos/applet-window-buttons/pull/191 and re-build

pizzadude commented 1 year ago

Step 1: Install gh (Github CLI) Step 2. git clone https://github.com/psifidotos/applet-window-buttons/ Step 3. cd applet-window-buttons Step 4. gh pr checkout https://github.com/psifidotos/applet-window-buttons/pull/191 Step 5. ./install.sh

retropele commented 1 year ago

apply the patch from #191 and re-build

Can't thank you enough, this worked (I had some other issues I had to work out first but it came together perfectly). Thanks for helping me!!

Edit: Wanted to add an additional thank you for the step by step instructions, there's no way I would have been able to get that far so easily without them. So appreciated

pizzadude commented 1 year ago

you're welcome :)

EvanKoe commented 11 months ago

Step 1: Install gh (Github CLI) Step 2. git clone https://github.com/psifidotos/applet-window-buttons/ Step 3. cd applet-window-buttons Step 4. gh pr checkout https://github.com/psifidotos/applet-window-buttons/pull/191 Step 5. ./install.sh

This should be marked as resolved ! Thanks a lot ! It worked for me (Arch Linux, Plasma 5.27)

bayazidbh commented 11 months ago

This should be marked as resolved !

I think it should be marked as resolved if the PR's been merged. Though idk if the repo owner still monitors the repo.]

Regardless, another thing you can do is just install it with your package manager if you're on Fedora or Arch. I don't know if anyone's building/shipping anything for debian/ubuntu side.

MajorTomDE commented 7 months ago

Step 1: Install gh (Github CLI) Step 2. git clone https://github.com/psifidotos/applet-window-buttons/ Step 3. cd applet-window-buttons Step 4. gh pr checkout https://github.com/psifidotos/applet-window-buttons/pull/191 Step 5. ./install.sh

Building works, but I get this applet error:

file:///usr/share/plasma/plasmoids/org.kde.windowbuttons/contents/ui/main.qml:534:9: AppletDecoration.AuroraeButton is not a type

MX Linux 23.1 KDE Plasma 5.27.5