Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FvwmPager: The SolidSeparators option doesn't affect the first desk shown or multiple desks #1138

Closed
vanillechose opened this issue Dec 10, 2024 · 3 comments · Fixed by #1139
Labels
type:bug Something's broken!

Comments

@vanillechose
Copy link

Upfront Information

  • Fvwm3 version (run: fvwm3 --version): fvwm3 1.1.2 (1.1.1-3-g27fd3cae) (latest commit of the main branch)

  • Linux distribution or BSD name/version: Void Linux

  • Platform (run: uname -sp): Linux unknown

Expected Behaviour

The SolidSeparators configuration option of FvwmPager should work regardless of which desktop the pager is showing.

Actual Behaviour

When SolidPager is set, the first desk displayed by FvwmPager (after start or a restart of fvwm) is drawn with dashed instead of solid lines. When switching between desks, all the other desks are drawn with solid separators.

Enabling logging

The log file doesn't show anything related to the pager

Steps to Reproduce

I noticed this bug after updating to 1.1.0, and I was able to reproduce it using the latest commit of the main branch with the following configuration file

DesktopSize 4x4

Mouse 4 R A GotoDesk +1 0 1
Mouse 5 R A GotoDesk +1 0 1

# show the pager on every desk
Style "Desk*" Sticky

DestroyModuleConfig FvwmPager
*FvwmPager: SolidSeparators

AddToFunc StartFunction
+ I Module FvwmPager *

Extra Information

@vanillechose vanillechose added the type:bug Something's broken! label Dec 10, 2024
@somiaj somiaj changed the title FvwmPager: The NoSeparators option doesn't affect the first desk shown FvwmPager: The SolidSeparators option doesn't affect the first desk shown or multiple desks Dec 10, 2024
@somiaj
Copy link
Collaborator

somiaj commented Dec 10, 2024

In my initial testing seems to be worse than that. If you are showing multiple desks at the same time, SolidSeparators has no effect.

somiaj added a commit that referenced this issue Dec 10, 2024
The dashed line GC is set before user options are parsed, so
only newly created DeskStyles will have the dashed_gc set to
a solid line. This means that when showing multiple desks, no
desks will have a solid line, or when showing the current desk,
the initial desk will not have a solid line, but other desks
will.

The label_gc uses the same fg color as dashed_gc, and can be used
to create solid lines. So instead of relying on dashed_gc to know
if solid lines should be used or not, use either label_gc or
dashed_gc to draw the separators depending on if the option
SolidSeparators is used or not.

Fixes #1138
@somiaj
Copy link
Collaborator

somiaj commented Dec 10, 2024

@vanillechose I believe #1139 should fix the issue (does in my testing). If you can let us know if it works for you, that would be great.

ThomasAdam pushed a commit that referenced this issue Dec 10, 2024
The dashed line GC is set before user options are parsed, so
only newly created DeskStyles will have the dashed_gc set to
a solid line. This means that when showing multiple desks, no
desks will have a solid line, or when showing the current desk,
the initial desk will not have a solid line, but other desks
will.

The label_gc uses the same fg color as dashed_gc, and can be used
to create solid lines. So instead of relying on dashed_gc to know
if solid lines should be used or not, use either label_gc or
dashed_gc to draw the separators depending on if the option
SolidSeparators is used or not.

Fixes #1138
@vanillechose
Copy link
Author

@vanillechose I believe #1139 should fix the issue (does in my testing). If you can let us know if it works for you, that would be great.

It works for me :) thank you very much.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:bug Something's broken!
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants