die "Could not parse command line options" unless $result;
# Filter entry types and set default type(s) if none selected
die "Could not parse command line options" unless $result;
# Filter entry types and set default type(s) if none selected
@entry_types = ('name', 'command') unless @entry_types;
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
@entry_types = ('name', 'command') unless @entry_types;
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
if (exists($choices{$name})) {
# There are two .desktop files which contain the same “Name” value.
# I’m not sure if that is allowed to happen, but we disambiguate the
if (exists($choices{$name})) {
# There are two .desktop files which contain the same “Name” value.
# I’m not sure if that is allowed to happen, but we disambiguate the
my ($command) = split(' ', $apps{$app}->{Exec});
# Don’t add “geany” if “Geany” is already present.
my @keys = map { lc } keys %choices;
my ($command) = split(' ', $apps{$app}->{Exec});
# Don’t add “geany” if “Geany” is already present.
my @keys = map { lc } keys %choices;
my $filename = basename($app, '.desktop');
# Don’t add “geany” if “Geany” is already present.
my @keys = map { lc } keys %choices;
my $filename = basename($app, '.desktop');
# Don’t add “geany” if “Geany” is already present.
my @keys = map { lc } keys %choices;
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
# open2 will just make dmenu’s STDERR go to our own STDERR.
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
# open2 will just make dmenu’s STDERR go to our own STDERR.