Skip to content

Releases: Eeems-Org/oxide

v2.0-alpha

18 Sep 05:23
2d4ec29
Compare
Choose a tag to compare
v2.0-alpha Pre-release
Pre-release

Warning, this is just an alpha of the 2.0 release and not the normal beta and might not be stable.

Features Added

  • Apps API mostly implemented.
  • Drop support for term= application config.
  • Launcher updated to use Apps API and will no longer use draft configuration files.
  • Import Apps menu item added to the launcher to allow you to import configuration from draft.

Known Issues

#59 Disabling wifi in xochitl will crash the system service, which means you won't be able to exit xochitl without rebooting or using ssh.
#53 xochitl suspend is not properly handled.
#69 KOReader will not pause, and will instead cause the display resolution to get wonky.

Warnings

As part of implementing #38 users have lost the ability to choose what order applications will display. There is a plan to add this back in a future release as part of #11.

Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker.

By default the clock will use UTC, if you need to change your timezone you'll need to ssh into the device and use timedatectl set-timezone to change your timezone (e.g. timedatectl set-timezone America/Denver). You can see possible timezones by looking in /usr/share/zoneinfo/ (Don't trust the output of timedatectl get-timezones)).

Manual Upgrade

  1. Replace the oxide, rot, erode, and tarnish binaries on your device.
  2. Disable the oxide service: systemctl disable --now oxide
  3. Enable the tarnish service: systemctl enable --now tarnish

Automated Upgrade

  1. Run opkg update
  2. Run opkg upgrade

Manual Installation

  1. Copy oxide.tar.xz to your remarkable
  2. Decompress files into the root of your reMarkable.
  3. Reload systemd unit files: systemctl daemon-reload
  4. Disable xochitl: systemctl disable --now xochitl
  5. Reload dbus configuration: systemctl reload dbus
  6. Enable and start oxide systemctl enable --now tarnish

Automated Installation

  1. Add the toltec repository to your entware install
  2. Run opkg update
  3. Run opkg install oxide

Configuration

Configuration files can be in one of the following locations:

  1. /etc
  2. /opt/etc
  3. /home/root/.config

The configuration folder contains the following:

  • oxide.conf Application configuration file. The launcher will automatically maintain this file.

If you would like to manually add an application entry to oxide you can do so with the following comand:

rot apps call registerApplication 'QVariantMap:{"name":"unique name","displayname": "Name to Display in UI","description":"Application Description","call":"/path/to/executable","icon":"/path/to/icon.png"}'

Usage

Oxide consists of three applications: the main launcher, the background service, and the process manager.

oxide - Launcher

After you have configured and launched oxide you can access the power menu from the power button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.

The menu button on the top left side of the screen will open up the tools menu. This allows you to refresh the grid, import applications from draft, or to open up the options dialog. Importing applications will only import applications that contain valid configuration for Oxide. This means that draft configuration that attempts to pass arguments to the call= setting will not be imported.

Tapping on the wifi icon will toggle wifi on/off.

The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf file on disk, or to close the options dialog and save the current settings to disk.

tarnish - Background service

Press and hold the left button for 700ms to switch back to the main launcher application.

Press and hold the middle button for 700ms to launch the process manager.

Press and hold the right button for 700ms to create a screenshot at /tmp/fb.png. It will then execute /tmp/.screenshot if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.

erode - process manager

  • There is a reload button on the top right of the screen that will refresh the list.
  • You can click on the column headers to sort the list by that column.
  • If you click on a kill button for a process you will be prompted on if you really want to kill the process. In that prompt you will have the option to kill the process (SIGTERM), or to force quit (SIGKILL) the process.
  • You can exit the application by pressing the left arrow on the top left of the toolbar.
  • If the process list is long enough, you can scroll it by swiping up or down on the list. After you have swiped the list will scroll.

rot - CLI API tool

v1.3.3-beta

11 Sep 05:33
3d929a0
Compare
Choose a tag to compare
v1.3.3-beta Pre-release
Pre-release

Features Added

  • Updated battery/charger code to handle detecting any number of batteries or chargers. In theory this means that the battery level will now work on the reMarkable 2 (Or any other linux device).
  • Wifi will only turn on at boot if it was on when the device shut off. Xochitl will also respect this since I'm using its settings file for it.
  • Added stub wifi API.
  • Finished implementing the power API.
  • Battery indicator will now show as "charging" when the device is plugged in, even if the battery is not actually charging (Because it's full).
  • Automatic suspend will properly be disabled when the USB cable is plugged in and the battery has filled up.
  • The CLI API tool (rot) will now output data in JSON format. This will make it easier to consume by tools.
  • The CLI API tool (rot) now supports the stub wifi API.
  • The CLI API tool (rot) now supports listening to signals from the API.

Issues Fixed

  • Sometimes wifi would not enable properly on boot, or when toggled.
  • Removed some unused code from the process manager.

Known Issues

#59 Disabling wifi in xochitl will crash the system service, which means you won't be able to exit xochitl without rebooting or using ssh.
#53 xochitl suspend is not properly handled.

Warnings

As part of implementing #38 users have lost the ability to choose what order applications will display. There is a plan to add this back in a future release as part of #11.

Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker.

By default the clock will use UTC, if you need to change your timezone you'll need to ssh into the device and use timedatectl set-timezone to change your timezone (e.g. timedatectl set-timezone America/Denver). You can see possible timezones by looking in /usr/share/zoneinfo/ (Don't trust the output of timedatectl get-timezones)).

