Hacker News new | past | comments | ask | show | jobs | submit login
Albert – open-source keyboard launcher for Linux (albertlauncher.github.io)
144 points by Curiositry on June 4, 2022 | hide | past | favorite | 51 comments



I don’t know if anything can beat sway-launcher-desktop (1) for me - bash and fzf are a lightning-fast combo.

1: https://github.com/Biont/sway-launcher-desktop


This code looks scary. I'd rather see a proper .ini parser being used.


Albert - https://albertlauncher.github.io/

Synapse - https://launchpad.net/synapse-project

fbrun - https://linux.die.net/man/1/fbrun

rofi (my personal favourite) - https://github.com/davatorium/rofi

gmrun - https://github.com/WdesktopX/gmrun

krunner - https://userbase.kde.org/Plasma/Krunner

dmenu - https://tools.suckless.org/dmenu/

and shout out to Alfred for Mac - https://www.alfredapp.com/

map any of these to ctrl+space or super+space and never use the start menu/icon launchers again (or don't run a desktop at all!)


Rofi is also king in my opinion. It can do everything you need with extensions / scripts but at its core it is kept minimal with a VERY small memory footprint. Sure dmenu is even smaller but some esthetics aren't bad.


Xfce also supports really easy arbitrary launcher functionality via the whisker menu.

Setup takes just a few minutes, you start by mapping the command `xfce4-popup-whiskermenu` to super+space in the keyboard settings, to make it easy to open the Whisker Menu with its launcher prompt. This gets you the basic menu search functionality. Next it's just a matter of adding a Search Action which can include any commands or shortcut keys you want to use.

(Oh, and btw, add ` --pointer` to the shortcut above to make the menu open at your cursor. It looks more like a launcher this way.)

To add Search Actions, right-click the whisker menu icon, go to "Search Actions" and add whatever you want, for example I have `e [your sentence here]` mapped to espeak:

- Name: Say it out loud

- Pattern: e

- Command: espeak "%s" -v us-mbrola-2 -s 140 -a 200 -g 1 -p 60

(This requires the mbrola voice package in addition to espeak)

It also supports regex. Anyway, just in case this is useful to anybody as a launcher using built-ins...and I mean you could even use it to launch various different launchers. :-)


I’m still in awe that windows has had similar functionality available at a single press of the windows key, but you still can’t do basic arithmetic on it.


The launcher included in PowerToys (called Run utility[0]) does support arithmetic. Sure, it's an extra thing to install, but it's first-party at least.

[0]: https://docs.microsoft.com/en-us/windows/powertoys/run


Most Microsoft keyboards have a dedicated calculator key, which I personally find more efficient, and you can bind it to your preferred calculator app.


I've been using ulauncher lately — https://ulauncher.io/

Though I'd like to find one that centers properly under Wayland. I'll have to dig into this list.


> Though I'd like to find one that centers properly under Wayland.

Wouldn't that require compositor integration? I was given to understand that Wayland clients can't work with absolute positioning.


There's the xdg-shell protocol to position launchers, bars or similar UI elements https://wayland.app/protocols/xdg-shell


Scriptable fuzzy-finders like rofi or dmenu are really the best innovation since tab-completion IMHO. It's so easy to create good enough customized workflows with them, it really changed my way of interaction. I've even got to the point where I use per-app-menus to call external scripts for some stuff. And now I wish apps would support some level of remote-control to make them accessible for such customization. At the moment I'm limited to using shortcut-keys and window-titles. Which is ok, but also a bit brittle and slow.


Kupfer (gnome) - https://kupferlauncher.github.io

Quicksilver (macos): https://qsapp.com/

I still find myself using these and enjoy the 'wei wu wei' flow of them: https://m.youtube.com/watch?v=d4LkTstvUL4 (skip to 5 or 11 minutes in)


IIRC Alfred supersedes Quicksilver, and I guess that's where the Albert name of the OP comes from.

https://www.alfredapp.com/



what about raycast?! https://www.raycast.com/


I use jumpapp[0] and find it fantastic for application switching on Manjaro/KDE.

[0] https://github.com/mkropat/jumpapp.git


I've used Launchy for many years and have never really found anything that felt as good and was as fast when using.


Fun fact: dmenu was also ported to macOS. Unfortunately it doesn’t work very well yet but still, it’s pretty cool!


Has anyone compared memory usage of these launchers? I can report albert consumes a constant ~600MiB on my machine, which seems high for a list of filenames and application names.


Alfred's (Mac) small memory footprint is partly because it delegates file searches to Mac built-in Spotlight (afaik). On Linux that might be more difficult to do since there's no standard solution for file search, apart from perhaps `locate`, which likely barely anyone uses anyway. IIRC Ubuntu/Gnome have a GUI-oriented solution in the vein of Spotlight—possibly ‘Tracker’—but dunno how widespread it is among the distros. At the least, Gnome and KDE probably require separate codepaths.


That does seem aggressively high. Alfred (MacOS), which this appears to take some design hints from, idles at about 49mb and 0.0-0.1% CPU usage on my Macbook.


Alfred’s compactness and efficiency is really something. Love how its updates start and finish in the time many programs take to load their “update available” dialogs.


Just checked on my machine and albert with quite a few plugins uses ~109 MB memory. I think that's very much in line with what to expect. Note also it does significantly more than just filenames and app names.


