lcpz / lain

Awesome WM complements
GNU General Public License v2.0
1.06k stars 210 forks source link

Calendar widget not displaying correctly #476

Closed arielnmz closed 3 years ago

arielnmz commented 3 years ago

awesome -v

awesome v4.3 (Too long) • Compiled against Lua 5.3.5 (running with Lua 5.3) • D-Bus support: ✔ • execinfo support: ✔ • xcb-randr version: 1.6 • LGI version: 0.9.2

lua -v

Lua 5.3.5 Copyright (C) 1994-2018 Lua.org, PUC-Rio

Expected behaviour

For some reason the calendar does not show correcly, markup is not interpreted and some accented letters are not shown, see:

image

For comparison, this is how the cal command looks like:

image

As you can see my locale is es. localectl:

System Locale: LANG=es_MX.UTF-8 VC Keymap: es X11 Layout: es

I tried to see if something was broken in awesome regarding markup in notifications (naughty), but I can't really pinpoint the problem. Example using a lot of possible variations:

image

String:

[[<b>a very long notification text</b>
        with markup and all
        <span foreground='#ff0000'>colors</span>
        <span background='#ff0000'>background</span>
        <span foreground='#00ff00' background='#ff0000'>both</span>
        <span foreground='#ff5533'><b>nested</b></span>
        accents? èèàùìòỳłü etc..."]]
lcpz commented 3 years ago

What font is that? Have you tried with a different one?

arielnmz commented 3 years ago

How is the font relevant? could it be a pango issue? in any case it seems to be working fine for me...

image

It's only the text generated by the cal widget that causes html to not be interpreted for some reason. Moreover, the calc widget forces the font to Monospace.

My default font is "sans" which defaults to "IBM Plex Sans" btw...

lcpz commented 3 years ago

I tried with both Monospace and IBM Plex Sans, but I am unable to reproduce the issue.

Try adding this notification to rc.lua and see if it is correctly rendered:

naughty.notify {
    font = "IBM Plex Sans 10",
    text =  "<b><span foreground='#000000' background='#FFFFFF'> I only disappear with a click</span> </b>",
    timeout = 0
}

Also, check if X outputs anything when you launch the calendar notification.


Moreover, the calc widget forces the font to Monospace.

It's not forced, it's the default preset.

My default font is "sans" which defaults to "IBM Plex Sans" btw...

It won't format correctly, you have to use a monospaced font.

arielnmz commented 3 years ago

It's not forced, it's the default preset.

My bad, yes, that's true

It won't format correctly, you have to use a monospaced font.

I meant the default awesome font is sans, not the font I use for the widget

Anyway, I'm on vacation rn and will try again when I get a hold of another linux machine, I've seen this happen in at least 2 different devices, maybe I can even try on a VM.

lcpz commented 3 years ago

Try adding this notification to rc.lua and see if it is correctly rendered:

Did you try this?

I've seen this happen in at least 2 different devices, maybe I can even try on a VM.

Do those 2 devices use the same environment?

What is your OS and Pango version?

arielnmz commented 3 years ago

Did you try this?

Can't right now, let me setup a VM and will try

Do those 2 devices use the same environment?

They're both Fedora 31 and more or less up to date, and both have more or less the same awesome and lua version indicated in the OP, but will confirm the correct versions as well as pango and lain repo versions for each device as soon as I can.

lcpz commented 3 years ago

They're both Fedora 31 and more or less up to date, and both have more or less the same awesome and lua version

Then just replicate only on one machine.

Try also downgrading Pango to version 1.43.

arielnmz commented 3 years ago

I'm back. This is how the notification looks like image

Also I see this whenever I open the calendar widget:

mar 04 15:48:20 bc-1.bc awesome[3323]: (process:3321): Pango-WARNING **: 15:48:20.194: Invalid UTF-8 string passed to pango_layout_set_text()

I also see this as soon as I start awesome, but it's probably unrelated

mar 04 15:49:29 bc-1.bc awesome[3323]: 2021-03-04 15:49:29 E: awesome: Error during a protected call: /home/ariel/.config/awesome/lain/widget/fs.lua:141: attempt to call a table value (upvalue 'callback')
mar 04 15:49:29 bc-1.bc awesome[3323]: stack traceback:
mar 04 15:49:29 bc-1.bc awesome[3323]:         /home/ariel/.config/awesome/lain/widget/fs.lua:141: in function </home/ariel/.config/awesome/lain/widget/fs.lua:138>
mar 04 15:49:29 bc-1.bc awesome[3323]:         [C]: in function 'xpcall'
mar 04 15:49:29 bc-1.bc awesome[3323]:         /usr/share/awesome/lib/gears/protected_call.lua:36: in function </usr/share/awesome/lib/gears/protected_call.lua:35>
mar 04 15:49:29 bc-1.bc awesome[3323]:         (...tail calls...)

Pango version (via pango-view --version): pango-view (pango) 1.44.7 O.S. (via cat /etc/fedora-release): Fedora release 31 (Thirty One)

brongulus commented 2 years ago

I am facing the same issue, attached screenshot shows the behaviour.

awesome -v

awesome v4.3 (Too long) • Compiled against Lua 5.3.6 (running with Lua 5.3) • D-Bus support: ✔ • execinfo support: ✔ • xcb-randr version: 1.6 • LGI version: 0.9.2

lua -v

Lua 5.4.3 Copyright (C) 1994-2021 Lua.org, PUC-Rio

Other details

I am using lain-git AUR package so I assume it has the updated PR for the utf8 fix but I'm still seeing this unexpected formatting around the month and the current date.

I am using Roboto Mono font.

image

UPDATE: Clicking on the widget takes me to previous month which is displayed correctly, the buggy behaviour is only for the current month.

image