Manual Upgrade

  1. Replace the oxide, rot, erode, and tarnish binaries on your device.

Automated Upgrade

  1. Run opkg update
  2. Run opkg upgrade

Manual Installation

  1. Copy oxide.tar.xz to your remarkable
  2. Decompress files into the root of your reMarkable.
  3. Reload systemd unit files: systemctl daemon-reload
  4. Disable xochitl: systemctl disable --now xochitl
  5. Reload dbus configuration: systemctl reload dbus
  6. Enable and start oxide systemctl enable --now oxide

Automated Installation

  1. Add the toltec repository to your entware install
  2. Run opkg update
  3. Run opkg install oxide

Configuration

Configuration files can be in one of the following locations:

  1. /etc
  2. /opt/etc
  3. /home/root/.config

The configuration folder contains the following:

  • draft/icons/ Folder containing .png files that are used by applications.
  • oxide.conf Application configuration file. The launcher will automatically maintain this file.
  • draft/ Folder containing configuration files for every application entry to show in the launcher.

Oxide will search through all three locations when building a list of applications. So be careful not to duplicate files between all the locations as they will show up multiple times in the applications list in oxide.

Configuration files for an application use the following format:

name=xochitl
desc=The standard environment for reMarkable.
imgFile=xochitl
call=/usr/bin/xochitl
term=killall xochitl

Options:

  • name: Name of the application
  • desc: Description of the application, will show on long press.
  • imgFile: Name of the icon to use.
  • call: Command to run when launching the application
  • term: Command to run when button-capture is used to kill the application

Since this format is based off of the configuration format used by the draft launcher, you can leave entries blank by either omitting them from the file, or setting them to :, or leaving them blank.

Usage

Oxide consists of three applications: the main launcher, the background service, and the process manager.

oxide - Launcher

After you have configured and launched oxide you can access the power menu from the power button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.

The menu button on the top left side of the screen will open up the tools menu. This allows you to either refresh the grid, or to open up the options dialog.

Tapping on the wifi icon will toggle wifi on/off.

The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf file on disk, or to close the options dialog and save the current settings to disk.

tarnish - Background service

Press and hold the left button for 1 second or longer to execute the contents of /tmp/.terminate. Oxide will automatically populate this file when launching an application with the term setting.

Press and hold the right button for 1 second or longer to create a screenshot at /tmp/fb.png. It will then execute /tmp/.screenshot if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.

Press and hold the middle button for 1 second or longer to launch the process manager.

erode - process manager

  • There is a reload button on the top right of the screen that will refresh the list.
  • You can click on the column headers to sort the list by that column.
  • If you click on a kill button for a process you will be prompted on if you really want to kill the process. In that prompt you will have the option to kill the process (SIGTERM), or to force quit (SIGKILL) the process.
  • In order to return to the previously running application you can quit out of the process manager by pressing the left arrow button on the top left of the screen.
  • If the process list is long enough, you can scroll it by swiping up or down on the list. After you have swiped the list will scroll.

rot - CLI API tool

v1.3.2-beta

10 Sep 03:41
17ecf0e
Compare
Choose a tag to compare
v1.3.2-beta Pre-release
Pre-release

Features Added

  • button-capture renamed to tarnish to avoid confusion with existing projects.
  • The API code has been moved to tarnish so that you can get updates while oxide is running an application.
  • Oxide has been updated to use the API for updating its UI instead of polling the values itself.
  • On SIGTERM oxide and tarnish will do their best to send a SIGTERM to all child processes.

Warnings

As part of implementing #38 users have lost the ability to choose what order applications will display. There is a plan to add this back in a future release as part of #11.

Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker on this version.

By default the clock will use UTC, if you need to change your timezone you'll need to ssh into the device and use timedatectl set-timezone to change your timezone (e.g. timedatectl set-timezone America/Denver). You can see possible timezones by looking in /usr/share/zoneinfo/ (Don't trust the output of timedatectl get-timezones)).

Manual Upgrade

  1. Replace the oxide and rot binaries on your device.
  2. Upload the new tarnish binary to your device.
  3. Delete the old button-capture binary from your device.

