Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 7 additions & 12 deletions ma-ram-monitor@lanote/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

A high-performance, customizable RAM monitor for the Cinnamon Desktop Environment. Designed with visual stability and system efficiency in mind.

![Moderately Advanced RAM Monitor Preview](screenshot.png)

## Key Features

- **Kernel-Direct Data**: Reads memory statistics directly from `/proc/meminfo`. This ensures maximum accuracy and near-zero CPU overhead compared to spawning external processes like `free` or `top`.
- **Visual Stability Control**: Includes a "Monospace Mode" with customizable string padding. This prevents the panel from "jumping" or shifting when memory values change (e.g., switching from 9.9% to 10.0%).
- **Customizable Alerts**: Visual blinking warnings when RAM usage exceeds (or available memory falls below) user-defined thresholds.
- **Smart Interaction**: Left-click to launch your favorite system monitor (GNOME System Monitor, htop, btop, etc.).
- **Unit Flexibility**: Support for both Binary (GiB) and Decimal (GB) units.
* **Asynchronous Engine:** Built using GJS `Promises` and `async/await` patterns. It fetches data from `/proc/meminfo` in the background, ensuring your Cinnamon panel never stutters or freezes.
* **Visual Stability Control**: Includes a "Monospace Mode" with customizable string padding. This prevents the panel from "jumping" or shifting when memory values change (e.g., switching from 9.9% to 10.0%).
* **Customizable Alerts**: Visual blinking warnings when RAM usage exceeds (or available memory falls below) user-defined thresholds.
* **Smart Interaction**: Left-click to launch your favorite system monitor (GNOME System Monitor, htop, btop, etc.).
* **Unit Flexibility**: Support for both Binary (GiB) and Decimal (GB) units.
* **Clean Code:** Fully compliant with modern GJS standards, using `TextDecoder` for byte-to-string conversion to ensure a warning-free log (`.xsession-errors`).
* **Localization:** Full support for translations (gettext).

## Installation

Expand All @@ -25,11 +25,6 @@ The applet utilizes the following Linux kernel metrics:
- **MemTotal**: Total usable RAM.
- **MemAvailable**: An estimate of how much memory is available for starting new applications, without swapping.

## Translations

- English (Default)
- Polish (Full support)

## License

This project is distributed under the same license as the Cinnamon Desktop environment (GPLv2+).
259 changes: 187 additions & 72 deletions ma-ram-monitor@lanote/files/ma-ram-monitor@lanote/applet.js

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"uuid": "ma-ram-monitor@lanote",
"name": "Moderately Advanced RAM Monitor",
"description": "A customizable RAM monitor. Reads memory statistics directly from the kernel's virtual filesystem (/proc/meminfo) for maximum accuracy and low overhead.",
"version": "1.0.0",
"version": "1.0.7",
"max-instances": -1,
"author": "Rezyder"
"author": "notoyeah"
}
14 changes: 7 additions & 7 deletions ma-ram-monitor@lanote/files/ma-ram-monitor@lanote/po/es.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: ma-ram-monitor@lanote 1.0.0\n"
"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-applets/"
"issues\n"
"POT-Creation-Date: 2026-02-01 17:50+0100\n"
"POT-Creation-Date: 2026-02-07 17:42+0100\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
Expand All @@ -18,30 +18,30 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.8\n"

#. applet.js:98
#. applet.js:168
msgid "RAM error"
msgstr "Error de RAM"

#. settings-schema.json->show-mode->options
#. applet.js:169
#. applet.js:221
msgid "Used RAM"
msgstr "RAM usada"

#. settings-schema.json->show-mode->options
#. applet.js:169
#. applet.js:221
msgid "Available RAM"
msgstr "RAM disponible"

#. applet.js:194
#. applet.js:279
#, javascript-format
msgid "Kernel read error: %s"
msgstr "Error de lectura del núcleo: %s"

#. applet.js:209
#. applet.js:294
msgid "RAM Applet error"
msgstr "Error del applet RAM"

#. applet.js:209
#. applet.js:294
#, javascript-format
msgid "Command \"%s\" not found."
msgstr "Comando \"%s\" no encontrado."
Expand Down
27 changes: 16 additions & 11 deletions ma-ram-monitor@lanote/files/ma-ram-monitor@lanote/po/fr.po
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@
msgid ""
msgstr ""
"Project-Id-Version: ma-ram-monitor@lanote 1.0.0\n"
"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-applets/issues\n"
"POT-Creation-Date: 2026-02-01 17:50+0100\n"
"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-applets/"
"issues\n"
"POT-Creation-Date: 2026-02-07 17:42+0100\n"
"PO-Revision-Date: 2026-02-04 10:07+0100\n"
"Last-Translator: FabRCT\n"
"Language-Team: none\n"
Expand All @@ -16,30 +17,30 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. applet.js:98
#. applet.js:168
msgid "RAM error"
msgstr "Erreur de RAM"

#. settings-schema.json->show-mode->options
#. applet.js:169
#. applet.js:221
msgid "Used RAM"
msgstr "RAM utilisée"

#. settings-schema.json->show-mode->options
#. applet.js:169
#. applet.js:221
msgid "Available RAM"
msgstr "RAM disponible"

#. applet.js:194
#. applet.js:279
#, javascript-format
msgid "Kernel read error: %s"
msgstr "Erreur de lecture du noyau : %s"

