Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Pandademic opened this issue Apr 30, 2023 · 24 comments
Open

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

Pandademic opened this issue Apr 30, 2023 · 24 comments

Comments

@Pandademic
Copy link
Contributor

Pandademic commented Apr 30, 2023

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

  • You can report bugs with a sourcehut contributor account here
  • There is a general mailing list for discussion here, AFAIK, you dont need an account for this, just an email adress.
  • you can email me personally at atha_atha_atha@proton.me
  • if you would like to chat privately, I'm also on discord(atha_atha_atha#0090)
  • we have a discord server here, hop on!
@CRAG666
Copy link
Contributor

CRAG666 commented May 6, 2023

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
Copy link
Contributor

CRAG666 commented May 6, 2023

@Pandademic Thanks

@klownie
Copy link

klownie commented May 6, 2023

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
Copy link
Contributor

CRAG666 commented May 6, 2023

@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
Copy link
Contributor

CRAG666 commented May 6, 2023

@Pandademic
Copy link
Contributor Author

@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
Copy link
Contributor Author

@CRAG666 btw do you maintain the aur package?

@CRAG666
Copy link
Contributor

CRAG666 commented May 6, 2023

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
Copy link
Contributor

CRAG666 commented May 6, 2023

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

@CRAG666
Copy link
Contributor

CRAG666 commented May 6, 2023

@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
Copy link
Contributor

CRAG666 commented May 6, 2023

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

@CRAG666
Copy link
Contributor

CRAG666 commented May 6, 2023

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
Copy link
Contributor Author

Pandademic commented May 7, 2023

@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
Copy link

klownie commented May 7, 2023

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:

  • More customizable lock screen settings, such as the ability to hide the lock screen content and incorporate fade in and out animations.

  • Elimination of the flash bang that occurs when newm is launched.

  • Improved animations for the background, which tend to be jittery when zooming in and out.

  • Better support for screenshot tools like shotman, as it tends to get confused when attempting to take screenshots of multiple workspaces.

  • The ability to adjust the size of newly opened windows to prevent them from appearing overly tall, especially on unconventional display sizes such as vertical displays.

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
Copy link

klownie commented May 7, 2023

@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. #181 (comment)

@Pandademic
Copy link
Contributor Author

Pandademic commented May 7, 2023

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
Copy link
Contributor Author

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

@Pandademic
Copy link
Contributor Author

@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.

  • notify() makes a notifcation bubble out of it's parameters
  • execute_iter() executes the string it is given in a shell
  • set_value() parses a x=y statement into a (x,y) tuple.

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

@Pandademic Pandademic changed the title A fork A new and maintained fork - NEWM-ATHA May 7, 2023
@CRAG666
Copy link
Contributor

CRAG666 commented May 8, 2023

@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
Copy link
Contributor

CRAG666 commented May 8, 2023

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

@CRAG666
Copy link
Contributor

CRAG666 commented May 8, 2023

So just move or reinstall newm and pywm

@Pandademic
Copy link
Contributor Author

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

@Pandademic Pandademic changed the title A new and maintained fork - NEWM-ATHA A new and maintained fork ~> newm-atha May 13, 2023
@RichardFevrier
Copy link

Please create a clone repo on github 🙏

@Pandademic
Copy link
Contributor Author

@RichardFevrier alright, a github mirror should be up shortly

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants