You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Sasha Koshka 6a3f45a2e0 Set transient for on panels
This makes panels behave as expected. It feels incredibly wrong but
shotcut does it, it can't be that bad.
2 days ago
artist Created a convenience constructor for Inset 3 days ago
assets Added simple readme 2 months ago
backends Set transient for on panels 2 days ago
canvas Default elements compile 4 weeks ago
config Made the default handle width an odd number 1 week ago
data Atomized the functionality of the base tomo package 2 months ago
defaultfont Initial commit 3 months ago
dirs Added package summaries to more packages 2 weeks ago
elements Added the ability to make different window types 3 days ago
examples Terrible discovery (panels don't work properly) 2 days ago
fixedutil Added fixed precision point utilities 1 month ago
flow Added package summaries to more packages 2 weeks ago
input Added package summaries to more packages 2 weeks ago
layouts Did the same thing for the vertical layout 1 week ago
popups Popups package uses the new modal system 3 days ago
shatter Added package summaries to more packages 2 weeks ago
textdraw Implemented all text alignment methods 1 week ago
textmanip Keyboard text selection is now no longer broken lmao 1 month ago
theme Created a convenience constructor for Inset 3 days ago
xcf Large icons in the default set! 2 weeks ago
LICENSE Added license 2 months ago
README.md Added link to github mirror 2 months ago
backend.go Added the ability to make different window types 3 days ago
go.mod We now have an untested lone scrollbar element 2 weeks ago
go.sum We now have an untested lone scrollbar element 2 weeks ago
tomo.go Terrible discovery (panels don't work properly) 2 days ago

README.md

tomo

This repository is mirrored on GitHub.

Please note: Tomo is in early development. Some features may not work properly, and its API may change without notice.

Tomo is a retro-looking GUI toolkit written in pure Go. It is designed with these goals in mind:

  • Modularity: the core of Tomo is mostly composed of interfaces—and the overwhelming majority of its code resides in pluggable modules. If you don't need it, then dont import it—and you can be assured it won't be there.
  • Extendability: during the design of Tomo's API, use cases such as creating custom backends, elements, and layouts were given just as much importance as normal application building. Your custom element is a first-class citizen.
  • Independence: Tomo is minimally dependent on code outside of the Go standard library. Because of this, the file size of a compiled Tomo application is typically very small.
  • Frugality: Tomo foregoes things like animations and anti-aliasing in order to use a minimal amount of system resources without even having to touch the GPU.
  • Consistency: Tomo's design is not only consistent within itself, but also with the Go standard library. If you've worked with Go in the past, Tomo will feel pleasantly familliar.

You can find out more about how to use it by visiting the examples directory, or pull up its documentation by running godoc within the repository. You can also view it on the web on pkg.go.dev.