From 1320639d4e6b7c8cd8f861b26b2b854504775ef0 Mon Sep 17 00:00:00 2001 From: Jake Stanger Date: Wed, 30 Nov 2022 22:09:46 +0000 Subject: [PATCH] docs: add custom power menu example --- docs/_imgs/custom-power-menu.png | Bin 0 -> 12382 bytes docs/examples/custom/Power-Menu.md | 230 +++++++++++++++++++++++++++++ examples/config.corn | 6 +- 3 files changed, 233 insertions(+), 3 deletions(-) create mode 100644 docs/_imgs/custom-power-menu.png create mode 100644 docs/examples/custom/Power-Menu.md diff --git a/docs/_imgs/custom-power-menu.png b/docs/_imgs/custom-power-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..b90c9b476bf39459049ff2e5565ac78a76903868 GIT binary patch literal 12382 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 G!2bmz039R% literal 0 HcmV?d00001 diff --git a/docs/examples/custom/Power-Menu.md b/docs/examples/custom/Power-Menu.md new file mode 100644 index 0000000..9ec4051 --- /dev/null +++ b/docs/examples/custom/Power-Menu.md @@ -0,0 +1,230 @@ +Creates a button on the bar, which opens a popup. The popup contains a header, shutdown button, restart button, and uptime. + +![A screenshot of the custom power menu module open, with some other modules present on the bar](../../_imgs/custom-power-menu.png) + +## Configuration + +
+JSON + +```json +{ + "end": [ + { + "type": "clock" + }, + { + "bar": [ + { + "on_click": "popup:toggle", + "label": "", + "name": "power-btn", + "type": "button" + } + ], + "class": "power-menu", + "popup": [ + { + "orientation": "vertical", + "type": "box", + "widgets": [ + { + "label": "Power menu", + "name": "header", + "type": "label" + }, + { + "type": "box", + "widgets": [ + { + "class": "power-btn", + "on_click": "!shutdown now", + "label": "", + "type": "button" + }, + { + "class": "power-btn", + "on_click": "!reboot", + "label": "", + "type": "button" + } + ] + }, + { + "label": "Up: {{30000:uptime -p | cut -d ' ' -f2-}}", + "name": "uptime", + "type": "label" + } + ] + } + ], + "type": "custom" + } + ] +} +``` + +
+ +
+TOML + +```toml +[[end]] +type = 'clock' + +[[end]] +class = 'power-menu' +type = 'custom' + +[[end.bar]] +on_click = 'popup:toggle' +label = '' +name = 'power-btn' +type = 'button' + +[[end.popup]] +orientation = 'vertical' +type = 'box' + +[[end.popup.widgets]] +label = 'Power menu' +name = 'header' +type = 'label' + +[[end.popup.widgets]] +type = 'box' + +[[end.popup.widgets.widgets]] +class = 'power-btn' +on_click = '!shutdown now' +label = '''''' +type = 'button' + +[[end.popup.widgets.widgets]] +class = 'power-btn' +on_click = '!reboot' +label = '''''' +type = 'button' + +[[end.popup.widgets]] +label = '''Up: {{30000:uptime -p | cut -d ' ' -f2-}}''' +name = 'uptime' +type = 'label' +``` + +
+ +
+YAML + +```yaml +end: +- type: clock +- bar: + - on_click: popup:toggle + label:  + name: power-btn + type: button + class: power-menu + popup: + - orientation: vertical + type: box + widgets: + - label: Power menu + name: header + type: label + - type: box + widgets: + - class: power-btn + on_click: '!shutdown now' + label: + type: button + - class: power-btn + on_click: '!reboot' + label: + type: button + - label: 'Up: {{30000:uptime -p | cut -d '' '' -f2-}}' + name: uptime + type: label + type: custom +``` + +
+ +
+Corn + +```corn +let { + $power_menu = { + type = "custom" + class = "power-menu" + + bar = [ { type = "button" name="power-btn" label = "" on_click = "popup:toggle" } ] + + popup = [ { + type = "box" + orientation = "vertical" + widgets = [ + { type = "label" name = "header" label = "Power menu" } + { + type = "box" + widgets = [ + { type = "button" class="power-btn" label = "" on_click = "!shutdown now" } + { type = "button" class="power-btn" label = "" on_click = "!reboot" } + ] + } + { type = "label" name = "uptime" label = "Up: {{30000:uptime -p | cut -d ' ' -f2-}}" } + ] + } ] + } +} in { + end = [ $power_menu ] +} +``` +
+ +## Styling + +```css +.power-menu { + margin-left: 10px; +} + +.power-menu #power-btn { + color: white; + background-color: #2d2d2d; +} + +.power-menu #power-btn:hover { + background-color: #1c1c1c; +} + +.popup-power-menu { + padding: 1em; +} + +.popup-power-menu #header { + color: white; + font-size: 1.4em; + border-bottom: 1px solid white; + padding-bottom: 0.4em; + margin-bottom: 0.8em; +} + +.popup-power-menu .power-btn { + color: white; + background-color: #2d2d2d; + border: 1px solid white; + padding: 0.6em 1em; +} + +.popup-power-menu .power-btn + .power-btn { + margin-left: 1em; +} + +.popup-power-menu .power-btn:hover { + background-color: #1c1c1c; +} +``` \ No newline at end of file diff --git a/examples/config.corn b/examples/config.corn index 677d6f8..cd293e9 100644 --- a/examples/config.corn +++ b/examples/config.corn @@ -60,11 +60,11 @@ let { { type = "box" widgets = [ - { type = "button" class="power-btn" label = "" on_click = "!shutdown now" } - { type = "button" class="power-btn" label = "" on_click = "!reboot" } + { type = "button" class="power-btn" label = "" on_click = "!shutdown now" } + { type = "button" class="power-btn" label = "" on_click = "!reboot" } ] } - { type = "label" name = "uptime" label = "Uptime: {{30000:uptime -p | cut -d ' ' -f2-}}" } + { type = "label" name = "uptime" label = "Up: {{30000:uptime -p | cut -d ' ' -f2-}}" } ] } ] }