KDE Connect: Enhancing actions accessibility

Hello everyone!

Correct me if I’m using it wrong but I am struggling with the interface of KDE Connect on Fedora WS KDE.

I’m noticing that several frequently used features, such as ‘Send Clipboard’ and ‘Browse this device’, are currently located within a dropdown menu.
While I understand that this approach is likely intended to keep the interface clean, it inadvertently increases the number of clicks required to access these functions.

I’m wondering if there’s room to improve usability by moving these key icons from the dropdown menu to a main notification area. I edited and uploaded a screenshot for clarity.

Additionally, I’m wondering about why certain activities are only displayed in the notification area and not advertised directly in the app’s main view. It would be helpful to have those actions everywhere.

I’d be happy to discuss this further and provide feedback if it’s helpful.

1 Like

These suggestions sound very reasonable, especially adding the “Browser this device” to the “main window” since the other options are already there.

The usefulness of “Share file” is likely very workflow dependent.
I.e. I personally always use the share functionality in whatever application I am currently working with, e.g. Dolphin, Firefox, Gwenview, etc.

For people like yourself, who use the connect window or popup, it would of course be preferable to have the share action available without the extra click.

For the tray/notification popup it might make sense to consider the Connect/plugin configuration.
E.g. if clipboard auto-sync is on it might be sufficient to have “Send Clipboard” in the “burger menu” as it will usually not be required but if the auto-sync is off it becomes a primary action.

Essentially a bit like how the system tray handles its icons: they can be permanently visible, permanently hidden (always in the menu) or visible depending on the situation (e.g. Connect only shown when a device is connected).

Each of those sound like things a developer could tackle who always wanted to get into KDE development but didn’t have any easy tasks in mind to get started on :slight_smile:

Alternatively (or even in addition) this might provide a good use case for a dedicated Plasma applet.
I could imaging adding something like that to one of my secondary panels and it would show a dedicated icon for each connected device.

@krake thanks for your prompt reply!

Initially, I used Clipboard synchronization, but I disabled it due to my phone’s clipboard history being flooded with useless data. Since I rarely need to send things back and forth, I’m using the action button in the system tray.

I’m hesitant to use a dedicated applet because I’m trying to avoid third-party extensions in Plasma for security reasons, although I may be mistaken, not being a power user familiar with such extensions.

From a development perspective, I think implementing it shouldn’t be too difficult, but I don’t have any experience with Qt. And I’ll take a look, to see what’s involved.

One thiing Plasma/Klipper could consider for such use cases it to have a “send” action in the clipboard popup.

I was mostly thinking along the lines of this being part of either Plasma or Connect as an alternative UI, not as a third party.

But of course it could start as a third party extension :slight_smile:

I agree. There is an “Invoke action” button, though I can’t get how to use it.

Considering Plasma’s built-in flexibility, Connect might have been able to inherit more features. However, I don’t want to criticize the developers, as they’re doing a great job

Concerning modification I want to discuss and receive feedback before making a PR.

  1. Is there only one file for the tray interface, located at
    /plasmoid/package/contents/ui/DeviceDelegate.qml ?
    I managed to make it work as I wanted to (see the screenshot and piece of code below).
    I used ToolButton and ToolTip in order to have that text hidden, but accessible.
...
PlasmaComponents.ToolButton {
                    icon.name: "irc-voice"
                    visible: findmyphone.available
                    onClicked: findmyphone.ring()
                    PlasmaComponents.ToolTip {
                        text: i18n("Ring my phone")
                    }
                }
...

  1. For the “Main Window”, I found the file
    /app/qml/DevicePage.qml.
    But I couldn’t figure out what is the correct way to add sftp plugin in that list. Is that right? And I don’t know how to check it in my system.
...
PluginItem {
                pluginName: "sftp"
                name: i18nd("kdeconnect-app", "Browse this device")
                onClick: () => sftp.browse()
                section: "action"
                device: root.currentDevice
            }
...

Appreciate any response.

Providing some links.
Hopefully, I don’t need to worry about the failed pipeline?

1 Like

Did you try building it locally? This line in the CI output: suse_tumbleweed_qt69 (#2899471) · Jobs · Tim Huge / KDE Connect · GitLab suggests you’re missing a comma.

Generally you should always make sure the CI passes. Occasionally there are problems in CI unrelated to your changes, but that’s not often.

1 Like

@mrp thanks a lot!
what a stupid mistake!

Unfortunately, I came up with doing it in Kate and testing straightforward in the system, replacing the file.
I know, that’s a noob approach, but I haven’t stumbled upon any setup instructions yet, apart from that. Seems like I’ll have to change my approach.

It’s not such a stupid mistake, happens quite often to me :slight_smile: Someone recently updated KDEConnect - KDE Community Wiki with some instructions using kde-builder, you could try that.

2 Likes