20
849
Fork
You've already forked fuzzel
83

Feature Request: Full-width, single-line display like dmenu / dmenu-wl #368

Open
opened 2024年08月07日 15:46:02 +02:00 by markstos · 16 comments
Collaborator
Copy link

I think Fuzzel can completely replace the functionality and design features of dmenu-wl except for one display feature:

The classic dmenu display where it appears as a full-width bar across a monitor at the top or bottom.

This is not personally important to me but perhaps this issue will attract some other dmenu fans to express support.

I think Fuzzel can completely replace the functionality and design features of dmenu-wl except for one display feature: The classic dmenu display where it appears as a full-width bar across a monitor at the top or bottom. This is not personally important to me but perhaps this issue will attract some other dmenu fans to express support.
Owner
Copy link

I can certainly see the appeal of this.

One can sort of get halfway there right now; we can set --anchor=top, and manually adjust the --width to match the screen size. We can set --lines to either 0 or 1 to reduce the height.

But, fuzzel obviously still renders a vertical list. So, if we really want to support this render mode, we have to implement a new... render mode.

That means a fair amount of work, and thus I think it makes sense to use this issue to gather interest.

I can certainly see the appeal of this. One can sort of get halfway there right now; we can set `--anchor=top`, and manually adjust the `--width` to match the screen size. We can set `--lines` to either `0` or `1` to reduce the height. But, fuzzel obviously still renders a vertical list. So, if we really want to support this render mode, we have to implement a new... render mode. That means a fair amount of work, and thus I think it makes sense to use this issue to gather interest.

To me this is the only feature that keeps me from using Fuzzel. I'm just too used to the classic dmenu style.

To me this is the only feature that keeps me from using Fuzzel. I'm just too used to the classic dmenu style.
Author
Collaborator
Copy link

@emiham If you love the classic dmenu style, why not use dmenu-wl ?

@emiham If you love the classic dmenu style, why not use `dmenu-wl` ?

It's missing some other features that are important to me (that Fuzzel has).

It's missing some other features that are important to me (that Fuzzel has).

I also have interest in this feature :)

I also have interest in this feature :)

Coming here to show interest too.

Coming here to show interest too.

The only feature stop me moving from bemenu

The only feature stop me moving from bemenu

any eta on this

any eta on this
Author
Collaborator
Copy link

@nnyyxxxx there is no ETA, no one is working it.

In the meantime, you can use the --anchor and --width and --lines options, or use wl-dmenu instead.

@nnyyxxxx there is no ETA, no one is working it. In the meantime, you can use the --anchor and --width and --lines options, or use `wl-dmenu` instead.

thats unfortunate, i have switched to bemenu in the meantime, hopefully this can be implemented sooner or later; if so ill come back to fuzzel.

thats unfortunate, i have switched to bemenu in the meantime, hopefully this can be implemented sooner or later; if so ill come back to fuzzel.
Author
Collaborator
Copy link

@nnyyxxxx You could try getting help from Claude or another AI to help you implement it. I can't say how well the code in fare in PR review if you are able to get something working, but it's another option to try. I've successfully used Claude to add some features in a Rust app after I got stuck trying do it myself and waited and waited for someone to implement it for me.

@nnyyxxxx You could try getting help from Claude or another AI to help you implement it. I can't say how well the code in fare in PR review if you are able to get something working, but it's another option to try. I've successfully used Claude to add some features in a Rust app after I got stuck trying do it myself and waited and waited for someone to implement it for me.

meh, i'm not really a big ai enjoyer + i already know c/c++/rust so i dont need to use it anyway. i've tried it in the past but it's more stupid tahn me even in basic tasks and thats an accomplishment lol..

meh, i'm not really a big ai enjoyer + i already know c/c++/rust so i dont need to use it anyway. i've tried it in the past but it's more stupid tahn me even in basic tasks and thats an accomplishment lol..

Hi there! It'd be great to at least support automatically expanding max window width based on the screen size. Dmenu does this by default. Do you think this could reasonably be done without a huge amount of effort? I can try sending in a patch as well. I was thinking the "width" option can accept "N%" style values.