Automated Upgrade

  1. Run opkg update
  2. Run opkg upgrade

Manual Installation

  1. Copy oxide.tar.xz to your remarkable
  2. Decompress files into one of the following locations
    a. Root filesystem: /
    b. Entware: /opt
  3. If you haven't installed to the root filesystem, copy the oxide.service file to /etc/systemd/system
  4. Edit oxide.service to point it at the correct location of oxide
  5. Reload systemd unit files: systemctl daemon-reload
  6. Disable xochitl: systemctl disable --now xochitl
  7. Enable and start oxide systemctl enable --now oxide

Automated Installation

  1. Add the toltec repository to your entware install
  2. Run opkg update
  3. Run opkg install oxide

Configuration

Configuration files can be in one of the following locations:

  1. /etc
  2. /opt/etc
  3. /home/root/.config

The configuration folder contains the following:

  • draft/icons/ Folder containing .png files that are used by applications.
  • oxide.conf Application configuration file. The launcher will automatically maintain this file.
  • draft/ Folder containing configuration files for every application entry to show in the launcher.

Oxide will search through all three locations when building a list of applications. So be careful not to duplicate files between all the locations as they will show up multiple times in the applications list in oxide.

Configuration files for an application use the following format:

name=xochitl
desc=The standard environment for reMarkable.
imgFile=xochitl
call=/usr/bin/xochitl
term=killall xochitl

Options:

  • name: Name of the application
  • desc: Description of the application, will show on long press.
  • imgFile: Name of the icon to use.
  • call: Command to run when launching the application
  • term: Command to run when button-capture is used to kill the application

Since this format is based off of the configuration format used by the draft launcher, you can leave entries blank by either omitting them from the file, or setting them to :, or leaving them blank.

Usage

Oxide consists of three applications: the main launcher, the background service, and the process manager.

oxide - Launcher

After you have configured and launched oxide you can access the power menu from the power button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.

The menu button on the top left side of the screen will open up the tools menu. This allows you to either refresh the grid, or to open up the options dialog.

Tapping on the wifi icon will toggle wifi on/off.

The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf file on disk, or to close the options dialog and save the current settings to disk.

button-capture - Background service

Press and hold the left button for 1 second or longer to execute the contents of /tmp/.terminate. Oxide will automatically populate this file when launching an application with the term setting.

Press and hold the right button for 1 second or longer to create a screenshot at /tmp/fb.png. It will then execute /tmp/.screenshot if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.

Press and hold the middle button for 1 second or longer to launch the process manager.

erode - process manager

  • There is a reload button on the top right of the screen that will refresh the list.
  • You can click on the column headers to sort the list by that column.
  • If you click on a kill button for a process you will be prompted on if you really want to kill the process. In that prompt you will have the option to kill the process (SIGTERM), or to force quit (SIGKILL) the process.
  • In order to return to the previously running application you can quit out of the process manager by pressing the left arrow button on the top left of the screen.
  • If the process list is long enough, you can scroll it by swiping up or down on the list. After you have swiped the list will scroll.

rot - CLI API tool

  • Usage from the command line only, run rot --help to see possible options. Currently about all you can do is rot power get state and rot power set state 1 which does nothing other than prove that the D-Bus interface is working.

v1.3.1-beta

09 Sep 04:40
42fa95b
Compare
Choose a tag to compare
v1.3.1-beta Pre-release
Pre-release

Features Added

  • Renamed battery API to power and flushed out most values.

Warnings

As part of implementing #38 users have lost the ability to choose what order applications will display. There is a plan to add this back in a future release as part of #11.

Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker on this version.

By default the clock will use UTC, if you need to change your timezone you'll need to ssh into the device and use timedatectl set-timezone to change your timezone (e.g. timedatectl set-timezone America/Denver). You can see possible timezones by looking in /usr/share/zoneinfo/ (Don't trust the output of timedatectl get-timezones)).

Manual Upgrade

  1. Replace the oxide and rot binaries on your device.

Automated Upgrade

  1. Run opkg update
  2. Run opkg upgrade

Manual Installation

  1. Copy oxide.tar.xz to your remarkable
  2. Decompress files into one of the following locations
    a. Root filesystem: /
    b. Entware: /opt
  3. If you haven't installed to the root filesystem, copy the oxide.service file to /etc/systemd/system
  4. Edit oxide.service to point it at the correct location of oxide
  5. Reload systemd unit files: systemctl daemon-reload
  6. Disable xochitl: systemctl disable --now xochitl
  7. Enable and start oxide systemctl enable --now oxide

Automated Installation

  1. Add the toltec repository to your entware install
  2. Run opkg update
  3. Run opkg install oxide

Configuration

Configuration files can be in one of the following locations:

  1. /etc
  2. /opt/etc
  3. /home/root/.config

