From ef48ac629aed9ff6feb70013a7aa88de0bd0d83f Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Thu, 9 Mar 2023 22:34:57 +0000 Subject: [PATCH] feat(xbar/brew-services): improve settings and style --- xbar/brew-services.10m.rb | 42 +++++++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/xbar/brew-services.10m.rb b/xbar/brew-services.10m.rb index 3d4b819..9fbe534 100755 --- a/xbar/brew-services.10m.rb +++ b/xbar/brew-services.10m.rb @@ -2,11 +2,11 @@ # frozen_string_literal: true # Brew Services -# v3.0.2 +# v3.1.0 # Jim Myhrberg # jimeh # List and manage Homebrew Services -# https://i.imgur.com/gIQki4q.png +# https://i.imgur.com/PusYz5W.png # ruby # https://github.com/jimeh/dotfiles/tree/main/xbar # @@ -302,11 +302,32 @@ module Brew printer.item("#{prefix}#{visible.started.size}", dropdown: false) printer.sep - printer.item('Brew Services') + printer.item('Brew Services') do |printer| + printer.item('Settings') + printer.sep + + if use_groups? + printer.item( + ':white_check_mark: Use groups', + rpc: ['disable_groups'], + refresh: true + ) + else + printer.item( + ':ballot_box_with_check: Use groups', + rpc: ['enable_groups'], + refresh: true + ) + end + end printer.item(status_label(visible)) do |printer| printer.sep - printer.item(':hourglass: Refresh', refresh: true) + printer.item( + ':hourglass: Refresh', + alt: ':hourglass: Refresh (⌘R)', + refresh: true + ) unless all_services.empty? printer.sep @@ -339,13 +360,6 @@ module Brew printer.item("Restart All (#{visible.size} services)") end end - - printer.sep - if use_groups? - printer.item('Disable groups', rpc: ['disable_groups'], refresh: true) - else - printer.item('Enable groups', rpc: ['enable_groups'], refresh: true) - end end print_services(printer, visible) @@ -426,6 +440,7 @@ module Brew end end + # rubocop:disable Style/GuardClause def print_service_groups(printer, services) if services.started.size.positive? printer.sep @@ -456,12 +471,13 @@ module Brew end end end + # rubocop:enable Style/GuardClause def print_service(printer, service) icon = if service.started? - ':white_check_mark:' + '🟢' elsif service.stopped? - ':ballot_box_with_check:' + ':red_circle:' elsif service.error? ':warning:' elsif service.unknown_status?