1
0
Fork 0
Commit Graph

15 Commits (f78071e2bda32820298748d8a0e697bef8ebb747)

Author SHA1 Message Date
Dustin f78071e2bd svc: Update poetry.lock 2022-08-01 22:23:26 -05:00
Dustin 5314241b9f ui: update package-lock.json 2022-08-01 22:23:26 -05:00
Dustin 41806aaa9d svc: Use released aiomarionette 2022-08-01 22:23:26 -05:00
Dustin a285f1181a ci: Begin Jenkins build pipeline 2022-08-01 22:23:26 -05:00
Dustin 3c5ee6fa00 ui: Add navigation field
The GUI now allows controlling the location of the screens by entering a
new URL in the text field.  Upon submitting the form, the card will
refresh with the updated screen information and screenshot.
2022-04-30 21:49:30 -05:00
Dustin 12d6337335 svc: Add get screen operation
The *GET /screen/{name}/* path operation retrieves the current
information about a single screen.
2022-04-30 21:49:00 -05:00
Dustin e452393b9f svc: Add navigate operation
The *POST /screen/{name}/navigate* path operation allows the client to
request the screen navigate to a different URL, specified by the `url`
form field.
2022-04-30 21:48:12 -05:00
Dustin 0536574072 ui: Begin GUI
The GUI shows a screenshot of each monitor, as well as the title and URL
of the page being displayed.  There's also a button to trigger a page
reload on the remote machine.
2022-04-30 18:17:07 -05:00
Dustin fa1c9cb42a svc: hud: Protect window switches with a lock
Any time we need to switch Firefox windows, we need to use a lock to
prevent multiple simultaneous requests.  If we do not, interleaved
Marionette commands may result in performing operations on the wrong
window.  For example, making two simultaneous requests for screenshots
is liable to return the wrong window for one of them.
2022-04-30 15:53:57 -05:00
Dustin 35eba74bfd api: Add get screenshot operation
The *GET /screen/{name}/screenshot* path operation returns a screenshot
of the specified screen as a PNG image.  If a value is specified for one
or more of `height`, `width`, or `ratio`, then the image will be resized
accordingly.
2022-04-30 15:51:03 -05:00
Dustin b537896d56 api: List screens by monitor name
The *GET /screens/* path operation now returns a mapping of monitor
names to screen properties.  This matches the new behavior of the *POST
/screen/{name}/refresh* operation.
2022-04-30 14:24:53 -05:00
Dustin d075a1b1a9 meta: Install aiomarionette in development mode
Poetry does not install local path dependencies in "editable" mode by
default.  Instead, it builds them and installs them into the venv like
any other dependency.  This means that changes in the local copy are not
picked up.
2022-04-30 14:22:42 -05:00
Dustin 78169c06f0 api: Refresh screen by monitor name
In order to be more precise about which screen will be refreshed, the
*POST /screen/{number}/refresh* path operation has been changed to *POST
/screen/{name}/refresh*.  It takes a monitor name as the key instead of
an array index.
2022-04-30 14:15:10 -05:00
Dustin dbf266de5b svc: Load URL list from file
Instead of hard-coding the list of URLs to open, we'll read it from a
JSON file on the disk.  The file contains a mapping of monitor names to
URLs, e.g.

```json
{
    "HDMI-1": "http://my.site.one",
    "HDMI-2": "http://my.site.two"
}
```
2022-04-30 13:57:21 -05:00
Dustin 939f24d79f Initial commit 2022-04-30 13:32:42 -05:00