Skip to content

Conversation

@iberniex
Copy link
Contributor

@iberniex iberniex commented May 29, 2025

Sorry for the delay, this is based on the enhancment issue #336

The following things were done based on the tasks assigned to myself:

  • nativePlayer search
    • Spotify
    • Apple Music - Music
    • Tidal - not natively supported for applescript
  • browserPlayer (The active tab has to be youtube or spotify)
    • Google Chrome
    • Safari
    • Firefox ( not applescript supported )
    • Chromium and Firefox variants (arc, zed) - (not applescript supported)

Contains a remote feature but the apps only supported are:

  • spotify
  • music (apple music)

@Theoreticallyhugo
Copy link
Collaborator

hi,
thank you very much for your contribution! I didn't know that all of this was possible.
is this pr ready to be merged or a draft, considering that you haven't finished all the tasks?
since i had some issues getting your widget to work at first, i'd like to request @ethancedwards8 to review this too.
here's some feedback i gathered:

  • the @dracula-mac-player-length option is undocumented
  • you are mixing tab and spaces based indentation. that's no big issue though and i can fix that later.
  • i've had some issues with spotify not closing since using the script, though that may be an issue on my end...
  • i've tested native spotify and apple music as well as spotify via safari and can confirm that they're working ... after some fiddling. i really don't know what made it work in the end.
  • in line 31 you got an else that is immediately followed by and end if. i guess that won't hurt, but i wanted to point it out in case it's not intentional or could hurt. after all i've never used appleScript.

so far i have not tested:

  • chrome support
  • any other website than spotify in safari
  • playback control

@coderabbitai
Copy link

coderabbitai bot commented Jun 21, 2025

📝 Walkthrough

Walkthrough

A new "mac-player" plugin feature for tmux was introduced, including comprehensive documentation, a Bash script for macOS media control and display, and integration into the Dracula theme script. The documentation and scripts detail configuration, player detection, remote control keybindings, and visual customization for both native and browser-based music players.

Changes

File(s) Change Summary
docs/CONFIG.md Added detailed "mac-player" plugin documentation covering supported apps, remote control features, configuration options, TOC update, and formatting improvements.
scripts/dracula.sh Added "mac-player" plugin support: new purple color variable, plugin case reading tmux colors, and execution of mac-player.sh.
scripts/mac-player.sh New Bash script implementing macOS media player detection, track info retrieval, caching, remote control keybindings, and configuration handling.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant tmux
    participant dracula.sh
    participant mac-player.sh
    participant AppleScript
    participant MediaApp

    User->>tmux: Uses tmux with Dracula theme
    tmux->>dracula.sh: Requests plugin status
    dracula.sh->>mac-player.sh: Executes for "mac-player"
    mac-player.sh->>AppleScript: Queries active media player
    AppleScript->>MediaApp: Retrieves playback info
    MediaApp-->>AppleScript: Returns track/status
    AppleScript-->>mac-player.sh: Returns info
    mac-player.sh->>dracula.sh: Provides formatted track/status
    dracula.sh->>tmux: Displays music info in status bar
    User->>tmux: (Optional) Uses keybinding for media control
    tmux->>mac-player.sh: Triggers remote control command
    mac-player.sh->>AppleScript: Sends play/pause/next/back
    AppleScript->>MediaApp: Executes control command
Loading
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai auto-generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Nitpick comments (5)
scripts/dracula.sh (2)

59-59: Suppress ShellCheck warning for unused purple variable

The purple color variable is used indirectly via indirection (${!colors[0]}), so add a ShellCheck directive to silence SC2034.

-  purple="#b166cc"
+# shellcheck disable=SC2034
+  purple="#b166cc"

273-275: Align and harden the mac-player plugin block

Ensure consistent indentation, quote variables in tests, and prevent word splitting in the command substitution.

-    elif [ $plugin = "mac-player" ]; then
-      IFS=' ' read -r -a colors  <<< $(get_tmux_option "@dracula-mac-player-colors" "purple dark_gray")
-      script="#($current_dir/mac-player.sh)"
+    elif [ "$plugin" = "mac-player" ]; then
+      IFS=' ' read -r -a colors <<< "$(get_tmux_option "@dracula-mac-player-colors" "purple dark_gray")"
+      script="#(${current_dir}/mac-player.sh)"
scripts/mac-player.sh (3)

96-96: Use standard AppleScript comparison operator

AppleScript may not recognize the Unicode '≥'. Replace it with the ASCII operator >= for compatibility.

-      if (count of titleParts) ≥ 2 then
+      if (count of titleParts) >= 2 then

192-193: Improve cache file path scoping

Using a fixed /tmp/tmux_mac_player_cache can lead to conflicts between sessions and users. Generate a unique cache file per session or user.

-local cache_file="/tmp/tmux_mac_player_cache"
+cache_file="${TMPDIR:-/tmp}/tmux_mac_player_${TMUX_PANE:-$$}"

224-227: Use file modification time for cache staleness

stat -f %c returns inode change time. Use %m for modification time to reliably detect staleness.

-  if [ ! -f "$cache_file" ] || [ $(($(date +%s) - $(stat -f%c "$cache_file"))) -ge "$RATE" ]; then
+  if [ ! -f "$cache_file" ] || [ $(( $(date +%s) - $(stat -f%m "$cache_file") )) -ge "$RATE" ]; then
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3323120 and 405a4d0.

📒 Files selected for processing (3)
  • docs/CONFIG.md (15 hunks)
  • scripts/dracula.sh (2 hunks)
  • scripts/mac-player.sh (1 hunks)
🧰 Additional context used
🪛 Shellcheck (0.10.0)
scripts/dracula.sh

[warning] 59-59: purple appears unused. Verify use (or export if used externally).

(SC2034)


[warning] 274-274: Quote this to prevent word splitting.

(SC2046)

🪛 LanguageTool
docs/CONFIG.md

[uncategorized] ~219-~219: Possible missing comma found.
Context: .... _make sure to include the compact-alt widget as you won't be able to switch out of n...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~316-~316: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ...orking directory, where the path of the users home directory will be shortened to ~...

(AI_HYDRA_LEO_APOSTROPHE_S_XS)


[uncategorized] ~339-~339: It appears that hyphens are missing in the adjective “up-to-date”.
Context: ...` Set symbol to use for when branch is up to date with HEAD ```bash # default is ✓. Avoi...

(UP_TO_DATE_HYPHEN)


[grammar] ~382-~382: The operating system from Apple is written “macOS”.
Context: ... - partial support for apple m-chips on MacOS. - partial support for amd and intel on...

(MAC_OS)


[uncategorized] ~436-~436: It appears that hyphens are missing in the adjective “up-to-date”.
Context: ...` Set symbol to use for when branch is up to date with HEAD ```bash #default is ✓.Avoid ...

(UP_TO_DATE_HYPHEN)


[grammar] ~514-~514: The modal verb ‘should’ requires the verb’s base form.
Context: ...c - Browser Players ( Active Tab should consists of this players ): - youtube.com/watc...

