- Full ActivityPub support for Pleroma, GoToSocial, and Mastodon - Screen reader optimized interface with PySide6 - Timeline switching with tabs and keyboard shortcuts (Ctrl+1-4) - Threaded conversation navigation with expand/collapse - Cross-platform desktop notifications via plyer - Customizable sound pack system with audio feedback - Complete keyboard navigation and accessibility features - XDG Base Directory compliant configuration - Multiple account support with OAuth authentication 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
38 lines
948 B
Python
Executable File
38 lines
948 B
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
"""
|
|
Bifrost - Accessible Fediverse Client
|
|
A fully accessible ActivityPub client designed for screen reader users.
|
|
"""
|
|
|
|
import sys
|
|
import os
|
|
from pathlib import Path
|
|
|
|
# Add src directory to Python path
|
|
sys.path.insert(0, str(Path(__file__).parent / "src"))
|
|
|
|
from PySide6.QtWidgets import QApplication
|
|
from PySide6.QtCore import Qt
|
|
from main_window import MainWindow
|
|
|
|
def main():
|
|
"""Main application entry point"""
|
|
app = QApplication(sys.argv)
|
|
app.setApplicationName("Bifrost")
|
|
app.setApplicationDisplayName("Bifrost Fediverse Client")
|
|
app.setApplicationVersion("1.0.0")
|
|
app.setOrganizationName("Bifrost")
|
|
app.setOrganizationDomain("bifrost.social")
|
|
|
|
# High DPI scaling is enabled by default in newer Qt versions
|
|
|
|
# Create and show main window
|
|
window = MainWindow()
|
|
window.show()
|
|
|
|
# Run the application
|
|
sys.exit(app.exec())
|
|
|
|
if __name__ == "__main__":
|
|
main() |