Turn the desktop client into a system tray application
Started without a command, keeporg now shows a padlock in the system tray with a menu like midi-webhook's: a status line, the mirror folder, each database with its state, Sync Now, browser sign-in and sign-out, the web interface, the configuration, the log, Start at Login, About and Quit. The commands are unchanged. config.json now carries every client setting (device_label, request_timeout_seconds, ca_file, log_file, notifications), is written in full on first start and is reloaded by the tray when saved. A lock in the mirror directory admits one agent at a time, since the tray, `keeporg run` and a service unit could otherwise race each other. The tray uses fyne.io/systray: pure Go on Linux, BSD and Windows, cgo on macOS only. The server keeps no third-party dependencies. Desktop versions go to 0.5.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
d314188247
commit
ead82dc777
@@ -1,27 +1,53 @@
|
||||
KeepOrg for Windows
|
||||
===================
|
||||
|
||||
keeporg.exe is the synchronization agent and the administration command.
|
||||
keeporg-tray.exe is the tray application. keeporg.exe is the same program for a
|
||||
command prompt: administration commands, and the agent without a tray.
|
||||
|
||||
First run
|
||||
---------
|
||||
1. Copy both files to %LOCALAPPDATA%\Programs\KeepOrg and start keeporg-tray.exe.
|
||||
A padlock appears in the notification area.
|
||||
2. Choose Open Config from its menu, set "server_url" to your server, for
|
||||
example "https://keeporg.example.com", and save.
|
||||
3. Choose Sign In... and approve the code in the browser that opens, with
|
||||
your password or single sign-on.
|
||||
|
||||
Your databases appear in %UserProfile%\KeepOrg. Open them with KeePass,
|
||||
KeePassXC or any compatible application: every save is pushed to the
|
||||
server, and changes made by other people are applied to the files. The
|
||||
Databases submenu shows each one's state and opens it.
|
||||
|
||||
Tick Start at Login to start KeepOrg when you sign in to Windows.
|
||||
|
||||
Settings
|
||||
--------
|
||||
%AppData%\keeporg\config.json holds every setting, and the tray applies an
|
||||
edit as soon as it is saved:
|
||||
|
||||
server_url the server, as a browser sees it
|
||||
device_label this computer's name in the server's session list
|
||||
mirror_dir where the .kdbx files are kept
|
||||
poll_seconds how often local saves are looked for
|
||||
request_timeout_seconds the limit on one request to the server
|
||||
ca_file a PEM bundle, for a server behind a private CA
|
||||
log_file the log; empty means keeporg.log beside config.json
|
||||
notifications desktop notifications (not shown on Windows yet)
|
||||
username, token written by signing in
|
||||
|
||||
Without the tray
|
||||
----------------
|
||||
keeporg.exe login -server https://keeporg.example.com -user you
|
||||
keeporg.exe run
|
||||
|
||||
`login` stores its configuration in
|
||||
%AppData%\keeporg\config.json and mirrors your databases into
|
||||
%UserProfile%\KeepOrg by default. Pass -dir to choose another directory.
|
||||
|
||||
Open the .kdbx files in that directory with KeePass, KeePassXC or any
|
||||
compatible application. Every save is pushed to the server, and changes made
|
||||
by other people are applied to the files.
|
||||
|
||||
Keeping it running
|
||||
------------------
|
||||
Import keeporg-task.xml into Task Scheduler to start the agent at logon:
|
||||
keeporg-task.xml starts `keeporg.exe run` at logon through Task Scheduler,
|
||||
for a machine where nobody uses the tray:
|
||||
|
||||
schtasks /create /tn KeepOrg /xml keeporg-task.xml
|
||||
|
||||
Only one agent synchronizes a directory at a time; a second one reports
|
||||
that the first is running and stops.
|
||||
|
||||
Conflicts
|
||||
---------
|
||||
If someone else saved first, your save is kept beside the file as
|
||||
|
||||
Reference in New Issue
Block a user