jbuchermn/newm

My thoughts about this application

Closed this issue · 9 comments

Hey,

I saw your video a few days ago, today I found time to test it out and I just wanted to leave you some notes to improve on.

First of all: This idea and the basic concept are absolutely amazing! I love the way this compositor works and I can 100% image me working with this one daily and becoming super fast and efficient while not compromising on style 😎

I would really love to see this project improve and develop!

So my impressions after 10 minutes of playing with it:

  1. Installation was not possible the classic way, makepkg/pacman couln't find some of the requirements. With your suggestion using yay it worked like a charm!
  2. High Latency is a problem for me too. I am having no latency in the application running, but most animations (specially the four finger zoom) feel a little rough ("abgehackt") like the frame rate is low or some steps of the animation are not being rendered.
  3. When Zooming with 4 fingers, sometimes I have to zoom very long to get the window fullscreen
  4. After resizing with power + 2 fingers, then zooming with 4, I wish the window would still become fullscreen when I zoom in completely. It feels like the shape I formed the window in "blocks" me from achieving fullscreen view.
  5. Being left handed, I find the default combination of super + 2 fingers very unhandy, because I have to switch hands or this! I didn't look yet if I can change that in the settings, but regarding inclusive design, maybe there is a key combination that's nice for both left- and right-handed people :p Or maybe there isn't, I don't know, just wanted to mention it!
  6. To me it would feel better to use a dedicated file format for configuration, for example yaml like Alacritty is using.
  7. Alacritty brings me to the programming language used, I don't know if python is the right choice, since you don't have compiled code, which might be part of the cause for latency etc. I really don't know though, I never wrote a compositor and don't want to appear like I think I know better, just a thought that popped into my head!

I think that's it so far, hope my feedback is helpful to you! Once again, I LOVE this project and I would love to see it grow and improve! Really amazing concept

Regarding your point 6 and 7 I disagree. First, that it is python and not a json or yml type text file, it gives more flexibility to the configuration, which I mean by this you can use cycles, conditionals and all the properties of a programming language, things that with a common configuration file you cannot could you do. Secondly, latency has nothing to do with the fact that some parts are written in python since the core of this wm is written in C. Finally, what I agree with you the most is that it is not comfortable for left-handed people, I have tried to use altgr but So far I can't get it to work.

Thank you very much for your thoughts and input! :)

Some thoughts on your points:

  1. Installation on arch relies on the AUR (there are dependencies which are not in the main repos), so unfortunately there is no alternative to yay or similar helpers at the moment. I mainly use nixOS these days, so I'm a little out of touch with the arch package - if there are any issues when using yay, please report.
  2. I do see single frame drops at the moment (on my hardware, which is a dual-core i5). There appears to be a bug somewhere, where some expensive operation is done synchronously, but apart from that on my machine it's quite smooth at 60fps. I'm very interested, though, in reports of lagging information and the like - does it happen on all animations? Or only on gestures? Is this consistent behaviour? Btw, maybe you'd like to use the v0.3 branches of newm and pywm since a lot has already happened there.
  3. Do you mean many steps? Or is the zooming very slow? There are config options, which increase the speed. I'm happy to help
  4. That's an interesting idea. I'll have to think about how this might be achieved.
  5. Yup, the fact that you cannot change or reconfigure gestures bugs me. I've done some work on cleaning up gestures. This will definitely be a config option in v0.3.
  6. I'm with @CRAG666 on that one. The fact that we use Python makes it quite easy to implement a lot of little features in config, which would otherwise need to be included in newm and just makes configuration really flexible. I like this concept since I've seen it on qtile and xmonad. Sure, if you're not familiar with Python, it's a bit steeper in the beginning...
  7. Actually, as @CRAG666 has pointed out, take a look at https://github.com/jbuchermn/pywm which forms the basis of newm and is almost completely written in c - in total, newm is probably half c, half python. Nonetheless, there are performance issues (as mentioned in 2., I do see occasional frame drops, which probably are a bug on the python side) - these are my biggest focus at the moment. (As a sidenote, #58 appears to be not really a performance related issue, but a clear bug, where frames are not scheduled although necessary).

I'm always happy for feedback and ideas, so please, keep on sharing.

Btw, feel free to post performance-relate findings on #61 - I'm quite determined to get this running as well as possible.

@CRAG666 I agree. A dedicated format isn't really neccacary

Very nice concept but it is quite slow and not fully functional. I have installed it today and play a little bit with it. I opened kitty and if I exit kitty. The window remains there. If I resize the window it gives all these weird animations as the window is being resized. But each on of the resizing windows stays there. For example, you can see each window that was resized. Nice concept to be honest.

Very nice concept but it is quite slow and not fully functional. I have installed it today and play a little bit with it. I opened kitty and if I exit kitty. The window remains there. If I resize the window it gives all these weird animations as the window is being resized. But each on of the resizing windows stays there. For example, you can see each window that was resized. Nice concept to be honest.

Some of the things you note sound like bugs - windows not closing or weird resizing. Feel free to open dedicated issues about these, if you're interested in getting them fixed. Also, best you use v0.3 when reporting issues, as v0.3 has diverged a lot from v0.2 and is about to be released in the next time.

Speed might be an issue on older machines - obviously showing animations, using blur, moving backgrounds and stuff like that takes a toll. That's not something that's going to improve though. If you want something lightning fast, you'll probably don't want animations anyway.

Closing this issue for now, as the original reporter didn't respond. Feel free to open new issues regarding specific problems :)

Thank you. Yes animations are not my cup of tea. I have a Dell XPS 9550 i7 with 16GB of ram. I think that is an old hardware :). Nice concept. Keep it up. Will try version v3 and report back

Okay Hardware should not be an issue.. mine is way lower spec, 8GB i5 from 2015.