The configuration folder contains the following:

  • draft/icons/ Folder containing .png files that are used by applications.
  • oxide.conf Application configuration file. The launcher will automatically maintain this file.
  • draft/ Folder containing configuration files for every application entry to show in the launcher.

Oxide will search through all three locations when building a list of applications. So be careful not to duplicate files between all the locations as they will show up multiple times in the applications list in oxide.

Configuration files for an application use the following format:

name=xochitl
desc=The standard environment for reMarkable.
imgFile=xochitl
call=/usr/bin/xochitl
term=killall xochitl

Options:

  • name: Name of the application
  • desc: Description of the application, will show on long press.
  • imgFile: Name of the icon to use.
  • call: Command to run when launching the application
  • term: Command to run when button-capture is used to kill the application

Since this format is based off of the configuration format used by the draft launcher, you can leave entries blank by either omitting them from the file, or setting them to :, or leaving them blank.

Usage

Oxide consists of three applications: the main launcher, the background service, and the process manager.

oxide - Launcher

After you have configured and launched oxide you can access the power menu from the power button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.

The menu button on the top left side of the screen will open up the tools menu. This allows you to either refresh the grid, or to open up the options dialog.

Tapping on the wifi icon will toggle wifi on/off.

The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf file on disk, or to close the options dialog and save the current settings to disk.

button-capture - Background service

Press and hold the left button for 1 second or longer to execute the contents of /tmp/.terminate. Oxide will automatically populate this file when launching an application with the term setting.

Press and hold the right button for 1 second or longer to create a screenshot at /tmp/fb.png. It will then execute /tmp/.screenshot if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.

Press and hold the middle button for 1 second or longer to launch the process manager.

erode - process manager

  • There is a reload button on the top right of the screen that will refresh the list.
  • You can click on the column headers to sort the list by that column.
  • If you click on a kill button for a process you will be prompted on if you really want to kill the process. In that prompt you will have the option to kill the process (SIGTERM), or to force quit (SIGKILL) the process.
  • In order to return to the previously running application you can quit out of the process manager by pressing the left arrow button on the top left of the screen.
  • If the process list is long enough, you can scroll it by swiping up or down on the list. After you have swiped the list will scroll.

rot - CLI API tool

  • Usage from the command line only, run rot --help to see possible options. Currently about all you can do is rot power get state and rot power set state 1 which does nothing other than prove that the D-Bus interface is working.

v1.3-beta

08 Sep 05:23
b557f05
Compare
Choose a tag to compare
v1.3-beta Pre-release
Pre-release

Features Added

  • Application config files can now have comments (lines starting with #)
  • Beginning to work on an API for other applications to interact with. This includes adding a new binary named rot that can be used to interact with it from the command line.

Issues Fixed

  • #36 Wifi toggling will update in the UI much faster
  • #32 If you don't include an imgFile configuration, oxide will now use the default icon.
  • #38 Sort applications by name

Warnings

As part of implementing #38 users have lost the ability to choose what order applications will display. There is a plan to add this back in a future release as part of #11.

Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker on this version.

By default the clock will use UTC, if you need to change your timezone you'll need to ssh into the device and use timedatectl set-timezone to change your timezone (e.g. timedatectl set-timezone America/Denver). You can see possible timezones by looking in /usr/share/zoneinfo/ (Don't trust the output of timedatectl get-timezones)).

Manual Upgrade

  1. Replace the oxide binary on your device.
  2. Optionally copy the new rot binary to your device.

Automated Upgrade

  1. Run opkg update
  2. Run opkg upgrade

Manual Installation

  1. Copy oxide.tar.xz to your remarkable
  2. Decompress files into one of the following locations
    a. Root filesystem: /
    b. Entware: /opt
  3. If you haven't installed to the root filesystem, copy the oxide.service file to /etc/systemd/system
  4. Edit oxide.service to point it at the correct location of oxide
  5. Reload systemd unit files: systemctl daemon-reload
  6. Disable xochitl: systemctl disable --now xochitl
  7. Enable and start oxide systemctl enable --now oxide

Automated Installation

  1. Add the toltec repository to your entware install
  2. Run opkg update
  3. Run opkg install oxide

Configuration

Configuration files can be in one of the following locations:

  1. /etc
  2. /opt/etc
  3. /home/root/.config

The configuration folder contains the following:

  • draft/icons/ Folder containing .png files that are used by applications.
  • oxide.conf Application configuration file. The launcher will automatically maintain this file.
  • draft/ Folder containing configuration files for every application entry to show in the launcher.

Oxide will search through all three locations when building a list of applications. So be careful not to duplicate files between all the locations as they will show up multiple times in the applications list in oxide.

Configuration files for an application use the following format:

name=xochitl
desc=The standard environment for reMarkable.
imgFile=xochitl
call=/usr/bin/xochitl
term=killall xochitl

