djpohly / dwl

dwm for Wayland - ARCHIVE: development has moved to Codeberg
https://codeberg.org/dwl/dwl
Other
1.93k stars 287 forks source link

Bar support without Pango #43

Open throwawaybuthelpful opened 3 years ago

throwawaybuthelpful commented 3 years ago

First I have to say thanks for this great project! I saw that someone else replaced pango with fcft+fontconfig in a swaywm fork though it still does depend on the BSD/FTL licensed freetype: https://codeberg.org/dnkl/sway

Other projects replacing pango:

https://codeberg.org/dnkl/fuzzel https://codeberg.org/dnkl/yambar https://codeberg.org/dnkl/fnott https://codeberg.org/dnkl/foot

All pretty minimal in dependencies for all the features they have, still I understand why it might be better for this project to not having any text graphic lib dependencies at all. The lack of explicit cairo and pango dependencies are actually what first attracted me to dwl!

Nevertheless, they are perhaps external projects which can be targets for compatibility as bars and app launchers etc. in dwl?

Unrelated, but I would totally love to see the ability to make screenshots in dwl :-)

fbushstone commented 3 years ago

I wrote a 2D font renderer some time ago that is minimal and might be suited to this. It has support for multiple faces and unicode. I never added antialiasing support because I personally do not like it but I assume one could extend it to have such a feature. However, it is legacy OpenGL (1.2) and Freetype 2 based so it might be less minimal dependency-wise than maybe it should.

fbushstone commented 2 years ago

Recently I have come back to this issue after beginning to write my own dwl-centric status bar. There would have to be a custom dwl protocol that allows clients to obtain information about tags, window names, and other things. I would be willing to try my hand at creating one so I don't have to rewrite the bar as a dwl patch directly.

fbushstone commented 2 years ago

Right, and I forgot to post this: https://github.com/michaelforney/velox/blob/master/protocol/velox.xml Another simple compositor (velox) has already implemented something like this.

fbushstone commented 2 years ago

I ignored the printstatus() function. I was wrong, a protocol does not have to be implemented.

godalming123 commented 1 year ago

The printstatus() function definitely needs improving for example it can only display the title of the focused client rather then every client and which one is focused which means that in my opinion the monocule layout is very hard to use as you cannot see which keys you need to press to get which windows. However this would be a breaking change, maybe we could rewrite DWL based of of tinywl when wlroots 0.17 releases with all of the breaking changes?

sevz17 commented 1 year ago

The printstatus() function definitely needs improving for example it can only display the title of the focused client rather then every client and which one is focused which means that in my opinion the monocule layout is very hard to use as you cannot see which keys you need to press to get which windows.

To be honest, I do not clearly remember how dwm bar is, but I am pretty sure that it only shows the title of the focused client

godalming123 commented 1 year ago

The printstatus() function definitely needs improving for example it can only display the title of the focused client rather then every client and which one is focused which means that in my opinion the monocule layout is very hard to use as you cannot see which keys you need to press to get which windows.

To be honest, I do not clearly remember how dwm bar is, but I am pretty sure that it only shows the title of the focused client

I think that in that case we might want to have a breaking change which I don't think would be that bad since when using DWL, people don't use the Xorg bars they used for DWM and people have to spend lots of time fixing all of their patches when DWL upgrades to the next version of wlroots anyway this would just be another small thing that could be changed when wlroots 0.17 releases

fauxmight commented 1 year ago

@godalming123 Mirroring dwm functionality is a specific intention of dwl (as noted).

The change you're requesting is appropriate as a patch if it is behavior you would like in your personal use case.

jbeich commented 6 months ago

dwlb (mentioned in the wiki since 2023-02-15) uses fcft instead of pango.