gardesk/tarmac-web / 1ff7574

Browse files

add SEO content: description block, FAQ, keyword-dense copy

Authored by espadonne
SHA
1ff7574107636e8c25849c917ba837c8e137a04a
Parents
bb46a92
Tree
0b907c9

1 changed file

StatusFile+-
M src/app/page.tsx 130 8
src/app/page.tsxmodified
@@ -1,7 +1,15 @@
1
+import type { Metadata } from "next";
12
 import Link from "next/link";
23
 import Terminal from "@/components/Terminal";
34
 import ComparisonTable from "@/components/ComparisonTable";
45
 
6
+export const metadata: Metadata = {
7
+  title: "tarmac — tiling window manager for macOS",
8
+  description:
9
+    "tarmac is a tiling window manager for macOS written in Rust. Automatic BSP window layouts, keyboard-driven navigation, workspaces, scratchpads, IPC, and Lua configuration. A yabai and AeroSpace alternative.",
10
+  alternates: { canonical: "/" },
11
+};
12
+
513
 function FeatureCard({
614
   title,
715
   description,
@@ -65,8 +73,9 @@ export default function Home() {
6573
             </p>
6674
             <div className="clear-both" />
6775
             <p className="text-lg text-surface-600 dark:text-surface-400 mt-4 max-w-xl">
68
-              A keyboard-driven tiling window manager for macOS, written in Rust.
69
-              BSP layouts, Lua configuration, IPC, and window borders via ers.
76
+              A tiling window manager for macOS. Arrange windows automatically
77
+              with BSP layouts, navigate with the keyboard, and configure
78
+              everything in Lua.
7079
             </p>
7180
           </div>
7281
 
@@ -76,8 +85,52 @@ export default function Home() {
7685
           </div>
7786
         </section>
7887
 
88
+        {/* What is tarmac — SEO content block */}
89
+        <section className="max-w-4xl mx-auto px-6 pb-16">
90
+          <div className="card">
91
+            <h2 className="text-2xl font-bold text-surface-900 dark:text-surface-100 mb-4">
92
+              A tiling window manager built for macOS
93
+            </h2>
94
+            <div className="text-surface-600 dark:text-surface-400 text-sm leading-relaxed space-y-3">
95
+              <p>
96
+                tarmac is a tiling window manager that automatically arranges
97
+                your macOS windows into non-overlapping tiles using a binary
98
+                space partition (BSP) algorithm. Instead of manually dragging
99
+                and resizing windows, tarmac handles layout for you — open a
100
+                new window and it splits the available space.
101
+              </p>
102
+              <p>
103
+                Navigate between windows with keyboard shortcuts (vim-style
104
+                hjkl or arrow keys), swap window positions, resize splits, and
105
+                manage 10 workspaces per monitor. Named scratchpad overlays
106
+                give you quick-access terminals or tools that toggle on and
107
+                off.
108
+              </p>
109
+              <p>
110
+                tarmac is written in Rust and configured through a single Lua
111
+                file at <code>~/.config/tarmac/init.lua</code>. It runs as a
112
+                background daemon, uses the macOS Accessibility API for window
113
+                control, and exposes an IPC socket for scripting via{" "}
114
+                <code>tarmacctl</code>.
115
+              </p>
116
+              <p>
117
+                Window borders are rendered by{" "}
118
+                <Link href="/docs/ers/overview" className="text-accent hover:underline">
119
+                  ers
120
+                </Link>
121
+                , a companion process that draws colored overlays around
122
+                windows using private SkyLight framework APIs. Borders show
123
+                which window is focused at a glance.
124
+              </p>
125
+            </div>
126
+          </div>
127
+        </section>
128
+
79129
         {/* Feature cards */}
80130
         <section className="max-w-6xl mx-auto px-6 pb-16">
131
+          <h2 className="text-2xl font-bold text-surface-900 dark:text-surface-100 mb-8 text-center">
132
+            Features
133
+          </h2>
81134
           <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
82135
             <FeatureCard
83136
               title="BSP tiling"
@@ -111,6 +164,10 @@ export default function Home() {
111164
               title="Rich events for bar integration"
112165
               description="Events carry full workspace snapshots, window metadata, and layout state. Subscribe from shell scripts or Lua callbacks to drive status bars like sketchybar."
113166
             />
167
+            <FeatureCard
168
+              title="Multi-monitor support"
169
+              description="Each monitor gets its own set of workspaces. Focus and move windows between monitors with keybinds. Hotplug detection when displays connect or disconnect."
170
+            />
114171
           </div>
115172
         </section>
116173
 
@@ -119,7 +176,7 @@ export default function Home() {
119176
           <div className="card p-0 overflow-hidden">
120177
             <div className="screenshot-placeholder">
121178
               <p className="text-lg font-medium mb-2">Screenshot: tarmac in action</p>
122
-              <p className="text-sm">BSP layout with gaps, borders, and multiple workspaces</p>
179
+              <p className="text-sm">BSP layout with gaps, borders, and multiple workspaces on macOS</p>
123180
               <p className="text-xs mt-4 italic">[ placeholder &mdash; add hero-screenshot.png to public/ ]</p>
124181
             </div>
125182
           </div>
@@ -129,16 +186,81 @@ export default function Home() {
129186
         <section className="max-w-6xl mx-auto px-6 pb-16">
130187
           <div className="card">
131188
             <h2 className="text-2xl font-bold text-surface-900 dark:text-surface-100 mb-6">
132
-              How tarmac compares
189
+              How tarmac compares to other tiling window managers
133190
             </h2>
134191
             <p className="text-surface-600 dark:text-surface-400 mb-6 text-sm">
135
-              tarmac is macOS-only. If you&apos;re on Linux, the options below may suit you better.
136
-              This table reflects documented features; actual behavior depends on version and configuration.
192
+              tarmac is macOS-only. If you&apos;re on Linux, i3, sway, Hyprland, or bspwm
193
+              are good options. On macOS, tarmac sits alongside yabai and AeroSpace
194
+              as a keyboard-driven tiling window manager with IPC, workspaces, and scratchpads.
137195
             </p>
138196
             <ComparisonTable />
139197
           </div>
140198
         </section>
141199
 
200
+        {/* FAQ for SEO */}
201
+        <section className="max-w-4xl mx-auto px-6 pb-16">
202
+          <div className="card">
203
+            <h2 className="text-2xl font-bold text-surface-900 dark:text-surface-100 mb-6">
204
+              Frequently asked questions
205
+            </h2>
206
+            <div className="space-y-6 text-sm">
207
+              <div>
208
+                <h3 className="font-semibold text-surface-900 dark:text-surface-100 mb-1">
209
+                  What is a tiling window manager?
210
+                </h3>
211
+                <p className="text-surface-600 dark:text-surface-400">
212
+                  A tiling window manager automatically arranges your windows so
213
+                  they don&apos;t overlap, filling the screen in a grid-like pattern.
214
+                  Instead of floating windows you drag around manually, a tiling WM
215
+                  handles all positioning and sizing. You navigate and manage windows
216
+                  with keyboard shortcuts.
217
+                </p>
218
+              </div>
219
+              <div>
220
+                <h3 className="font-semibold text-surface-900 dark:text-surface-100 mb-1">
221
+                  Does macOS have a built-in tiling window manager?
222
+                </h3>
223
+                <p className="text-surface-600 dark:text-surface-400">
224
+                  macOS has basic window snapping (split view), but no real tiling
225
+                  window manager. Tools like tarmac, yabai, and AeroSpace fill this
226
+                  gap by providing automatic window tiling, workspaces, and keyboard
227
+                  navigation on macOS.
228
+                </p>
229
+              </div>
230
+              <div>
231
+                <h3 className="font-semibold text-surface-900 dark:text-surface-100 mb-1">
232
+                  How is tarmac different from yabai?
233
+                </h3>
234
+                <p className="text-surface-600 dark:text-surface-400">
235
+                  Both are BSP-based tiling window managers for macOS with IPC
236
+                  support. tarmac is written in Rust, uses Lua for configuration,
237
+                  and includes built-in scratchpads, a system tray, and a settings
238
+                  GUI. yabai is written in C and configured via shell scripts.
239
+                  tarmac also bundles ers for window borders.
240
+                </p>
241
+              </div>
242
+              <div>
243
+                <h3 className="font-semibold text-surface-900 dark:text-surface-100 mb-1">
244
+                  Does tarmac work on Apple Silicon?
245
+                </h3>
246
+                <p className="text-surface-600 dark:text-surface-400">
247
+                  Yes. tarmac runs natively on both Apple Silicon (M1/M2/M3/M4) and
248
+                  Intel Macs. It&apos;s tested on macOS Monterey through Tahoe.
249
+                </p>
250
+              </div>
251
+              <div>
252
+                <h3 className="font-semibold text-surface-900 dark:text-surface-100 mb-1">
253
+                  Does tarmac require disabling System Integrity Protection (SIP)?
254
+                </h3>
255
+                <p className="text-surface-600 dark:text-surface-400">
256
+                  No. tarmac works with SIP enabled. It only requires Accessibility
257
+                  permission, which you grant through System Settings.
258
+                </p>
259
+              </div>
260
+            </div>
261
+          </div>
262
+        </section>
263
+
142264
         {/* Getting started CTA */}
143265
         <section className="max-w-4xl mx-auto px-6 pb-24 text-center">
144266
           <div className="card inline-block px-10 py-8">
@@ -146,7 +268,7 @@ export default function Home() {
146268
               Get started
147269
             </h2>
148270
             <p className="text-surface-600 dark:text-surface-400 mb-6">
149
-              Read the docs, install tarmac, and start tiling.
271
+              Install tarmac in one command and start tiling your macOS windows.
150272
             </p>
151273
             <Link
152274
               href="/docs/getting-started"
@@ -160,7 +282,7 @@ export default function Home() {
160282
         {/* Footer */}
161283
         <footer className="border-t border-surface-200 dark:border-surface-800 bg-white/80 dark:bg-surface-950/80 backdrop-blur-md">
162284
           <div className="max-w-6xl mx-auto px-6 py-8 flex items-center justify-between text-sm text-surface-500">
163
-            <span>tarmac &mdash; macOS tiling window manager</span>
285
+            <span>tarmac &mdash; tiling window manager for macOS</span>
164286
             <a
165287
               href="https://github.com/gardesk/tarmac"
166288
               className="hover:text-surface-900 dark:hover:text-surface-100 transition-colors"