Options:

  • name: Name of the application
  • desc: Description of the application, will show on long press.
  • imgFile: Name of the icon to use.
  • call: Command to run when launching the application
  • term: Command to run when button-capture is used to kill the application

Since this format is based off of the configuration format used by the draft launcher, you can leave entries blank by either omitting them from the file, or setting them to :, or leaving them blank.

Usage

Oxide consists of three applications: the main launcher, the background service, and the process manager.

oxide - Launcher

After you have configured and launched oxide you can access the power menu from the power button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.

The menu button on the top left side of the screen will open up the tools menu. This allows you to either refresh the grid, or to open up the options dialog.

Tapping on the wifi icon will toggle wifi on/off.

The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf file on disk, or to close the options dialog and save the current settings to disk.

button-capture - Background service

Press and hold the left button for 1 second or longer to execute the contents of /tmp/.terminate. Oxide will automatically populate this file when launching an application with the term setting.

Press and hold the right button for 1 second or longer to create a screenshot at /tmp/fb.png. It will then execute /tmp/.screenshot if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.

Press and hold the middle button for 1 second or longer to launch the process manager.

erode - process manager

  • There is a reload button on the top right of the screen that will refresh the list.
  • You can click on the column headers to sort the list by that column.
  • If you click on a kill button for a process you will be prompted on if you really want to kill the process. In that prompt you will have the option to kill the process (SIGTERM), or to force quit (SIGKILL) the process.
  • In order to return to the previously running application you can quit out of the process manager by pressing the left arrow button on the top left of the screen.
  • If the process list is long enough, you can scroll it by swiping up or down on the list. After you have swiped the list will scroll.

rot - CLI API tool

  • Usage from the command line only, run rot --help to see possible options. Currently about all you can do is rot battery get state and rot battery set state 1 which does nothing other than prove that the D-Bus interface is working.

v1.2.2-beta

07 Sep 07:29
9c49b27
Compare
Choose a tag to compare
v1.2.2-beta Pre-release
Pre-release

New Features

  • #7 Wifi will now turn on on boot and connect with your wifi settings from xochitl
  • If you tap on the wifi icon you will toggle wifi on/off

Issues Fixed

  • #31 Wifi/Battery status is now properly updating

Warnings

Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker on this version.

By default the clock will use UTC, if you need to change your timezone you'll need to ssh into the device and use timedatectl set-timezone to change your timezone (e.g. timedatectl set-timezone America/Denver). You can see possible timezones by looking in /usr/share/zoneinfo/ (Don't trust the output of timedatectl get-timezones)).

Upgrade Instructions

  1. Replace the oxide binary on your device.

Installation

  1. Copy oxide.tar.xz to your remarkable
  2. Decompress files into one of the following locations
    a. Root filesystem: /
    b. Entware: /opt
  3. If you haven't installed to the root filesystem, copy the oxide.service file to /etc/systemd/system
  4. Edit oxide.service to point it at the correct location of oxide
  5. Reload systemd unit files: systemctl daemon-reload
  6. Disable xochitl: systemctl disable --now xochitl
  7. Enable and start oxide systemctl enable --now oxide

Configuration

Configuration files can be in one of the following locations:

  1. /etc
  2. /opt/etc
  3. /home/root/.config

The configuration folder contains the following:

  • draft/icons/ Folder containing .png files that are used by applications.
  • oxide.conf Application configuration file. The launcher will automatically maintain this file.
  • draft/ Folder containing configuration files for every application entry to show in the launcher.

Oxide will search through all three locations when building a list of applications. So be careful not to duplicate files between all the locations as they will show up multiple times in the applications list in oxide.

Configuration files for an application use the following format:

name=xochitl
desc=The standard environment for reMarkable.
imgFile=xochitl
call=/usr/bin/xochitl
term=killall xochitl

Options:

  • name: Name of the application
  • desc: Description of the application, will show on long press.
  • imgFile: Name of the icon to use.
  • call: Command to run when launching the application
  • term: Command to run when button-capture is used to kill the application

Since this format is based off of the configuration format used by the draft launcher, you can leave entries blank by either omitting them from the file, or setting them to :, or leaving them blank.

Usage

Oxide consists of three applications: the main launcher, the background service, and the process manager.

oxide - Launcher

After you have configured and launched oxide you can access the power menu from the power button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.

The menu button on the top left side of the screen will open up the tools menu. This allows you to either refresh the grid, or to open up the options dialog.

Tapping on the wifi icon will toggle wifi on/off.

The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf file on disk, or to close the options dialog and save the current settings to disk.

button-capture - Background service

Press and hold the left button for 1 second or longer to execute the contents of /tmp/.terminate. Oxide will automatically populate this file when launching an application with the term setting.

Press and hold the right button for 1 second or longer to create a screenshot at /tmp/fb.png. It will then execute /tmp/.screenshot if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.

