Commit Graph

650 Commits

Author SHA1 Message Date
Kevin Lange
d696f51f8b Real unix pipes 2014-05-27 21:38:30 -07:00
Kevin Lange
e1a1c1058f system() blocks, let's call sh -c ourselves... 2014-05-26 13:46:55 -07:00
Kevin Lange
a576c84f28 Load desktop icons from a file 2014-05-26 13:36:38 -07:00
Kevin Lange
45cfecc043 Present the nested compositor at 50,50 instead of 0,0 2014-05-26 12:57:39 -07:00
Kevin Lange
ab2a9f056f Quick and dirty display server nesting - lots of mouse event changes 2014-05-26 12:43:22 -07:00
Kevin Lange
ed36fe9c7f Remove vga-warning (why do I still have this?) 2014-05-26 00:18:20 -07:00
Kevin Lange
f054cebdce naive implementation of sudo and possibly insecure setuid support 2014-05-25 21:59:51 -07:00
Kevin Lange
095675b012 Be sure cleanup in i>image_size exit case 2014-05-23 18:56:49 -07:00
Kevin Lange
9cf5cafd28 Merge pull request #49 from lioncash/forgot-one
Forgot one other leak case
2014-05-23 16:43:38 -07:00
Lioncash
2d313df844 Forgot one other leak case 2014-05-23 19:42:17 -04:00
Lioncash
85a84291b6 Fix some potential memory leaks within graphics.c 2014-05-23 19:36:32 -04:00
Kevin Lange
ad303097d3 Merge pull request #47 from lioncash/dat-overflow-doe
Fix a sprintf size typo which would overwrite the error buffer in bim's open_file func
2014-05-21 18:06:38 -07:00
Lioncash
b3ba650ac2 Fix a sprintf size typo which would overwrite the error buffer in bim's open_file func 2014-05-21 21:03:45 -04:00
Kevin Lange
29e7f0def1 Fix null pointer trying to alt-tab without windows 2014-05-19 18:38:16 -07:00
Kevin Lange
dcdf53db89 Make a bunch of apps respond to session end message 2014-05-19 18:34:05 -07:00
Kevin Lange
ce0dacb912 Use spinlock.h instead of continually definign this as static in a bunch of apps 2014-05-18 19:34:49 -07:00
Kevin Lange
0cdfcf766e Support frameless non-fullscreen terminals 2014-05-18 19:23:05 -07:00
Kevin Lange
dde993c79c Store decoration theme settings in /etc/passwd 2014-05-18 18:13:14 -07:00
Kevin Lange
71946d8a97 Invert resize rounding behavior for terminal 2014-05-18 18:10:18 -07:00
Kevin Lange
a1e8a40b22 More gridding options 2014-05-18 18:08:34 -07:00
Kevin Lange
4c99c387f5 Expose pc speaker as device file 2014-05-18 16:11:14 -07:00
Kevin Lange
6379aa19ff Bring a few more apps up to speed with new yutani features 2014-05-18 13:57:33 -07:00
Kevin Lange
068f933a71 Kill some excessive debug output in the terminal 2014-05-18 12:24:17 -07:00
Kevin Lange
2675532013 Add a terminal option to disable rounding resizes to cell widths 2014-05-18 12:18:34 -07:00
Kevin Lange
6e028b6550 left-right tiling 2014-05-18 12:15:18 -07:00
Kevin Lange
3cb7b18c60 Client-initiated window drag 2014-05-18 11:54:20 -07:00
Kevin Lange
d9830f7989 Major refactor of panel 2014-05-12 20:11:58 -07:00
Kevin Lange
c231d1c090 Cleanup some direct system calls in userspace 2014-05-11 17:40:16 -07:00
Kevin Lange
4d310b3c03 Make sure wallpaper and panel clean up dead children 2014-05-10 20:09:16 -07:00
Kevin Lange
bcb86108ce Fix terminal damage rects 2014-05-10 14:02:49 -07:00
Kevin Lange
c042d04fc0 remove extraneous debug output 2014-05-09 23:04:30 -07:00
Kevin Lange
0061105b29 Make the alt-tab slick and operate as expected 2014-05-09 23:03:47 -07:00
Kevin Lange
d3273d934a Simple key binding system, plus alt-tab and ctrl-alt-t 2014-05-09 22:01:24 -07:00
Kevin Lange
e6418d3b92 cheap integration test with expect 2014-05-08 21:13:44 -07:00
Kevin Lange
ee9ff92b60 Clean up some legacy /etc stuff 2014-05-07 00:10:34 -07:00
Kevin Lange
50824abdec And actually load the right file... 2014-05-05 22:03:57 -07:00
Kevin Lange
4bcd567bb5 Uh, draw the logout button for the logout button 2014-05-05 22:00:20 -07:00
Kevin Lange
2fbc220546 Cleanup panel 2014-05-05 21:47:45 -07:00
Kevin Lange
c6dd91a113 Maintain window ordering in panel list 2014-05-05 21:18:13 -07:00
Kevin Lange
1bef69e527 Panel icons for game and julia fractals 2014-05-03 17:51:33 -07:00
Kevin Lange
49aebbbb8d advertise windows in ttk 2014-05-03 17:28:53 -07:00
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
6a8281611d + is totally valid in names, let's be silly 2014-05-03 14:06:55 -07:00
Kevin Lange
15ff21f104 Support icons other than the precached ones 2014-05-03 13:51:37 -07:00
Kevin Lange
9fce12f10c Only used scaled rendering if icon is not correct size 2014-05-03 13:22:40 -07:00
Kevin Lange
601768c4bf Panel icon support 2014-05-03 13:20:16 -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
2d7b15b231 Don't readvertise RPG window every time 2014-05-02 23:20:48 -07:00
Kevin Lange
e3a23bad5b Brand new Makefile-based userspace build system 2014-05-02 22:38:39 -07:00
Kevin Lange
04435920fe Yutani client library does not depend on pthreads 2014-05-02 19:33:22 -07:00
Kevin Lange
0cdc07b021 Update nyancat to 1.4.4 2014-05-01 11:17:22 -07:00
Kevin Lange
5d4b0df120 Make sure toast daemon doesn't block its death signal 2014-04-29 00:52:31 -07:00
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