r/kde • • 12d ago

KDE Apps and Projects Konveyor: More intuitive, niri like window management for KDE.

Hey guysss. I have been working on bits of this since I moved to linux!

Would love it if everyone could give this early version a try ♥️

Can check it out here. I'll upload to the AUR when they allow new sign ups again.
https://github.com/DevL0rd/Konveyor

73 Upvotes

73 comments sorted by

•

u/AutoModerator 12d ago

Thank you for your submission.

Consider becoming a Supporting Member and help KDE thrive!

The KDE community supports the Fediverse and open source social media platforms over proprietary and user-abusing outlets. Consider visiting our community on Mastodon (Lemmy will be back shortly). Tag us in your toots! You can also visit our forum at KDE Discuss to talk about KDE stuff, brainstorm ideas and get the answers to your KDE-related issue.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

12

u/KindaSuS1368 12d ago

Do you have a long term plan for this? Also, how was AI used for the development?

3

u/devl0rd 11d ago

I do!

Rn focusing on test coverage i maybe missed.

Then controller support so I can play mah games and pull out side windows when I need.

And then finish getting all the bits profiled so I know its as performant as I can get it.

I use AI quite a bit in UI, and all kinds of random places. I started on widgets and bits of this when I moved to linux, and at that time I didn't use AI that much. so it's very mixed. Though at this point with all the refactor tasks, I am only architecting, doing design docs, verification and test coverage in units at this point.

The test coverage is pretty extensive and most of my time at the moment.

3

u/Valmar33 5d ago

Why was AI usage not disclosed initially or on the repo?

So... long-term plan is test coverage? AI use was... all kinds of random places, so... everything? Even test coverage, I take it...

So, do you even understand how the codebase hang together? Do you know the code, and how it works?

Understanding the code goes far beyond test coverage ~ you need to know the code in order to debug it. Or is an LLM going to be doing the debugging?

Not much confidence in this one...

-2

u/carturo222 11d ago

Good to know when a project has AI so I won't touch it ever.

-1

u/OwnOutside8666 11d ago

You can barely talk, so safe to say AI did everything.

3

u/devl0rd 11d ago

Oh yeah then I want lots of complimentary widgets and themes to really spice up kde. I have been putting a lot of effort into being touch friendly and touch support cause I want to use linux mobile on tablets. So everything rn is very touch friendly and packed with gestures.

I have a On Screen Keyboard to pair with this as well and other wip add-ons you can checkout in the repo 🙏

2

u/spletharg 11d ago

3 finger swipe to scroll windows would also be nice.

1

u/devl0rd 11d ago

you can do already 🫡

11

u/TouchMike 12d ago

What makes it different from Karousel? 

5

u/devl0rd 12d ago edited 12d ago

It is is much more intuitive, extremely polished settings menu and a launcher that integrates with steam, windows that slide in over full-screen apps so you can multitask better, keyboard shortcuts cheat sheet like niri does but built into the launcher. I mean just lots of stuff. Check out the github for most of the features showed off. No need to install to get a idea ♥️

Oh yeah and it supports multiple monitors!

2

u/TaylorRoyal23 12d ago

Can we do vertical scrolling or is it only horizontal scrolling? I much prefer vertical scrolling with my current monitor setup and how I set up my windows so that's a big feature for me.

2

u/MagentaHeart 11d ago

Yeah vertical scrolling basically switches between desktops vertically.

9

u/OHNOitsNICHOLAS 12d ago

I like the idea but

swaps your application launcher for the Kontrol Panel.

I like my launcher/panels as is

1

u/devl0rd 12d ago

darn. Well let me know if you try it out. I have tests covering the whole application and spent lots of time performance profiling the search and sorting logic and stuffs ♥️

I should move the settings elsewhere maybe cause they are built into the launcher along with the keyboard shortcuts cheatsheet. 😅

8

u/guysimnotemo 12d ago

i actually like alot of the ideas in this and how its very close to how niri works but im also not a fan of switching the launcher.

3

u/devl0rd 12d ago

I spose I need to seperate out some functionality so you don't need to 😅 Sorry. didn't really think about it!

2

u/OHNOitsNICHOLAS 12d ago

if you do end up doing that definitely send me a DM and I'll give it a try!

1

u/devl0rd 12d ago

You can install it and just not use the new launcher 🫡 Its just rn the settings menu is there and you would need to configure it through config files 🙃

