# For details on how the transformation of LC_MESSAGES to a list of keys that
# should be looked up works, refer to “Localized values for keys” of the
# “Desktop Entry Specification”:
-# http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s04.html
+# https://standards.freedesktop.org/desktop-entry-spec/latest/ar01s04.html
my $lc_messages = setlocale(LC_MESSAGES);
# Ignore the encoding (e.g. .UTF-8)
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
my %desktops;
-# See http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables
+# See https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables
my $xdg_data_home = $ENV{XDG_DATA_HOME};
$xdg_data_home = $ENV{HOME} . '/.local/share' if
!defined($xdg_data_home) ||
$key eq 'Terminal') {
# Values of type boolean must either be string true or false,
# see “Possible value types”:
- # http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s03.html
+ # https://standards.freedesktop.org/desktop-entry-spec/latest/ar01s03.html
$apps{$base}->{$key} = ($value eq 'true');
}
}
}
# Don’t offer apps which have NoDisplay == true or Hidden == true.
- # See http://wiki.xfce.org/howto/customize-menu#hide_menu_entries
+ # See https://wiki.xfce.org/howto/customize-menu#hide_menu_entries
# for the difference between NoDisplay and Hidden.
next if (exists($apps{$app}->{NoDisplay}) && $apps{$app}->{NoDisplay}) ||
(exists($apps{$app}->{Hidden}) && $apps{$app}->{Hidden});
}
$choices{$name} = $app;
+ next;
}
if ((scalar grep { $_ eq 'command' } @entry_types) > 0) {
# Don’t add “geany” if “Geany” is already present.
my @keys = map { lc } keys %choices;
- next if (scalar grep { $_ eq lc(basename($command)) } @keys) > 0;
-
- $choices{basename($command)} = $app;
+ if (!(scalar grep { $_ eq lc(basename($command)) } @keys) > 0) {
+ $choices{basename($command)} = $app;
+ }
+ next;
}
if ((scalar grep { $_ eq 'filename' } @entry_types) > 0) {
my $location = $app->{_Location};
# Quote as described by “The Exec key”:
-# http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html
+# https://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html
sub quote {
my ($str) = @_;
$str =~ s/("|`|\$|\\)/\\$1/g;