npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

linux-app-list

v1.0.1

Published

Get the info of the applications installed that are listed in /usr/share/applications and/or similar paths

Downloads

8

Readme

Linux Application List

Node module for parsing /usr/share/applications to get a list of the installed/launchable applications and their info.

If /usr/share/applications is not avaliable it will also try to search /usr/local/share/applications or ~/.local/share/applications before untimitly return undefined if none are avaliable

Usage

const linux_apps = require('linux-app-list')();
if(linux_apps == undefined){
    console.error("Failed to load apps module.");
    return;
}

linux_apps.list().forEach(function(app){
    var data = linux_apps.data(app);
    if(data == undefined){
        console.log("    " + app + " - Unable to get info");
    }else{
        console.log("    " + app);
        console.log(data);
    }
});

Functions

#.list()

Gets a list of all the applications. Returns a string array of the filenames.

#.data(<string app>)

Get the data for the passed app. The string should be the name of the file without the extension, as returned from #.list(). Returns a JSON object.

Localizations are available via object.lang.<code e.g "en">.

#Sample Data Output

{ absolutepath: '/usr/share/applications/org.gnome.Nautilus.desktop',
  lang: 
   { ' af ': { Name: 'Lêers', Keywords: [Object] },
     ' an ': 
      { Name: 'Fichers',
        Comment: 'Accedir a os fichers y organizar-los',
        Keywords: [Object] },
     ' ar ': 
      { Name: 'نافذة جديدة',
        Comment: 'نظم الملفات وصِل إليها',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' as ': 
      { Name: 'ফাইলসমূহ',
        Comment: 'অভিগম কৰক আৰু ফাইলসমূহ আয়োজিত কৰক',
        Keywords: [Object] },
     ' ast ': 
      { Name: 'Ficheros',
        Comment: 'Acceder a los ficheros y organizalos' },
     ' be ': 
      { Name: 'Файлы',
        Comment: 'Доступ і кіраванне файламі',
        Keywords: [Object] },
     ' bg ': 
      { Name: 'Нов прозорец',
        Comment: 'Достъп и управление на файлове',
        Keywords: [Object] },
     ' bn ': { Name: 'ফাইল', Comment: 'ফাইলে ব্যবাহর এবং সাজানো' },
     ' bn_IN ': 
      { Name: 'ফাইল',
        Comment: 'ফাইলগুলি অ্যাক্সেস এবং সংগঠিত করুন',
        Keywords: [Object] },
     ' bs ': 
      { Name: 'Datoteke',
        Comment: 'Pristupite i organizujte datoteke',
        Keywords: [Object] },
     ' ca ': { Name: 'Fitxers' },
     ' ca@valencia ': 
      { Name: 'Fitxers',
        Comment: 'Organitzeu i accediu a fitxers',
        Keywords: [Object] },
     ' crh ': 
      { Name: 'Dosyeler',
        Comment: 'Dosyelerge iriş ve olarnı tertiple',
        Keywords: [Object] },
     ' cs ': 
      { Name: 'Nové okno',
        Comment: 'Přístup k souborům a jejich správa',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' da ': 
      { Name: 'Nyt vindue',
        Comment: 'Tilgå og organisér filer',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' de ': 
      { Name: 'Neues Fenster',
        Comment: 'Auf Dateien zugreifen und diese organisieren',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' el ': 
      { Name: 'Νέο παράθυρο',
        Comment: 'Προσπελάστε και οργανώστε αρχεία',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' en_CA ': { Name: 'Files', Comment: 'Access and organize files' },
     ' en_GB ': 
      { Name: 'New Window',
        Comment: 'Access and organise files',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' eo ': 
      { Name: 'Dosieroj',
        Comment: 'Atingi kaj organizi dosierojn',
        Keywords: [Object] },
     ' es ': 
      { Name: 'Ventana nueva',
        Comment: 'Acceder a los archivos y organizarlos',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' et ': 
      { Name: 'Failid',
        Comment: 'Ligipääs failidele ning failipuu korrastamine',
        Keywords: [Object] },
     ' eu ': 
      { Name: 'Leiho berria',
        Comment: 'Atzitu eta antolatu fitxategiak',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' fa ': 
      { Name: 'پنجره نو',
        Comment: 'دسترسی و سازماندهی پرونده‌ها',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' fi ': 
      { Name: 'Uusi ikkuna',
        Comment: 'Käsittele ja järjestä tiedostoja',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' fr ': 
      { Name: 'Nouvelle fenêtre',
        Comment: 'Accéder aux fichiers et les organiser',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' fur ': 
      { Name: 'Gnûf barcon',
        Comment: 'Dopre e organize file',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' ga ': 
      { Name: 'Comhaid',
        Comment: 'Déan rochtain ar chomhaid agus eagraigh iad' },
     ' gd ': 
      { Name: 'Uinneag ùr',
        Comment: 'Faigh cothrom air faidhlichean is rianaich iad',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' gl ': 
      { Name: 'Nova xanela',
        Comment: 'Acceda e organice ficheiros',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' gu ': 
      { Name: 'ફાઇલો',
        Comment: 'ફાઇલોને વાપરો અને સંચાલિત કરો',
        Keywords: [Object] },
     ' he ': 
      { Name: 'חלון חדש',
        Comment: 'גישה לקבצים וארגונם',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' hi ': 
      { Name: 'फ़ाइल',
        Comment: 'फ़ाइलों को व्यवस्थित और पहुँच प्राप्त करें',
        Keywords: [Object] },
     ' hr ': 
      { Name: 'Novi prozor',
        Comment: 'Pristupite i organizirajte datoteke',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' hu ': 
      { Name: 'Új ablak',
        Comment: 'Fájlok elérése és rendszerezése',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' id ': 
      { Name: 'Jendela Baru',
        Comment: 'Mengakses dan mengelola berkas',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' is ': 
      { Name: 'Nýr gluggi',
        Comment: 'Aðgangur og skipulag skráa',
        Keywords: [Object] },
     ' it ': 
      { Name: 'Nuova finestra',
        Comment: 'Accede ai file e li organizza',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' ja ': 
      { Name: '新しいウィンドウ',
        Comment: 'ファイルの操作や整理をします',
        Keywords: [Object] },
     ' kk ': 
      { Name: 'Жаңа терезе',
        Comment: 'Файлдарға қатынау және оларды реттеу',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' kn ': 
      { Name: 'ಕಡತಗಳು',
        Comment: 'ಕಡತಗಳನ್ನು ನಿಲುಕಿಸಿಕೊಳ್ಳಿ ಹಾಗು ವ್ಯವಸ್ಥಿತವಾಗಿ ಜೋಡಿಸಿ',
        Keywords: [Object] },
     ' ko ': 
      { Name: '새 창',
        Comment: '파일 조작 및 정리',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' ky ': { Name: 'Файлдар' },
     ' ln ': 
      { Name: 'Lininísa ya sika',
        Comment: 'Koyíngela mpe kobɔngisa ya kásá',
        Keywords: [Object] },
     ' lt ': 
      { Name: 'Naujas langas',
        Comment: 'Atverti ir tvarkyti failus',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' lv ': 
      { Name: 'Jauns logs',
        Comment: 'Piekļūt un organizēt datnes',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' mk ': 
      { Name: 'Датотеки',
        Comment: 'Пристапувајте и организирајте датотеки' },
     ' ml ': 
      { Name: 'ഫയലുകള്‍',
        Comment: 'ഫയലുകള്‍ ലഭ്യമാക്കി ക്രമത്തിലാക്കുക',
        Keywords: [Object] },
     ' mr ': 
      { Name: 'फाइल्स्',
        Comment: 'फाइल्स्ला प्रवेश द्वया व संघटित करा',
        Keywords: [Object] },
     ' ms ': { Name: 'Fail-fail', Comment: 'Akses dan mengurus fail-fail' },
     ' nb ': 
      { Name: 'Nytt vindu',
        Comment: 'Utforsk og organiser filer',
        Keywords: [Object] },
     ' ne ': { Name: 'फाइलहरू' },
     ' nl ': 
      { Name: 'Nieuw venster',
        Comment: 'Bestanden gebruiken en organiseren',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' nn ': { Name: 'Filer', Comment: 'Aksesser og organiser filer' },
     ' oc ': 
      { Name: 'Fenèstra novèla',
        Comment: 'Accedir als fichièrs e los organizar',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' or ': 
      { Name: 'ଫାଇଲଗୁଡିକ',
        Comment: 'ଫାଇଲମାନଙ୍କୁ ଅଭିଗମ କରନ୍ତୁ ଏବଂ ସଙ୍ଗଠନ କରନ୍ତୁ',
        Keywords: [Object] },
     ' pa ': 
      { Name: 'ਨਵੀਂ ਵਿੰਡੋ',
        Comment: 'ਫਾਇਲਾਂ ਦੀ ਵਰਤੋਂ ਤੇ ਪਰਬੰਧ',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' pl ': 
      { Name: 'Nowe okno',
        Comment: 'Organizowanie plików',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' pt ': 
      { Name: 'Nova janela',
        Comment: 'Aceder e organizar ficheiros',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' pt_BR ': 
      { Name: 'Nova janela',
        Comment: 'Acesse e organize arquivos',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' ro ': 
      { Name: 'Fișiere',
        Comment: 'Accesați și organizați fișiere',
        Keywords: [Object] },
     ' ru ': 
      { Name: 'Создать окно',
        Comment: 'Управление файлами',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' sk ': 
      { Name: 'Nové okno',
        Comment: 'Prístupuje k súborom a organizuje ich',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' sl ': 
      { Name: 'Novo okno',
        Comment: 'Dostop in razvrščanje datotek',
        Keywords: [Object] },
     ' sr ': 
      { Name: 'Нови прозор',
        Comment: 'Приступите датотекама и организујте их',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' sr@latin ': 
      { Name: 'Novi prozor',
        Comment: 'Pristupite datotekama i organizujte ih',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' sv ': 
      { Name: 'Nytt fönster',
        Comment: 'Kom åt och organisera filer',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' ta ': 
      { Name: 'கோப்புகள்',
        Comment: 'கோப்புகளை அணுகு மற்றும் ஒழுங்கு படுத்து',
        Keywords: [Object] },
     ' te ': 
      { Name: 'దస్త్రాలు',
        Comment: 'దస్త్రాలను నిర్వహించండి మరియు ప్రాప్తించండి',
        Keywords: [Object] },
     ' tg ': 
      { Name: 'Файлҳо',
        Comment: 'Кушодан ва мураттабсозии файлҳо',
        Keywords: [Object] },
     ' th ': 
      { Name: 'หน้าต่างใหม่',
        Comment: 'เข้าถึงและจัดระเบียบแฟ้ม',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' tr ': 
      { Name: 'Yeni Pencere',
        Comment: 'Dosyalara erişin ve düzenleyin',
        Keywords: [Object] },
     ' ug ': 
      { Name: 'ھۆججەتلەر',
        Comment: 'ھۆججەتلەرنى تەشكىللەش ۋە زىيارەت',
        Keywords: [Object] },
     ' uk ': 
      { Name: 'Нове вікно',
        Comment: 'Доступ до файлів',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' vi ': 
      { Name: 'Cửa sổ mới',
        Comment: 'Truy cập và tổ chức tập tin',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' },
     ' zh_CN ': { Name: '新建窗口', Comment: '访问和组织文件', Keywords: [Object] },
     ' zh_HK ': { Name: '檔案', Comment: '存取與組織檔案', Keywords: [Object] },
     ' zh_TW ': 
      { Name: '新增視窗',
        Comment: '存取與組織檔案',
        Keywords: [Object],
        Icon: 'org.gnome.Nautilus' } },
  Name: 'Nautilus',
  Comment: 'Access and organize files',
  Keywords: [ 'folder', 'manager', 'explore', 'disk', 'filesystem' ],
  Exec: 'nautilus',
  Icon: 'org.gnome.Nautilus',
  Terminal: 'false',
  Type: 'Application',
  DBusActivatable: 'true',
  StartupNotify: 'true',
  Categories: [ 'GNOME', 'GTK', 'Utility', 'Core', 'FileManager' ],
  MimeType: [ 'inode/directory', 'application/x-gnome-saved-search' ],
  'X-GNOME-Bugzilla-Bugzilla': 'GNOME',
  'X-GNOME-Bugzilla-Product': 'nautilus',
  'X-GNOME-Bugzilla-Component': 'general',
  'X-GNOME-Bugzilla-Version': '@VERSION@',
  'X-GNOME-UsesNotifications': 'true',
  Actions: [ 'new-window' ] }

Known Issues & TODO

  • Right now Actions are not fully supported, they will be ignored if found in the desktop entry.
    • (Is/Will be) Fixed: Withing next could versions

Release History

  • 1.0.0 Initial release