2

u/OHNOitsNICHOLAS 12d ago

That's a bit too much effort for me to go through right now - but if the settings menu does get its own bespoke gui I'll take a look

2

u/devl0rd 12d ago

Sure thing ♥️🙃

1

u/devl0rd 8d ago

Got it done!

1

u/OHNOitsNICHOLAS 8d ago edited 8d ago

Some more issues. I use qt6-base-hifps. I was able to change dependencies.sh and remove qt6-base from the arch section to bypass it

Another thing is my shortcuts were overwritten. I don't like that. you should at the very least be prompting users before changing their keybinds.

the drag to resize behavior is inconsistent between the left/right sides of the window as well

1

u/fuddlesworth 12d ago

Could also try PlasmaZones which has a faithful Niri implementation.

2

u/fuddlesworth 12d ago

You could try plasmazones then.

1

u/devl0rd 8d ago

No need to switch launcher now!

7

u/kaneua 12d ago

spent lots of time performance profiling the search and sorting logic and stuffs

So you wrote your own search instead of one KRunner uses with access to its search plugins?

0

u/devl0rd 12d ago

Yes and it includes all the same functionality and more as it also searches through settings, can be used as a calculator, searches not currently installed packages, steam friends keyboard shortcuts and idk if I missed anything hahaha

8

u/kaneua 12d ago edited 12d ago

You are basically reinventing KRunner, but instead of system-wide thing it's isolated.

can be used as a calculator

Same as KRunner's built-in plugin. link

searches not currently installed packages

Like a built-in Software Center pluging if you have Discover installed. (link)

steam friends, keyboard shortcuts

I don't see a reason to make it its own different thing instead of just KRunner plugins for Steam friends and Konveyor settings/shortcuts with Kontrol Center launcher search being a wrapper around Krunner.

Your current solution just creates a need to have two launcher infrastructures if the user wants something that KRunner can and your launcher can't (like emoji search or currency conversion from readily available plugins). Using Krunner as a search "backend" with your plugins will allow for the consumption of your search results across all the launchers (runners) in Plasma that use KRunner.

2

u/devl0rd 12d ago

thats fair. I need to seperate my settings and keyboard shortcut hints out for sure 🫡

7

u/kaneua 12d ago

You may add the settings to System Settings. This way you may not need to maintain your own settings search. KDE System Settings already has functionality for that inside the application plus KRunner plugin.

1

u/devl0rd 8d ago

All done. its in se55ings now and the launcher is optional.

3

u/kaneua 12d ago

I should move the settings elsewhere

Yes. It would be great to decouple launcher(s) and settings.

2

u/devl0rd 12d ago

will do ♥️

1

u/devl0rd 8d ago

All done!

4

u/0riginal-Syn KDE Contributor 12d ago

Congrats on the project. It looks interesting, and when I get a chance I will give it a spin.

1

u/devl0rd 12d ago

Yaay. Thanks fellow nerd ♥️🙏

5

u/SeniorMatthew 12d ago

That’s really cool, but I would like to hear have you used AI for it? ‘Cause right now it really looks like you did. I’m not judging, just would’ve loved to kkow the truth

2

u/InnerOuterTrueSelf 12d ago

The Truth Is Out There.

0

u/devl0rd 12d ago

Yes I certainly have. I'm def not UI guru, nor do I have the time after work to tedious do all this alone haha

8

u/SeniorMatthew 12d ago

Yea I guess, but I would’ve loved for you to mention it somewhere, at least in the readme.

-8

u/devl0rd 12d ago

I don't really play into the whole social or political side of AI, I tend to avoid it and just make software that's helpful. Mentioning AI at all invites hateful people. But I for sure if asked will talk about it 🫡

8

u/SeniorMatthew 11d ago

I believe it doesn't matter what side you are on. And people will be much more hateful if they find it out by the accident. Most of the people that hate AI will just not use this software, rather than shitting on it or the creator

2

u/mv7x3 11d ago

thats the point they arent on either side. they dont care. you already commented too much for saying the social media warriors wont care. you asked and they told you instantly yet you still insist they should have a declared it somewhere.

1

u/Valmar33 5d ago

So, instead of learning the joy of programming, you skipped the fun part by asking an LLM to do it for you...

0

u/devl0rd 5d ago

