Skip to content
Merged
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
2 changes: 2 additions & 0 deletions content/lua/guides/context-menus.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ github:subscribe(easybar.events.context_menu.clicked, function(event)
end)
```

[![Lua widget with a native nested context menu](../../assets/custom_context.png){ .screenshot-compact .screenshot-context }](../../assets/custom_context.png)

Selectable entries require a non-empty `id` and `title`. `enabled` defaults to `true`; disabled
entries remain visible but cannot emit an action. `checked` defaults to `false` and controls the
native checkmark. A separator uses `{ separator = true }`. A submenu heading requires a `title`
Expand Down
4 changes: 4 additions & 0 deletions content/products/easybar/configuration/builtins.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,8 @@ The generated [Configuration Reference](reference.md) lists every key and defaul

Interactive built-ins expose their common settings and native actions directly from the bar:

[![CPU widget with history graph](../../../assets/cpu.png){ .screenshot-compact .screenshot-cpu }](../../../assets/cpu.png)

| Built-in | Context-menu controls |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Battery | Display mode, color mode, and refresh. |
Expand All @@ -123,6 +125,8 @@ enable or disable any top-level built-in widget. Checked items are enabled. Each
immediately updates the corresponding `builtins.<widget>.enabled` value in `config.toml` and reloads
the bar, while preserving comments, whitespace, and unrelated settings.

[![Native Widgets menu with enabled built-ins](../../../assets/native_widgets.png){ .screenshot-compact .screenshot-native-widgets }](../../../assets/native_widgets.png)

Every visible native widget also has a right-click context menu with **Reload Widget** and
**Disable Widget**. Disabling is written to the active config file immediately; use **Native
Widgets** from the bar or controller menu to enable it again. Widgets with interactive settings add
Expand Down
14 changes: 14 additions & 0 deletions content/products/easybar/configuration/builtins/calendar.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,20 @@

The calendar built-in combines a configurable time/date anchor with month, upcoming-event, appointment, and composer popups. Calendar data and permission handling belong to the separately installed calendar agent.

<div class="easybar-showcase" markdown>

<figure markdown>
[![Calendar month popup](../../../../assets/month.png){ .screenshot-compact .screenshot-month }](../../../../assets/month.png)
<figcaption>Month view with event indicators and the day's appointments</figcaption>
</figure>

<figure markdown>
[![Upcoming calendar events](../../../../assets/upcoming.png){ .screenshot-compact .screenshot-upcoming }](../../../../assets/upcoming.png)
<figcaption>Upcoming events grouped into a compact agenda</figcaption>
</figure>

</div>

## Anchor

The anchor uses an ordered list of `time` and `date` fields. A row places them beside each other, a column stacks them, and a one-element list creates a single-field anchor.
Expand Down
2 changes: 2 additions & 0 deletions content/products/easybar/configuration/builtins/inbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ The native inbox collects structured messages published by Lua widgets or the `e
into one bar item. It displays the total unread count and can group messages by source, date,
category, severity, or not at all.

[![EasyBar native inbox with grouped notifications](../../../../assets/inbox.png){ .screenshot-compact .screenshot-inbox }](../../../../assets/inbox.png)

```toml
[builtins.inbox]
enabled = true
Expand Down
14 changes: 14 additions & 0 deletions content/products/easybar/configuration/builtins/spaces.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,20 @@ The native spaces widget renders AeroSpace workspaces and their visible applicat
- `[builtins.spaces.text]` controls labels.
- `[builtins.spaces.icons]` controls application icons.

<div class="easybar-showcase" markdown>

<figure markdown>
[![EasyBar Spaces widget with workspace labels](../../../../assets/spaces.png){ .screenshot-compact .screenshot-spaces }](../../../../assets/spaces.png)
<figcaption>Workspace labels with the focused space highlighted</figcaption>
</figure>

<figure markdown>
[![EasyBar Spaces widget with front-app icons](../../../../assets/spaces_front_app.png){ .screenshot-compact .screenshot-spaces-front-app }](../../../../assets/spaces_front_app.png)
<figcaption>Workspace labels combined with visible application icons</figcaption>
</figure>

</div>

## Collapsed inactive spaces

The content settings interact as follows:
Expand Down
2 changes: 2 additions & 0 deletions content/products/easybar/configuration/builtins/wifi.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

The native Wi-Fi widget always renders signal bars as its anchor. Its content mode controls whether additional network values appear inline or in a popup.

[![EasyBar Wi-Fi details popup](../../../../assets/wifi.png){ .screenshot-compact .screenshot-wifi }](../../../../assets/wifi.png)

```toml
[builtins.wifi]
enabled = true
Expand Down
26 changes: 26 additions & 0 deletions content/products/easybar/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,32 @@ Use EasyBar when you want:
- the Calendar and Network helper agents for permission-sensitive data;
- Lua widgets and Widget Store packages beside the native built-ins.

## See EasyBar in action

<div class="easybar-showcase" markdown>

<figure markdown>
[![Calendar month popup](../../assets/month.png){ .screenshot-compact .screenshot-month }](../../assets/month.png)
<figcaption>Calendar month view with event indicators</figcaption>
</figure>

<figure markdown>
[![Upcoming calendar events](../../assets/upcoming.png){ .screenshot-compact .screenshot-upcoming }](../../assets/upcoming.png)
<figcaption>A compact agenda for upcoming events</figcaption>
</figure>

<figure markdown>
[![EasyBar native inbox](../../assets/inbox.png){ .screenshot-compact .screenshot-inbox }](../../assets/inbox.png)
<figcaption>One actionable inbox for multiple sources</figcaption>
</figure>

<figure markdown>
[![EasyBar Wi-Fi details](../../assets/wifi.png){ .screenshot-compact .screenshot-wifi }](../../assets/wifi.png)
<figcaption>Native network details at a glance</figcaption>
</figure>

</div>

## Default paths

```text
Expand Down
2 changes: 2 additions & 0 deletions content/products/easybar/runtime/control.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ EasyBar shows a persistent controller icon in the macOS menu bar by default. It

The controller and an empty-area right-click on the bar share the common runtime, native-widget, theme, and file actions. The controller additionally owns application lifecycle, helper-agent, and quit actions.

[![EasyBar menu-bar controller](../../../assets/topbar_app.png){ .screenshot-compact .screenshot-topbar }](../../../assets/topbar_app.png)

Disable the controller icon with:

```toml
Expand Down