Commit Graph
100 Commits
Author SHA1 Message Date
sashakoshka 51afca6a3f Fix menu windows not being override redirect 2024-09-12 02:51:20 -04:00
sashakoshka b58932f02b Fix x/window.go 2024-09-12 02:07:57 -04:00
sashakoshka ee64650c19 Fix x/event.go 2024-09-12 02:06:16 -04:00
sashakoshka 55215dedc2 Select all in textBox uses the length of the rune slice 2024-09-12 01:15:17 -04:00
sashakoshka eb98d143db Fix textBox 2024-09-12 01:15:01 -04:00
sashakoshka 42deb40c2d internal/system/event.go uses key chords in tomo/config 2024-09-12 01:10:52 -04:00
sashakoshka b6850ee702 Update Tomo API 2024-09-12 01:05:32 -04:00
sashakoshka 9d67013e33 Replace most functionality in internal/util with goutil and slices 2024-09-11 00:08:21 -04:00
sashakoshka 0a8bb39265 Fix unreachable code in textBox 2024-09-10 23:55:38 -04:00
sashakoshka b92308fc80 Textbox does not trigger a DotChange event when using Select
The convention within Tomo is that On*Change events only fire when
the user interacts with something
2024-09-05 23:56:11 -04:00
sashakoshka 6f9eca99e7 Text cursor is now an I beam 2024-09-05 16:46:49 -04:00
sashakoshka 381f5f88bd Ctrl+Home/End go to the start and end of the box respectively 2024-09-04 12:55:37 -04:00
sashakoshka 1c38ed2d87 Add soft line home 2024-09-04 12:40:46 -04:00
sashakoshka 9079aca993 Fix segfault in lineHome 2024-09-04 12:30:36 -04:00
sashakoshka 70d6759884 Add basic line home/end 2024-09-04 12:27:20 -04:00
sashakoshka 2f828b1ae8 Add up/down keynav
Paragraph jumping could be better, but that can be refined later.
Progress on #10
2024-09-04 01:36:31 -04:00
sashakoshka c1c0d2125d Update TypeSet 2024-09-03 21:49:57 -04:00
sashakoshka 3b4ab56914 Fix child boxes rendering on top of borders
Closes #4
2024-08-23 15:57:53 -04:00
sashakoshka e7f16645eb Unset all attributes when the style changes
Progress on #4
2024-08-23 12:32:46 -04:00
sashakoshka ccbbb735fd Update Tomo API 2024-08-16 17:58:38 -04:00
sashakoshka ab6bdeaba3 Add Bounds, InnerBounds to x.Window 2024-08-16 17:25:17 -04:00
sashakoshka 93d7eed21f Update Tomo API 2024-08-16 17:15:01 -04:00
sashakoshka b18f747f0c Fix tag setting not invalidating style 2024-08-14 19:59:53 -04:00
sashakoshka fa2ef954b2 Backend unsets style attributes if they are no longer specified 2024-08-12 20:36:19 -04:00
sashakoshka e4fdde3da1 Use premultiplied alpha for X canvas 2024-08-12 18:15:15 -04:00
sashakoshka d166d88388 Remove AttrIcon from Box implementation 2024-08-11 22:29:08 -04:00
sashakoshka 74025aac97 Update Tomo API 2024-08-11 22:29:01 -04:00
sashakoshka e1cf524c57 TextBox tries to get a type face when parented if its face is nil 2024-08-11 11:55:13 -04:00
sashakoshka 919f000073 Update Tomo API 2024-08-10 21:14:06 -04:00
sashakoshka 8aa8dc9570 Add support for AttrIcon 2024-08-10 21:07:31 -04:00
sashakoshka a60a729ad9 Update X backend 2024-08-10 20:47:36 -04:00
sashakoshka 2af42a3568 Update internal system 2024-08-10 20:24:25 -04:00
sashakoshka e2b3b84993 Add Exists method to Optional 2024-08-10 01:55:24 -04:00
sashakoshka 925e011465 Add IconSet, FaceSet to style package 2024-08-10 01:39:23 -04:00
sashakoshka d4c08a0f8c Add an Optional type to util 2024-08-09 23:41:38 -04:00
sashakoshka 38054a95bb Update Tomo API 2024-08-09 23:27:40 -04:00
sashakoshka 2ae5e2e30f Move style into this repostiory 2024-08-09 23:27:12 -04:00
sashakoshka bacdd81f60 Propagate mouse motion events to boxes 2024-07-27 15:13:49 -04:00
sashakoshka d944f6016f Update Tomo API to v0.41.1 2024-07-27 15:04:11 -04:00
sashakoshka 01582d4ad1 Same for TextBox 2024-07-27 13:47:22 -04:00
sashakoshka 3941dae44a Invalidate container minimum size when overflow is changed 2024-07-27 13:46:52 -04:00
sashakoshka 85b8536925 Propagate keyboard events to root if nothing is focused
This makes window-level keybinds possible. Exciting!
2024-07-27 02:20:06 -04:00
sashakoshka 6ff5dea308 ContainerBox correctly checks for overflow when reporting recommended size 2024-07-27 02:18:52 -04:00
sashakoshka 33969f45e9 BoxQuerier returns box minimum size as a fallback for reccomended sizes 2024-07-27 02:17:56 -04:00
sashakoshka 832d7e02ef TextBox can be selected with left, middle, and right buttons 2024-07-26 21:17:30 -04:00
sashakoshka fd6297b4fb And arrow keys! Because, why not! 2024-07-26 20:55:34 -04:00
sashakoshka 4deb581667 Use tab for keynav instead of alt-tab 2024-07-26 20:52:49 -04:00
sashakoshka 192e6c6235 Keynav skips masked boxes 2024-07-26 20:49:10 -04:00
sashakoshka 9729e3dfda Fix selectable detection when using keys on TextBox 2024-07-26 20:48:44 -04:00
sashakoshka fad46eafd3 All selectable TextBoxes have keyboard controls 2024-07-26 18:43:12 -04:00
sashakoshka ddde2a79a8 TextBox defaults to black for a cursor color 2024-07-26 17:34:33 -04:00
sashakoshka 180a5eb8d1 Hierarchy is now responsible for focusing boxes when they are clicked 2024-07-26 17:34:14 -04:00
sashakoshka a92951f891 Remove debug message 2024-07-26 00:29:07 -04:00
sashakoshka 37ec962d1f TextBox properly gives attributes values to the typeset drawer 2024-07-26 00:27:32 -04:00
sashakoshka 4f89b11799 Box applies the style to the outer box (oops!) 2024-07-26 00:22:10 -04:00
sashakoshka 7809aac72f Actually use layouts 2024-07-25 21:05:03 -04:00
sashakoshka bb082d3989 Change when the parent is notified of a child's minimum size change 2024-07-25 21:04:32 -04:00
sashakoshka fbb6d61cfc Fix style application 2024-07-25 21:04:21 -04:00
sashakoshka e4cba4a7c9 Add check while calculating min size to prevent goofy situations 2024-07-25 20:37:38 -04:00
sashakoshka 6192a1e9cc Fixed util.Memo 2024-07-25 20:37:09 -04:00
sashakoshka 5864c74691 Fix some segfaults 2024-07-25 18:17:43 -04:00
sashakoshka a62dff4236 Update code for x backend 2024-07-25 13:01:24 -04:00
sashakoshka 196afbc2f3 Update code for internal system 2024-07-25 13:01:15 -04:00
sashakoshka 9b61600f31 Update Tomo API to v0.41.0 2024-07-25 13:00:37 -04:00
sashakoshka 5b62c9e162 Update Tomo API 2024-07-21 13:06:30 -04:00
sashakoshka 19ca3e821a Add xgbsel as dependency 2024-07-21 13:06:09 -04:00
sashakoshka 39a591e732 Fix boundary detection for polygons 2024-06-24 19:11:21 -04:00
sashakoshka 07865dc85f Polygon boundary detection now rounds properly 2024-06-24 19:04:08 -04:00
sashakoshka 868b6fdfe9 Fix crash when CanvasBox draws with nil canvas 2024-06-24 18:43:54 -04:00
sashakoshka 1c803ff9c1 Fix out of bounds panic with polygon filling 2024-06-24 18:42:43 -04:00
sashakoshka fdcf254891 Box re-applies theme on role change 2024-06-20 16:44:24 -04:00
sashakoshka e23e794730 CanvasBox no longer crashes on nil drawer 2024-06-19 12:13:31 -04:00
sashakoshka caa261665f Remove obsolete TODO 2024-06-15 23:35:44 -04:00
sashakoshka e21b57a915 X backend properly converts image data 2024-06-15 23:33:59 -04:00
sashakoshka 727a801243 Attempt to fix strange issue with overflowing 2024-06-14 02:30:59 -04:00
sashakoshka 76701d4383 Fix style application part 2 2024-06-12 02:12:24 -04:00
sashakoshka 6619987b5a Fixed style application 2024-06-12 00:39:00 -04:00
sashakoshka 02de78c997 Window is resizable by default (lol) 2024-06-12 00:29:07 -04:00
sashakoshka 95b1d033a9 SetResizable has been implemented 2024-06-11 23:58:19 -04:00
sashakoshka 1951b6e408 Partially implement new stuff for X 2024-06-11 23:45:49 -04:00
sashakoshka c7f09c7894 Add recommended sizes and all that jazz 2024-06-11 22:45:40 -04:00
sashakoshka 80f60b42de I lied 2024-06-11 18:35:40 -04:00
sashakoshka 995e6fd624 Add theme setting nonsense 2024-06-11 18:12:47 -04:00
sashakoshka 26b69d3e21 Update Tomo API 2024-06-11 17:18:30 -04:00
sashakoshka 52a0136e60 Fixed Window.NewChild returning the parent (oops) 2024-06-07 01:47:24 -04:00
sashakoshka 5657f85c83 Update Window.SetIcon 2024-06-07 01:12:04 -04:00
sashakoshka a9ac9f6600 Change scrolling speed from 16 to 32 2024-06-07 01:07:48 -04:00
sashakoshka 6eff6887e7 Unify window and mainWindow 2024-06-07 01:07:28 -04:00
sashakoshka adf0ef3a89 Update Tomo API 2024-06-07 01:07:15 -04:00
sashakoshka 07bcd119d7 X backend uses Close method instead of Destroy to free canvas 2024-06-03 20:54:45 -04:00
sashakoshka c51ce65c88 System no longer requires a NewCanvas method 2024-06-03 20:44:58 -04:00
sashakoshka 0d93d73c32 Backend returns CanvasCloser 2024-06-03 20:43:05 -04:00
sashakoshka 006921d690 Store Role in Box 2024-06-03 20:42:54 -04:00
sashakoshka f2bcc217a4 Update Tomo API 2024-06-03 20:42:08 -04:00
sashakoshka a4e067cacb HandleKeyUp causes a... key up event. As it should. 2024-06-03 02:20:37 -04:00
sashakoshka 5a2b4cc2f5 Boxes are able to check if they are focused 2024-06-03 02:18:30 -04:00
sashakoshka 250c3076fb Fixed another segfault. Do not write code at 4 am. 2024-06-03 02:11:47 -04:00
sashakoshka 3e1a3ea5b9 Fix several segfaults 2024-06-03 01:51:43 -04:00
sashakoshka c3050e258f Add icon 2024-06-03 00:21:55 -04:00
sashakoshka a4c99ab0bd Update go.mod/sum 2024-06-02 23:21:06 -04:00