From 42dd36c6040f8ca7a6103a653c02224a7df85647 Mon Sep 17 00:00:00 2001
From: Nuno Silva <nuno.m.ribeiro.silva@tecnico.ulisboa.pt>
Date: Sun, 11 Apr 2021 19:30:30 +0100
Subject: ram-widget: support custom colors

---
 ram-widget/ram-widget.lua | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/ram-widget/ram-widget.lua b/ram-widget/ram-widget.lua
index 49a7d3b..1b5cdcf 100644
--- a/ram-widget/ram-widget.lua
+++ b/ram-widget/ram-widget.lua
@@ -11,13 +11,18 @@ local ramgraph_widget = {}
 local function worker(user_args)
     local args = user_args or {}
     local timeout = args.timeout or 1
+    local color_used = args.color_used or beautiful.bg_urgent
+    local color_free = args.color_free or beautiful.fg_normal
+    local color_buf  = args.color_buf  or beautiful.border_color_active
+    local widget_show_buf = args.widget_show_buf or false
 
     --- Main ram widget shown on wibar
     ramgraph_widget = wibox.widget {
         border_width = 0,
         colors = {
-           beautiful.bg_urgent, -- used
-           beautiful.fg_normal  -- free
+           color_used,
+           color_free,
+           color_buf,
         },
         display_labels = false,
         forced_width = 25,
@@ -33,9 +38,9 @@ local function worker(user_args)
           forced_height = 200,
           forced_width = 400,
           colors = {
-             beautiful.bg_urgent,           -- used
-             beautiful.fg_normal,           -- free
-             beautiful.border_color_active, -- buf_cache
+             color_used,
+             color_free,
+             color_buf,  -- buf_cache
           },
        },
        shape = gears.shape.rounded_rect,
@@ -56,7 +61,11 @@ local function worker(user_args)
             total, used, free, shared, buff_cache, available, total_swap, used_swap, free_swap =
                 stdout:match('(%d+)%s*(%d+)%s*(%d+)%s*(%d+)%s*(%d+)%s*(%d+)%s*Swap:%s*(%d+)%s*(%d+)%s*(%d+)')
 
-            widget.data = { used, total-used }
+            if widget_show_buf then
+                widget.data = { used, free, buff_cache }
+            else
+                widget.data = { used, total-used }
+            end
 
             if popup.visible then
                popup:get_widget().data_list = {
-- 
cgit v1.2.3


From 94f9aef1c59fd5cee1b30cc5afac2808f3295e32 Mon Sep 17 00:00:00 2001
From: Nuno Silva <nuno.m.ribeiro.silva@tecnico.ulisboa.pt>
Date: Sun, 11 Apr 2021 19:40:51 +0100
Subject: ram-widget: document arguments

---
 ram-widget/README.md | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/ram-widget/README.md b/ram-widget/README.md
index 461aa99..8f8eee4 100644
--- a/ram-widget/README.md
+++ b/ram-widget/README.md
@@ -4,6 +4,18 @@ This widget shows the RAM usage. When clicked another widget appears with more d
 
 ![screenshot](./out.gif)
 
+## Customization
+
+It is possible to customize widget by providing a table with all or some of the following config parameters:
+
+| Name | Default | Description |
+|---|---|---|
+| `color_used` | `beautiful.bg_urgent` | Color for used RAM |
+| `color_free` | `beautiful.fg_normal` | Color for free RAM |
+| `color_buf`  | `beautiful.border_color_active` | Color for buffers/cache |
+| `widget_show_buf`  | `false` | Whether to display buffers/cache separately in the tray widget. If `false`, buffers/cache are considered free RAM. |
+| `timeout`    | 1 | How often (in seconds) the widget refreshes |
+
 ## Installation
 
 Please refer to the [installation](https://github.com/streetturtle/awesome-wm-widgets#installation) section of the repo.
\ No newline at end of file
-- 
cgit v1.2.3