(MD_BASEFORM)


[grammar] ~514-~514: The singular determiner ‘this’ may not agree with the plural noun ‘players’. Did you mean “these”?
Context: ...Players ( Active Tab should consists of this players ): - youtube.com/watch - op...

(THIS_NNS)


[typographical] ~575-~575: Usually, there’s no comma before “if”.
Context: ...nly display the wifi you're connected to, if it provides internet access!** You can...

(IF_NO_COMMA)


[style] ~577-~577: Consider a more concise word here.
Context: ...** You can use different hosts to ping in order to check for a wifi or wired connection. I...

(IN_ORDER_TO_PREMIUM)


[grammar] ~608-~608: The verb form ‘are’ does not seem to match the subject ‘name’.
Context: ...rface. The most common interfaces name are eth0 for a wired connection and `wlan...

(SUBJECT_VERB_AGREEMENT)


[grammar] ~695-~695: Probable usage error. Use “and” after ‘both’.
Context: ... combination, both of the local machine as well as when connected via ssh. To output noth...

(BOTH_AS_WELL_AS)

🪛 markdownlint-cli2 (0.17.2)
docs/CONFIG.md

327-327: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


594-594: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


671-671: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


711-711: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


733-733: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


735-735: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


777-777: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


783-783: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


793-793: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

Comment on lines 152 to 157
if [[ $len > $std ]]; then
result="${str:0:std}"
result+="..."
else
result=$str
fi
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix numeric comparison and substring expansion in sliceTrack

Use a numeric comparison (-gt or arithmetic context) and proper variable expansion for the substring length.

 function sliceTrack() {
   local str="$1"
   local std="$2"
-  local len=${#str}

-  if [[ $len > $std ]]; then
-    result="${str:0:std}"
+  local len=${#str}

+  if (( len > std )); then
+    result="${str:0:$std}"
     result+="..."
   else
     result=$str
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
if [[ $len > $std ]]; then
result="${str:0:std}"
result+="..."
else
result=$str
fi
if (( len > std )); then
result="${str:0:$std}"
result+="..."
else
result=$str
fi
🤖 Prompt for AI Agents
In scripts/mac-player.sh around lines 152 to 157, the comparison between $len
and $std uses a string comparison operator (>) instead of a numeric comparison,
and the substring expansion uses an unquoted variable which can cause issues.
Replace the string comparison with a numeric comparison using -gt or arithmetic
context, and ensure the substring length variable is properly expanded with
braces and no quotes to correctly slice the string.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (2)
docs/CONFIG.md (2)

25-25: Duplicate: TOC anchor fix applied
The [mac-player](#mac-player---up) link now matches the heading anchor. No further changes needed.


548-551: Fix typo in tmux option name
The option is declared as @dracule-mac-player-app but should use the dracula prefix.

- set -g @dracule-mac-player-app "Music"
+ set -g @dracula-mac-player-app "Music"
🧹 Nitpick comments (2)
docs/CONFIG.md (2)

511-517: Clarify browser support and correct grammar
The phrase “Active Tab should consists of this players” is ungrammatical and doesn’t call out browser requirements.

Proposed diff:

 ### mac-player - [up](#table-of-contents)
 This widget and script displays music information provided by the native macOS players.

 The current supported apps are:

 - Native Players:
   - Spotify
   - Music - Apple Music
 - Browser Players ( Active Tab should consists of this players ):
-  - youtube.com/watch
-  - open.spotify.com
+  - Browser Players (active tab must match one of these URLs and requires Google Chrome or Safari):
+    - youtube.com/watch
+    - open.spotify.com

540-543: Specify code block language
The remote‐activation block lacks a language hint. For consistency, change the opening fence to ​```bash.

- ```
+ ```bash
 set -g @dracula-mac-player-remote true

</blockquote></details>

</blockquote></details>

<details>
<summary>📜 Review details</summary>

**Configuration used: CodeRabbit UI**
**Review profile: CHILL**
**Plan: Pro**


<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between 405a4d08edb00bd247926c00c0a7e8b75a0181c8 and 3e86f3a5faa42a240673c2ad6429ef4f425706a6.

</details>

<details>
<summary>📒 Files selected for processing (2)</summary>

* `docs/CONFIG.md` (15 hunks)
* `scripts/mac-player.sh` (1 hunks)

</details>

<details>
<summary>🚧 Files skipped from review as they are similar to previous changes (1)</summary>

* scripts/mac-player.sh

</details>

<details>
<summary>🧰 Additional context used</summary>

<details>
<summary>🪛 LanguageTool</summary>

<details>
<summary>docs/CONFIG.md</summary>

[uncategorized] ~219-~219: Possible missing comma found.
Context: .... _make sure to include the compact-alt widget as you won't be able to switch out of n...

(AI_HYDRA_LEO_MISSING_COMMA)

---

[uncategorized] ~316-~316: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ...orking directory, where the path of the users home directory will be shortened to `~`...

(AI_HYDRA_LEO_APOSTROPHE_S_XS)

---

[uncategorized] ~339-~339: It appears that hyphens are missing in the adjective “up-to-date”.
Context: ...`  Set symbol to use for when branch is up to date with HEAD  ```bash # default is ✓. Avoi...

(UP_TO_DATE_HYPHEN)

---

[grammar] ~382-~382: The operating system from Apple is written “macOS”.
Context: ... - partial support for apple m-chips on MacOS. - partial support for amd and intel on...

(MAC_OS)

---

[uncategorized] ~436-~436: It appears that hyphens are missing in the adjective “up-to-date”.
Context: ...`  Set symbol to use for when branch is up to date with HEAD  ```bash #default is ✓.Avoid ...

(UP_TO_DATE_HYPHEN)

---

[grammar] ~514-~514: The modal verb ‘should’ requires the verb’s base form.
Context: ...c - Browser Players ( Active Tab should consists of this players ):   - youtube.com/watc...

(MD_BASEFORM)

---

[grammar] ~514-~514: The singular determiner ‘this’ may not agree with the plural noun ‘players’. Did you mean “these”?
Context: ...Players ( Active Tab should consists of this players ):   - youtube.com/watch   - op...

(THIS_NNS)

---

[typographical] ~581-~581: Usually, there’s no comma before “if”.
Context: ...nly display the wifi you're connected to, if it provides internet access!**  You can...

(IF_NO_COMMA)

---

[style] ~583-~583: Consider a more concise word here.
Context: ...**  You can use different hosts to ping in order to check for a wifi or wired connection. I...

(IN_ORDER_TO_PREMIUM)

---

