Commit Graph

596 Commits

Author SHA1 Message Date
Kevin Lange
74d710fe5f Supplementary plane support (emojis) 2014-04-29 00:29:19 -07:00
Kevin Lange
29841b03fc Fix waitpid calls to account for EINTR 2014-04-29 00:28:41 -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
cb19356d50 Break out some magic numbers in toast daemon 2014-04-26 18:05:56 -07:00
Kevin Lange
d79bd92b6c Updated toast theme 2014-04-25 23:16:58 -07:00
Kevin Lange
29065dd94c Fix bad divide in premultiply 2014-04-25 19:47:27 -07:00
Kevin Lange
273b4ce9fa Don't draw logo after login 2014-04-24 22:41:23 -07:00
Kevin Lange
a56a6a6f9c fix some dumb stuff in Draw 2014-04-24 22:38:53 -07:00
Kevin Lange
1487ad17e5 Fix focus default in terminal 2014-04-24 22:36:20 -07:00
Kevin Lange
af6ad29235 Finish port of ttk-demo to yutani 2014-04-23 21:15:12 -07:00
Kevin Lange
1b3dcea6a1 Toast notification daemon 2014-04-21 19:46:38 -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
140f5a71e0 Reenable scrollback (bit glitchy) 2014-04-19 19:51:11 -07:00
Kevin Lange
6300959b12 Ensure thread safety during window buffer things 2014-04-19 19:11:10 -07:00
Kevin Lange
05e3276858 Workaround a weird glitch in newlib's malloc 2014-04-19 19:10:44 -07:00
Kevin Lange
40124cac49 various minor pieces of cleanup 2014-04-19 18:37:37 -07:00
Kevin Lange
6c5a14c839 Fix timings for logo animation in login window 2014-04-19 18:12:13 -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
c5c895bc06 Don't send sigint to wallpaper on session exit 2014-04-19 17:11:07 -07:00
Kevin Lange
30d4eade35 fix missing break in game 2014-04-19 17:08:14 -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
9e152263c7 fix terminal rendering on scroll 2014-04-19 15:00:26 -07:00
Kevin Lange
68892b9023 Terminal should only resize to nice sizes if it can. 2014-04-18 20:07:46 -07:00
Kevin Lange
fb67eca4ff support resize in terminal 2014-04-18 19:46:05 -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
092b08e496 Use an asynch poll loop to eat events in rpg demo (like we used to) 2014-04-16 18:51:09 -07:00
Kevin Lange
e8bbfd3221 Add an ioctl to query available pex data 2014-04-16 18:29:49 -07:00
Kevin Lange
939749edf9 unbork terminal 2014-04-16 11:18:40 -07:00
Kevin Lange
9a985ff5fc Speed up terminal rendering a bit with regions 2014-04-16 00:59:58 -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
c1e53f9bc2 Kill debug output from yutani client library 2014-04-15 22:48:31 -07:00
Kevin Lange
16d7a9e032 Make wallpaper icons work again 2014-04-15 21:27:07 -07:00
Kevin Lange
d48b00a767 Kill window.h/window.c 2014-04-15 21:22:45 -07:00
Kevin Lange
262f06a979 port a bunch of other things 2014-04-15 21:16:46 -07:00
Kevin Lange
32fca2fa1b port make-it-snow to yutani 2014-04-15 20:43:08 -07:00
Kevin Lange
0c46b42667 port cairo and pixman demos 2014-04-15 20:38:47 -07:00
Kevin Lange
6065112552 port teapot to yutani 2014-04-15 20:31:14 -07:00
Kevin Lange
4801031d6d port gears to yutani 2014-04-15 20:22:12 -07:00
Kevin Lange
80854c820f fix missing free from yutani poll 2014-04-15 20:22:02 -07:00
Kevin Lange
0ba7947052 port clock-win to yutani 2014-04-15 20:08:21 -07:00
Kevin Lange
39af77be57 port drawlines to yutani 2014-04-15 20:08:12 -07:00
Kevin Lange
b8551d2174 Kill the old compositor 2014-04-15 19:45:56 -07:00
Kevin Lange
c08aa78052 Make draw-beta super speedy 2014-04-15 00:04:39 -07:00
Kevin Lange
73b0fd1f6c Verify mouse events work with a port of Draw 2014-04-14 23:46:13 -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
e52728fcba Run fullscreen terminal under yutani 2014-04-12 18:15:44 -07:00
Kevin Lange
9a8cd903c0 Fix argument handling in yutani 2014-04-12 16:20:46 -07:00
Kevin Lange
3d7a3969eb Support launching arbitrary debug shells 2014-04-11 22:43:39 -07:00
Kevin Lange
bb5b6a0830 Add args parsing and some error handling to yutani 2014-04-11 22:43:18 -07:00
Kevin Lange
d85f3fd4ce Resurrect vga terminal 2014-04-11 20:03:01 -07:00
Kevin Lange
a5621fee66 prepare glogin-beta for eventual cairo port 2014-04-10 21:59:03 -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
489cc1221f Bump 2048 to newest remote master 2014-04-06 13:24:44 -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
5ead18d352 Fix typo 2014-04-05 15:44:38 -07:00
Kevin Lange
51d398fc76 Remove special handling for tty access, make init do it 2014-04-05 15:43:14 -07:00
Kevin Lange
a8d599b570 Remove calls to syscall_print 2014-04-05 15:25:34 -07:00
Kevin Lange
5277e3ce64 More PEX cleanup 2014-04-02 22:50:32 -07:00
Kevin Lange
c7500d8aeb cleanup debug messages from test-pex 2014-04-02 00:47:41 -07:00
Kevin Lange
d810a9cca1 Fix packet sending 2014-04-02 00:42:35 -07:00
Kevin Lange
272afa1999 Rudimentary packetfs 2014-04-02 00:26:15 -07:00
Kevin Lange
af0467946e colors for dev files in ls -l 2014-04-01 23:15:04 -07:00
Kevin Lange
6d2e151eff fix derp in cat 2014-04-01 22:59:29 -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
b53d912e3e Updated login screen 2014-04-01 21:23:56 -07:00
Kevin Lange
091ab50a3f Add a non-vignetting blur function 2014-04-01 21:23:22 -07:00
Kevin Lange
3140c8e4b2 Disable animations for backrounds and panels 2014-04-01 21:22:58 -07:00
Kevin Lange
d7086574ca Build updates 2014-03-27 23:37:38 -07:00
Kevin Lange
37f2a70ab5 Add 2048 from mevdschee, with license and README 2014-03-26 21:17:29 -07:00
Kevin Lange
927d16950a cleanup for ansi library 2014-03-24 21:35:27 -07:00
Kevin Lange
543ca3eb5e initial work to separate ansi/term stuff to library 2014-03-24 21:08:07 -07:00
Kevin Lange
2cfdec3435 remove unnecessary include 2014-03-24 20:21:44 -07:00
Kevin Lange
8980f568a3 Consolidate datastructure libraries 2014-03-24 20:18:40 -07:00
Kevin Lange
c7414e579f fix run-tests (not that it's used) 2014-03-23 20:26:03 -07:00
Kevin Lange
9b5cf9cec5 Video as a module, kill device_init 2014-03-19 18:56:07 -07:00
Kevin Lange
ee30393e48 Keyboard + Mouse as modules 2014-03-16 15:13:27 -07:00