Skip to content

Larry8668/PathFinder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

24 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

PathFinder ๐Ÿš€

A powerful Raycast-inspired launcher application built with Tauri and React. PathFinder provides instant access to your most-used tools and information through a beautiful, keyboard-driven interface.

PathFinder Demo Platform License

โœจ Features

๐ŸŽฏ Current Features

  • ๐ŸŒ Global Hotkey Access - Press Ctrl + Shift + Space from anywhere to launch
  • โŒจ๏ธ Keyboard Navigation - Full keyboard control with arrow keys and Enter
  • ๐Ÿ” Fuzzy Search - Intelligent search using Fuse.js for all options
  • ๐Ÿ“‹ Clipboard Management - View and search through clipboard history
  • ๐ŸŒ Online Search - Quick access to web search functionality
  • ๐Ÿ“ File System Search - Find and open files quickly
  • ๐ŸŽจ Beautiful UI - Modern, transparent overlay with blur effects
  • โšก Lightning Fast - Built with Tauri for native performance
  • ๐Ÿ”„ Hot Reload - Instant development feedback

๐Ÿš€ Planned Features (Raycast-inspired)

  • ๐Ÿ“‹ Advanced Clipboard - Full clipboard history with rich content support
  • ๐Ÿ” Deep File Search - Index and search entire file system
  • ๐ŸŒ Smart Web Search - Multiple search engines and instant results
  • ๐Ÿ“ฑ App Launcher - Launch applications and system tools
  • โš™๏ธ System Controls - Volume, brightness, WiFi, Bluetooth controls
  • ๐Ÿ“Š Calculator - Built-in calculator with expression evaluation
  • ๐Ÿ“… Calendar Integration - View and manage calendar events
  • ๐ŸŽต Media Controls - Control music and video playback
  • ๐Ÿ“ Quick Notes - Create and search notes instantly
  • ๐Ÿ”— URL Shortcuts - Custom URL schemes and deep links
  • ๐ŸŽจ Themes - Multiple UI themes and customization options
  • ๐Ÿ”Œ Extensions - Plugin system for custom functionality
  • ๐Ÿ“ˆ Usage Analytics - Track most-used commands and features
  • ๐ŸŒ™ Dark/Light Mode - Automatic theme switching
  • ๐Ÿ” Security - Secure credential storage and management

๐Ÿ› ๏ธ Tech Stack

  • Frontend: React 18 + Vite
  • Backend: Tauri 2.0 (Rust)
  • Search: Fuse.js for fuzzy search
  • Styling: CSS3 with modern features
  • Build: Vite + Tauri CLI
  • Platform: Cross-platform (Windows, macOS, Linux)

๐Ÿ“‹ Prerequisites

Before running PathFinder, ensure you have:

Windows Additional Requirements

  • Microsoft Visual Studio C++ Build Tools
  • Windows SDK

macOS Additional Requirements

  • Xcode Command Line Tools: xcode-select --install

Linux Additional Requirements

  • libwebkit2gtk-4.0-dev
  • build-essential
  • curl
  • wget
  • libssl-dev
  • libgtk-3-dev
  • libayatana-appindicator3-dev
  • librsvg2-dev

๐Ÿš€ Quick Start

1. Clone the Repository

git clone https://github.com/yourusername/pathfinder.git
cd pathfinder

2. Install Dependencies

npm install

3. Run in Development Mode

npm run tauri dev

4. Build for Production

npm run tauri build

๐ŸŽฎ How to Use

Global Hotkey

  • Launch PathFinder: Ctrl + Shift + Space (from anywhere)
  • Hide PathFinder: Escape or Ctrl + Shift + Space again

Navigation

  • Arrow Keys: Navigate up/down through options
  • Enter: Select highlighted option
  • Escape: Go back to home or hide application
  • Type: Start typing to search/filter options

Available Commands

๐Ÿ  Home Screen

  • Clipboard - Access clipboard history
  • Online Search - Search the web
  • Open File - Find and open files