[grammar] ~614-~614: The verb form ‘are’ does not seem to match the subject ‘name’.
Context: ...rface.  The most common interfaces name are `eth0` for a wired connection and `wlan...

(SUBJECT_VERB_AGREEMENT)

---

[grammar] ~701-~701: Probable usage error. Use “and” after ‘both’.
Context: ... combination, both of the local machine as well as when connected via ssh.  To output noth...

(BOTH_AS_WELL_AS)

</details>

</details>
<details>
<summary>🪛 markdownlint-cli2 (0.17.2)</summary>

<details>
<summary>docs/CONFIG.md</summary>

327-327: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)

---

600-600: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

---

677-677: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

---

717-717: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

---

739-739: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)

---

741-741: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

---

783-783: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

---

789-789: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

---

799-799: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

</details>

</details>

</details>

<details>
<summary>🔇 Additional comments (4)</summary><blockquote>

<details>
<summary>docs/CONFIG.md (4)</summary>

`4-4`: **Skip trivial formatting change**  
The inserted blank line after the “## Table of Contents” heading is a minor style tweak.

---

`505-523`: **Approve mac-player section introduction**  
The new plugin overview is clear, follows the existing style, and correctly lists supported native and browser players along with a note on refresh rate.

---

`528-532`: **Approve icon customization example**  
The play/pause icon variables are documented correctly and follow the same pattern as other plugins.

---

`536-539`: **Approve length customization example**  
The `@dracula-mac-player-length` option is properly documented with a default value.

</details>

</blockquote></details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
docs/CONFIG.md (1)

505-565: Review mac-player plugin documentation

  • Verify that each @dracula-mac-player-* option name and its default value in this section aligns exactly with the defaults and flags implemented in scripts/mac-player.sh.
  • Grammar nit: “This widget and script displays music information…” → “This widget and script display music information…”
  • UX suggestion: consider renaming @dracula-mac-player-remote-pp to something more descriptive (e.g., @dracula-mac-player-play-pause) to match the style of other keybinding options.
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3e86f3a and 829c676.

📒 Files selected for processing (1)
  • docs/CONFIG.md (15 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/CONFIG.md

[uncategorized] ~219-~219: Possible missing comma found.
Context: .... _make sure to include the compact-alt widget as you won't be able to switch out of n...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~316-~316: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ...orking directory, where the path of the users home directory will be shortened to ~...

(AI_HYDRA_LEO_APOSTROPHE_S_XS)


[uncategorized] ~339-~339: It appears that hyphens are missing in the adjective “up-to-date”.
Context: ...` Set symbol to use for when branch is up to date with HEAD ```bash # default is ✓. Avoi...

(UP_TO_DATE_HYPHEN)


[grammar] ~382-~382: The operating system from Apple is written “macOS”.
Context: ... - partial support for apple m-chips on MacOS. - partial support for amd and intel on...

(MAC_OS)


[uncategorized] ~436-~436: It appears that hyphens are missing in the adjective “up-to-date”.
Context: ...` Set symbol to use for when branch is up to date with HEAD ```bash #default is ✓.Avoid ...

(UP_TO_DATE_HYPHEN)


[typographical] ~581-~581: Usually, there’s no comma before “if”.
Context: ...nly display the wifi you're connected to, if it provides internet access!** You can...

(IF_NO_COMMA)


[style] ~583-~583: Consider a more concise word here.
Context: ...** You can use different hosts to ping in order to check for a wifi or wired connection. I...

(IN_ORDER_TO_PREMIUM)


[grammar] ~614-~614: The verb form ‘are’ does not seem to match the subject ‘name’.
Context: ...rface. The most common interfaces name are eth0 for a wired connection and `wlan...

(SUBJECT_VERB_AGREEMENT)


[grammar] ~701-~701: Probable usage error. Use “and” after ‘both’.
Context: ... combination, both of the local machine as well as when connected via ssh. To output noth...

(BOTH_AS_WELL_AS)

🪛 markdownlint-cli2 (0.17.2)
docs/CONFIG.md

327-327: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


600-600: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


677-677: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


717-717: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


739-739: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


741-741: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


783-783: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


789-789: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


799-799: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

🔇 Additional comments (2)
docs/CONFIG.md (2)

4-4: Minor whitespace adjustment for formatting; no action required.


