jbuchermn / newm

Wayland compositor
MIT License
958 stars 30 forks source link

A new and maintained fork ~> newm-atha #186

Open Pandademic opened 1 year ago

Pandademic commented 1 year ago

Hey everyone!

I've been contributing to newm for a while, and with the sad fact that it is unmaintained now, I have forked it.

You can find it here.

[UPDATE] - communication

CRAG666 commented 1 year ago

Consider forking pywm as well. Also create an aur package that references your fork, It would also be good if at some point maintenance returns to newm to join the fork

CRAG666 commented 1 year ago

@Pandademic Thanks

klownie commented 1 year ago

As a beginner programmer, my curiosity was wondering if it's feasible or beneficial to rewrite newm in Rust. Additionally, I'm curious if such a rewrite would necessitate rewriting pywm as well.

Also, thanks @Pandademic for the fork as newm import stoped working in python.

CRAG666 commented 1 year ago

@klownie It's a good idea to rewrite it in rust, mostly for speed and saving resources. It is also good to keep the configurations in python, since it is a simple language

CRAG666 commented 1 year ago

https://aur.archlinux.org/packages/newm-atha-git

Pandademic commented 1 year ago

@CRAG666 thank you so much for the aur package! I'll update the readme.Btw I have also forked pywm to go along.

@klownie it would be very beneficial to rewrite newm in rust, and it would not necessarily necessitate re-writing pywm, I've been thinking about this myself.However, my top priotiry currently is getting this working 100% before testing out rust.I'll let you know when something comes along on this front.

Pandademic commented 1 year ago

@CRAG666 btw do you maintain the aur package?

CRAG666 commented 1 year ago

The current aur package yes, that's why I sent you the link, because I maintain it myself, I hope to patch any bug in wlroots

CRAG666 commented 1 year ago

@Pandademic I also think it would be beneficial to use the new wlroots, since there are many improvements that pywm does not have.

CRAG666 commented 1 year ago

@Pandademic How will you address the existing problems in this repository, how can I contact you more closely to contribute and give some ideas?

CRAG666 commented 1 year ago

Also something that is a priority is to implement the missing wayland protocols, what hyprland has done could serve as a guide

CRAG666 commented 1 year ago

Also for some time I have also wondered if it would not be better to create a plugin for hyprland that does what it does The idea comes more than anything from taking the concept of newm ZUI to a hyprland plugin, where you can toggle between a stack view and a view like newm, on the other hand this would be easier to maintain since hypr is a project with a lot of contribution. By the way, doing this would give the advantage of having multiple workspaces, perhaps some with ZUI and others in a stack. Well it's just an idea.

ZUI: Zoom User Interface

Pandademic commented 1 year ago

@CRAG666 Thank you for your ideas!

You can email at me atha_atha_atha@proton.me, I probably will respond quicker there.

In regards to the wlroots version, I am working on that currently, The current approach being to scale it on small versions at a time, as my previously attempted full version jumps(i.e .15->.16, tried while working on touch) are a very bad idea.

The next thing after that is implementing wayland protocols, in particular ones related to screenlocking, as those are notably absent, which is task made easier by updating wlroots, Hyprland is probably a good example like you said.

Finally, I am not entirely against the idea of a hyprland zui plugin - but would caution against I personally don't think a ZUI and workspaces are ideas that go together at all, as the kind of defeat each other.On the other hand, as you mentioned, hypr(land) is a project with a lot of contributions, but I feel this makes maintaince harder, for both us and hypr(land) as we are introducing an entirely foriegn concept to their infrastructure, which may not play nicely.Imho, it may not be the best idea.Overall, I think we should forge ahead with newm, and possibly @klownie's idea of a newm-rs.

klownie commented 1 year ago

Hey @Pandademic, I thought about a cool name for newm-rs, you could name it renewm :) .

As a beginner programmer, I have a couple of questions regarding window managers. Can you suggest resources to learn about WM's and how to understand the unique functionality of pywm? I've been struggling to grasp the Rust-wayland protocols, as well as weston and sway. I think it would also be helpful for individuals who wish to contribute to this project. I wish too help because i use newm daily and love the workflow and intuitive design. I have configurations that can be found in my github where i cleaned up @CRAG666 messy configs. https://github.com/klownie/newm_dotfiles I have come up with a few ideas that could enhance the convenience of using newm. These include:

Nice @CRAG666 : Screenshot from 2023-05-07 at 10_21_59 409747604 @Pandademic it looks like archcraft adopted your change : Screenshot from 2023-05-07 at 10_49_18 699008615 The fork works but start-newm requires arguments, so it will only work with -d Tho there's a problem with the import. image

klownie commented 1 year ago

@Pandademic How will you address the existing problems in this repository, how can I contact you more closely to contribute and give some ideas?

I also think that the Wayland protocols are a necessity because it makes gaming a bit of a pain. https://github.com/jbuchermn/newm/issues/181#issue-1620309436

Pandademic commented 1 year ago

hey @klownie, First of all, renewm is a amazing name!

Can you suggest resources to learn about WM's and how to understand the unique functionality of pywm? I've been struggling to grasp the Rust-wayland protocols, as well as weston and sway. I think it would also be helpful for individuals who wish to contribute to this project.

Sure, for rust there are admittedly not many resources for wayland.Smithay is a good thing to look at for protocols. I'll get back to you with a better list of resources soon, smithay is all I can think of off the top of my head, sorry.

Thank you for the suggestions. I'll get to eliminating the flash bang right away, and the ability to adjust window sizes.I'm working on protocol support in pywm on the side, but most likely it will take some time as I am prioritzing upgrading wlroots higher, since it makes the protocol job easier anyway.

btw, shotman and similar tools having problems is probably related to wayland protocol support in pywm, I'll let you know when it should work.

the fork works but start-newm requires arguments, so it will only work with -d

This is a bug, and should be fixed as of this commit

Tho there's a problem with the import.

I've never seen this bug before, how have you installed newm-atha, it seems you've used pip or the AUR? this seems to be a rather urgent problem.

Pandademic commented 1 year ago

@klownie also thank you for informing me about the archcraft change

Pandademic commented 1 year ago

@klownie, A quick peek around your dotfiles reveals that you are using the AUR. I'm not sure exactly sure what commit that is built of off, but this bug is still VERY strange, I've never seen it before. What I can however help with it is this segment, where you dont know what's happening. They are helper methods, that are used later.

Let me know if you need more info, and get back to me ASAP about reproducing this bug, thank you.

CRAG666 commented 1 year ago

@klownie I already had the error that you mention, it is a problem with the python update, the version is changed but you only overwrite it and it is solved in arch

CRAG666 commented 1 year ago

You see there are two versions and newm stayed in a previous one Screenshot from 2023-05-07 at 18_41_02 868962791

CRAG666 commented 1 year ago

So just move or reinstall newm and pywm

Pandademic commented 1 year ago

@CRAG666 thank you for the fix! I'll document this right away.

RichardFevrier commented 1 year ago

Please create a clone repo on github 🙏

Pandademic commented 10 months ago

@RichardFevrier alright, a github mirror should be up shortly