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
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
Kevin Lange
af14fd2e72
oops
2014-03-15 20:54:20 -07:00
Kevin Lange
82a917d270
no more serial syscall
...
More cleanup
Oopsy
2014-03-15 20:51:11 -07:00
Kevin Lange
cc4391d783
Initial work on modules
...
There's a lot here, so let's through it:
- Lots of work to include a symbol table in the kernel. We can't rely on
our bootloader to give us our own ELF information, so we do this
separately. This probably should be changed to output a C source
rather than assembly, but that's a TODO.
- Makefile can now generate modules. It works basically the same way any
other kernel object works, expect with a slightly different linking
scheme.
- Commands have been added to the debug shell to load modules, but they
don't work yet - still need to get through relocation and linking.
- Commands have been added to the debug shell to print the symbol list,
as well as print symbol values (but note that printing symbol values
is kinda dangerous if you don't know what they are, so don't just go
printing things willy-nilly).
2014-03-09 19:36:28 -07:00
Kevin Lange
3fd6a447ef
python2
2014-02-12 13:33:19 -08:00
Kevin Lange
ed3c578e64
clean up some legacy util stuff
2013-12-13 20:50:04 -08:00
Kevin Lange
faec73e73d
Workaround an issue where terminals werne't closing
2013-12-02 21:05:30 -08:00
Kevin Lange
a9d5009060
Fix terminal alpha rendering in fullscreen mode
2013-11-28 16:14:41 -08:00
Kevin Lange
1e2ed1e89a
Add a clock to the VGA warning
...
mostly so it doesn't immediately quit, but also so it's not eating CPU
cycles while being useless
2013-11-27 19:08:07 -08:00
Kevin Lange
a024385a3c
Fix some missing termios stuff
2013-11-22 21:54:47 -08:00
Kevin Lange
59cdfbe9a6
Make teapot close with q like everyone else
2013-10-19 00:29:00 -07:00
Kevin Lange
5d1aa1f6b8
Special-case some block drawing to make it look better
2013-09-01 18:32:46 -07:00
Kevin Lange
a1784a5da1
Fix handling of line endings at right side of screen
2013-08-21 18:30:20 -07:00
Kevin Lange
1e50d39d67
kill nlcr/no-nlcr stuff from terminal
2013-08-19 19:37:13 -07:00
Kevin Lange
720a62d6aa
ICANON support (still a bit rough)
...
This is a massive hack and I admit it.
2013-07-27 22:01:08 -07:00
Kevin Lange
40f0c41932
Preliminary termios support
...
This is some initial work on support real PTYs.
Canonical mode is not supported at the moment.
2013-07-27 00:18:29 -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
9f50d7a3bf
WHY AM I PRINTING THIS
2013-07-22 22:41:56 -07:00
Kevin Lange
caf16396c1
More threads, less stat
2013-07-20 02:11:27 -07:00
Kevin Lange
ab0045918f
clean up cd shell command
2013-06-29 18:48:57 -07:00
Kevin Lange
bc0c06e005
Add a little warning app to vga mode
2013-06-28 19:02:11 -07:00
Kevin Lange
69f3cd3b05
Kill the VGA terminal.
...
I am going to replace it after I finish making the ANSI escape parser
modular again (it became a bit less modular during the development of
this terminal).
These changes are part of an effort to make the terminal more efficient.
Another goal is to make the terminal use the "new-style" compositor
interface, which is still in development.
2013-06-28 18:51:30 -07:00
Kevin Lange
570905a7d2
Kill the font loading bar
2013-06-28 00:55:02 -07:00
Kevin Lange
a0b589b56b
Drop legacy fullscreen from plasma
2013-06-28 00:43:35 -07:00
Kevin Lange
9a40a41f03
Drop legacy fullscreen support and add new fullscreen support
2013-06-28 00:42:40 -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
Kevin Lange
a36421ae4e
Like I said, use FAST/GOOD macros instead
2013-06-18 23:48:04 -07:00
Kevin Lange
b6ec637f74
Use nearest-neighbor scaling
...
Major speed improvement, though it might make things like "Scale
windows" look a bit less polished; windows that are scaled up in scale
mode are rendered with bilinear scaling. Will probably replace with the
FAST/GOOD macros later.
Also, add the framework for Alt+Tab window picking (not implemented yet)
2013-06-18 23:43:56 -07:00
Kevin Lange
32ee59c51c
Fix up/down for meta keys
2013-06-18 23:42:53 -07:00
Kevin Lange
2888fc776f
Add alt key support to terminal
2013-06-15 15:23:10 -07:00
Kevin Lange
b7254576d4
Don't lock up when a client isn't paying attention
...
Also fix the mouse to account for this... development.
Smoother mouse movement all around, though it may make things slightlys
lower by spamming lots of mouse packets. Just write good clients and
everything will be fine...
2013-06-12 23:37:07 -07:00
Kevin Lange
d213172368
woops, kill that
2013-06-12 20:39:57 -07:00
Kevin Lange
ea52ca3fb0
kill old unused stuff
2013-06-12 17:52:15 -07:00
Kevin Lange
cf91715ab5
Missed one
2013-06-10 10:39:58 -07:00
Kevin Lange
abc8298b4b
Fix logout (actually login problem)
2013-06-10 00:55:33 -07:00
Kevin Lange
4c9be9361a
Compositor animations - actual
...
There are both some good changes and some terribly hacky changes in this
commit.
- Server uses a different struct than client now for windows, so
arbitrary compositor things like effect parameters can be added
without having to rebuild everything. That's good.
- Client window structs no longer attempt to track or use window
locations. That's good.
- Windows do not destroy in response to the destory command, but rather,
a special animation is triggered; the end state for this animation
calls the actually window destruction code. That's a hack.
- Animations are based on rendered frames, not on time. That's a hack.
2013-05-29 21:31:59 -07:00
Kevin Lange
ae59df2514
Fix up some toaru-specific bits in the shell
2013-05-28 22:00:27 -07:00
Kevin Lange
046f17a81a
^A and ^E in shell
2013-05-28 19:01:52 -07:00
Kevin Lange
c3995aaa55
Workaround window corruption on startup
2013-05-22 22:59:23 -07:00
Kevin Lange
80445dafcc
Various shell and terminal cleanups
2013-05-22 21:59:28 -07:00
Kevin Lange
3e59074974
[terminal] redraw cursor on focus change
2013-05-22 20:56:52 -07:00
Kevin Lange
9c2b45e0aa
Unbreak sh's 'Command not found'...
2013-05-22 19:18:14 -07:00
Kevin Lange
48fe17ff19
Merge branch 'strawberry-dev' of github.com:klange/toaruos into strawberry-dev
2013-05-21 23:33:31 -07:00
Kevin Lange
0420002212
Quick hack: Animation demo
2013-05-21 21:11:30 -07:00
Kevin Lange
d9f22b293a
wat
2013-05-15 19:09:58 -07:00
Kevin Lange
fd7c103c78
Teapot Mesa shader example
2013-05-13 02:59:10 -07:00