mirror of
https://github.com/jimeh/dotfiles.git
synced 2026-02-19 11:06:41 +00:00
feat(xbar/brew-services): improve settings and style
This commit is contained in:
@@ -2,11 +2,11 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
# <xbar.title>Brew Services</xbar.title>
|
# <xbar.title>Brew Services</xbar.title>
|
||||||
# <xbar.version>v3.0.2</xbar.version>
|
# <xbar.version>v3.1.0</xbar.version>
|
||||||
# <xbar.author>Jim Myhrberg</xbar.author>
|
# <xbar.author>Jim Myhrberg</xbar.author>
|
||||||
# <xbar.author.github>jimeh</xbar.author.github>
|
# <xbar.author.github>jimeh</xbar.author.github>
|
||||||
# <xbar.desc>List and manage Homebrew Services</xbar.desc>
|
# <xbar.desc>List and manage Homebrew Services</xbar.desc>
|
||||||
# <xbar.image>https://i.imgur.com/gIQki4q.png</xbar.image>
|
# <xbar.image>https://i.imgur.com/PusYz5W.png</xbar.image>
|
||||||
# <xbar.dependencies>ruby</xbar.dependencies>
|
# <xbar.dependencies>ruby</xbar.dependencies>
|
||||||
# <xbar.abouturl>https://github.com/jimeh/dotfiles/tree/main/xbar</xbar.abouturl>
|
# <xbar.abouturl>https://github.com/jimeh/dotfiles/tree/main/xbar</xbar.abouturl>
|
||||||
#
|
#
|
||||||
@@ -302,11 +302,32 @@ module Brew
|
|||||||
|
|
||||||
printer.item("#{prefix}#{visible.started.size}", dropdown: false)
|
printer.item("#{prefix}#{visible.started.size}", dropdown: false)
|
||||||
printer.sep
|
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.item(status_label(visible)) do |printer|
|
||||||
printer.sep
|
printer.sep
|
||||||
printer.item(':hourglass: Refresh', refresh: true)
|
printer.item(
|
||||||
|
':hourglass: Refresh',
|
||||||
|
alt: ':hourglass: Refresh (⌘R)',
|
||||||
|
refresh: true
|
||||||
|
)
|
||||||
|
|
||||||
unless all_services.empty?
|
unless all_services.empty?
|
||||||
printer.sep
|
printer.sep
|
||||||
@@ -339,13 +360,6 @@ module Brew
|
|||||||
printer.item("Restart All (#{visible.size} services)")
|
printer.item("Restart All (#{visible.size} services)")
|
||||||
end
|
end
|
||||||
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
|
end
|
||||||
|
|
||||||
print_services(printer, visible)
|
print_services(printer, visible)
|
||||||
@@ -426,6 +440,7 @@ module Brew
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# rubocop:disable Style/GuardClause
|
||||||
def print_service_groups(printer, services)
|
def print_service_groups(printer, services)
|
||||||
if services.started.size.positive?
|
if services.started.size.positive?
|
||||||
printer.sep
|
printer.sep
|
||||||
@@ -456,12 +471,13 @@ module Brew
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
# rubocop:enable Style/GuardClause
|
||||||
|
|
||||||
def print_service(printer, service)
|
def print_service(printer, service)
|
||||||
icon = if service.started?
|
icon = if service.started?
|
||||||
':white_check_mark:'
|
'🟢'
|
||||||
elsif service.stopped?
|
elsif service.stopped?
|
||||||
':ballot_box_with_check:'
|
':red_circle:'
|
||||||
elsif service.error?
|
elsif service.error?
|
||||||
':warning:'
|
':warning:'
|
||||||
elsif service.unknown_status?
|
elsif service.unknown_status?
|
||||||
|
|||||||
Reference in New Issue
Block a user