25-25: TOC entry for new plugin
The mac-player entry correctly follows the existing TOC pattern and matches its section anchor (#mac-player---up).

@iberniex
Copy link
Contributor Author

Hey @Theoreticallyhugo,

Sorry for the miscommunication on the tasks, I did some digging and found out that firefox is also not supported by applescript so I placed the empty tasks for anyone who has something to add on that. So to conclude on the first point, yes it can be merged.

the @dracula-mac-player-length option is undocumented

I've documented the variable I forgot about it.

you are mixing tab and spaces based indentation. that's no big issue though and i can fix that later.

This is may be due to my formatting but I've fixed where necessary.

i've had some issues with spotify not closing since using the script, though that may be an issue on my end...

This is caused by activating the remote flag due to the default option being spotify. I got this a lot when I turned it into Music as my app but after sometime it stopped. Maybe if a lot people can test it and then we can find more issues that arise.

in line 31 you got an else that is immediately followed by and end if. i guess that won't hurt, but i wanted to point it out in case it's not intentional or could hurt. after all i've never used appleScript.

Oh yeah. I was so into the working part and forgot to proof read but I've removed the else.

For the other browsers, they don't have applescript support and the only option is javascript injections and some weird hacky UI scripting which is bad. Tidal are not focused on applescript support so we can disregard those options at this point.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
docs/CONFIG.md (2)

526-538: Document customization options concisely
Icon (@dracula-mac-player-play-icon, @dracula-mac-player-pause-icon) and length (@dracula-mac-player-length) options are clear. You may want to note default values inline (e.g., for play, ❚❚ for pause, length 25) for quick reference.


540-550: Clarify activation and app selection
@dracula-mac-player-remote and @dracula-mac-player-app are well-documented. Consider validating that the app value is one of "Music" or "Spotify" in the script and mention fallback behavior in the docs.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 829c676 and 0c61664.

📒 Files selected for processing (2)
  • docs/CONFIG.md (15 hunks)
  • scripts/mac-player.sh (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • scripts/mac-player.sh
🧰 Additional context used
🪛 LanguageTool
docs/CONFIG.md

[uncategorized] ~219-~219: Possible missing comma found.
Context: .... _make sure to include the compact-alt widget as you won't be able to switch out of n...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~316-~316: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ...orking directory, where the path of the users home directory will be shortened to ~...

(AI_HYDRA_LEO_APOSTROPHE_S_XS)


[uncategorized] ~339-~339: It appears that hyphens are missing in the adjective “up-to-date”.
Context: ...` Set symbol to use for when branch is up to date with HEAD ```bash # default is ✓. Avoi...

(UP_TO_DATE_HYPHEN)


[grammar] ~382-~382: The operating system from Apple is written “macOS”.
Context: ... - partial support for apple m-chips on MacOS. - partial support for amd and intel on...

(MAC_OS)


[uncategorized] ~436-~436: It appears that hyphens are missing in the adjective “up-to-date”.
Context: ...` Set symbol to use for when branch is up to date with HEAD ```bash #default is ✓.Avoid ...

(UP_TO_DATE_HYPHEN)


[typographical] ~581-~581: Usually, there’s no comma before “if”.
Context: ...nly display the wifi you're connected to, if it provides internet access!** You can...

(IF_NO_COMMA)


[style] ~583-~583: Consider a more concise word here.
Context: ...** You can use different hosts to ping in order to check for a wifi or wired connection. I...

(IN_ORDER_TO_PREMIUM)


[grammar] ~614-~614: The verb form ‘are’ does not seem to match the subject ‘name’.
Context: ...rface. The most common interfaces name are eth0 for a wired connection and `wlan...

(SUBJECT_VERB_AGREEMENT)


[grammar] ~701-~701: Probable usage error. Use “and” after ‘both’.
Context: ... combination, both of the local machine as well as when connected via ssh. To output noth...

(BOTH_AS_WELL_AS)

🪛 markdownlint-cli2 (0.17.2)
docs/CONFIG.md

327-327: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


600-600: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


677-677: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


717-717: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


739-739: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


741-741: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


783-783: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


789-789: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


799-799: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

🔇 Additional comments (10)
docs/CONFIG.md (10)

4-4: skip formatting-only change
Blank line insertion for spacing.


25-25: Confirm correct TOC anchor for mac-player
The entry now links to #mac-player---up, matching the section heading's anchor.


92-92: skip formatting-only change
Blank line insertion after Powerline heading.


100-100: skip formatting-only change
Blank line insertion before Enable edge icons code block.


151-151: skip formatting-only change
Blank line insertion before left-icon padding example.


219-219: skip formatting-only change
Formatting adjustment before compact-alt instructions.


505-514: Add mac-player plugin section header
The new section clearly introduces the macOS music player widget. Consider specifying any prerequisites (e.g., tmux version or AppleScript permission).


511-517: List supported native and browser players accurately
Good clarity on native (Spotify, Music) and browser (YouTube, Spotify web) apps. If future support is planned for additional URLs or browsers, note it here.


518-523: Detail the remote-player feature scope
The supported remote players mirror the display section—Spotify and Apple Music. Consider specifying that the remote control also uses AppleScript and may require enabling “Accessibility” for terminal apps.


552-564: Include default and custom keybinding guidance
Default (P, R, N) and customizable remote keybindings are described. For completeness, you could mention how to unbind or reassign if conflicts occur.

coderabbitai bot added a commit that referenced this pull request Jun 25, 2025
Docstrings generation was requested by @ethancedwards8.

* #343 (comment)

The following files were modified:

* `scripts/dracula.sh`
* `scripts/mac-player.sh`
@dracula dracula deleted a comment from coderabbitai bot Jun 25, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (4)
docs/CONFIG.md (4)

542-546: Document what “length 25” really means

Readers will wonder whether the value is:

  • the maximum number of visible characters after icons/padding are applied, or
  • the raw cut -c width of the string returned by the script.

Add a short parenthetical note to remove ambiguity, e.g.:

-# To change length of the widget (length 25 by default):
+# To change the maximum displayed character width of the widget (default: 25):

554-558: Clarify allowed values for @dracula-mac-player-app

Enclose the literals in back-ticks and move them out of the parentheses to avoid Markdown rendering quirks and make copy-paste safer:

-To specify the app to use(`"Music"` or `"Spotify"`):
+To specify the app to use (`Music` or `Spotify` only):

560-572: Key-bind examples: mention prefix collision caveat

P, R, N are common tmux bindings in some setups (paste-buffer, rename-window, etc.).
A one-liner hint saves users a trip to the docs:

-The default keybinds are:
+# Default keybinds (ensure they don’t overlap your existing prefix bindings):

550-553: Warn about remote flag default

The earlier review discussion noted Spotify occasionally failing to close when @dracula-mac-player-remote is enabled. Add a sentence noting the side-effect so users understand why they might prefer false by default.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0c61664 and fb459cb.

📒 Files selected for processing (1)
  • docs/CONFIG.md (16 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/CONFIG.md

[grammar] ~25-~25: Don’t hyphenate words unnecessarily.
Context: ...) - libreview - mac-player - [mpc](#mpc...

(QB_NEW_EN_OTHER_ERROR_IDS_000042)


[grammar] ~93-~93: Place a period at the end of declarative sentences.
Context: ...e-of-contents) Enable powerline symbols bash set -g @dracula-show-powerline true Enable edge icons ```bash set -g @dracu...

(QB_NEW_EN_OTHER_ERROR_IDS_000178)


[grammar] ~99-~99: Place a period at the end of declarative sentences.
Context: ...ow-powerline true Enable edge icons bash set -g @dracula-show-edge-icons true Switch powerline symbols bash # for ...

(QB_NEW_EN_OTHER_ERROR_IDS_000178)


[grammar] ~167-~167: Use proper spacing conventions.
Context: ... ## Plugins ### attached-clients - up This widget provides the number of clien...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~186-~186: Combining words like “every day” changes the meaning.
Context: ...he battery, whether it is attached to a powersupply and charging from it, or running off th...

(QB_NEW_EN_OTHER_ERROR_IDS_000001)


[grammar] ~186-~186: Use proper spacing conventions.
Context: ...o detects desktop pcs having no battery. Display any icon for the battery you'd l...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~188-~188: There might be a mistake here.
Context: ...any icon for the battery you'd like with: bash set -g @dracula-battery-label "♥ " to use nothing but nerdfont icons inform...

(QB_NEW_EN_OTHER)


[grammar] ~224-~224: Use proper spacing conventions.
Context: ...idgets when the terminal becomes narrow. Switching only works if the widget is ad...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~225-~225: Use proper spacing conventions.
Context: ...g @dracula-plugins "your-plugins-here"`. to set what widgets should be shown in n...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~227-~227: There might be a mistake here.
Context: ...arrow mode, set the following variable. _make sure to include the compact-alt widget ...

(QB_NEW_EN_OTHER)


[grammar] ~227-~227: There might be a mistake here.
Context: .... _make sure to include the compact-alt widget as you won't be able to switch out of n...

(QB_NEW_EN_OTHER)


[grammar] ~227-~227: Use proper spacing conventions.
Context: ... to switch out of narrow mode otherwise._ bash set -g @dracula-narrow-plugins "compact-alt battery network weather" to determine when to switch to narrow mo...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~291-~291: Use proper spacing conventions.
Context: ...is widget displays the cpu architecture. possible nerdfont settings for cpu arch ...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~293-~293: There might be a mistake here.
Context: ...isplays the cpu architecture. possible nerdfont settings for cpu arch label: ```bash s...

(QB_NEW_EN_OTHER)


[grammar] ~293-~293: Use proper spacing conventions.
Context: ...le nerdfont settings for cpu arch label: bash set -g @dracula-cpu-arch-label "󰍛 " ### cpu-usage - up Th...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~299-~299: Use proper spacing conventions.
Context: ...rch-label "󰍛 " ``` ### cpu-usage - up This widget displays the cpu usage in pe...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~301-~301: There might be a mistake here.
Context: ...lays the cpu usage in percent by default, but can display cpu load on linux. Load...

(QB_NEW_EN_OTHER)


[grammar] ~301-~301: Use proper spacing conventions.
Context: ...ault, but can display cpu load on linux. Load average – is the average system loa...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~302-~302: There might be a mistake here.
Context: ... display cpu load on linux. Load average – is the average system load calculated ov...

(QB_NEW_EN_OTHER)


[grammar] ~302-~302: Use an Oxford comma.
Context: ...lated over a given period of time of 1, 5 and 15 minutes (output: x.x x.x x.x) `...

(QB_NEW_EN_OTHER_ERROR_IDS_000014)


[grammar] ~302-~302: Place a period at the end of declarative sentences.
Context: ..., 5 and 15 minutes (output: x.x x.x x.x) bash set -g @dracula-cpu-display-load true possible nerdfont settings for cpu usage...

(QB_NEW_EN_OTHER_ERROR_IDS_000178)


[grammar] ~308-~308: There might be a mistake here.
Context: ...ula-cpu-display-load true possible nerdfont settings for cpu usage label: bash ...

(QB_NEW_EN_OTHER)


[grammar] ~308-~308: Use proper spacing conventions.
Context: ...e nerdfont settings for cpu usage label: bash set -g @dracula-cpu-usage-label " " nerdfont icons to consider: ```bash  ...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~314-~314: Use proper spacing conventions.
Context: ...el " " nerdfont icons to consider: bash    󰍛 󰘚 󰻟 󰻠 ``` set -g @dracula-refresh-rate 5 affects this widget ### cwd - [up](#ta...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~320-~320: Use proper spacing conventions.
Context: ...cula-refresh-rate 5` affects this widget ### cwd - up This wid...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~322-~322: Use proper spacing conventions.
Context: ...te 5` affects this widget ### cwd - up This widget displays the path of the cur...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~324-~324: Don’t miss an apostrophe.
Context: ...orking directory, where the path of the users home directory will be shortened to ~...

(QB_NEW_EN_OTHER_ERROR_IDS_000031)


[grammar] ~324-~324: Use proper spacing conventions.
Context: ...home directory will be shortened to ~. The maximum number of directories and nu...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~326-~326: There might be a mistake here.
Context: ...rs used for that is unlimited by default, but can be set with the following two o...

(QB_NEW_EN_OTHER)


[grammar] ~326-~326: Use proper spacing conventions.
Context: ...n be set with the following two options: bash set -g @dracula-cwd-max-dirs "0" set -g @dracula-cwd-max-chars "0" ### fossil - up **TOD...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[typographical] ~333-~333: To join two clauses or set off examples, consider using an em dash.
Context: ... -g @dracula-cwd-max-chars "0" ``` ### fossil - up TODO ### git - [up](#table-of-content...

(QB_NEW_EN_DASH_RULE_EM)


[grammar] ~335-~335: Use proper spacing conventions.
Context: ...ossil - up TODO ### git - up This wid...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~337-~337: Use proper spacing conventions.
Context: ...le-of-contents) TODO ### git - up This widget displays info about the curr...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~339-~339: Use proper spacing conventions.
Context: ...s info about the current git repository. Hide details of git changes ```bash set...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~341-~341: Place a period at the end of declarative sentences.
Context: ...repository. Hide details of git changes bash set -g @dracula-git-disable-status true Set symbol to use for when branch is up ...

(QB_NEW_EN_OTHER_ERROR_IDS_000178)


[grammar] ~347-~347: Place a period at the end of declarative sentences.
Context: ... for when branch is up to date with HEAD bash # default is ✓. Avoid using non unicode characters that bash uses like $, * and ! set -g @dracula-git-show-current-symbol ✓ Set symbol to use for when branch diverg...

(QB_NEW_EN_OTHER_ERROR_IDS_000178)


[grammar] ~354-~354: Place a period at the end of declarative sentences.
Context: ...o use for when branch diverges from HEAD bash # default is unicode !. Avoid bash special characters set -g @dracula-git-show-diff-symbol ! Set symbol or message to use when the cu...

(QB_NEW_EN_OTHER_ERROR_IDS_000178)


[grammar] ~361-~361: Place a period at the end of declarative sentences.
Context: ...se when the current pane has no git repo bash # default is unicode no message set -g @dracula-git-no-repo-message "" Hide untracked files from being displaye...

(QB_NEW_EN_OTHER_ERROR_IDS_000178)


[grammar] ~368-~368: Place a period at the end of declarative sentences.
Context: ...es from being displayed as local changes bash # default is false set -g @dracula-git-no-untracked-files true Show remote tracking branch together wit...

(QB_NEW_EN_OTHER_ERROR_IDS_000178)


[grammar] ~375-~375: Place a period at the end of declarative sentences.
Context: ... branch together with diverge/sync state bash # default is false set -g @dracula-git-show-remote-status true ### gpu-info - up The...

(QB_NEW_EN_OTHER_ERROR_IDS_000178)


[grammar] ~382-~382: Use proper spacing conventions.
Context: ...mote-status true ``` ### gpu-info - up These widgets display the current comput...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~384-~384: Use proper spacing conventions.
Context: ...power usage of installed graphics cards. They are split into widgets with the nam...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~385-~385: There might be a problem here.
Context: ...ey are split into widgets with the names: gpu-usage, gpu-ram-usage, gpu-power-draw. hardware support: - ...

(QB_NEW_EN_MERGED_MATCH)


[grammar] ~385-~385: Use proper spacing conventions.
Context: ...u-usage, gpu-ram-usage, gpu-power-draw`. hardware support: - full support for NV...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~387-~387: Use proper spacing conventions.
Context: ...age, gpu-power-draw`. hardware support: - full support for NVIDIA gpus on linux, w...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~389-~389: There might be a mistake here.
Context: ...ort: - full support for NVIDIA gpus on linux, when using official nvidia drivers. - p...

(QB_NEW_EN_OTHER)


[grammar] ~389-~389: Use proper spacing conventions.
Context: ...nux, when using official nvidia drivers. - partial support for apple m-chips on Mac...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~390-~390: There might be a problem here.
Context: ... - partial support for apple m-chips on MacOS. - partial support for amd and intel on lin...

(QB_NEW_EN_MERGED_MATCH)


[grammar] ~393-~393: Change British English spelling to American English spelling
Context: ... and intel on linux If your gpu is not recognised, force the script to assume a certain b...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_000063)


[grammar] ~393-~393: Use proper spacing conventions.
Context: ...ce the script to assume a certain brand. bash set -g @dracula-force-gpu "NVIDIA" To display the used vram in percent (gig...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~399-~399: Use articles correctly.
Context: ...y the used vram in percent (gigabyte is default unit): ```bash set -g @dracula-gpu-vra...

(QB_NEW_EN_OTHER_ERROR_IDS_000004)


[grammar] ~399-~399: There might be a problem here.
Context: ...m in percent (gigabyte is default unit): bash set -g @dracula-gpu-vram-percent true Vram usage is displayed in gigabyte without ...

(QB_NEW_EN_MERGED_MATCH)


[grammar] ~405-~405: Use singular and plural nouns appropriately.
Context: ...nt true ``` Vram usage is displayed in gigabyte without decimal places per default. To ...

(QB_NEW_EN_OTHER_ERROR_IDS_000012)


[grammar] ~405-~405: Use correct prepositions.
Context: ...ayed in gigabyte without decimal places per default. To change that behaviour, use ...

(QB_NEW_EN_OTHER_ERROR_IDS_000010)


[grammar] ~405-~405: Change British English spelling to American English spelling
Context: ...imal places per default. To change that behaviour, use the following options with the res...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_000063)


[grammar] ~405-~405: Use proper spacing conventions.
Context: ...ber of decimal places you'd like to get: bash set -g @dracula-gpu-vram-used-accuracy ".2f" set -g @dracula-gpu-vram-total-accuracy ".1f" To display the power usage in percent (w...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~412-~412: Use articles correctly.
Context: ...lay the power usage in percent (watt is default unit): ```bash set -g @dracula-gpu-pow...

(QB_NEW_EN_OTHER_ERROR_IDS_000004)


[grammar] ~412-~412: Use proper spacing conventions.
Context: ...usage in percent (watt is default unit): bash set -g @dracula-gpu-power-percent true Possible nerdfont settings for gpu info ...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~418-~418: Use proper spacing conventions.
Context: ...e nerdfont settings for gpu info labels: bash set -g @dracula-gpu-power-label "󰢮 " set -g @dracula-gpu-usage-label "󰢮 " set -g @dracula-gpu-vram-label "󰢮 " nerdfont icons to consider: ```bash 󰢮 ...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~426-~426: Use proper spacing conventions.
Context: ...l "󰢮 " nerdfont icons to consider: bash 󰢮 ``` set -g @dracula-refresh-rate 5 affects this widget ### hg - [up](#tab...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~432-~432: Use proper spacing conventions.
Context: ...cula-refresh-rate 5` affects this widget ### hg - up This widg...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~434-~434: Use proper spacing conventions.
Context: ...ate 5` affects this widget ### hg - up This widget displays info about the curr...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~436-~436: Use proper spacing conventions.
Context: ... about the current mercurial repository. Hide details of hg changes ```bash set ...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~438-~438: Place a period at the end of declarative sentences.
Context: ... repository. Hide details of hg changes bash set -g @dracula-hg-disable-status true Set symbol to use for when branch is up ...

(QB_NEW_EN_OTHER_ERROR_IDS_000178)


[grammar] ~444-~444: Place a period at the end of declarative sentences.
Context: ... for when branch is up to date with HEAD bash #default is ✓.Avoid using non unicode characters that bash uses like $, * and ! set -g @dracula-hg-show-current-symbol ✓ Set symbol to use for when branch diverg...

(QB_NEW_EN_OTHER_ERROR_IDS_000178)


[grammar] ~451-~451: Place a period at the end of declarative sentences.
Context: ...o use for when branch diverges from HEAD bash #default is unicode !.Avoid bash special characters set -g @dracula-hg-show-diff-symbol ! Set symbol or message to use when the cu...

(QB_NEW_EN_OTHER_ERROR_IDS_000178)


[grammar] ~465-~465: Place a period at the end of declarative sentences.
Context: ...es from being displayed as local changes bash #default is false set -g @dracula-hg-no-untracked-files false ### Kerberos TGT - up ...

(QB_NEW_EN_OTHER_ERROR_IDS_000178)


[grammar] ~472-~472: Use proper spacing conventions.
Context: ...-files false ``` ### Kerberos TGT - up This widgets name is krbtgt. Set the ...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~510-~510: Use proper spacing conventions.
Context: ...oring (CGM) data from the LibreView API. It caches the data to minimize API reque...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~511-~511: Use proper spacing conventions.
Context: ... a trend indicator in a Tmux status bar. ### mac-player - up T...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~513-~513: Use proper spacing conventions.
Context: ...a Tmux status bar. ### mac-player - up This widget and script displays music in...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~515-~515: Use proper spacing conventions.
Context: ...on provided by the native macOS players. The current supported apps are: - Nativ...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~517-~517: There might be a mistake here.
Context: ...players. The current supported apps are: - Native Players: - Spotify - Music - ...

(QB_NEW_EN_OTHER)


[typographical] ~521-~521: To join two clauses or set off examples, consider using an em dash.
Context: ... - Native Players: - Spotify - Music - Apple Music - Browser Players (active ta...

(QB_NEW_EN_DASH_RULE_EM)


[grammar] ~524-~524: Use proper spacing conventions.
Context: ...- youtube.com/watch - open.spotify.com It also has a remote-player feature. The...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~526-~526: Use proper spacing conventions.
Context: ...om It also has a remote-player feature. The supported remote players are: - Spo...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~527-~527: There might be a mistake here.
Context: ...eature. The supported remote players are: - Spotify - Music - Apple Music NOTE: `se...

(QB_NEW_EN_OTHER)


[typographical] ~530-~530: To join two clauses or set off examples, consider using an em dash.
Context: ...d remote players are: - Spotify - Music - Apple Music NOTE: `set -g @dracula-refr...

(QB_NEW_EN_DASH_RULE_EM)


[grammar] ~530-~530: Use proper spacing conventions.
Context: ...rs are: - Spotify - Music - Apple Music NOTE: set -g @dracula-refresh-rate 5 a...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~534-~534: Use proper spacing conventions.
Context: ...cts this widget To change player icons: bash set -g @dracula-mac-player-play-icon "♪ " set -g @dracula-mac-player-pause-icon "❚❚ " To change length of the widget (length 2...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~542-~542: Use articles correctly.
Context: ...player-pause-icon "❚❚ " ``` To change length of the widget (length 25 by default): ...

(QB_NEW_EN_OTHER_ERROR_IDS_000004)


[grammar] ~542-~542: Use proper spacing conventions.
Context: ...th of the widget (length 25 by default): bash set -g @dracula-mac-player-length 25 To activate the remote: ```bash set -g ...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~548-~548: Use proper spacing conventions.
Context: ...r-length 25 To activate the remote: bash set -g @dracula-mac-player-remote true ``` To specify the app to use("Music" or `...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~554-~554: There might be a mistake here.
Context: ...-remote true To specify the app to use(`"Music"` or `"Spotify"`): bash set -g @dra...

(QB_NEW_EN_OTHER)


[grammar] ~554-~554: Use proper spacing conventions.
Context: ...he app to use("Music" or "Spotify"): bash set -g @dracula-mac-player-app "Music" The default keybinds are: - ` +...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~560-~560: There might be a problem here.
Context: ...pp "Music" ``` The default keybinds are: - <prefix> + P - Play/Pause - ` + R` - Back to ...

(QB_NEW_EN_MERGED_MATCH)


[grammar] ~564-~564: Use proper spacing conventions.
Context: ...ious track - <prefix> + N - Next track To change the keybinds: ```bash set -g ...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~566-~566: Use proper spacing conventions.
Context: ...N` - Next track To change the keybinds: bash set -g @dracula-mac-player-remote-play-pause "P" set -g @dracula-mac-player-remote-back "R" set -g @dracula-mac-player-remote-next "N" ### mpc - up This wid...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~574-~574: Use proper spacing conventions.
Context: ...layer-remote-next "N" ``` ### mpc - up This widget displays music information p...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~576-~576: Use proper spacing conventions.
Context: ...plays music information provided by mpc. To format the display format: ```bash s...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~578-~578: Use proper spacing conventions.
Context: ...d by mpc. To format the display format: bash set -g @dracula-mpc-format "%title% - %artist%" set -g @dracula-refresh-rate 5 affects this widget ### network - [up]...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~584-~584: Use proper spacing conventions.
Context: ...cula-refresh-rate 5` affects this widget ### network - up This...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[typographical] ~586-~586: To join two clauses or set off examples, consider using an em dash.
Context: ...efresh-rate 5` affects this widget ### network - up This widget displays one of three states...

(QB_NEW_EN_DASH_RULE_EM)


[grammar] ~588-~588: There might be a mistake here.
Context: ...states: offline, ethernet connected, or wifi connected. however, per default **this ...

(QB_NEW_EN_OTHER)


[grammar] ~588-~588: Use proper spacing conventions.
Context: ..., ethernet connected, or wifi connected. however, per default **this will only di...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~589-~589: There might be a problem here.
Context: ... connected, or wifi connected. however, per default **this will only display the wifi you'r...

(QB_NEW_EN_MERGED_MATCH)


[grammar] ~589-~589: There might be a mistake here.
Context: ...er default **this will only display the wifi you're connected to, if it provides int...

(QB_NEW_EN_OTHER)


[grammar] ~589-~589: There might be a mistake here.
Context: ...nly display the wifi you're connected to, if it provides internet access!** You ...

(QB_NEW_EN_OTHER)


[grammar] ~589-~589: Use proper spacing conventions.
Context: ...cted to, if it provides internet access!** You can use different hosts to ping in o...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[style] ~591-~591: Consider a more concise word here.
Context: ...** You can use different hosts to ping in order to check for a wifi or wired connection. I...

(IN_ORDER_TO_PREMIUM)


[grammar] ~592-~592: Don’t hyphenate words unnecessarily.
Context: ...hout internet access, you can use local ip-addresses here to still display the conn...

(QB_NEW_EN_OTHER_ERROR_IDS_000042)


[grammar] ~592-~592: Use proper spacing conventions.
Context: ...es here to still display the connection. bash set -g @dracula-network-hosts "1.1.1.1 8.8.8.8" Possible nerdfont settings for network i...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~598-~598: There might be a mistake here.
Context: ...k-hosts "1.1.1.1 8.8.8.8" Possible nerdfont settings for network info: bash set...

(QB_NEW_EN_OTHER)


[grammar] ~598-~598: Use proper spacing conventions.
Context: ...ible nerdfont settings for network info: bash set -g @dracula-network-ethernet-label "󰈀 Eth" set -g @dracula-network-offline-label "󱍢 " set -g @dracula-network-wifi-label " " Nerdfont icons to consider: ``` etherne...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~606-~606: Use proper spacing conventions.
Context: ...el " " Nerdfont icons to consider: ethernet: 󰈀 󰒪 󰒍 󰌗 󰌘 offline: 󰖪 󱍢 wifi:    󰖩 󰘊 󰒢 ``` Known issues: - If for some reason iw...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~614-~614: Use proper spacing conventions.
Context: ...fi:    󰖩 󰘊 󰒢 ``` Known issues: - If for some reason iw is only in the p...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~616-~616: Use proper spacing conventions.
Context: ...will be considered ethernet connections. ### network-bandwidth - [up](#table-of-conte...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~618-~618: There might be a mistake here.
Context: ...dered ethernet connections. ### network-bandwidth - up This widget...

(QB_NEW_EN_OTHER)


[typographical] ~618-~618: To join two clauses or set off examples, consider using an em dash.
Context: ...net connections. ### network-bandwidth - up This widget gives the currently used up ...

(QB_NEW_EN_DASH_RULE_EM)


[grammar] ~620-~620: There might be a mistake here.
Context: ...) This widget gives the currently used up and download speeds per second for one ...

(QB_NEW_EN_OTHER)


[grammar] ~620-~620: Use proper spacing conventions.
Context: ...oad speeds per second for one interface. The most common interfaces name are `eth...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~622-~622: There might be a problem here.
Context: ...ond for one interface. The most common interfaces name are eth0 for a wired connection and `...

(QB_NEW_EN_MERGED_MATCH)


[grammar] ~622-~622: Use proper spacing conventions.
Context: ...n and wlan0 for a wireless connection. To set a specific network interface you'...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~629-~629: There might be a mistake here.
Context: ...interface name alongside the speeds, set: bash set -g @dracula-network-bandwidth-show-interface true Per default, this widget checks the spee...

(QB_NEW_EN_OTHER)


[grammar] ~635-~635: Use proper spacing conventions.
Context: ...set longer intervals, use the following: bash set -g @dracula-network-bandwidth-interval 5 ### network-ping - up ...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~641-~641: Use proper spacing conventions.
Context: ...h-interval 5 ``` ### network-ping - up This widget displays the current ping to...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~654-~654: Use proper spacing conventions.
Context: ...s to display whether a vpn is connected. Tailscale exit nodes are fully supported...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~655-~655: There might be a problem here.
Context: ...nodes are fully supported for Linux and MacOS. Set verbose to true in order to see the ...

(QB_NEW_EN_MERGED_MATCH)


[style] ~657-~657: Consider a more concise word here.
Context: ...r Linux and MacOS. Set verbose to true in order to see the VPNs IP or name of Tailscale ex...

(IN_ORDER_TO_PREMIUM)


[grammar] ~657-~657: Don’t miss an apostrophe.
Context: ...Set verbose to true in order to see the VPNs IP or name of Tailscale exit node. ```...

(QB_NEW_EN_OTHER_ERROR_IDS_000031)


[grammar] ~657-~657: Use articles correctly.
Context: ... in order to see the VPNs IP or name of Tailscale exit node. ```bash set -g @dracula-net...

(QB_NEW_EN_OTHER_ERROR_IDS_000004)


[grammar] ~657-~657: Use proper spacing conventions.
Context: ... VPNs IP or name of Tailscale exit node. bash set -g @dracula-network-vpn-verbose true Set the widgets label like so: ```bash s...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~668-~668: Use proper spacing conventions.
Context: ...vpn-label "󰌘 " ``` ### playerctl - up This widget displays playerctl info. Se...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~670-~670: Use proper spacing conventions.
Context: ...s) This widget displays playerctl info. Set the playerctl metadata format like s...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~672-~672: Use proper spacing conventions.
Context: ...t the playerctl metadata format like so: bash set -g @dracula-playerctl-format "► {{ artist }} - {{ title }}" ### ram-usage - up Th...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~678-~678: Use proper spacing conventions.
Context: ... - {{ title }}" ``` ### ram-usage - up This widget displays the currently used ...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~680-~680: Use proper spacing conventions.
Context: ...ays the currently used ram as GB per GB. Possible nerdfont settings for ram usage...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~682-~682: There might be a mistake here.
Context: ...rently used ram as GB per GB. Possible nerdfont settings for ram usage: ```bash set -g...

(QB_NEW_EN_OTHER)


[grammar] ~682-~682: Use proper spacing conventions.
Context: ...ossible nerdfont settings for ram usage: bash set -g @dracula-ram-usage-label " " Nerdfont icons to consider: ```    ?...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~688-~688: Use proper spacing conventions.
Context: ...el " " Nerdfont icons to consider:    󰍛 󰘚 ``` ### spotify-tui - up ...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~694-~694: Use proper spacing conventions.
Context: ...`    󰍛 󰘚 ``` ### spotify-tui - up This widget displays music information p...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~696-~696: Use proper spacing conventions.
Context: ...ui must be installed to use this widget. To format the display format: ```bash s...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~698-~698: Use proper spacing conventions.
Context: ...s widget. To format the display format: bash set -g @dracula-spotify-tui-format "%f %s %t - %a" To limit the maximum length (0 means unl...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~710-~710: Use proper spacing conventions.
Context: ...30 ``` set -g @dracula-refresh-rate 5 affects this widget ### ssh-session - [...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~710-~710: Use proper spacing conventions.
Context: ...cula-refresh-rate 5` affects this widget ### ssh-session - up ...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~712-~712: Use proper spacing conventions.
Context: ...fects this widget ### ssh-session - up This widget displays the current usernam...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~714-~714: Use proper spacing conventions.
Context: ...chine as well as when connected via ssh. To output nothing (and maybe hide the wi...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~716-~716: Use proper spacing conventions.
Context: ... the widget) when not connected via ssh: bash set -g @dracula-show-ssh-only-when-connected true Show SSH session port: ```bash set -g @...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~722-~722: Use proper spacing conventions.
Context: ...nnected true Show SSH session port: bash set -g @dracula-show-ssh-session-port true nerdfont icons to consider: 󰣀 ``` ...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~728-~728: Use proper spacing conventions.
Context: ...rt true nerdfont icons to consider: 󰣀 ``` ### synchronize-panes - [up](#table-of-conte...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~734-~734: Use proper spacing conventions.
Context: ... 󰣀 ### synchronize-panes - up This widget displays whether the tmux pa...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~736-~736: Change British English spelling to American English spelling
Context: ...ys whether the tmux panes are currently synchronised or not. To change the label: ```bash ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_000063)


[grammar] ~736-~736: Use proper spacing conventions.
Context: ...panes are currently synchronised or not. To change the label: ```bash set -g @dr...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~738-~738: Use proper spacing conventions.
Context: ...nchronised or not. To change the label: bash set -g @dracula-synchronize-panes-label "Sync" set -g @dracula-refresh-rate 5 affects this widget ### sys-temp - [up...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~744-~744: Use proper spacing conventions.
Context: ...cula-refresh-rate 5` affects this widget ### sys-temp - up Thi...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~746-~746: Use proper spacing conventions.
Context: ... affects this widget ### sys-temp - up This widget displays the system temperat...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~748-~748: Use proper spacing conventions.
Context: ... widget displays the system temperature. ### terraform - up **...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~750-~750: Use proper spacing conventions.
Context: ...system temperature. ### terraform - up TODO ``` set -g @dracula-terraform-la...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~752-~752: Use proper spacing conventions.
Context: ...aform - up TODO set -g @dracula-terraform-label "" set -g @dracula-refresh-rate 5 affects this widget ### time - [up](#t...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~758-~758: Use proper spacing conventions.
Context: ...cula-refresh-rate 5` affects this widget ### time - up This wi...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[typographical] ~760-~760: To join two clauses or set off examples, consider using an em dash.
Context: ...efresh-rate 5` affects this widget ### time - up This widget displays current date and ti...

(QB_NEW_EN_DASH_RULE_EM)


[grammar] ~788-~788: Use proper spacing conventions.
Context: ...1/date.1.html) for other format symbols. ### tmux-ram-usage - [up](#table-of-contents...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~790-~790: Use proper spacing conventions.
Context: ...ormat symbols. ### tmux-ram-usage - up This widget displays the ram currently u...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~792-~792: Use proper spacing conventions.
Context: ...displays the ram currently used by tmux. Possible nerdfont settings for tmux ram ...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~794-~794: Use proper spacing conventions.
Context: ...le nerdfont settings for tmux ram usage: @dracula-tmux-ram-usage-label " " Nerdfont icons to consider: ```    ?...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~800-~800: Use proper spacing conventions.
Context: ...el " " Nerdfont icons to consider:    󰍛 󰘚 ``` ### uptime - up Shows...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[typographical] ~806-~806: To join two clauses or set off examples, consider using an em dash.
Context: ... to consider:    󰍛 󰘚 ### uptime - up Shows how long the system has been runni...

(QB_NEW_EN_DASH_RULE_EM)


[grammar] ~808-~808: Use proper spacing conventions.
Context: ...ws how long the system has been running. Possible nerdfont settings for uptime: ...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~810-~810: There might be a mistake here.
Context: ... the system has been running. Possible nerdfont settings for uptime: ``` @dracula-upti...

(QB_NEW_EN_OTHER)


[grammar] ~810-~810: Use proper spacing conventions.
Context: ... Possible nerdfont settings for uptime: @dracula-uptime-label "󱎫 " ### weather - up Show...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)


[grammar] ~816-~816: Use proper spacing conventions.
Context: ...ptime-label "󱎫 " ``` ### weather - up Show weather information for given locat...

(QB_NEW_EN_OTHER_ERROR_IDS_000007)

🪛 markdownlint-cli2 (0.17.2)
docs/CONFIG.md

335-335: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


608-608: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


690-690: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


730-730: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


752-752: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


754-754: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


796-796: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


802-802: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


812-812: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🔇 Additional comments (1)
docs/CONFIG.md (1)

24-26: Anchor fixed correctly

The TOC entry for mac-player now points to #mac-player---up, matching the autogenerated anchor from the heading below.
Thanks for cleaning this up.

@Theoreticallyhugo Theoreticallyhugo merged commit a6cb07f into dracula:master Jul 12, 2025
2 checks passed
@Theoreticallyhugo
Copy link
Collaborator

hi @iberniex,
thank you very much for your contribution! i hope that we'll get to keep you around for a pr here and there :D

@iberniex
Copy link
Contributor Author

Yeah for sure :)

@coderabbitai coderabbitai bot mentioned this pull request Aug 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants