i3menu: line 83: 4423 Segmentation fault #177
Labels
No labels
Arch PKGBUILD
bug
build
commandline
duplicate
enhancement
font
good first issue
help wanted
implemented
is-it-really-a-bug?
necromancy
not-reproducable
question
reproducable
rofi
solved?
stalled
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
bud/i3ass#177
Loading…
Add table
Add a link
Reference in a new issue
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?
Can you give more detailed information about its use?
sorry you are having these issues. I noticed similar issues myself, and tracked many of them to rofi. I have actually been working on a replacement for rofi as a i3menu dependency. A fork of dmenu capable of everything needed.
But, adding this dmenu fork as a dependency to i3menu, means it becomes a dependency for i3ass. I think what i will do is move i3menu out of i3ass into its own repo, and publish the dmenu fork (3menu ?) separately.
This will happen soon, thanks for the issue, it reminded me i need to get back on it (i am actually using the new alternative myself, so i don't cause my own issues.)
Hi Metapodcod, Hi budRich
I have been having the exact same segfault problem for quite a while now, however I did notice that i3menu sometimes decides to pass some options anyway.
I also noticed that when i3menu was called from the i3term script, it would work basically flawless... I copied the command from /usr/bin/i3term into a terminal, and it worked!
I have been looking/thinking about how to handle that segfault ; as I do actually like i3menu a lot, especially (with or without i3fyra) the flexible positioning around the i3 workspace (tab, titlebar, window, x- and y- and offset).
Regardless, I managed to resolve this issue with just about the easiest fix imaginable:
i3menubinary/script (usewhich i3menuif you're not sure); it's usually in /usr/bin/i3menu (if you installed i3ass using the makefile via AUR or manually with git)-) in front of-theme, like so:((_o[dryrun])) || "${_menu_command[@]}" -theme <(themefile)((_o[dryrun])) || "${_menu_command[@]}" --theme <(themefile)To be honest, this was a toal shot in the dark for me, I know some of the syntax and roughly how the i3ass-scripts work together... so I made a gues, and now I don't have any segfaults anymore at all.
I thought I'd made some sort of dirty quicdk fix, but it all seems fine now...
HOWEVER: there is maybe more you should know, I noticed - by accident - that it can still end up breaking when trying out themes.. I am not sure what it is exactly, and I unfortunately don't have the time to go through all of it.
But I believe rofi will sometimes throw an error if $XDG_DATA_DIRS is not defined / in your environment variables.
AND/OR maybe you will need to add rofi's themes folder to your $PATH variable ( dirs are: /usr/share/rofi/themes:$HOME/.config/rofi/themes )
The main binary works again, but I'm not sure if it'll stay that way when I end up customizing configs/themes/directory structure.
anyhow, quite some text for a little fix -- but I hope it helped
Cheers
~intronaut
@1ntronaut thanks, i will patch i3menu with your bugfix. Rofi must have changed their cli-syntax from
-themeto--themeat some point.@budRich great! I thought so too, but it wasn't in the rofi man page iirc.
@1ntronaut @metapodcod i have now removed i3menu from i3ass. And created a new repository for i3menu (https://github.com/budlabs/i3menu) . This new i3menu version uses a custom fork of dmenu (https://github.com/budRich/dmenu) instead of rofi. I deprecated some of the old i3menu options:
and the theming is now much simpler, but all in all i think it will work as a drop in replacement for the old i3menu 97.5% of the time.
If you have installed i3ass from AUR, make sure to get the latest version of i3ass before installing the new version of i3menu:
If you use i3ass-git package, you will probably need to do a clean build of that..
@1ntronaut
This gets rid of the segfault, but it doesn't load the generated theme (i get whatever rofi theme has been set).
rofi has messed up the theming countless times since i started using it. According to the rofi manpage:
The theme i want to apply is not a small snippet (it is a full theme file), i tried to minify it to one line, but it doesn't seem to work. And appending to the end of the rofi config file, i could not get to work either.
I am sorry, but i'm not touching this, it is probably possible if we can get that appending to the end of the config working.
below is a autogenerated i3menu theme:
If anyone wants to experiment, create a new folder and cd into it, then
rofi -dump-config > config.rasiedit the newly created config.rasi file to include the theme above (i don't know how to do this, but manpage says it is possible). to test:
rofi -config ./config.rasihttps://github.com/budlabs/i3menu-rofi
@budRich
Whaddya know bud, it was fun while it lasted... I see rofi has disqualified itself from being a viable part of i3menu/i3ass. You should indeed not touch this, I completely agree.
I'll be backing up my legacy i3ass setup, uninstall everything and building i3ass+i3menu+dmenu-bud from source. I'll start a minimally functional i3ass config and meanwhile, I should test the not-reproducible issues while I'm at it.
Thank you for going through all the trouble of re-uploading, considering my idea and even try to make it work.
As well as for adding this below; matter of fact, I'll be needing some sound default config files very shortly c:
@1ntronaut worth keeping in mind is that i3menu(-dmenu) is not a 1:1 replacement for the old i3menu-rofi, the most common thing for me has been that
--include|-iis is not in i3menu(-dmenu), and it will actually not spawn with such a commandline (exampleecho hello | i3menu -i pel). It will most likely never be implemented, and it isn't really needed, since dmenu is smarter and doesn't create a list if there is no linebreaks in the input, and no prompt unless -p is passed (in contrast to rofi that defaults to displaying the "modi" name as the prompt). The only time I miss--includeis when i would like to display a menu without entry box, but I noticed that this was a bit hacky in the old i3menu-rofi, where it was possible to hide the entry, but not disable it, it could lead to confusing menus if one accidentally typed into the invisible entrybox... I could (probably should) add a dummy in i3menu(-dmenu) so that it allows-i|--includebut ignores it, to be a-lot more backwards compatible. Yeah i will try to add that asap.https://github.com/budlabs/i3menu/releases/tag/0.3.1
https://aur.archlinux.org/packages/i3menu
i will close this issue, and move it to the i3menu-rofi rep