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:
Storm Dragon
2025-07-20 03:39:47 -04:00
commit 460dfc52a5
31 changed files with 5320 additions and 0 deletions

38
bifrost.py Executable file
View 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()