So I am on Ubuntu 18.04. I want to be able to select multiple entries in rofi, while it is opened, and have all of them passed. :thinking: I have a version that doesn't have that, or is buggy. Fine, lets' build.
😰
What I needed to do:
apt install libxcb1 libxcb1-dev libxcb-xkb-dev libxcb-randr0-dev libxkbcommon-dev libsvgpp-dev libstartup-notification0-dev
apt install libxcb-ewmh-dev libxcb-icccm4-dev
apt install libxcb-xrm-dev
apt install libxkbcommon-x11-dev
apt install libxcb-xinerama0
apt install libxcb-xinerama0-dev
apt install librsvg2-dev
apt install check
Configure rofi... Failed. Rofi needs newer check. Damn. Fine.
https://github.com/libcheck/check/releases
./configure
make
make check
sudo make install
Ok....
What about xcb? I didn't need it, because of the other libxcb stuff.
OK>>>>
rofi -v
Version: 1.5.1-66-git-1915de73-dirty (next)
(ノ´▽`)ノ♪
So, I want to know, how do you do multi-select in rofi exactly? I wanted to suggest that but it seems is already a thing? But how do you make it exactly?
â–¶ rofi --help | grep select
** (process:25274): WARNING **: 19:19:02.517: /home/raitaro/.config/rofi/config.rasi:25:18: Option: levenshtein-sort is not found.
-selected-row [integer] Select row
-only-match Force selection or custom entry
-select [string] Select the first row that matches
-[no-]auto-select Enable auto select mode
-kb-primary-paste [string] Paste primary selection
-kb-row-select [string] Set selected item as input text
-kb-select-1 [string] Select row 1
-kb-select-2 [string] Select row 2
-kb-select-3 [string] Select row 3
-kb-select-4 [string] Select row 4
-kb-select-5 [string] Select row 5
-kb-select-6 [string] Select row 6
-kb-select-7 [string] Select row 7
-kb-select-8 [string] Select row 8
-kb-select-9 [string] Select row 9
-kb-select-10 [string] Select row 10
-me-select-entry [string] Select hovered row
Ok? Looking at the release notes: v 1.4 - [Dmenu] Allow multi-select mode in-no-custommode.
So am I stupid? My use case is this... ls some folders I have to make a music playlist. I just want to be able to select multiple entries at once so I don't have to open rofi n times to add n things. Except it seems I am either stupid or something is off idk.
I do get an error:
â–¶ echo -e "foo\nbar\n" | rofi -dmenu -no-select
** (process:29212): WARNING **: 19:22:41.973: /home/raitaro/.config/rofi/config.rasi:25:18: Option: levenshtein-sort is not found.
Here is my config: https://gist.github.com/RaitaroH/d9d88fa51ca1ce2c39ce32160b11b14f
So what do I do wrong exactly? HOW do you select multiple lines because I sure have no clue. Thank you.
Your example does not even provide the -multi-select option.
carnager@caprica ~ > echo -e "foo\nbar\n" | rofi -dmenu -multi-select
foo
bar
where I hit Shift+Enter (Default) to select lines.
@carnager I tried multi-select too. It didn't wor... SHIFT+ENTER? Damn. I am stupid ( ゚Д゚)
Well I guess now that this is sorted, perhaps the extra info about the building process will be helpful to others. I got what I wanted... after a tone of needless work but eh.
I cannot follow your compile rant (the xcb part).
libcheck can be disabled, it is optional.
Can you clarify what needs to be clarified?
@DaveDavenport
tl;dr me stupid, ubuntu install instructions out of date a bit.
I got annoyed because I had no idea how to get multi-select to work (I was just stupid and it didn't cross my mind that I need SHIFT+ENTER instead of simple ENTER while having the option given).
So I tried to get rofi to the latest version. I followed the wiki for that but on 18.04 at least it is out-of-date. check is too old on Ubuntu 18.04 and xcb-util-xrm was installed with some other lib that I don't know about and it really confused the heck out of me why that was.
EDIT:
I do get this tho:
** (process:19594): WARNING **: 20:58:46.130: /home/raitaro/.config/rofi/config.rasi:25:18: Option: levenshtein-sort is not found.
Nevertheless, perhaps specify check in the wiki. I only know that because the configure threw an error at me.
@RaitaroH , how did you find out what dependencies to install? Your list looked a little daunting, so I found another way to do it. In the end, for rofi v.1.5.4, it was just sudo apt install bison flex libxcb-xkb-dev libxkbcommon-x11-dev libxcb-ewmh-dev libxcb-icccm4-dev libxcb-xrm-dev libxcb-xinerama0-dev libstartup-notification0-dev.
Then, to not have to deal with check, I added --disable-check to ../configure.
For other noobs like me, here's how to find out what to install:
I kept running configure, and it would say something like: No package 'libstartup-notification-1.0' found.
Each time, do: apt-cache search <the missing package> dev. This worked for all except libstartup-notification-1.0. However, I removed the "-1.0" part, and then apt-cache found something.
@Flurrywinde I believe I was on kde neon at the time, so perhaps some things are missing in Neon that can be found in Ubuntu itself. Also yes, run configure until you are done, or look in the make file if you can do that.
@Flurrywinde, @RaitaroH There is an INSTALL file that gives a list of dependencies.
Further more to get a quick headstart on a debian based systems you can do sudo apt build-dep rofi to get the dependencies for the packaged version as starting point.
Most helpful comment
Your example does not even provide the -multi-select option.
where I hit Shift+Enter (Default) to select lines.