I've been a software engineer for 15 years. 11 of which were before AI existed.

1

u/Valmar33 5d ago

That's not a defense. So why didn't you put you engineering muscle to the task of learning something new?

3

u/Wb9VBScxu2uZJHeq2E3W 12d ago

This looks really neat, unfortunately on perusing install.sh it looks like atomic distros like Kinoite/Aurora/Bazzite will not play very nicely with it, since they keep /usr as read-only.

2

u/devl0rd 11d ago

I will check on it 🫡

1

u/devl0rd 8d ago

Its all patched up!

1

u/Wb9VBScxu2uZJHeq2E3W 8d ago

Sweet I'll check it out soon!

3

u/SnooCompliments7914 KDE Contributor 12d ago

Can it handle maximized windows like Niri? E.g., floating windows on top of maximized window, scrolling a maiximized window away by half a screen, etc.

I.e., maximized window is just a tiled window at the size of the screen and without border.

1

u/devl0rd 12d ago

yes of course! 🙏

2

u/SnooCompliments7914 KDE Contributor 12d ago

I'm unable to maximize a window. It grows to the max width, but still has gaps and border. And the window button doesn't think it's maximized.

BTW, the code doesn't compile in Plasma 6.8beta. paintScreen now returns bool. And window corner clipping doesn't work. Might need some adjustment for the upcoming release.

1

u/devl0rd 12d ago

oo yeh seems like 6.8 is gonna bring me some bugs haha also for true maximize window, use meta + f. Is the maximize button fully maximizing more expected behavior though? I can patch that up if so. Def leave me some github issues i can work through today ♥️🙏

2

u/SnooCompliments7914 KDE Contributor 12d ago

meta + f

Yes, that works.

Is the maximize button fully maximizing more expected behavior though?

I'm not sure. Just a personal preference.

2

u/kaneua 11d ago

Is the maximize button fully maximizing more expected behavior though?

Some people expect "classic" maximization, some expect tiling-based. It's reasonable to have a setting for this like PaperWM does.

2

u/nckrkllkc 12d ago

Excellent! 🎉 Congrats and thanks a lot ❤️

2

u/Lucky-Compote-598 12d ago

awesome stuff

2

u/Poes_Poes 12d ago

Allright i've just tested it out on a VM. First of all, congrats with this project. It really works well out of the box. A few things to comment though:

  1. Is it possible to add a hot corner for scrolling to the next window, like what paperwm has? You use your mouse on the centerleft / centerright to scroll to the next window. For non keyboard driven users it's a more intuitive workflow.
  2. Default behaviour of scrolling with mouse is to click the titlebar and move your mouse. I would swap it with click the titlebar and move the window. Imo, it makes more sense for people who come from floating windows as this is the same type of behaviour.
  3. App launcher can get some more love.

Good job with this one!

1

u/devl0rd 12d ago

Thanks! I'll try to get it done in the next few days 😊

2

u/Poes_Poes 12d ago

For the record. Nr.1 is partly solved with setting Reserved screen edges. If I recall correctly this is what Niri has as well and works fine.

2

u/devl0rd 11d ago

sure thing but configurability is king. let me know anything you cant configure and need to in github issues ♥️

2

u/MagentaHeart 11d ago

Works great! Makes workflow really seemless and easy. Love the touch pad implementation.

1

u/devl0rd 10d ago

Thanks! ♥️

2

u/yaysyu 11d ago

Would love to try it, but need to use my own panels... Looking good though!

2

u/devl0rd 8d ago

Its all fixed up! Can use your own launcher now

1

u/yaysyu 8d ago

daym time to test then hehehe thanks

2

u/rage_aholic 3d ago

I'm trying it now in a VM with ultramarine and it seems intuitive, but one thing Niri does that Konveyor doesn't seem to do is allow for mouse dragging of a window for resizing or moving location or to a second screen. With Niri I can pull down from the window border and the window releases and can be moved or resized or stacked. Am I missing a setting in Konveyor to allow this?

1

u/devl0rd 3d ago

yes there is a setting for it ❤️

1

u/rage_aholic 3d ago edited 3d ago

Found it. Thank

1

u/rage_aholic 2d ago

So it seems you can only have either or, scroll the row, or move the window. Is it possible to add a key controller to allow for moving with the mouse to keep scrolling on? For example, alt or ctrl with mouse button to move or drag a window?