Press and hold the middle button for 1 second or longer to launch the process manager.

erode - process manager

  • There is a reload button on the top right of the screen that will refresh the list.
  • You can click on the column headers to sort the list by that column.
  • If you click on a kill button for a process you will be prompted on if you really want to kill the process. In that prompt you will have the option to kill the process (SIGTERM), or to force quit (SIGKILL) the process.
  • In order to return to the previously running application you can quit out of the process manager by pressing the left arrow button on the top left of the screen.
  • If the process list is long enough, you can scroll it by swiping up or down on the list. After you have swiped the list will scroll.

v1.2.1-beta

05 Sep 05:43
d1b7aa3
Compare
Choose a tag to compare
v1.2.1-beta Pre-release
Pre-release

Issues Fixed

  • #26 Xochitl still takes input when the process manager is open.
  • #29 Settings dialog doesn't show the correct values in the number prompts after a reboot, even though the setting persists.
  • #30 Settings to show battery percent and temperature persistent.
  • Launch xochitl if the oxide service fails to start

Known Issues

  • #31 Wifi/Battery status not updating

Warnings

Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker on this version.

By default the clock will use UTC, if you need to change your timezone you'll need to ssh into the device and use timedatectl set-timezone to change your timezone (e.g. timedatectl set-timezone America/Denver). You can see possible timezones by looking in /usr/share/zoneinfo/ (Don't trust the output of timedatectl get-timezones)).

Upgrade Instructions

  1. Replace the oxide and erode binaries on your device.
  2. Update your oxide.service file with the new changes.
  3. Optionally merge the updated settings from oxide.conf into your copy.

Installation

  1. Copy oxide.tar.xz to your remarkable
  2. Decompress files into one of the following locations
    a. Root filesystem: /
    b. Entware: /opt
  3. If you haven't installed to the root filesystem, copy the oxide.service file to /etc/systemd/system
  4. Edit oxide.service to point it at the correct location of oxide
  5. Reload systemd unit files: systemctl daemon-reload
  6. Disable xochitl: systemctl disable --now xochitl
  7. Enable and start oxide systemctl enable --now oxide

Configuration

Configuration files can be in one of the following locations:

  1. /etc
  2. /opt/etc
  3. /home/root/.config

The configuration folder contains the following:

  • draft/icons/ Folder containing .png files that are used by applications.
  • oxide.conf Application configuration file. The launcher will automatically maintain this file.
  • draft/ Folder containing configuration files for every application entry to show in the launcher.

Oxide will search through all three locations when building a list of applications. So be careful not to duplicate files between all the locations as they will show up multiple times in the applications list in oxide.

Configuration files for an application use the following format:

name=xochitl
desc=The standard environment for reMarkable.
imgFile=xochitl
call=/usr/bin/xochitl
term=killall xochitl

Options:

  • name: Name of the application
  • desc: Description of the application, will show on long press.
  • imgFile: Name of the icon to use.
  • call: Command to run when launching the application
  • term: Command to run when button-capture is used to kill the application

Since this format is based off of the configuration format used by the draft launcher, you can leave entries blank by either omitting them from the file, or setting them to :, or leaving them blank.

Usage

Oxide consists of three applications: the main launcher, the background service, and the process manager.

oxide - Launcher

After you have configured and launched oxide you can access the power menu from the power button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.
The menu button on the top left side of the screen will open up the tools menu. This allows you to either refresh the grid, or to open up the options dialog.

The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf file on disk, or to close the options dialog and save the current settings to disk.

button-capture - Background service

Press and hold the left button for 1 second or longer to execute the contents of /tmp/.terminate. Oxide will automatically populate this file when launching an application with the term setting.

Press and hold the right button for 1 second or longer to create a screenshot at /tmp/fb.png. It will then execute /tmp/.screenshot if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.

Press and hold the middle button for 1 second or longer to launch the process manager.

erode - process manager

  • There is a reload button on the top right of the screen that will refresh the list.
  • You can click on the column headers to sort the list by that column.
  • If you click on a kill button for a process you will be prompted on if you really want to kill the process. In that prompt you will have the option to kill the process (SIGTERM), or to force quit (SIGKILL) the process.
  • In order to return to the previously running application you can quit out of the process manager by pressing the left arrow button on the top left of the screen.
  • If the process list is long enough, you can scroll it by swiping up or down on the list. After you have swiped the list will scroll.

v1.2-beta

04 Sep 02:46
dfdfcdb
Compare
Choose a tag to compare
v1.2-beta Pre-release
Pre-release

New Features

  • Added process monitor. You can launch this by long pressing the home button.
  • Automatic sleep will no longer happen while the battery is charging. I found this super annoying while developing, let me know if you'd like this feature to be toggle-able.

