ii8 / havoc

minimal terminal emulator for wayland
Other
103 stars 17 forks source link

Mouse cursor isn't drawn in the window. #21

Closed paper42 closed 4 years ago

paper42 commented 4 years ago

Using the latest master, the mouse cursor isn't drawn when it is inside the havoc window. I am on Void Linux, using Sway 1.4. It worked properly before commit 8b9a4aea78e28046fb29b2314458b350f6cb3762.

I found this new error appearing which I can not reproduce on a build before the commit mentioned above:

unknown parameter to CSI-J: 3
ii8 commented 4 years ago

That CSI J 3 sequence is supposed to clear the scrollback, it's unrelated, just not implemented. (printf "\e[3J" should always reproduce it)

Before that commit, havoc never drew a cursor, the cursor image was just whatever was left over from the last program that rendered a cursor so it could be anything.

Now we use libwayland-cursor to render the cursor which looks in standard locations for the cursor theme. The cursor theme can be set in: ~/.icons/default/index.theme ~/.local/share/icons/index.theme (according to arch wiki, haven't tested this one myself) XCURSOR_THEME environment variable.

So set up the theme in one of those, my .icons/default/index.theme looks like this for example:

[Icon Theme]
Name=Default
Inherits=Breeze_Snow

and I have the Breeze_Snow theme in /usr/share/icons installed with xbps.

This will affect other programs as well of course.

paper42 commented 4 years ago

Apparently this is the solution, although I don't like that havoc doesn't draw a cursor when a theme is not specified, but I guess this is an libwayland-cursor issue. Thanks a lot for your time :+1:

wildart commented 3 years ago

You can link from Breeze theme the missing text cursor file in your default theme, but it would be nice to use the default cursor if the particular one is not available.


On Ubuntu with DMZ-White theme installed, run the following commands to enable the text cursor in the terminal:

mkdir -p ~/.icons/default/cursors
cd ~/.icons/default/cursors
ln -s /usr/share/icons/DMZ-White/cursors/xterm text