Initial commit: Bifrost accessible fediverse client
- 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>
This commit is contained in:
38
bifrost.py
Executable file
38
bifrost.py
Executable file
@ -0,0 +1,38 @@
|
||||
#!/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()
|
Reference in New Issue
Block a user