This ArcOS wiki is still under active development, and contains errors and unfinished pages.

Project Configuration

ArcOS v7 projects have a bunch of options you can change to fine-tune both your app, as well as your development experience. There are two files of note here: project.arc.json and src/_app.tpa. Here's what can be configured:

project.arc.json

  • Metadata

    • name: The name of your package

    • description: your package's description

    • author: who made the app

    • version: the version of your app

    • installLocation: where ArcOS is supposed to install this app

    • appId: the ID of your app. Be sure to also change it in outFile, .gitignore and _app.tpa.

  • outFile: the resulting built app package from npx v7cli build

  • payloadDir: the directory containing the source files of your app.

  • devPort: the port that the development server uses.

  • buildHash: The ArcOS build that the type definitions originate from. I don't recommend changing this, it'll change when you run npx v7cli update.

  • noHotRelaunch: set this to true to stop the app from automatically relaunching if you make a change in your code.

  • logLevel: how many ArcOS logs to echo in the terminal. Default is none. Set it to process to log logs relevant to your app's process, or all to log everything.


_app.tpa

  • metadata

    • name: The name of your app

    • version: your app's version

    • author: who made the app

    • icon: what icon to use. Prepend it with @local: to reference an image file in the current directory, for example: @local:apples.png

  • position:

    • centered: is the window centered on the screen?

    • x and y: if not, use these pixel coordinates

  • size: the default width and height of the app

  • minSize: the minimal width and height of the app

  • maxSize: the maximal width and height of the app

  • state:

    • minimized: is the window minimized by default?

    • maximized: is the window maximizedby default?

    • headless: does the window have no titlebar?

    • resizable: is the window resizable by the user?

    • fullscreen: is the window in fullscreen mode?

  • controls:

    • minimize: show the minimize button?

    • maximize: show the maximize button?

    • close: show the close button?

  • glass: enable glass effects?

  • hidden: hide this app from app lists like the start menu?

  • core: FOR ADVANCED USERS - This option disables the window controls, styling, basically any control ArcOS styling has over the window. It's a fullscreen app with zero supportive CSS, like the boot, login and initial setup screens.

You've probably read this before, but still, if there's anything wrong or unclear, reach out and I can help!

Last updated