Skip to content

Repository files navigation

OmaOneDrive

OneDrive in the Omarchy bar. OmaOneDrive follows the installed OneDrive Client for Linux and its systemd user service: sync status, cloud storage, recent activity, and pause/resume — in a panel like Omarchy's own Dropbox widget.

Demo

OmaOneDrive demo: an upload with live progress, pause and resume, and recovery from a network cut

Screenshots

Full layout: status, cloud storage, recent activity

A recovered upload failure shown as a neutral activity row

Compact layout: storage and the primary actions

Resync required, with the guided repair

Highlights

  • Live status — monitoring, syncing, paused, or needs attention, with the file currently transferring and its progress. Interruptions show as "retrying", never as a frozen percentage.
  • Notifications when OneDrive fails, needs a resync or reauthentication, recovers, or storage passes 90% full. Clicking one opens the panel or starts the repair. Optional.
  • Guided repair — opens the CLI's own interactive --resync flow in a terminal, which asks before it touches anything.
  • Pause and resume with 15-minute, 1-hour and 4-hour timed pauses.
  • Storage meter that turns urgent past 90%.
  • Honest activity feed — service errors and recent local changes, benign client noise filtered out, resolved errors shown as recovered.
  • Full and Compact layouts; arrow-key navigation.
  • Distinct bar badges for missing client, login needed, paused, syncing and healthy.

Controls

  • Left click toggles the panel; middle click opens the OneDrive folder; right click refreshes cloud storage.
  • move, Enter activates. R refreshes storage, F verifies sync, P pauses or resumes, O opens the folder, W opens OneDrive on the web, L opens login, Esc closes.

Routine refreshes are local (service, journal, sync folder). Microsoft is contacted only by Refresh storage (onedrive --display-quota) and Verify sync (onedrive --display-sync-status, slow on large drives, never automatic) — plus one storage retry when you open the panel onto a failed check older than five minutes.

Requirements

  • Omarchy 4 (Quattro)
  • Python 3
  • The abraunegg onedrive CLI (tested with 2.5.11) and its onedrive.service user unit
omarchy-pkg-add onedrive-abraunegg
onedrive                                   # sign in once
systemctl --user enable --now onedrive.service

Install

omarchy plugin add https://github.com/salemsayed/omaonedrive.git --enable

Configure

omarchy bar set io.github.salemsayed.omaonedrive refreshIntervalSec 30 --json   # 10–3600
omarchy bar set io.github.salemsayed.omaonedrive recentFileLimit 20 --json      # 5–50
omarchy bar set io.github.salemsayed.omaonedrive panelStyle Compact             # Full | Compact
omarchy bar set io.github.salemsayed.omaonedrive notifications false --json

IPC, for keybindings:

omarchy-shell io.github.salemsayed.omaonedrive open      # also: status, refresh, check
omarchy-shell io.github.salemsayed.omaonedrive pause     # pauseFor 60, resume
omarchy-shell io.github.salemsayed.omaonedrive folder

Remove

omarchy plugin disable io.github.salemsayed.omaonedrive
omarchy plugin remove io.github.salemsayed.omaonedrive

OneDrive itself is untouched. To drop the status cache as well:

rm -r -- "$HOME/.local/state/omarchy/io.github.salemsayed.omaonedrive"

What it never does

No uploads, downloads, deletions, resyncs, logouts or configuration edits of its own. Pause and resume are systemctl --user stop/start onedrive.service; a timed pause is a transient user timer that only starts that service again. Login and reauthentication open the client in a terminal. The refresh token is never read, copied or stored.

License

MIT

About

OneDrive service status, cloud storage, and recent sync activity in the Omarchy bar.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages