HackerTrans
TopNewTrendsCommentsPastAskShowJobs

inclemnet

no profile record

Submissions

Thoughts on writing a Wayland window manager with wlroots

inclem.net
2 points·by inclemnet·5 anni fa·0 comments

Vivarium: A dynamic tiling Wayland compositor

inclem.net
2 points·by inclemnet·5 anni fa·0 comments

comments

inclemnet
·4 anni fa·discuss
> I think the "traditional" family of tiling window managers (like ratpoison, awesome, dwm, xmonad, i3, etc) are kind of simplistic in their assumptions that 1. they can at any time force any window into any size and position, and 2. they must always force every window into some size and position.

Interestingly I like tiling window managers due to specifically the opposite perspective, that applications are often selfish in their assumption that they can display themselves wherever they like and I much prefer ignoring their (usually-wrong) assumptions about what's best. I don't mean that argumentatively, just a different preference I guess.

In this respect I even agree with the first two steps of your algorithm - it's just that "in my tiling layout" is the result of both of them!
inclemnet
·5 anni fa·discuss
It isn't dwm "port", rather it's an independent window manager with some inspiration from dwm but also from other places. Notably it doesn't share the minimalist design philosophy, it's designed with a powerful configuration and interaction api rather than relying on patches.

dwl[0] is closer to a port, it's explicitly trying to work the same as dwm for wayland with the same philosophy, although it's still an independent project written from scratch.

[0]: https://github.com/djpohly/dwl
inclemnet
·5 anni fa·discuss
I've known people say that they found it "easier" combining learning touch typing with learning a new keyboard layout. It's harder moment by moment, but there's no bad muscle memory to fall back on.
inclemnet
·5 anni fa·discuss
Since various people are asking about xmonad-like tiling in wayland:

I wrote Vivarium[0] specifically to be a wayland compositor that behaves exactly like my (fairly simple) xmonad config, but it's a relatively new/unstable compositor and nothing like xmonad internally.

River[1] has a fantastic tiling model via user-provided executables, which makes it very flexible and probably a good fit for many people wanting something xmonad-like.

Waymonad[2] exists as a direct xmonad-like compositor, but I think development has been basically stalled for a long time. Sometimes there's discussion about reviving it though (edit: see https://news.ycombinator.com/item?id=28796909 for more up to date detail).

Japokwm[3] is another compositor with xmonad user roots, but again its own tiling model.

[0] https://github.com/inclement/vivarium

[1] https://github.com/ifreund/river

[2] https://github.com/waymonad/waymonad

[3] https://github.com/werererer/japokwm
inclemnet
·5 anni fa·discuss
> But for the rest of us, the pre AI strategy is often better because we can't handle the complexity.

> It is common to see casual players copying the AI style and digging their own grave while doing so.

I think this point is greatly overstated. Amateur go style has always been modelled on professional play even though amateurs have no idea of the subtleties of it, and this was rarely bemoaned much in the past. It's easy to find examples of amateur players getting it wrong and turning a slightly-good position into a bad one, but this is true of just about anything and I think there's a lot of confirmation bias in associating it with AI moves in particular - it doesn't in itself mean they've disadvantaged themselves by trying.

It also greatly overstates how bad it is to play the 3-3 early and not fight aggressively. Even if you don't worry about the fighting variations we're talking about a small number of points, much less than amateur games tend to swing via mistakes every few moves. This is also true about those professional-like lines that have always been mimicked but played imperfectly, and is probably a big reason the lack of amateur understanding of them never mattered too much. Plus let's not forget that both amateur players in the game are relatively bad at fighting, it's just about as hard for the defensive player to really get it right as for the offensive player to utilise their theoretical advantage.

Overall I think the modern focus on AI-like play is much more of a fashion in line with other general shifts following what's professionally popular than a mistake. Players do pay attention to how well they do and associate it with specific moves and lines they recognise they don't understand well, but AI-inspired lines don't seem to have attracted any widespread cautiousness.

> Then came AI and it found out, given enough fighting power, it can mostly cancel that later game advantage.

Also worth noting that the AIs play the 3-3 invasion in a specific different way to what was the accepted human pattern, and this alone does make a big but understandable difference to how the shape commonly continues. It isn't that they only turned around the evaluation of the standard position through superhuman reading, they revealed a line that humans had undervalued but could then learn from.
inclemnet
·5 anni fa·discuss
> Sway (the Wayland fork of I3)

Minor clarification: Sway is an i3-compatible wayland compositor written from scratch, not a fork.
inclemnet
·6 anni fa·discuss
If there was one thing I could wish to be revamped about Kivy it's the default widgets. There's a core of good ones, especially those that are most commonly used, but quite a few make bad design decisions like an over-reliance on images for styling. This is often much easier to work around than is probably obvious and maybe that's part of the problem, more experienced developers likely habitually sidestep the parts that don't work well. But on the other hand, it's quite a bit of work to revamp them (including documentation and dealing somehow with breaking changes it would introduce), unfortunately that has kept us from seriously addressing it so far.
inclemnet
·6 anni fa·discuss
> The question is, who actually uses these projects? The people developing them? Hobbyists? Language diehards?

This is an interesting question, and one that (as Kivy developers) we wonder about ourselves. Others may have different perspectives, but mine is:

* Kivy is very much community built and community driven, it has no serious financial backing (though we are grateful for the donations we do get!) and a fairly small developer pool.

* Most of the commercial use of Kivy that I'm aware of is small companies using it for specific reasons that happen to make sense for them, usually involving some technical reason such as the combination of Python and a flexible drawing toolkit fitting both their dev interests and product requirements. I don't think there is a lot of commercial use, but e.g. one of the Kivy founders has been using Kivy commercially for many years in a variety of interesting projects.

* Kivy is not mobile-only or even mobile-focused, and the commercial usage reflects that. This is worth noting because people often think it was invented for mobile: it wasn't, it was invented to be very flexible, and this happened to make it mobile-ready.

* Most use of Kivy is probably from Python hobbyists, and may well be more weighted towards mobile since that's the most obvious standout feature as a Python gui toolkit (although not the only one).

I've been involved with Kivy for a long time, but never commercially - I got into it for fun while looking to make an app and strugging with an android development tutorial (turns out the instructions were just wrong for Linux...), and stayed with it for also fun. I'm most interested in the general principle that app development ought to be simple and easy for a wide range of tasks, and that in pursuit of this goal it does not have to be perfect. I like the idea that e.g. someone who has programmed a simple game or visualisation should be able to easily share it with their friends, on any platform including mobile. This is just my perspective of course, others do use it for other things.

I have a couple of my own apps that I think emphasise this perspective. Lazy Baduk (https://play.google.com/store/apps/details?id=net.inclem.laz...) is a Go analysis tool that bundles a superhuman AI: I threw it together in a weekend using some existing Python code I had lying around, because there was no Android app currently supporting the functionality I wanted. If I couldn't do that with Python, the app simply wouldn't exist. ColourBlind (https://play.google.com/store/apps/details?id=net.inclem.col...) runs the camera feed through a basic colour blindness simulation filter, I made this one just because I wanted to see what it was like and all the existing apps I could find were rubbish (in my opinion!). Even with the limitations of Python, I like mine much better than them.
inclemnet
·6 anni fa·discuss
As has already been said, Kivy isn't a web framework, but we're well aware the website isn't great. Unfortunately it hasn't had much love for a long time, especially as it's quite a task to seriously change it and we're both under-resourced and Python-oriented. We've been talking about various options for a long time. It's possible we might make some moves now as Kivy 2.0 was just recently released, which was a major update taking up a lot of focus.