Skip to content

Latest commit

 

History

History
114 lines (88 loc) · 3.65 KB

File metadata and controls

114 lines (88 loc) · 3.65 KB

Easy Distribute and hacking.

Want to change just a couple lines?

The only dependency you need is `podman

Then run the distribute script

./distribute.sh

That will use a podman container to build the entire app and it will put the output in ./dist.

Development

Below are all the dependencies this app needs. but you can also look at ./resources/Containerfile to see how to install all the dependencies

Deps:

Version map

These are the versions of the tools used to build and run the project:

  • Bun 1.2.21
  • Taskfile v3.44.1
  • Meson 1.9.0
  • pkg-cofig 1.8.1
  • gcc 13.3.0
  • cmake 3.28.3
  • chafa 1.14.0
  • see third_party/Readme.md for the versions of the bundled dependencies

Running and building

This project uses task to manage tasks, almost everything you can do development-wise is a task. Use

task --list

to see a list of all tasks with descriptions.

Most useful tasks

run

Just run task run or even just task to build and run the project. Use -- to pass arguments to the program, like ./term.everything firefox would be:

task -- firefox

hide-show

There are a lot of build setup and other files cluttering the root directory. Use the task

task hide-etc

to hide all files except source code. This works for .vscode only.

Likewise use the following to show all the files:

task show-etc

commit

I would appreciate it if you would hide everything before committing. task commit will do this for you.

task commit

clean-all

Remove all build artifacts.

task clean-all

make-source/remove-source

Good helper functions for writing cpp code, does a lot of boilerplate for you.

publish-local

Creates the AppImage, good for local testing or sending to friends

distribute

Creates an AppImage in a Ubuntu 22.04 podman container. AppImages mostly forward-compatible, but are not back-wards compatible, so make them in this container for compatibility.

Code Map

Entry point is ./src/index.ts, all typescript code goes in src. All c++ code goes in ./c_interop/src