TeenyTask
A macro tool with the same idea as TinyTask; a minimalist super compact Macro tool. The issue with TinyTask is: it's closed source, and Windows only. This is only an idea, but I plan on changing both of those things. The slight name change is done in spirt of crediting the inspiration, and its fanatical obsession for zero code bloat.
With TeenyTask, everything is minimal as it can be. This was an idea I've wanted to make reality for a long time but @earth's penguin's project #Auto Clicker has inspired me to actually think more into developing it.
11 Replies
i was so confused at first as to why i was pinged for this
Ah sorry about that
I assume it will be in zig?
Probably yes
Though for UI I may end up using a c library
So maybe not pure Zig, but pretty close
is there any good zig ui library ready for production?
Due to zig not being the most mature language, not really. There are really good libraries though
Mach being the most mature one around, developed by some really smart people. Being cross platform, and first-class Linux support
Mach was the backend of capy for nearly all of it's life. Until recently where they changed this in the newer versions.
The pros to using Mach is that it's very fast, nearly pure zig. Super customizable
The cons is having to implement tons of stuff that a UI framework would normally do for you
Capy is an option which is pure zig (well it uses native api's which are written in C). Looks native on all devices, small and simple to setup. The issue with Capy is it's very young, only being around for 3 years. It's not ready for use in production as breaking changes are constantly being made.
It's also super small
Creating 500 buttons creates an executable under 2MB which is smaller then a hello world in Go
Creating an entire notepad clone is also less then 2MB
It's very appealing if it wasn't for that huge con of it having an unstable api
It also has support for nearly every accessibility tool the OS has to offer. Which is super nice.
I may use it, I may not. It's a super solid option as long as I stick to one version of Capy
I have lied, Capy is still using Mach to this day
Which is why executables can get so small, and be so fast. Sadly Mach isn't credited properly on their README
Capy mac support is a bit iffy but is still being worked on heavily.
If I do plan on making this project I will likely end up using GLFW
Well the ziggified bindings from Mach
mach glfw
Perfected GLFW bindings for Zig, with 100% API coverage, zero-fuss installation, cross compilation, and more.
This isn't just some lousy GLFW bindings
Actually these are very well done
I love to "meat ride" Mach, as they're the big role in pushing Zig's graphical ecosystem
Anything to do with game dev really
They've pushed audio, graphics, 3d rendering, and much more
Regardless, these bindings are strictly typed and modified to work well with zigs syntax. For example
window.getKey(.escape)
instead of c.glfwGetKey(window, c.GLFW_KEY_ESCAPE)
It uses slices instead of C pointers and lengths
It adds generics so you can just use window.hint
instead of glfwWindowHint
, glfwWindowHintString
, etc.
It integrates packed structs bit maps, which allows you to do stuff like if (joystick.down and joystick.right)
instead of if (joystick & c.GLFW_HAT_DOWN and joystick & c.GLFW_HAT_RIGHT)
And some small other changes, for example true
and false
instead of c.GLFW_TRUE
and c.GLFW_FALSE
constants.
All in all these bindings are very well made and would be the backbone for this app
Although all this is nice and dandy. I don't expect GLFW to emit global keypresses, or have the power to do things like "always stay on top". If I'm mistaken that would be nice, otherwise I will have to implement these things myselfhow long till like a beta or alpha is released
@earth's bird
Sorry for the belated response
And to this extend I have no clue
I am current writing the library in which supports Mouse and Keyboard input monitoring and emulating
Which I will likely make a devlog for, to keep track of my progress
Once the library is done making a Macro tool will be relatively quick and easy.
Going back to your original question again. I don't have a clue, but assume you'll see something in the works in about a month
ok