๐Ÿ“‹ Clipboard Management

  • View recent clipboard items
  • Search through clipboard history
  • Click or press Enter to copy item back to clipboard

๐ŸŒ Online Search

  • Type your search query
  • Press Enter to open search in default browser
  • Supports all major search engines

๐Ÿ“ File System Search

  • Search through files by name
  • Fuzzy matching for partial names
  • Quick file opening

๐Ÿ—๏ธ Development

Project Structure

pathfinder/
โ”œโ”€โ”€ src/                    # React frontend
โ”‚   โ”œโ”€โ”€ components/         # React components
โ”‚   โ”‚   โ”œโ”€โ”€ HomeOptions.jsx
โ”‚   โ”‚   โ”œโ”€โ”€ ClipboardPage.jsx
โ”‚   โ”‚   โ”œโ”€โ”€ OnlineSearchPage.jsx
โ”‚   โ”‚   โ””โ”€โ”€ OpenFilePage.jsx
โ”‚   โ”œโ”€โ”€ hooks/             # Custom React hooks
โ”‚   โ”‚   โ””โ”€โ”€ useKeyboardNavigation.js
โ”‚   โ”œโ”€โ”€ App.jsx            # Main app component
โ”‚   โ””โ”€โ”€ App.css            # Styles
โ”œโ”€โ”€ src-tauri/             # Tauri backend
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ main.rs        # Entry point
โ”‚   โ”‚   โ””โ”€โ”€ lib.rs         # Main logic
โ”‚   โ”œโ”€โ”€ Cargo.toml         # Rust dependencies
โ”‚   โ””โ”€โ”€ tauri.conf.json    # Tauri configuration
โ””โ”€โ”€ package.json           # Node.js dependencies

Available Scripts

  • npm run dev - Start Vite development server
  • npm run tauri dev - Run Tauri app in development mode
  • npm run tauri build - Build production app
  • npm run build - Build frontend only
  • npm run preview - Preview production build

Development Workflow

  1. Frontend Changes: Edit files in src/ - changes reflect immediately
  2. Backend Changes: Edit Rust files in src-tauri/src/ - app restarts automatically
  3. Configuration: Modify src-tauri/tauri.conf.json for app settings

Adding New Features

  1. New Page: Create component in src/components/
  2. Add to Home: Update OPTIONS array in HomeOptions.jsx
  3. Navigation: Add route in App.jsx
  4. Styling: Update App.css for new components

๐Ÿ”ง Configuration

Global Shortcut

Modify the global shortcut in src-tauri/src/lib.rs:

let shortcut = Shortcut::new(Some(Modifiers::CONTROL | Modifiers::SHIFT), Code::Space);

Window Settings

Adjust window properties in src-tauri/tauri.conf.json:

  • Size: width and height
  • Position: center and alwaysOnTop
  • Appearance: transparent and decorations

Search Settings

Modify search behavior in component files:

  • Threshold: threshold: 0.4 (lower = more strict)
  • Keys: keys: ["title"] (searchable fields)

๐Ÿ› Troubleshooting

Common Issues

App won't start:

  • Ensure Rust is installed: rustc --version
  • Check Node.js version: node --version
  • Try clearing cache: npm run tauri dev -- --verbose

Global shortcut not working:

  • Check if another app is using the same shortcut
  • Try running as administrator (Windows)
  • Verify shortcut registration in console

Build fails:

  • Update dependencies: npm update
  • Clean build: npm run tauri build -- --verbose
  • Check system requirements

Performance issues:

  • Close other applications
  • Check available memory
  • Update graphics drivers

Debug Mode

Run with verbose logging:

npm run tauri dev -- --verbose

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Setup

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Test thoroughly
  5. Commit: git commit -m 'Add amazing feature'
  6. Push: git push origin feature/amazing-feature
  7. Open a Pull Request

๐Ÿ™ Acknowledgments

Made with โค๏ธ for productivity enthusiasts

About

Raycast inspired launcher application build using Tauri & React

Topics

Resources

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •