Commit Graph

24 Commits

Author SHA1 Message Date
Sasha Koshka 6db5901247 Added support for relative window positioning 2023-04-10 02:36:28 -04:00
Sasha Koshka 7b300333cf I am going insane 2023-03-31 01:06:29 -04:00
Sasha Koshka 53bfc8df68 Re-organized module structure 2023-03-30 23:19:04 -04:00
Sasha Koshka 02a27447b9 Changed the clipboard API so that it will work with X
In X, clipboard/selection data is specific to each window, and it
may take some time before the clipboard data is fully transferred.
This actually makes sense because there can be entire images in
the clipboard and it is important the clipboard API supports large
file transfer. Because of this, the Copy and Paste methods have
been moved into Window, and Paste now returns a channel.
2023-03-25 13:32:48 -04:00
Sasha Koshka 3aa8495873 Terrible discovery (panels don't work properly) 2023-03-24 17:38:21 -04:00
Sasha Koshka cf672824a6 im dumb as hell bruh 2023-03-08 21:05:56 -05:00
Sasha Koshka 43fea5c8ba Tomo will call the parse functions in Theme and Config 2023-02-03 17:50:45 -05:00
Sasha Koshka bdf599f93c Backends must now accept Config and Theme 2023-02-03 01:25:45 -05:00
Sasha Koshka 04d2ea4767 Atomized the functionality of the base tomo package 2023-02-02 01:47:01 -05:00
Sasha Koshka 2c55824920 Made the clipboard API a bit better
This should work better with the X clipboard system better when I
eventually make use of that.
2023-01-30 00:54:06 -05:00
Sasha Koshka 21c19363dd Added x clipboard stub
It doesn't do anything yet but boy is it going to
2023-01-26 14:52:43 -05:00
Sasha Koshka ddf48d2333 Split the functionality of tomo.go into multiple files 2023-01-14 21:24:39 -05:00
Sasha Koshka 34bf3038ac Replaced tomo.Image with tomo.Canvas and tomo.Pattern
This is the first step in transitioning the API over to the new
design. The new tomo.Canvas interface gives drawing functions
direct access to data buffers and eliminates overhead associated
with calling functions for every pixel.

The entire artist package will be remade around this.
2023-01-14 01:54:57 -05:00
Sasha Koshka 519e0b9c6b Keynav moment 2023-01-11 22:30:14 -05:00
Sasha Koshka 80c0a6be71 Window attempts to advance child's selection on alt-tab 2023-01-11 18:32:02 -05:00
Sasha Koshka c2a76fcaf6 Added extended selection capabilities to the API 2023-01-11 15:46:48 -05:00
Sasha Koshka 6eed70e79e The beginnings of a layout system 2023-01-10 16:39:37 -05:00
Sasha Koshka b1fd021120 dasjkhkljashdkjsha 2023-01-10 11:51:46 -05:00
Sasha Koshka d1ec5f2cec Split element core into two separate structs - public and private
The public core half can be directly embedded, which means no
wrapper methods!
2023-01-09 13:06:55 -05:00
Sasha Koshka 1526772a05 Implemented Do()
Oops
2023-01-09 11:36:37 -05:00
Sasha Koshka 292669a43f Further simplified the API and updated the X backend to match
The MinimumWidth and MinimumHeight behaviors have been condensed
into MinimumSize, which returns both dimensions at once.
2023-01-09 11:31:59 -05:00
Sasha Koshka c94329e273 Added useful run methods to ParentHooks 2023-01-09 11:28:18 -05:00
Sasha Koshka 192a91757f Changed the API to make it handle keynav better and be simpler
I have yet to actually update the code to reflect these changes.
I will do this shortly.
2023-01-09 11:17:29 -05:00
Sasha Koshka 00d75d4488 Initial commit 2023-01-09 01:03:19 -05:00