Hi there! It'd be great to at least support automatically expanding max window width based on the screen size. Dmenu does this by default. Do you think this could reasonably be done without a huge amount of effort? I can try sending in a patch as well. I was thinking the "width" option can accept "N%" style values.
Author
Collaborator
Copy link

@awal Try creating a patch, thanks.

@awal Try creating a patch, thanks.

@markstos

Okay I gave it a shot but I couldn't get it to work. I see that render_resized in render.c sets the width based on the char count. I tried removing that and setting wayl->width = w in layer_surface_listener, but it seems it already receives a shorter width than the screen width? (I expected 1920 for my screen but it got 1764, no scaling). Interestingly it works correctly in wmenu though and I don't see any difference in the code in how it is setting up the layer/surface.

I'm new to wayland, any help would be great.

@markstos Okay I gave it a shot but I couldn't get it to work. I see that `render_resized` in render.c sets the width based on the char count. I tried removing that and setting `wayl->width = w` in `layer_surface_listener`, but it seems it already receives a shorter width than the screen width? (I expected 1920 for my screen but it got 1764, no scaling). Interestingly it works correctly in `wmenu` though and I don't see any difference in the code in how it is setting up the layer/surface. I'm new to wayland, any help would be great.
Author
Collaborator
Copy link

I don't have specific advice, but am noting there are a few related features here:

  • While we already have a width flag, this "full width" idea isn't for the width of the text, it's for the width of the window behind the text, so it could use a different flag name.
  • The"single line" display of dmenu displays results horizontally not vertically, Presumably each entry would be constrained by the "width" settings, which is really "text width" setting. Some people want this UI Others may be happy to have the full width bar, with a vertical menu like the current one anchored to the top or bottom.
  • If the horizontal approach were to be used, there would have be a decision made about supporting icons or not in that format.
  • If a vertical, dmenu-like menu is anchored to the bottom, it seems that the search bar would be at the bottom not the top and the order of the entries in the list might be reversed, with the best match at the bottom.

Any of the options seem like they may be significant features.

I don't have specific advice, but am noting there are a few related features here: - While we already have a `width` flag, this "full width" idea isn't for the width of the *text*, it's for the width of the window behind the text, so it could use a different flag name. - The"single line" display of dmenu displays results horizontally not vertically, Presumably each entry would be constrained by the "width" settings, which is really "text width" setting. Some people want this UI Others may be happy to have the full width bar, with a vertical menu like the current one anchored to the top or bottom. - If the horizontal approach were to be used, there would have be a decision made about supporting icons or not in that format. - If a vertical, dmenu-like menu is anchored to the bottom, it seems that the search bar would be at the bottom not the top and the order of the entries in the list might be reversed, with the best match at the bottom. Any of the options seem like they may be significant features.
Sign in to join this conversation.
No Branch/Tag specified
master
gnome-support
releases/1.14
issue-319-window-switching
issue-561-nord-theme-only
resvg-filtering-take-2
resvg-filtering
releases/1.13
rehanzo-dont-ignore-execute-648
keybinds-overwrite
issue-561-refresh-theme
ci-automated-testing
reenable-legacy-icons
releases/1.12
test-coverage-for-fzf-caching
releases/1.11
releases/1.10
releases/1.9
releases/1.8
releases/1.7
releases/1.6
releases/1.5
releases/1.4
releases/1.3
releases/1.2
releases/1.1
releases/1.0
1.14.1
1.14.0
1.13.1
1.13.0
1.12.0
1.11.1
1.11.0
1.10.2
1.10.1
1.10.0
1.9.2
1.9.1
1.9.0
1.8.2
1.8.1
1.8.0
1.7.0
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.2
1.4.1
1.4.0
1.3.0
1.2.0
1.1.0
1.0.1
1.0.0
0.9.0
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
8 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
dnkl/fuzzel#368
Reference in a new issue
dnkl/fuzzel
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?