# tejaslamba2006/macos-tahoe-kde architecture

> Architecture diagram of the GitHub repository tejaslamba2006/macos-tahoe-kde, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-09). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/tejaslamba2006/macos-tahoe-kde
- Repository: https://github.com/tejaslamba2006/macos-tahoe-kde

## Overview

This repository is a collection of KDE Plasma 6/Wayland customizations intended to make a Linux desktop behave and look more like macOS. The main user-facing workflow spans shell and applet customization, desktop controls, and privacy-aware screen sharing; separate scripts add device handoff and gesture support. The Dynamic Island applet has substantial calendar, AI, companion, and other feature modules. Edges below follow explicit README descriptions or sampled source; several modules have no evidenced wiring in the available excerpts.

Main entry points: [`plasmoids/org.phobby.dynamicisland/contents/ui`](https://github.com/tejaslamba2006/macos-tahoe-kde/tree/main/plasmoids/org.phobby.dynamicisland/contents/ui) (Dynamic Island Applet), [`plasmoids/org.phobby.dynamicisland/contents/ui/companion/Companion.js`](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/companion/Companion.js) (Companion), [`bin/krunner-dbus-bridge.py`](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/bin/krunner-dbus-bridge.py) (KRunner D-Bus Bridge), [`bin/macos-screenshare-privacy.py`](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/bin/macos-screenshare-privacy.py) (Share Privacy Daemon)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_shell["Desktop Shell"]
  node_krunner["KRunner D-Bus Bridge"]
  node_windowtitle["Per-monitor Window Title<br/>[Tools.js]"]
  node_pip["Chrome PiP Rules<br/>[main.js]"]
  node_dock["Andromeda Dock Launcher<br/>[tools.js]"]
  node_aerial["Aerial Patch"]
end

subgraph group_island["Dynamic Island"]
  node_island["Dynamic Island Applet<br/>[ui]"]
  node_ical["Calendar Parsing<br/>[IcsWorker.js]"]
  node_icallicense["iCalendar License"]
  node_habits["Habit Tracking<br/>[Habits.js]"]
  node_suggestions["Suggestions<br/>[Suggestions.js]"]
  node_theme["Theme Files<br/>[ThemeFile.js]"]
  node_aistream["AI Streaming<br/>[AiStream.js]"]
  node_claude["Claude CLI<br/>[ClaudeCli.js]"]
  node_antigravity["Antigravity AI<br/>[Antigravity.js]"]
  node_rclone["Cloud Sync<br/>[Rclone.js]"]
  node_catposes["Cat Poses<br/>[CatPoses.js]"]
  node_companion["Companion<br/>[Companion.js]"]
  node_companiontuning["Companion Tuning<br/>[CompanionTuning.js]"]
end

subgraph group_privacy["Privacy and Sharing"]
  node_privacydots["Privacy Dots"]
  node_screenshare["Share Privacy Daemon"]
  node_whatsapp["WhatsApp Blur<br/>[privacy.js]"]
end

subgraph group_devices["Device Automation"]
  node_handoff["Phone Handoff"]
  node_adbpair["ADB Pairing<br/>[macos-adb-pair.py]"]
  node_gestures["Touchpad Gestures"]
  node_gesturetest["Gesture Test Utility"]
  node_meetingnotes["Meeting Notes"]
end

subgraph group_controls["Plasma Controls"]
  node_station["Control Station<br/>[funcs.js]"]
  node_calendarwidget["Calendar Widget Styles<br/>[styleCodec.js]"]
end

node_user(("Desktop User"))
node_plasma["Plasma Shell"]
node_vicinae["Vicinae Launcher"]

node_user -->|"invokes"| node_krunner
node_krunner -->|"routes launch"| node_vicinae
node_plasma -->|"calls D-Bus"| node_krunner
node_plasma -->|"shows titles"| node_windowtitle
node_plasma -->|"hosts applet"| node_dock
node_plasma -->|"applies window rules"| node_pip
node_plasma -->|"uses patched plugin"| node_aerial
node_plasma -->|"hosts applet"| node_island
node_island -.->|"parses calendar"| node_ical
node_island -.->|"provides feature"| node_habits
node_island -.->|"provides feature"| node_suggestions
node_island -.->|"provides feature"| node_theme
node_island -.->|"provides feature"| node_aistream
node_island -.->|"provides integration"| node_claude
node_island -.->|"provides integration"| node_antigravity
node_island -.->|"provides integration"| node_rclone
node_island -.->|"shows companion"| node_companion
node_companion -.->|"uses poses"| node_catposes
node_companion -.->|"uses tuning"| node_companiontuning
node_user -.->|"shares screen"| node_screenshare
node_screenshare -->|"coordinates blur"| node_whatsapp
node_user -.->|"transfers clipboard"| node_handoff
node_user -->|"swipes touchpad"| node_gestures
node_gestures -->|"fires shortcuts"| node_plasma
node_user -->|"checks capture"| node_privacydots
node_user -.->|"controls desktop"| node_station

click node_krunner "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/bin/krunner-dbus-bridge.py"
click node_windowtitle "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.kde.windowtitle/contents/tools/Tools.js"
click node_pip "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/kwin/chrome-pip-top/contents/code/main.js"
click node_dock "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/AndromedaLauncher/contents/code/tools.js"
click node_aerial "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/patches/patch-aerial-core.py"
click node_island "https://github.com/tejaslamba2006/macos-tahoe-kde/tree/main/plasmoids/org.phobby.dynamicisland/contents/ui"
click node_ical "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/backend/IcsWorker.js"
click node_icallicense "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/backend/IcsWorker.LICENSE.ical.js"
click node_habits "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/Habits.js"
click node_suggestions "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/Suggestions.js"
click node_theme "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/ThemeFile.js"
click node_aistream "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/ai/AiStream.js"
click node_claude "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/ai/ClaudeCli.js"
click node_antigravity "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/ai/Antigravity.js"
click node_rclone "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/cloud/Rclone.js"
click node_catposes "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/companion/CatPoses.js"
click node_companion "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/companion/Companion.js"
click node_companiontuning "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/companion/CompanionTuning.js"
click node_privacydots "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/bin/macos-privacy-status.py"
click node_screenshare "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/bin/macos-screenshare-privacy.py"
click node_whatsapp "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/chrome-ext/privacy.js"
click node_handoff "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/bin/macos-handoff-daemon.py"
click node_adbpair "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/bin/macos-adb-pair.py"
click node_gestures "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/bin/three-finger-gestures/three-finger-gestures.py"
click node_gesturetest "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/bin/three-finger-gestures/test-three-finger-gestures.py"
click node_meetingnotes "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/bin/macos-meeting-notes.py"
click node_station "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/KdeControlStation/contents/ui/js/funcs.js"
click node_calendarwidget "https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/com.jaxparrow07.macoswidgets.calendar/contents/ui/components/styleCodec.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_krunner,node_windowtitle,node_pip,node_dock,node_aerial,node_user toneBlue
class node_island,node_ical,node_icallicense,node_habits,node_suggestions,node_theme,node_aistream,node_claude,node_antigravity,node_rclone,node_catposes,node_companion,node_companiontuning toneAmber
class node_privacydots,node_screenshare,node_whatsapp toneMint
class node_handoff,node_adbpair,node_gestures,node_gesturetest,node_meetingnotes toneRose
class node_station,node_calendarwidget,node_plasma,node_vicinae toneIndigo
```

## Components

### Desktop Shell

- [KRunner D-Bus Bridge](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/bin/krunner-dbus-bridge.py): `bin/krunner-dbus-bridge.py`
- [Per-monitor Window Title](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.kde.windowtitle/contents/tools/Tools.js): `plasmoids/org.kde.windowtitle/contents/tools/Tools.js`
- [Chrome PiP Rules](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/kwin/chrome-pip-top/contents/code/main.js): `kwin/chrome-pip-top/contents/code/main.js`
- [Andromeda Dock Launcher](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/AndromedaLauncher/contents/code/tools.js): `plasmoids/AndromedaLauncher/contents/code/tools.js`
- [Aerial Patch](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/patches/patch-aerial-core.py): `patches/patch-aerial-core.py`

### Dynamic Island

- [Dynamic Island Applet](https://github.com/tejaslamba2006/macos-tahoe-kde/tree/main/plasmoids/org.phobby.dynamicisland/contents/ui): `plasmoids/org.phobby.dynamicisland/contents/ui`
- [Calendar Parsing](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/backend/IcsWorker.js): `plasmoids/org.phobby.dynamicisland/contents/ui/backend/IcsWorker.js`
- [iCalendar License](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/backend/IcsWorker.LICENSE.ical.js): `plasmoids/org.phobby.dynamicisland/contents/ui/backend/IcsWorker.LICENSE.ical.js`
- [Habit Tracking](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/Habits.js): `plasmoids/org.phobby.dynamicisland/contents/ui/Habits.js`
- [Suggestions](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/Suggestions.js): `plasmoids/org.phobby.dynamicisland/contents/ui/Suggestions.js`
- [Theme Files](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/ThemeFile.js): `plasmoids/org.phobby.dynamicisland/contents/ui/ThemeFile.js`
- [AI Streaming](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/ai/AiStream.js): `plasmoids/org.phobby.dynamicisland/contents/ui/ai/AiStream.js`
- [Claude CLI](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/ai/ClaudeCli.js): `plasmoids/org.phobby.dynamicisland/contents/ui/ai/ClaudeCli.js`
- [Antigravity AI](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/ai/Antigravity.js): `plasmoids/org.phobby.dynamicisland/contents/ui/ai/Antigravity.js`
- [Cloud Sync](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/cloud/Rclone.js): `plasmoids/org.phobby.dynamicisland/contents/ui/cloud/Rclone.js`
- [Cat Poses](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/companion/CatPoses.js): `plasmoids/org.phobby.dynamicisland/contents/ui/companion/CatPoses.js`
- [Companion](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/companion/Companion.js): `plasmoids/org.phobby.dynamicisland/contents/ui/companion/Companion.js`
- [Companion Tuning](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/org.phobby.dynamicisland/contents/ui/companion/CompanionTuning.js): `plasmoids/org.phobby.dynamicisland/contents/ui/companion/CompanionTuning.js`

### Privacy and Sharing

- [Privacy Dots](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/bin/macos-privacy-status.py): `bin/macos-privacy-status.py`
- [Share Privacy Daemon](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/bin/macos-screenshare-privacy.py): `bin/macos-screenshare-privacy.py`
- [WhatsApp Blur](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/chrome-ext/privacy.js): `chrome-ext/privacy.js`

### Device Automation

- [Phone Handoff](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/bin/macos-handoff-daemon.py): `bin/macos-handoff-daemon.py`
- [ADB Pairing](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/bin/macos-adb-pair.py): `bin/macos-adb-pair.py`
- [Touchpad Gestures](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/bin/three-finger-gestures/three-finger-gestures.py): `bin/three-finger-gestures/three-finger-gestures.py`
- [Gesture Test Utility](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/bin/three-finger-gestures/test-three-finger-gestures.py): `bin/three-finger-gestures/test-three-finger-gestures.py`
- [Meeting Notes](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/bin/macos-meeting-notes.py): `bin/macos-meeting-notes.py`

### Plasma Controls

- [Control Station](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/KdeControlStation/contents/ui/js/funcs.js): `plasmoids/KdeControlStation/contents/ui/js/funcs.js`
- [Calendar Widget Styles](https://github.com/tejaslamba2006/macos-tahoe-kde/blob/main/plasmoids/com.jaxparrow07.macoswidgets.calendar/contents/ui/components/styleCodec.js): `plasmoids/com.jaxparrow07.macoswidgets.calendar/contents/ui/components/styleCodec.js`

### Other components

- **Desktop User**
- **Plasma Shell**
- **Vicinae Launcher**

## Connections

- Desktop User → KRunner D-Bus Bridge: invokes
- KRunner D-Bus Bridge → Vicinae Launcher: routes launch
- Plasma Shell → KRunner D-Bus Bridge: calls D-Bus
- Plasma Shell → Per-monitor Window Title: shows titles
- Plasma Shell → Andromeda Dock Launcher: hosts applet
- Plasma Shell → Chrome PiP Rules: applies window rules
- Plasma Shell → Aerial Patch: uses patched plugin
- Plasma Shell → Dynamic Island Applet: hosts applet
- Dynamic Island Applet → Calendar Parsing: parses calendar
- Dynamic Island Applet → Habit Tracking: provides feature
- Dynamic Island Applet → Suggestions: provides feature
- Dynamic Island Applet → Theme Files: provides feature
- Dynamic Island Applet → AI Streaming: provides feature
- Dynamic Island Applet → Claude CLI: provides integration
- Dynamic Island Applet → Antigravity AI: provides integration
- Dynamic Island Applet → Cloud Sync: provides integration
- Dynamic Island Applet → Companion: shows companion
- Companion → Cat Poses: uses poses
- Companion → Companion Tuning: uses tuning
- Desktop User → Share Privacy Daemon: shares screen
- Share Privacy Daemon → WhatsApp Blur: coordinates blur
- Desktop User → Phone Handoff: transfers clipboard
- Desktop User → Touchpad Gestures: swipes touchpad (evidence: `bin/three-finger-gestures/three-finger-gestures.py`)
- Touchpad Gestures → Plasma Shell: fires shortcuts (evidence: `bin/three-finger-gestures/three-finger-gestures.py`)
- Desktop User → Privacy Dots: checks capture
- Desktop User → Control Station: controls desktop
