Commit Graph

64 Commits

Author SHA1 Message Date
Kevin Lange
0947432963 Actually make an effort to release textures from closed windows 2014-05-03 15:41:16 -07:00
Kevin Lange
a4b70a6cda Rudimentary fullscreen shortcut 2014-05-03 15:36:09 -07:00
Kevin Lange
d55c5953e1 Handle focused windows properly 2014-05-03 12:22:16 -07:00
Kevin Lange
2070d255e2 New window advertisement format 2014-05-03 12:07:03 -07:00
Kevin Lange
4d8335ad75 Implement proper wait/waitpid.
This is a pretty big commit, so let's run through it in parts:

- All of the userspace changes are to switch away from syscall_wait
  Mostly, this is to waitpid; some things were tweaked to do things
  "properly" instead of waiting for particular processes. Init has
  been fixed to do a proper spin wait.
- syscall_wait is gone - as are its uses. newlib bindings have been
  using just waitpid for a while now.
- waitpid now performs like a Unix waitpid
- process reaping is no longer a "do this on next change thing":
  it happens when a process is waited on, like it should
  (That means we can have real zombies: terminated processes that
  have not yet been waited on)
- Reparenting of children to init has been implemented, so you
  can fork-daemonize!

Overall, this is pretty big... So I hope it doesn't break everything.
2014-04-27 01:37:33 -07:00
Kevin Lange
deeb1c42a5 fix bad operation ordering for window allocation 2014-04-20 13:47:59 -07:00
Kevin Lange
3241d36e6d Mouse enter/leave/move for non-focused window 2014-04-20 13:44:17 -07:00
Kevin Lange
d967fae3a5 Track down the root of that malloc problem 2014-04-20 13:19:52 -07:00
Kevin Lange
30a79e8ac6 Change focus from panel 2014-04-20 01:24:10 -07:00
Kevin Lange
6300959b12 Ensure thread safety during window buffer things 2014-04-19 19:11:10 -07:00
Kevin Lange
40124cac49 various minor pieces of cleanup 2014-04-19 18:37:37 -07:00
Kevin Lange
77b830ace5 Regular mouse movement events
Demonstrated in the wallpaper with hover states for the icons
2014-04-19 17:44:20 -07:00
Kevin Lange
48e0ddd99e Rudimentary animation system
This is actually the same as the animation system from the old
compositor, but with some added bits for damage rects.
2014-04-19 16:59:32 -07:00
Kevin Lange
3591981f58 should mark windows win they request to be moved 2014-04-18 19:45:55 -07:00
Kevin Lange
9264a203dd Quick and dirty session ending support with a broadcast event 2014-04-18 19:23:45 -07:00
Kevin Lange
700e711606 Start on panel functionality: Window title advertisement 2014-04-18 00:18:19 -07:00
Kevin Lange
0535ccd993 mouse-initiated window resizes 2014-04-17 00:24:54 -07:00
Kevin Lange
b3410b4b4b Basic resize support (client-initiated) 2014-04-16 23:50:57 -07:00
Kevin Lange
7827244d64 Add a subregion damage command 2014-04-16 00:00:52 -07:00
Kevin Lange
2cd36c2edf unbreak ^C and make window rotation use the right bindings 2014-04-15 23:26:27 -07:00
Kevin Lange
b8551d2174 Kill the old compositor 2014-04-15 19:45:56 -07:00
Kevin Lange
f4c6ef10ad Basic mouse events to windows 2014-04-14 23:24:44 -07:00
Kevin Lange
e39c08965e Bring back rotation 2014-04-14 22:42:40 -07:00
Kevin Lange
00ecfff45f make kbd library reentrant 2014-04-14 21:03:23 -07:00
Kevin Lange
17f176c888 Basic window movement in Yutani 2014-04-13 21:52:16 -07:00
Kevin Lange
6db3fe2ec2 Focus change events 2014-04-13 18:28:42 -07:00
Kevin Lange
f0ca89685b Support window focus change 2014-04-13 17:58:19 -07:00
Kevin Lange
731c1303c2 Use env to store compositor endpoint 2014-04-12 18:59:43 -07:00
Kevin Lange
9a8cd903c0 Fix argument handling in yutani 2014-04-12 16:20:46 -07:00
Kevin Lange
bb5b6a0830 Add args parsing and some error handling to yutani 2014-04-11 22:43:18 -07:00
Kevin Lange
dbcb8b39f7 Use a render thread. 2014-04-07 00:51:59 -07:00
Kevin Lange
44d177a466 Use cairo to flip framebuffer with clips 2014-04-07 00:23:20 -07:00
Kevin Lange
e919ec4548 idgi, but this seems to work 2014-04-06 21:03:50 -07:00
Kevin Lange
58f32b064d Port stuff from old compositor
lots of stacking functionality ported
still need window focus and mouse events, plus mouse move and other
server-side control...
2014-04-06 20:42:29 -07:00
Kevin Lange
4002901d0d Run login app and have it run terminal 2014-04-06 18:48:40 -07:00
Kevin Lange
7009e4ec1c Continued progress on Yutani 2014-04-06 18:21:35 -07:00
Kevin Lange
60d66da7e6 Quick port of Terminal to yutani 2014-04-06 13:25:04 -07:00
Kevin Lange
058574d5a8 fix some missing frees 2014-04-06 00:30:00 -07:00
Kevin Lange
ed82bbd55e quick hacks to get key events flowing 2014-04-05 19:26:49 -07:00
Kevin Lange
6ea113d8b2 Very early work on yutani 2014-04-05 18:36:07 -07:00
Kevin Lange
490d1dd9f0 Fix compositor keyboard after I broke it 2014-04-05 17:06:28 -07:00
Kevin Lange
a8d599b570 Remove calls to syscall_print 2014-04-05 15:25:34 -07:00
Kevin Lange
2205c11ae0 Cleaner desktop launch 2014-04-01 21:39:08 -07:00
Kevin Lange
ace9e62ccc Actually, do the fade, but not the scale 2014-04-01 21:29:36 -07:00
Kevin Lange
3140c8e4b2 Disable animations for backrounds and panels 2014-04-01 21:22:58 -07:00
Kevin Lange
ee30393e48 Keyboard + Mouse as modules 2014-03-16 15:13:27 -07:00
Kevin Lange
82a917d270 no more serial syscall
More cleanup

Oopsy
2014-03-15 20:51:11 -07:00
Kevin Lange
fd259ce8ab Rough screenshot support
Still needs to be moved to the print screen key. Ctrl+Shift+P for whole
screen, Ctrl+Shift+Alt+P for active window.
2013-07-22 22:42:24 -07:00
Kevin Lange
43a795fa9a Compositor can now take an argument for what to run on startup 2013-06-28 00:33:03 -07:00
Kevin Lange
15be8f2138 thinking about this still 2013-06-28 00:15:32 -07:00