Known Issues

  • #26 Xochitl still takes input when the process manager is open.
  • #29 Settings dialog doesn't show the correct values in the number prompts after a reboot, even though the setting persists.
  • #30 Settings to show battery percent and temperature persistent.

Warnings

Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker on this version.

By default the clock will use UTC, if you need to change your timezone you'll need to ssh into the device and use timedatectl set-timezone to change your timezone (e.g. timedatectl set-timezone America/Denver). You can see possible timezones by looking in /usr/share/zoneinfo/ (Don't trust the output of timedatectl get-timezones)).

Upgrade Instructions

  1. Replace the oxide and button-capture binaries on your device.
  2. Copy the erode binary to your device

Installation

  1. Copy oxide.tar.xz to your remarkable
  2. Decompress files into one of the following locations
    a. Root filesystem: /
    b. Entware: /opt
  3. If you haven't installed to the root filesystem, copy the oxide.service file to /etc/systemd/system
  4. Edit oxide.service to point it at the correct location of oxide
  5. Reload systemd unit files: systemctl daemon-reload
  6. Disable xochitl: systemctl disable --now xochitl
  7. Enable and start oxide systemctl enable --now oxide

Configuration

Configuration files can be in one of the following locations:

  1. /etc
  2. /opt/etc
  3. /home/root/.config

The configuration folder contains the following:

  • draft/icons/ Folder containing .png files that are used by applications.
  • oxide.conf Application configuration file. The launcher will automatically maintain this file.
  • draft/ Folder containing configuration files for every application entry to show in the launcher.

Oxide will search through all three locations when building a list of applications. So be careful not to duplicate files between all the locations as they will show up multiple times in the applications list in oxide.

Configuration files for an application use the following format:

name=xochitl
desc=The standard environment for reMarkable.
imgFile=xochitl
call=/usr/bin/xochitl
term=killall xochitl

Options:

  • name: Name of the application
  • desc: Description of the application, will show on long press.
  • imgFile: Name of the icon to use.
  • call: Command to run when launching the application
  • term: Command to run when button-capture is used to kill the application

Since this format is based off of the configuration format used by the draft launcher, you can leave entries blank by either omitting them from the file, or setting them to :, or leaving them blank.

Usage

Oxide consists of three applications: the main launcher, the background service, and the process manager.

oxide - Launcher

After you have configured and launched oxide you can access the power menu from the power button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.
The menu button on the top left side of the screen will open up the tools menu. This allows you to either refresh the grid, or to open up the options dialog.

The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf file on disk, or to close the options dialog and save the current settings to disk.

button-capture - Background service

Press and hold the left button for 1 second or longer to execute the contents of /tmp/.terminate. Oxide will automatically populate this file when launching an application with the term setting.

Press and hold the right button for 1 second or longer to create a screenshot at /tmp/fb.png. It will then execute /tmp/.screenshot if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.

Press and hold the middle button for 1 second or longer to launch the process manager.

erode - process manager

  • There is a reload button on the top right of the screen that will refresh the list.
  • You can click on the column headers to sort the list by that column.
  • If you click on a kill button for a process you will be prompted on if you really want to kill the process. In that prompt you will have the option to kill the process (SIGTERM), or to force quit (SIGKILL) the process.
  • In order to return to the previously running application you can quit out of the process manager by pressing the left arrow button on the top left of the screen.
  • If the process list is long enough, you can scroll it by swiping up or down on the list. After you have swiped the list will scroll.

process-manager

v1.1.1-beta

02 Sep 02:33
5ff260d
Compare
Choose a tag to compare
v1.1.1-beta Pre-release
Pre-release

Issues Fixed

  • #17 The clock will now display the correct time in the afternoon.
  • #18 Battery will no longer report levels as higher than they are.
  • #12 Sleep mode will now draw correct, and has been changed to only change the top bar.
  • #9 The configuration file has been renamed to oxide.conf and move out of the /etc/draft folder.
  • Clock will now only attempt to update every minute instead of checking every second.

Warnings

Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker on this version.

By default the clock will use UTC, if you need to change your timezone you'll need to ssh into the device and use timedatectl set-timezone to change your timezone (e.g. timedatectl set-timezone America/Denver). You can see possible timezones by looking in /usr/share/zoneinfo/ (Don't trust the output of timedatectl get-timezones)).

Upgrade Instructions

  1. Replace the oxide binary on your device.
  2. Rename your conf file to oxide.conf and move it up one directory.

Installation

  1. Copy oxide.tar.xz to your remarkable
  2. Decompress files into one of the following locations
    a. Root filesystem: /
    b. Entware: /opt
  3. If you haven't installed to the root filesystem, copy the oxide.service file to /etc/systemd/system
  4. Edit oxide.service to point it at the correct location of oxide
  5. Reload systemd unit files: systemctl daemon-reload
  6. Disable xochitl: systemctl disable --now xochitl
  7. Enable and start oxide systemctl enable --now oxide