#. applet.js:209
#. applet.js:294
msgid "RAM Applet error"
msgstr "Erreur de l'applet RAM"

#. applet.js:209
#. applet.js:294
#, javascript-format
msgid "Command \"%s\" not found."
msgstr "Commande \"%s\" introuvable."
Expand Down Expand Up @@ -136,7 +137,9 @@ msgstr "Afficher la mémoire totale"

#. settings-schema.json->show-total->tooltip
msgid "Toggle whether to display total RAM capacity next to the current usage."
msgstr "Afficher ou non de la capacité totale de la RAM à côté de son utilisation actuelle."
msgstr ""
"Afficher ou non de la capacité totale de la RAM à côté de son utilisation "
"actuelle."

#. settings-schema.json->show-percent->description
msgid "Show current memory as percentage"
Expand Down Expand Up @@ -168,7 +171,8 @@ msgstr "Largeur stable (police à chasse fixe)"

#. settings-schema.json->use-monospace->tooltip
msgid "Forces a fixed-width font and prevents text jumping."
msgstr "Force l'utilisation d'une police à chasse fixe et empêche le saut de texte."
msgstr ""
"Force l'utilisation d'une police à chasse fixe et empêche le saut de texte."

#. settings-schema.json->padding-size->units
msgid "chars"
Expand All @@ -180,7 +184,8 @@ msgstr "Espaces réservés pour les nombres"

#. settings-schema.json->padding-size->tooltip
msgid "How many characters to reserve for numbers (e.g. 4 for '99.9')."
msgstr "Combien de caractères sont réservés aux nombres (par exemple, 4 pour '99,9')."
msgstr ""
"Combien de caractères sont réservés aux nombres (par exemple, 4 pour '99,9')."

#. settings-schema.json->layout_alerts->description
msgid "Warnings"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# MODERATELY ADVANCED RAM MONITOR
# This file is put in the public domain.
# notoyeah, 2016
# notoyeah, 2026
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: ma-ram-monitor@lanote 1.0.0\n"
"Project-Id-Version: ma-ram-monitor@lanote 1.0.7\n"
"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-applets/"
"issues\n"
"POT-Creation-Date: 2026-02-01 17:50+0100\n"
"POT-Creation-Date: 2026-02-07 17:42+0100\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
Expand All @@ -17,30 +17,30 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#. applet.js:98
#. applet.js:168
msgid "RAM error"
msgstr ""

#. settings-schema.json->show-mode->options
#. applet.js:169
#. applet.js:221
msgid "Used RAM"
msgstr ""

#. settings-schema.json->show-mode->options
#. applet.js:169
#. applet.js:221
msgid "Available RAM"
msgstr ""

#. applet.js:194
#. applet.js:279
#, javascript-format
msgid "Kernel read error: %s"
msgstr ""

#. applet.js:209
#. applet.js:294
msgid "RAM Applet error"
msgstr ""

#. applet.js:209
#. applet.js:294
#, javascript-format
msgid "Command \"%s\" not found."
msgstr ""
Expand Down
14 changes: 7 additions & 7 deletions ma-ram-monitor@lanote/files/ma-ram-monitor@lanote/po/pl.po
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: ma-ram-monitor@lanote 1.0.0\n"
"Report-Msgid-Bugs-To: https://github.com/linuxmint/cinnamon-spices-applets/"
"issues\n"
"POT-Creation-Date: 2026-02-01 17:50+0100\n"
"POT-Creation-Date: 2026-02-07 17:42+0100\n"
"PO-Revision-Date: 2026-02-01 17:50+0100\n"
"Last-Translator: Piotr Borkowski <rezyder@gmail.com>\n"
"Language-Team: Polish\n"
Expand All @@ -21,30 +21,30 @@ msgstr ""
"|| n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 3.4.2\n"

#. applet.js:98
#. applet.js:168
msgid "RAM error"
msgstr "Błąd RAM"

#. settings-schema.json->show-mode->options
#. applet.js:169
#. applet.js:221
msgid "Used RAM"
msgstr "Wykorzystana pamięć RAM"

#. settings-schema.json->show-mode->options
#. applet.js:169
#. applet.js:221
msgid "Available RAM"
msgstr "Dostępna pamięć RAM"

#. applet.js:194
#. applet.js:279
#, javascript-format
msgid "Kernel read error: %s"
msgstr "Błąd odczytu jądra: %s"

#. applet.js:209
#. applet.js:294
msgid "RAM Applet error"
msgstr "Błąd RAM Applet"

#. applet.js:209
#. applet.js:294
#, javascript-format
msgid "Command \"%s\" not found."
msgstr "Polecenie \"%s\" nie zostało znalezione."
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
.warning-blink {
background-color: rgba(255, 0, 0, 0.5);
border-radius: 2px;
transition: background-color 0.2s ease-in-out;
}
2 changes: 1 addition & 1 deletion ma-ram-monitor@lanote/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
"uuid": "ma-ram-monitor@lanote",
"name": "Moderately Advanced RAM Monitor",
"description": "A customizable RAM monitor. Reads memory statistics directly from the kernel's virtual filesystem (/proc/meminfo) for maximum accuracy and low overhead.",
"version": "1.0.0",
"version": "1.0.7",
"author": "notoyeah"
}