Commit Graph

99 Commits

Author SHA1 Message Date
Sasha Koshka e5d6e03975 X backend positions modals, panels, and menus correctly in reparenting window managers 2023-04-27 18:49:35 -04:00
Sasha Koshka 990e60eea4 Mouse events are no longer given to windows with a modal active 2023-04-27 00:05:29 -04:00
Sasha Koshka 6622799019 Added a few context menus 2023-04-21 00:52:34 -04:00
Sasha Koshka 2bd7d0fad5 Added a toggle button and lamp pattern 2023-04-20 18:40:05 -04:00
Sasha Koshka 53f78cb0e7 Overhauled mouse events
Everything gets an image.Point instead of an x y pair, and most
things now get modifiers.
2023-04-20 14:44:54 -04:00
Sasha Koshka 785cc2d908 Child draw bounds are properly clipped 2023-04-18 03:07:06 -04:00
Sasha Koshka 0bf5c3b86c Lists are a thing now
Looks like child bounds arent clipped properly though, ugh
2023-04-18 02:59:44 -04:00
Sasha Koshka 6b13e772a9 Fixed segfault in the X backend when handling mouse motion 2023-04-17 02:16:27 -04:00
Sasha Koshka 5ca3b80e8e Made this crazy selection system 2023-04-17 02:05:53 -04:00
Sasha Koshka 7d4ddaf387 Scrolling over a ScrollContainer will now scroll it 2023-04-16 14:12:55 -04:00
Sasha Koshka b9c8350677 Scroll containers yay 2023-04-16 03:37:28 -04:00
Sasha Koshka e16195d274 The system can now focus previous, next 2023-04-15 21:49:40 -04:00
Sasha Koshka c0b205c6f0 This is what happens when you dont test anything oh my god 2023-04-15 18:49:02 -04:00
Sasha Koshka 986315d5db Vertical layout partially works 2023-04-15 18:09:49 -04:00
Sasha Koshka a43f5ce595 Window now checks for minimum size on adopt 2023-04-15 01:19:39 -04:00
Sasha Koshka 437aef0c27 Redid the entity system a bit to make it more reliable
Now it supports things like parenting elements before they are
added to a window and elements no longer have to constantly check
for a nil entity
2023-04-15 01:14:36 -04:00
Sasha Koshka 5cf0b162c0 Child property change events make more sense now 2023-04-15 00:02:30 -04:00
Sasha Koshka 6e4310b9ad Some X backend fixes 2023-04-14 23:58:14 -04:00
Sasha Koshka 4c6f1f80e7 Proper keyboard and mouse event propagation 2023-04-14 19:08:14 -04:00
Sasha Koshka e931717241 Basic support in X backend for new API 2023-04-14 00:25:05 -04:00
Sasha Koshka bb9c5df088 X backend entity 2023-04-13 02:22:54 -04:00
Sasha Koshka 670cf36c14 Manually focusing the menu window messes everything up apparently 2023-04-10 18:11:40 -04:00
Sasha Koshka d67aac3d4f Menu windows actually work properly now 2023-04-10 18:07:49 -04:00
Sasha Koshka 2987331a31 Ok it kind of works now 2023-04-10 16:47:03 -04:00
Sasha Koshka da47026d1c Added untested support for OverrideRedirect windows 2023-04-10 16:22:47 -04:00
Sasha Koshka aed448671b Well I think thats all of the examples
There are too many examples.
2023-04-10 02:58:52 -04:00
Sasha Koshka 6db5901247 Added support for relative window positioning 2023-04-10 02:36:28 -04:00
Sasha Koshka 8abb45e77a Added a way to set WM_CLASS 2023-04-10 01:56:43 -04:00
Sasha Koshka d1fcc6e37f Older window managers will now understand the title 2023-04-09 01:57:56 -04:00
Sasha Koshka c1e2bf46a6 TextBox supports copy/paste with keyboard commands 2023-03-31 03:25:46 -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 6456759bfc The targets list now has the proper type of ATOM 2023-03-30 20:51:11 -04:00
Sasha Koshka 0d4104255c Selection data is property sent to the requestor 2023-03-30 18:52:29 -04:00
Sasha Koshka 17422cc054 selectionClaim seeks to the start of the data before reading it 2023-03-30 18:42:40 -04:00
Sasha Koshka a16f3c2cd7 TARGETS list is now properly assembled 2023-03-30 18:32:14 -04:00
Sasha Koshka 017543aa0f Temporary redirect to patched xgbutil that will only work on my machine 2023-03-30 18:05:29 -04:00
Sasha Koshka f9e5503320 Pasting implemented (nonworking) 2023-03-30 13:10:58 -04:00
Sasha Koshka 8abc4defa7 Fixed INCR
Oops!
2023-03-29 23:24:42 -04:00
Sasha Koshka fc228a13d3 Fleshed out the mime type conversion method a bit 2023-03-29 12:33:57 -04:00
Sasha Koshka 1ebf5e1103 Implemented INCR selection properties 2023-03-29 12:27:23 -04:00
Sasha Koshka ab61615018 X backend generates mime type from owner response 2023-03-29 03:03:13 -04:00
Sasha Koshka 39dc09bc4a X backend clipboard properly negotiates data type with owner
The clipboard API has been changed to allow an application to
accept a number of different mime types, and the X backend will now
check the accepted types list against the owner's TARGETS list and
choose the best one.
2023-03-29 02:55:12 -04:00
Sasha Koshka 0aede3502b This should have been several separate commits 2023-03-29 00:50:23 -04:00
Sasha Koshka 6f15ff3366 We now set the target atom properly 2023-03-28 01:00:54 -04:00
Sasha Koshka 01a0fc1bd3 You can fcucking PASTE now!!! 2023-03-27 20:44:39 -04:00
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.
2023-03-24 22:49:53 -04:00
Sasha Koshka 3aa8495873 Terrible discovery (panels don't work properly) 2023-03-24 17:38:21 -04:00
Sasha Koshka bdc1109bcf Modal dialogs lock the window's input until they are closed 2023-03-24 01:31:40 -04:00
Sasha Koshka d710d13f0d Added the ability to make different window types 2023-03-24 00:34:25 -04:00