Configuration

Configuration files can be in one of the following locations:

  1. /etc
  2. /opt/etc
  3. /home/root/.config

The configuration folder contains the following:

  • draft/icons/ Folder containing .png files that are used by applications.
  • oxide.conf Application configuration file. The launcher will automatically maintain this file.
  • draft/ Folder containing configuration files for every application entry to show in the launcher.

Oxide will search through all three locations when building a list of applications. So be careful not to duplicate files between all the locations as they will show up multiple times in the applications list in oxide.

Configuration files for an application use the following format:

name=xochitl
desc=The standard environment for reMarkable.
imgFile=xochitl
call=/usr/bin/xochitl
term=killall xochitl

Options:

  • name: Name of the application
  • desc: Description of the application, will show on long press.
  • imgFile: Name of the icon to use.
  • call: Command to run when launching the application
  • term: Command to run when button-capture is used to kill the application

Since this format is based off of the configuration format used by the draft launcher, you can leave entries blank by either omitting them from the file, or setting them to :, or leaving them blank.

Usage

oxide

After you have configured and launched oxide you can access the power menu from the image button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.
The image button on the top left side of the screen will open up the tools menu. This allows you to either refresh the grid, or to open up the options dialog.

The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf file on disk, or to close the options dialog and save the current settings to disk.

button-capture

Press and hold the left button for 1 second or longer to execute the contents of /tmp/.terminate. Oxide will automatically populate this file when launching an application with the term setting.

Press and hold the right button for 1 second or longer to create a screenshot at /tmp/fb.png. It will then execute /tmp/.screenshot if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.

v1.1-beta

01 Sep 05:45
42dc1aa
Compare
Choose a tag to compare
v1.1-beta Pre-release
Pre-release

New Features

  • Added clock to top bar
  • Moved battery indicator to top bar.
  • Added dynamic icons for battery life.
  • Added option to display battery percentage (hidden by default).
  • Added option to display battery temperature.
  • Added dynamic wifi status indicator.
  • Added option to display wifi signal strength in decibels.
  • Added ability to change how many minutes before automatic suspend is triggered.

Known Issues

Warnings

Currently, battery/wifi status will be checked every 3 seconds, but the UI should only change if they have changed. I'm not sure how much this will affect performance. Please let me know on the community Discord if you notice that your battery is draining quicker on this version.

Upgrade Instructions

  1. Replace the oxide and button-capture binaries on your device.
  2. Optionally add the missing settings to your conf file.

Installation

  1. Copy oxide.tar.xz to your remarkable
  2. Decompress files into one of the following locations
    a. Root filesystem: /
    b. Entware: /opt
  3. If you haven't installed to the root filesystem, copy the oxide.service file to /etc/systemd/system
  4. Edit oxide.service to point it at the correct location of oxide
  5. Reload systemd unit files: systemctl daemon-reload
  6. Disable xochitl: systemctl disable --now xochitl
  7. Enable and start oxide systemctl enable --now oxide

Configuration

Configuration files can be in one of the following locations:

  1. /etc/draft
  2. /opt/etc/draft
  3. /home/root/.config/draft

The configuration folder contains the following:

  • icons/ Folder containing .png files that are used by applications.
  • conf Application configuration file. The launcher will automatically maintain this file.
  • Any other file will be used to define an application.

Oxide will search through all three locations when building a list of applications. So be careful not to duplicate files between all the locations as they will show up multiple times in the applications list in oxide.

Configuration files for an application use the following format:

name=xochitl
desc=The standard environment for reMarkable.
imgFile=xochitl
call=/usr/bin/xochitl
term=killall xochitl

Options:

  • name: Name of the application
  • desc: Description of the application, will show on long press.
  • imgFile: Name of the icon to use.
  • call: Command to run when launching the application
  • term: Command to run when button-capture is used to kill the application

Since this format is based off of the configuration format used by the draft launcher, you can leave entries blank by either omitting them from the file, or setting them to :, or leaving them blank.

Usage

oxide

After you have configured and launched oxide you can access the power menu from the image button on the top right of the screen. This will allow you to put the device to sleep, or to power off the device.
The image button on the top left side of the screen will open up the tools menu. This allows you to either refresh the grid, or to open up the options dialog.

The options dialog will allow you to configure various settings in the application. You have the option to reload the settings from the conf file on disk, or to close the options dialog and save the current settings to disk.

button-capture

Press and hold the left button for 1 second or longer to execute the contents of /tmp/.terminate. Oxide will automatically populate this file when launching an application with the term setting.

Press and hold the right button for 1 second or longer to create a screenshot at /tmp/fb.png. It will then execute /tmp/.screenshot if it exists. Due to how the reMarkable preserves colour information in the framebuffer used to generate the screenshot, there may be colour in the screenshots that are not visible on the reMarkable itself.

fb