fvwmorg/fvwm3

DefaultFont configuration directive does not change window title font

Closed this issue · 4 comments

Upfront Information

  • fvwm3 1.0.6 (1.0.5-18-g4a30ff5c-dirty) with support for: ReadLine, XPM, PNG, SVG, Shape, XShm, SM, XRandR, XRender, XCursor, XFT, NL
  • Gentoo, running Linux 5.15.74
  • Linux AMD Ryzen 5 3600 6-Core Processor

Expected Behaviour

DefaultFont changes window title font.

Actual Behaviour

DefaultFont gets rid of window title.

Enabling logging

[1667180607.565181] FScreenInit: Using RandR 1.6
[1667180607.580537] FlocaleGetFontSet: [fvwm][FlocaleGetFontSet]: (-*-fixed-medium-r-semicondensed-*-13-*-*-*-*-*-*-*,-*-fixed-medium-r-normal-*-14-*-*-*-*-*-*-*,-*-*-medium-r-normal-*-16-*-*-*-*-*-*-*) Missing font charsets:
[1667180607.580547] FlocaleGetFontSet: KSC5601.1987-0
[1667180607.580550] FlocaleGetFontSet: , 
[1667180607.580553] FlocaleGetFontSet: GB2312.1980-0
[1667180607.580555] FlocaleGetFontSet: 
[1667180607.597343] FvwmErrorHandler: *** internal error ***
[1667180607.597354] FvwmErrorHandler: Request 91, Error 2, Text BadValue (integer parameter out of range for operation), EventType: 0
[1667180607.605046] FvwmErrorHandler: *** internal error ***
[1667180607.605054] FvwmErrorHandler: Request 91, Error 2, Text BadValue (integer parameter out of range for operation), EventType: 19
[1667180607.607392] FvwmErrorHandler: *** internal error ***
[1667180607.607397] FvwmErrorHandler: Request 91, Error 2, Text BadValue (integer parameter out of range for operation), EventType: 19
[1667180607.610072] FvwmErrorHandler: *** internal error ***
[1667180607.610083] FvwmErrorHandler: Request 91, Error 2, Text BadValue (integer parameter out of range for operation), EventType: 19
[1667180607.612528] FvwmErrorHandler: *** internal error ***
[1667180607.612539] FvwmErrorHandler: Request 91, Error 2, Text BadValue (integer parameter out of range for operation), EventType: 19
[1667180607.614697] FvwmErrorHandler: *** internal error ***
[1667180607.614707] FvwmErrorHandler: Request 91, Error 2, Text BadValue (integer parameter out of range for operation), EventType: 19
[1667180607.616843] FvwmErrorHandler: *** internal error ***
[1667180607.616853] FvwmErrorHandler: Request 91, Error 2, Text BadValue (integer parameter out of range for operation), EventType: 19
[1667180607.657206] FvwmErrorHandler: *** internal error ***
[1667180607.657217] FvwmErrorHandler: Request 91, Error 2, Text BadValue (integer parameter out of range for operation), EventType: 9

Steps to Reproduce

  • Launch FVWM using the following directive in the configuration: DefaultFont "xft:Sans:Regular:size=10"

Does Fvwm3 crash?

No.

Extra Information

  • Adding Style * Colorset 1, HilightColorset 2 to the configuration brings back the title.

You did not provide enough information, so I have to guess. Again I don't think you have a bug here, I think your configuration file has issues in it. Please upload your full configuration file to a pastebin. My guess is if Style * Colorset 1, HilightColorset 2, then the issue is with Colorset zero having the same foreground and background color. So the title is there, you just can't see it because the color of the text is the same as the color of the background. DefaultFont works fine in the default-config and all of my tests.

I do think there is a bug here, but it is not what you think it is. After playing around I noticed that the following styles are broken. ForeColor and HilightFore, which is what sets the text color if you aren't using a colorset. No matter what color set I with ForeColor and HilightFore, there is no change. It just turns out that setting the font brings this issue up, this is why setting a Colorset and HilightColorset fixes the issue.

Personally I suggest just using Colorsets, as they are more versatile than setting the colors individually with ForeColor, BackColor, HilightFore, and HilightBack. At that point you won't have any issues.

@ThomasAdam I cannot get ForeColor and HilightFore to do anything. I also notice some funky issues with BackColor and HilightBack when not using any colorsets for the Border. If I run HilightBack green, only the title bar is changed of the active window. If I run BackColor red, both the border and the title colors are changed of an inactive window. Then if I run HilightBack blue, the title color is set to blue, but the border color is set to red (the previous statement of the BackColor) of the active window.

I wonder if we should just remove the old color methods like ForeColor, BackColor, and so on, and just force the use of colorsets, and make sure that a colorset is set by default.

I wonder if we should just remove the old color methods like ForeColor, BackColor, and so on, and just force the use of colorsets, and make sure that a colorset is set by default.

Raising my hand for removing this old method of setting colors and so on.

I do think there is a bug here, but it is not what you think it is. After playing around I noticed that the following styles are broken. ForeColor and HilightFore, which is what sets the text color if you aren't using a colorset. No matter what color set I with ForeColor and HilightFore, there is no change. It just turns out that setting the font brings this issue up, this is why setting a Colorset and HilightColorset fixes the issue.

Yep -- you'll only get ForeColor, BackColor, etc., to work iff Colorset is never in use. Which since fvwm2 days has almost never been the case -- so the only time I can ever see this code path working is if someone took an existing fvwm1 config and tried to run that against fvwm3.