Desktop integration
Samaya is pre-beta. Commands and output may change before the beta.
Open Samaya and use the tray
samaya opens or reveals the app. On Linux, samaya --hidden starts it
in the tray. Add that command to your desktop's login applications to keep
Samaya ready for task capture and bar controls.
Windows currently has no tray icon: closing the window quits Samaya, and
--hidden opens a regular window. See Getting started.
Add a task from anywhere
samaya compose --window opens the task composer in its own window,
starting Samaya if needed. Enter adds the task to today in Inbox.org
unless a composer token says otherwise. Escape cancels. Focusing another
window hides the popup and keeps its draft.
samaya compose opens the composer in the main window and preserves its draft.
After upgrading from a version without compose --window, restart Samaya
before using the command.
Hyprland
In your Hyprland 0.56 Lua configuration:
hl.bind("SUPER + N", hl.dsp.exec_cmd("samaya compose --window"))
hl.window_rule({
name = "samaya-compose",
match = { class = "^samaya-compose$" },
float = true,
center = true,
border_size = 0,
no_shadow = true,
no_blur = true,
no_anim = true,
})
Use the absolute path to samaya if it is not on the compositor's PATH.
The popup opens on the current workspace. On Wayland, the compositor controls
focus; test the shortcut in your session.
Other desktops
In GNOME, KDE or another desktop, create a custom keyboard shortcut that runs
samaya compose --window. Other compositors can match the window class
samaya-compose. Your desktop controls popup placement.
On Windows, create a shortcut to samaya.exe and put it in the Start menu
folder, opened with Win + R and shell:programs. In the shortcut's
Properties, append = compose --window= to Target. Set Shortcut key
to your preferred combination, such as Ctrl + Alt + A.
Noctalia top bar
Use native Noctalia 5.3.0 and Samaya 1.12.0 or later. Install the desktop app
separately and make sure samaya is on Noctalia's PATH.
Open Noctalia Settings → Plugins → Add source.
Choose Git, name it
samayaand enterhttps://git.hegdeatri.com/hegdeatri/samaya-releases.Enable Samaya. Add its Focus widget through the bar's Add widget picker.
The widget shows your Focus clock and meetings. Its panel provides Focus, meeting Join, Add a task and calendar sync controls.
Choose Auto-update plugins → All sources to include this plugin source, or use its Update action manually. Update the desktop app separately. See the public plugin guide for settings and removal.
Script your bar
Status and control commands require the Linux desktop app. Keep it running, including hidden in the tray, to use these commands. Status reports offline when the app is unavailable; control commands reject the request. Neither starts the app.
Read status
samaya status --json
samaya status --watch
The first command prints status as JSON. The second provides updates as one JSON object per line, including offline status. Standard output contains only JSON; diagnostics go to standard error.
Status includes Focus clock values, current and upcoming timed events, scheduled work, sync status and available actions. Display the supplied clock values. Use the task, session, phase and occurrence IDs from status for the controls below. Pass each ID as one argument; scripts should use argument arrays rather than build shell commands from text.
Controls
| Command | Effect |
samaya focus start <task-id> | Start Focus on a task |
samaya focus pause --session <id> | Pause Focus |
samaya focus resume --session <id> | Resume Focus |
samaya focus end --session <id> | Save and end Focus |
samaya focus start-next-phase --session <id> --phase <phase-id> | Start the next Pomodoro phase |
samaya event join <occurrence-id> | Open the meeting link |
samaya desktop open-task <task-id> | Reveal a task |
samaya desktop sync-now | Sync calendars now |
samaya desktop pause-sync | Pause automatic calendar sync |
samaya desktop resume-sync | Resume automatic calendar sync |
Each control prints a JSON reply. A successful command reports ok and exits
successfully. Other results are rejected, failed or unknown. Show the
reported reason to the user. If the outcome is unknown, check status or open
Samaya before repeating the action.
