diff --git a/web/next-env.d.ts b/web/next-env.d.ts index 1b3be08..830fb59 100644 --- a/web/next-env.d.ts +++ b/web/next-env.d.ts @@ -1,5 +1,6 @@ /// /// +/// // NOTE: This file should not be edited // see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/web/package-lock.json b/web/package-lock.json index 4650a27..e3958b3 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -1,12 +1,12 @@ { "name": "vocalinux-website", - "version": "0.6.0", + "version": "0.7.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "vocalinux-website", - "version": "0.6.0", + "version": "0.7.0", "dependencies": { "@types/node": "^20.14.10", "@types/react": "^18.3.3", diff --git a/web/public/sitemap.xml b/web/public/sitemap.xml index e8c122b..2af5421 100644 --- a/web/public/sitemap.xml +++ b/web/public/sitemap.xml @@ -2,79 +2,128 @@ https://vocalinux.com/ - 2026-02-19 + 2026-02-22 weekly 1.0 https://vocalinux.com/install/ - 2026-02-19 + 2026-02-22 weekly 0.9 https://vocalinux.com/install/ubuntu/ - 2026-02-19 + 2026-02-22 monthly 0.8 https://vocalinux.com/install/fedora/ - 2026-02-19 + 2026-02-22 monthly 0.8 https://vocalinux.com/install/arch/ - 2026-02-19 + 2026-02-22 monthly 0.8 https://vocalinux.com/compare/ - 2026-02-19 + 2026-02-22 monthly 0.8 https://vocalinux.com/changelog/ - 2026-02-19 + 2026-02-22 weekly 0.7 https://vocalinux.com/faq/ - 2026-02-19 + 2026-02-22 monthly 0.8 https://vocalinux.com/privacy/ - 2026-02-19 + 2026-02-22 monthly 0.7 https://vocalinux.com/shortcuts/ - 2026-02-19 + 2026-02-22 monthly 0.6 https://vocalinux.com/troubleshooting/ - 2026-02-19 + 2026-02-22 monthly 0.7 https://vocalinux.com/use-cases/ - 2026-02-19 + 2026-02-22 monthly 0.8 https://vocalinux.com/alternatives/ - 2026-02-19 + 2026-02-22 + monthly + 0.8 + + + + https://vocalinux.com/languages/ + 2026-02-22 + monthly + 0.8 + + + https://vocalinux.com/wayland/ + 2026-02-22 + monthly + 0.8 + + + https://vocalinux.com/rsi-prevention/ + 2026-02-22 + monthly + 0.8 + + + https://vocalinux.com/gpu-acceleration/ + 2026-02-22 + monthly + 0.8 + + + https://vocalinux.com/open-source/ + 2026-02-22 + monthly + 0.8 + + + https://vocalinux.com/autostart/ + 2026-02-22 + monthly + 0.7 + + + https://vocalinux.com/for-developers/ + 2026-02-22 + monthly + 0.8 + + + https://vocalinux.com/offline/ + 2026-02-22 monthly 0.8 diff --git a/web/src/app/autostart/page.tsx b/web/src/app/autostart/page.tsx new file mode 100644 index 0000000..674b799 --- /dev/null +++ b/web/src/app/autostart/page.tsx @@ -0,0 +1,305 @@ +import Link from "next/link"; +import { type Metadata } from "next"; +import { CheckCircle2, ChevronRight, Loader2, Play, Power, Settings, Terminal } from "lucide-react"; +import { SeoSubpageShell } from "@/components/seo-subpage-shell"; +import { absoluteUrl, buildPageMetadata } from "@/lib/seo"; + +const desktopEnvironments = [ + { + name: "GNOME", + autostartMethod: "XDG Autostart", + supported: true, + notes: "Default on Ubuntu, Fedora, Debian", + }, + { + name: "KDE Plasma", + autostartMethod: "XDG Autostart", + supported: true, + notes: "Full support via System Settings", + }, + { + name: "Xfce", + autostartMethod: "XDG Autostart", + supported: true, + notes: "Settings → Session and Startup", + }, + { + name: "Cinnamon", + autostartMethod: "XDG Autostart", + supported: true, + notes: "System Settings → Startup Applications", + }, + { + name: "MATE", + autostartMethod: "XDG Autostart", + supported: true, + notes: "Control Center → Startup Applications", + }, + { + name: "LXQt", + autostartMethod: "XDG Autostart", + supported: true, + notes: "Preferences → LXQt Settings → Autostart", + }, + { + name: "Sway", + autostartMethod: "XDG Autostart / config", + supported: true, + notes: "Use dex or exec in config", + }, + { + name: "Hyprland", + autostartMethod: "XDG Autostart / config", + supported: true, + notes: "exec-once in config or XDG", + }, +]; + +const howItWorks = [ + { + step: 1, + title: "Enable in Vocalinux", + description: "Open Vocalinux and enable 'Start on Login' via the tray menu or Settings dialog.", + code: null, + }, + { + step: 2, + title: "Desktop Entry Created", + description: "Vocalinux creates a .desktop file in your autostart directory:", + code: "~/.config/autostart/vocalinux.desktop", + }, + { + step: 3, + title: "Auto-launch on Login", + description: "Your desktop environment reads this file and launches Vocalinux when you log in.", + code: null, + }, +]; + +const managementMethods = [ + { + method: "System Tray", + description: "Right-click the Vocalinux tray icon → Start on Login", + icon: Power, + }, + { + method: "Settings Dialog", + description: "Open Settings → General → Start on Login", + icon: Settings, + }, + { + method: "Command Line", + description: "Create/remove the autostart file manually", + icon: Terminal, + }, +]; + +export const metadata: Metadata = buildPageMetadata({ + title: "Autostart Voice Dictation on Linux Login | Vocalinux", + description: + "Configure Vocalinux to start automatically when you log in to Linux. XDG autostart support for GNOME, KDE, Xfce, and all major desktop environments.", + path: "/autostart", + keywords: [ + "Linux autostart voice dictation", + "auto start on login Linux", + "XDG autostart desktop entry", + "GNOME startup applications", + "KDE autostart", + "voice dictation auto launch", + "Linux desktop autostart", + ], +}); + +export default function AutostartPage() { + const articleJsonLd = { + "@context": "https://schema.org", + "@type": "Article", + headline: "Autostart Voice Dictation on Linux Login", + description: + "How to configure Vocalinux to start automatically on Linux login. XDG autostart guide for all desktop environments.", + dateModified: "2026-02-22", + author: { + "@type": "Person", + name: "Jatin K Malik", + url: "https://github.com/jatinkrmalik", + }, + publisher: { + "@type": "Organization", + name: "Vocalinux", + logo: { + "@type": "ImageObject", + url: absoluteUrl("/vocalinux.png"), + }, + }, + mainEntityOfPage: absoluteUrl("/autostart"), + }; + + return ( + +