Albert allows you to write plugins in python (im not sure if that can be disabled), but presumably that would add the python interpreter to the memory food print.


Maybe it could use Akonadi on KDE and (gnome-)tracker on GTK based desktop?

(however, KRunner is fantastic, I would not know which KDE user would look for another solution)


I'm a KDE user, I switched over to KDE and brought my launcher with me. I should actually give KRunner a shot.


If you do, I'd be interested in your opinion then :-)


I just switched to it and am trying it out, but it doesn't seem to learn. I've typed "spo" to launch Spotify around 5-6 times, but it still lists "Spot" as the first choice.


I think you are right, might be worth opening a bug on bugzilla.kde.org to suggest/track the feature (having it, as an option maybe, would be cool).


It's very nice. I used to use this, but once I switched to a tiling window manager, I figured it was time to give everything a nice hackery appearance, and also extend customization even further to my launcher. So I switched to Rofi. Has dmenu functionality for scripts, and app launcher capability, while also being able to be customized with what seems to be CSS.



I have been using Albert since a long time, I think it's still the best of all the launchers by quite a long shot. In particular the available plugins really make it useful for me.


Note that, unlike the title says, Albert is not open source. A while back the website claimed it was GPL, but there was no indication of that in the codebase. I filed an issue, which seems to now have been deleted, requesting to clarify the matter. Turns out the author has some reservations incompatible with any definition of open source and thus Albert is basically non-free source-available. This means that it's dead in terms of wider adoption – no distros will package it, that was directly reported by many package maintainers in the now gone issue.



Oh wow I didn't know about this. I never contributed code, but hacked around some wayland issues when it caused crashes. I find the behavior baffling to be honest. On one hand ManuelSchneid3r claims to not be a lawyer, on the other hand he dismisses comments about included code and linking in GPL plugins as not relevant and not being copyrightable (well you have to be a judge really to determine that). Then he says he doesn't want to have to spend time on discussing licensing, but then creates this whole storm in a teacup by changing the license and then says even even wants to write his own license. Then he says his comments (in a now deleted issue even) that you can package for distros are sufficiently binding, but on the other hand claims that his note on the website that Albert is GPL did not mean the code was GPL because there was no license file in the repository.

I think it would be good for him to sit down and sort out what are the goals that he would like to achieve. At the moment his behavior is clearly counterproductive.

His main worry seems to be redistribution with changes, because somebody might do something malicious. But realistically what are the chances, and


Yes, based on this the author clearly removed the license because they wanted to prevent modifications, so the article title is incorrect.

They unfortunately also couldn't be bothered to actually state this clearly (and they deleted this issue!), so they are causing unnecessary confusion.


Further confusion, the contributing page says

> By contributing your code, you agree to license your contribution under the GPL license. According to the goals, only code that is well designed, documented, clear and readable will be accepted.

Not sure what to make of it either.


They literally have section on the website: https://albertlauncher.github.io/installing/#from-source

that refers their github: https://github.com/albertlauncher/albert.git


Source available ≠ Open Source. The source code has no license, so is fully copyrighted and thus is likely illegal to modify or redistribute in any way. It is this not Open Source but “source available”. It’s there, but you can’t really do anything with it except maybe compile it for personal use (but I’m not even sure about that).


Even if the author gives you permission to download, build, and run the software, you might also need to buy a Qt license. AFAIK your choices for Qt are GPL or the (fairly expensive) commercial license. Since the software isn’t under a GPL compatible license my understanding is that you may well be obligated to buy the commercial Qt license.


How does this compare with Krunner[1]?

[1] https://userbase.kde.org/Plasma/Krunner


The out of the box KDE experience is killer.


Agreed, I didn't like KDE 3 or 4, but Plasma is just great.


I get pretty much the same (maybe more?) from Krunner in Plasma. It's so convenient to convert currencies and other units.


ULuncher seems easily extensible in comparison based on the contribution page. But is good to have alternatives in this space. Thanks for the reference.


This is what I've been using for years. I find no reason to change it.


Building your own custom launcher utilities can be fun (and fully tailored to your needs). I’ve had good results using completion frameworks like ivy, accessible from any app (not just Emacs).

https://xenodium.com/emacs-utilities-for-your-os/


I think https://github.com/tartakynov/enso enso was onto something before its time. Or maybe this particular wheel regularly gets re implemented but never catches on outside IT/dev circles.


rofi is pretty good though.


Nice, thanks for naming a project after me. :P

I also like the ALBERT lite-BERT model (https://arxiv.org/abs/1909.11942). Although this was just a matter of time. The other names which match to "*bert*" were already taken.

Anyway, going on topic: Such a project really should have a related work section, right at the beginning, because there are many existing launchers, and just say how this is different (maybe better). E.g. see here (https://alternativeto.net/software/alfred/?platform=linux). But I also would be interested on differences e.g. to Alfred (Mac). I really wonder why such comparisons are very often missing.

Also, a bit more information would be nice. Is this cross platform? Or Linux only? It seems Mac is on the todo-list (https://github.com/albertlauncher/albert/issues/1050) but I don't see a Mac binary download, so I assume it's not ready yet? Although the issue was closed.

Btw, the last commit is from on 9 Oct 2021. So maybe already abandoned?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: