Your ddl-tracker for CCF conferences, now in your menu bar!
- ⏱️ Shows the next upcoming deadline in the menu bar
- 📋 Lists all future deadlines with countdown timers
- 🌎 Displays deadline times in both conference timezone and your local timezone
- 🔄 Automatically updates every hour
- 🔗 Links to conference websites
-
Install SwiftBar and set
Plugin Folder
(e.g.,~/swiftbar/
) -
Clone this repository to a different directory (e.g.,
~/swiftbar/ccfddl/
) and install dependencies:mkdir -p ~/swiftbar/ccfddl/ echo "ccfddl/*" >> ~/swiftbar/.swiftbarignore git clone https://github.com/superpung/swiftbar-ccfddl.git ~/swiftbar/ccfddl/ cd ~/swiftbar/ccfddl/ uv sync # if you don't have `uv` installed, use pip: pip install .
-
Create the assets directory and download CCF deadline YAML files from ccfddl/ccf-deadlines:
mkdir -p ~/swiftbar/assets/ccfddl/ echo "assets/*" >> ~/swiftbar/.swiftbarignore cd ~/swiftbar/assets/ccfddl/ wget https://raw.githubusercontent.com/ccfddl/ccf-deadlines/refs/heads/main/conference/SE/icse.yml # or download specific conference files as needed
-
Edit the
ccfddl.1h.py
script to set the correct path for the python environment (usewhich python3
) and CCF deadline YAML files assets:- #!/Users/super/i/swiftbar/.venv/bin/python3 + #!/Users/yourname/swiftbar/ccfddl/.venv/bin/python3 ... - CCFDDL_DIR = os.path.expanduser("~/i/swiftbar/assets/ccfddl") + CCFDDL_DIR = os.path.expanduser("~/swiftbar/assets/ccfddl")
-
Make the script executable and create a symbolic link to the script in your SwiftBar plugins directory:
chmod +x ~/swiftbar/ccfddl/ccfddl.1h.py ln -s ~/swiftbar/ccfddl/ccfddl.1h.py ~/swiftbar/ccfddl.1h.py
-
Refresh SwiftBar to see the plugin in action!
You can change the filename of the script in the SwiftBar plugin directory to change the update frequency. For example, renaming it to ccfddl.10m.py
will update every 10 minutes.
- Data sourced from CCF Deadlines
- Plugin built for SwiftBar