9glenda / nsowm

(In)active fork of sowm
MIT License
6 stars 2 forks source link

Ueberzug Support #8

Open is0n opened 2 years ago

is0n commented 2 years ago

In sowm/nsowm, I am unable to use Ueberzug with programs like lf and ranger.

I don't have this problem with other window managers so would it be possible to have support for Ueberzug in nsowm/sowm?

9glenda commented 2 years ago

Which terminal emulator are you using and do you get any errors?

9glenda commented 2 years ago

I’ll do my best to fix this thanks for reporting.

is0n commented 2 years ago

My terminal emulators are Alacritty and st.

They both work with Ueberzug on bspwm but not sowm. No errors are shown when using Ueberzug in a sowm session.

Alacritty on bspwm:

alacritty-bspwm

Alacritty on nsowm:

alacritty-sowm

St on bspwm:

st-bspwm

St on nsowm:

st-sowm

9glenda commented 2 years ago

Ueberzug polls the window manager for the _NET_CLIENT_LIST. Which is not implemented in nsowm or sowm. I tried to implement it without success because I wasn't able to get a list of all open windows. It's part of ewmh so I already implemented a really small part of the spec (just the window manager name) so it's just a problem of getting the window list. I'll try to implement it hopefully I'll have success this time.

is0n commented 2 years ago

It's part of ewmh so I already implemented a really small part of the spec (just the window manager name) so it's just a problem of getting the window list. I'll try to implement it hopefully I'll have success this time.

Sounds great! I'm looking forward to any updates!

netuser329 commented 2 years ago

Maybe try it with kitty’s kitten (to see rather it is broken too)

is0n commented 2 years ago

@netuser329, kitty's icat does work, but, that's because it does not rely on X11.

is0n commented 2 years ago

@luis-07, while searching for a possible alternative to sowm, I found a floating window manager called weema that contains _NET_CLIENT_LIST. A look at the source code could give an idea as to how to fix this issue.

is0n commented 2 years ago

After testing out a few things, I have found that I installed ueberzug incorrectly.

I had installed it via pip with:

$ pip3 install ueberzug

and realized that I really needed to install it from the AUR for it to work:

$ yay -S python-ueberzug-git

I guess pip's version of ueberzug is outdated and all I needed to do was install it from source.

Thanks for all of the support on this issue!

9glenda commented 2 years ago

But technically it shouldn’t work or at least have bugs when doing it in multiple windows at the same time but maybe in the AUR is an non _NET_CLIENT_LIST dependent version of it.

Thanks I’ll look at the source code

9glenda commented 2 years ago

I really want to include this information in the docs folder because others also can run into this issue. Because it basically being your work for findig and solving the issue I want to give you the chance to add it yourself so you can get honored for it on the contribution list. But if you don't care about this I'll add it myself.

So until this is done the issue will still be opened to remind me.

is0n commented 2 years ago

Because it basically being your work for findig and solving the issue I want to give you the chance to add it yourself so you can get honored for it on the contribution list.

I appreciate the consideration but I didn't really do much so feel free to add it yourself. :)