Commit Graph

738 Commits

Author SHA1 Message Date
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
Kevin Lange
416d483fd6 Box drawing and new wcwidth
Currently a brute-force method, going
to replace this with a Markus Khun-esque interval
search shortly.
2013-05-11 13:20:20 -07:00
Kevin Lange
04dccab9a4 Swap /bin and /usr/bin in PATH 2013-05-10 19:34:01 -07:00
Kevin Lange
8d20462288 work around -onlcr 2013-05-09 23:56:49 -07:00
Kevin Lange
e809b4e3da Add back in Command not found message 2013-05-08 01:05:38 -07:00
Kevin Lange
096628fb1d Make sh use execvp directly 2013-05-08 00:45:46 -07:00
Kevin Lange
0789c46bfe Add /usr/bin to default PATH 2013-05-08 00:45:27 -07:00
Kevin Lange
8f3b31466f add kill app 2013-05-06 01:29:04 -07:00
Kevin Lange
1e664bef2b Integrate signals into libc 2013-05-05 15:00:24 -07:00
Kevin Lange
fcdec09eaf Unfocused terminal cursor box 2013-05-04 23:22:54 -07:00
Kevin Lange
907566b259 Fix terminal padding opacity 2013-05-03 00:20:16 -07:00
Kevin Lange
8ceb3f990a New panel layout and background 2013-05-02 23:33:57 -07:00
Kevin Lange
8af7d27445 Make terminal darker 2013-05-01 18:35:03 -07:00
Kevin Lange
8b39566b43 Kill some code duplication in the terminal 2013-04-27 01:43:24 -07:00
Kevin Lange
6aa623216d But clear the buffer on ^C 2013-04-27 01:16:17 -07:00
Kevin Lange
b575e5e2e4 Flush buffer on switch to raw mode 2013-04-27 01:14:21 -07:00
Kevin Lange
47977a3bdc Fix some C++ derps with window.h header 2013-04-26 01:04:09 -07:00
Kevin Lange
cbaa9e13d6 Add a test app to print open() flag values 2013-04-24 00:20:25 -07:00
Kevin Lange
9f7fa061ea Fix how 'touch' opens files. 2013-04-24 00:20:07 -07:00
Kevin Lange
716ce11c83 Move old loader test 2013-04-23 23:08:42 -07:00
Kevin Lange
a2a890e1a8 Fresh new VFS syscalls: unlink, chmod, umask 2013-04-23 01:14:33 -07:00
Kevin Lange
01a4b5f22d fix USER setting in login 2013-04-22 22:37:17 -07:00
Kevin Lange
038a899b45 i have no idea why I'm messing with this clock 2013-04-16 23:05:29 -07:00
Kevin Lange
3871cfcf31 Fix up the serial console so it works again 2013-04-15 01:26:03 -07:00
Kevin Lange
025d5ee0c8 READMEs for third-party stuff are cool 2013-04-13 21:02:43 -07:00
Kevin Lange
b6dd8f47c6 More curses samples 2013-04-13 20:59:36 -07:00
Kevin Lange
cd677b44c3 Fix up some terminal bits, add F keys 2013-04-13 20:21:40 -07:00
Kevin Lange
f76616d06e ncurses in build.py 2013-04-13 17:35:20 -07:00
Kevin Lange
d169157a6c Fix build script for ttk-core 2013-04-12 22:00:31 -07:00
Kevin Lange
0a140ce941 gears (a port of glxgears) SEE LICENSE IN FILE 2013-04-12 21:20:38 -07:00
Kevin Lange
b6d131240f Add osmesa (GL) and mpeg2 (video library) to build.py
Despite not actually being in the toolchain yet.
2013-04-10 19:30:54 -07:00
Kevin Lange
4d9d9b6df7 Merge pull request #31 from martica/safe-cp
Let's not overwrite directories
2013-04-10 10:16:21 -07:00
Kevin Lange
b583e6c60a Fix sane apps not exiting 2013-04-10 00:18:40 -07:00
Kevin Lange
89fed507b3 Asynchrous sane window events 2013-04-10 00:10:00 -07:00
Tyler Bindon
ccfcd53943 Use source filename when copying to directory 2013-04-10 05:50:06 +00:00
Tyler Bindon
bd26aff1fd Let's not overwrite directories 2013-04-10 04:25:04 +00:00
Kevin Lange
5177d6fa76 more work on ttk 2013-04-08 20:44:42 -07:00
Kevin Lange
7ed7f85769 Various windowing and TTK improvements 2013-04-07 16:21:00 -07:00
Kevin Lange
969d454083 disable visual bell in terminal 2013-04-02 23:02:54 -07:00
Kevin Lange
5152ed6305 pid_t for pid on fork 2013-04-02 15:25:40 -07:00
Kevin Lange
21e4497d53 [grok.org.uk advisory] fix nyancat strcpy 2013-04-02 15:23:44 -07:00
Kevin Lange
6fba751f9c [grok.org.uk advisory] format string in sh 2013-04-02 15:16:12 -07:00
Kevin Lange
f411f84047 Fix scale mode 2013-04-02 02:14:35 -07:00
Kevin Lange
724a7e2745 Translate by integer coordinates for crisp 90d rotations 2013-04-02 02:10:45 -07:00
Kevin Lange
c0cc4a8907 For simplicity, use integer degrees for rotation.
Ensures crisp 180s, still working on 90s.
2013-04-02 01:39:48 -07:00
Kevin Lange
17879bd850 EXPERIMENTAL: Rotating windows.
* Dumb bounding box top_at logic replaced with select buffer
* Select buffer rendered through cairo with AA disabled
  Using rectangles for window shapes - this should easily
  be expandable to 1bpp bitmaps. Currently, the select buffer
  is very inefficient, using twice the space it needs (plus,
  it's double buffered, so in reality, 4x the space needed),
  however, it's also very accurate and fast, and I like that.
* Window rotation is controlled through Ctrl+Shift+{z,x,c} where
  z = rotate 1 degree left
  x = rotate 1 degree right
  c = reset rotation
* Input is remapped based on window rotation, so you *can* use the
  draw app, and it is totally epic.
2013-04-02 01:26:32 -07:00
Kevin Lange
4a66259cb8 Fix a couple minor rendering issues in the terminal 2013-04-01 21:25:53 -07:00
Kevin Lange
ed233cad89 Clean up formatting for (terminal) login prompt 2013-03-31 13:01:28 -07:00
Kevin Lange
7c4cd8dd51 fix nulldev, add zerodev 2013-03-31 13:01:05 -07:00
Kevin Lange
02a6d7ebc1 Replace Elementary icons 2013-03-30 21:20:47 -07:00
Kevin Lange
5375fb38c4 Proper alpha support in shmemfonts 2013-03-29 01:02:42 -07:00
Kevin Lange
e2d5411a96 Use alpha channel in text rendering in terminal 2013-03-29 00:39:23 -07:00
Kevin Lange
8e48ee8cfa Fix alpha blitting once and for all 2013-03-29 00:34:12 -07:00
Kevin Lange
2d7a29d17e Premulitply PNGs when loaded 2013-03-28 20:04:26 -07:00
Kevin Lange
98b6ae5867 esh -> sh, clean up
* login should set some environment variables now
* init should start terminals as login shells, so --single doesn't really
  mean "single user" any more, just sorta single terminal session
* system() should work now since esh now accepts -c; not that vim is
  still going to be unhappy because it does crazy shit.
2013-03-28 00:12:48 -07:00
Kevin Lange
c06c3a483e Fix ^R in esh...
... such that it doesn't clear the right hand side of the prompt, which
now contains the date and time.
2013-03-27 18:30:19 -07:00
Kevin Lange
f2274f0d2f New prompt format 2013-03-27 17:42:57 -07:00
Kevin Lange
eff6aa9114 RGB color support in terminal 2013-03-27 17:42:47 -07:00
Kevin Lange
faae12f1cd Fix bg=16 in terminal being interpreted as transparent
This fixes a bug in Vim and one introduced an hour ago in Nyancat.
This bug was also present in early versions of bim.

Problem: If the background is set to 16 (all black) explicitly, we still
treat it as if it is the default color and thus make it transparent.
This is wrong, only the default background, as set by resetting either
the bg itself (with mode 49) or the full display parameter set (with 0)
should show up transparent.

Solution: By using flag to indicate wether the background is "default",
we can detect other uses of background color 16 without having fudge
with other colors like 0. The flag is ANSI_SPECBG, where SPEC means
"special", and thus it is set any time the background changes
explicitly, and is unset in raw cells or places where we are in default
mode.
2013-03-27 00:22:15 -07:00
Kevin Lange
4fc6fe741a Add usleep to newlib, silence some warnings 2013-03-26 23:30:09 -07:00
Kevin Lange
5867eec659 Deprecate legacy terminal size feedback 2013-03-25 22:24:26 -07:00
Kevin Lange
479827eb1b Clean up terminal resizes; fix scale 2013-03-22 22:08:21 -07:00
Kevin Lange
bc2e4741c7 Random bits and pieces 2013-03-22 15:11:19 -07:00
Kevin Lange
fa79c89e54 Some fixes and cleanup 2013-03-22 11:58:22 -07:00
Kevin Lange
ef459bdaad More rough stubs and fixes 2013-03-20 21:24:55 -07:00
Kevin Lange
21aeb34ea4 Rough ioctl with support for winsize 2013-03-18 23:57:40 -07:00
Kevin Lange
6f94ce2296 procfs extensions and ps command 2013-03-18 21:52:45 -07:00
Kevin Lange
71342f842d procfs, and more pty cleanup 2013-03-18 00:52:12 -07:00
Kevin Lange
e02cf79e2a Rough PTY support (needs work) 2013-03-17 16:34:23 -07:00
Kevin Lange
3b5b532a27 device file coloring in ls 2013-03-17 16:32:10 -07:00
Kevin Lange
eb92cccecd Cleanup 2013-03-15 00:52:09 -07:00
Kevin Lange
8dd2686b40 Really hack VFS implementation 2013-03-15 00:20:55 -07:00
Kevin Lange
22f04f137b Relatively compliant uname() implementation
Also, sleep() as a function (implemented by way of nanosleep) and new
absolute and relative sleep system calls added to newlib.

[ci skip] I damn well know this is going to break CI.
2013-03-13 21:55:25 -07:00
Kevin Lange
a8020854e4 TTK as a library 2013-02-12 00:04:31 -08:00
Kevin Lange
afa3750144 Fix docstring for build.py
[ci skip]
2013-02-10 20:10:13 -08:00
Kevin Lange
2f9fb19a4d Strip binaries again 2013-02-10 02:06:29 -08:00
Kevin Lange
4dbdaf342d compositor2 -> compositor 2013-02-10 02:01:31 -08:00
Kevin Lange
b2f94bd393 Completely new build system for userspace 2013-02-10 01:36:35 -08:00
Kevin Lange
f8aa509f36 Fix right shift 2013-02-01 22:39:57 -08:00
Kevin Lange
ef7c49b94c Global initializers. 2013-01-25 15:59:33 -08:00
Kevin Lange
82c55c0a58 plasma demo 2013-01-17 22:10:28 -08:00
Kevin Lange
ae7c7f66ae terminal snow 2012-12-29 16:36:00 +09:00
Kevin Lange
79be121b93 Fix lock hangs that broke everything 2012-12-13 19:45:39 -08:00
Kevin Lange
999c96c56b Replace old nyancat with updated version 2012-12-13 19:45:24 -08:00
Kevin Lange
23233e2b97 xenl like a good terminal should 2012-12-13 19:26:45 -08:00
Kevin Lange
8e9ee3d68e Decoration themes, sort of
A surprise x-mas gift, the old theme is back when WM_THEME=simple is set
2012-12-12 22:42:48 -08:00
Kevin Lange
5ab8df4120 login screen tweaks 2012-12-10 21:53:14 -08:00
Kevin Lange
edf0dcca19 threaded event processor should block
rather than yield-looping on an fstat
2012-12-10 21:19:13 -08:00
Kevin Lange
ada6136e42 Dirty semaphore implementation in userspace 2012-12-10 21:04:18 -08:00
Kevin Lange
3a977369af Timed process sleeping (and bug fixes) 2012-12-10 20:28:31 -08:00
Kevin Lange
e5e67c6410 Fix some a quick crash bug 2012-12-10 00:29:04 -08:00
Kevin Lange
21214256d7 restore terminal cursor blinking 2012-12-09 23:17:41 -08:00
Kevin Lange
8fb898be66 Restructure windowed applications for speed 2012-12-09 23:07:04 -08:00
Kevin Lange
643e827cb3 fix buffered backspace 2012-12-09 20:12:51 -08:00
Kevin Lange
5f17cbc27f primitive scrollback support in terminal 2012-12-09 19:57:04 -08:00
Kevin Lange
e83f88bacb Add time support to vfs 2012-12-09 16:59:55 -08:00
Kevin Lange
960fd2486c Minor improvements to ls 2012-12-09 16:03:22 -08:00
Kevin Lange
cd929b1ceb Fix some minor input issues 2012-12-08 00:24:43 -08:00
Kevin Lange
609cd514f1 set toolchain path 2012-12-07 20:35:33 -08:00
Kevin Lange
942c49806b retool build utils 2012-12-05 21:40:30 -08:00
Kevin Lange
af7e77953f fix test-borders (I moved the decoration files)
this does some lulzy stuff when you try to run it :D
[ci skip]
2012-12-04 13:06:21 -08:00
Kevin Lange
7ec90ee2ef Sync old compositor to new compositor
It still looks bad, as I haven't forced alpha blitting for everything,
but it supports all the new features now.
2012-12-02 21:47:44 -08:00
Kevin Lange
69426c90a1 Change the way the terminal resize escape operates
It now takes sizes in cells and calculates the correct window size.

Thus, \033[3000;127;45z should set the terminal to the "standard" size
available in 1024x768 full-screen mode, and which is specified in the
terminfo file provide.
2012-12-01 00:10:59 -08:00
Kevin Lange
c6daef72a3 Major terminal improvements.
* Speed improvements
* Crash fixers
* Significant overhaul to escape handling based on extensive use of the
  new serial console and a remote connection to a Linux box.
* Updated included terminfo file to accurately reflect terminal
  behavior.

Some fun facts:
* vim runs great on a remote console (though the serial line slows a lot
  of things down, it still runs rather smoothly)
* going to fix GNU screen, maybe in next commit, dunno
* tested with htop, less, and a bunch of other stuff
2012-11-30 23:28:49 -08:00
Kevin Lange
659d044614 Terminal fixes 2012-11-30 15:50:06 -08:00
Kevin Lange
ed5b9543fb Big commit: Serial console
* fix some terminal bugs (some, not all)
* add a serial device to the VFS
* fix up serial so it works better
* add a serial-console application
* fix a bug in some other stuff relating to allocations
* change size of the terminal described by toaru.terminfo
* adds a new system call
2012-11-28 23:05:19 -08:00
Kevin Lange
fd30e9b6e3 Bump the logo up more in the login screen.
[ci skip]
2012-11-24 01:01:57 -08:00
Kevin Lange
8f8bd9d5e9 Completely redesign login screen 2012-11-24 00:18:53 -08:00
Kevin Lange
7e27418637 Strip userspace binaries... 2012-11-22 16:27:58 -08:00
Kevin Lange
b5d88b13fc kill a bunch of debug printing 2012-11-21 23:29:57 -08:00
Kevin Lange
c93b5617e8 Support C++ (roughly) in toolchain
* Reenables building of libstdc++
* Enables building of g++
* WARNING: The static binary loader does NOT support static
  initializer functions! You must run them yourself (see
  userspace/test-cpp.cpp for an example that initializes the standard
  streams in order to use cout) until this is fixed.
* C++ stuff is slow to load, try to manually strip, it'll speed things
  up a bit.
2012-11-20 19:28:22 -08:00
Kevin Lange
ae6b72606b General support for focused/inactive windows 2012-11-19 21:24:21 -08:00
Kevin Lange
07a5ee3c55 Brand new, super-great window decorations 2012-11-18 20:41:30 -08:00
Kevin Lange
3ca6f4bae9 Change border test text to demo utf8 support
[ci skip]
2012-11-18 20:18:55 -08:00
Kevin Lange
25f418e887 Support UTF-8 in shmemfonts w/ fallbacks 2012-11-18 20:14:57 -08:00
Kevin Lange
7b7697698e New window borders in a test app.
This'll be ported to the decorations library soon.
2012-11-18 19:35:47 -08:00
Kevin Lange
1081fba885 Updates to the shmem font lib
Supports multiple fonts now!

Loads up with all the standard fonts.
2012-11-18 19:35:17 -08:00
Kevin Lange
dd560bf6e6 Support fallback to classic compositor
So that I don't need to keep changing this or worry about bad commits,
support falling back to the classic compositor if the new compositor
doesn't work.
2012-11-17 12:59:18 -08:00
Kevin Lange
c5dc55512f new panel background with alpha transparency 2012-11-17 12:57:16 -08:00
Kevin Lange
61efb78777 Oops, switch init back to original compositor 2012-11-17 12:57:00 -08:00
Kevin Lange
32a6b4c42a Aspect-aware scaling for wallpapers 2012-11-16 18:37:39 -08:00
Kevin Lange
94dc368904 Fix signature for draw_sprite_scaled 2012-11-16 18:37:12 -08:00
Kevin Lange
9930624043 cleanup some userspace stuff 2012-11-15 23:33:45 -08:00
Kevin Lange
6d49ba5284 Fix julia generator with cairo compositor 2012-10-21 20:46:53 -07:00
Kevin Lange
92b27e72da Fix redraw in julia on resize 2012-10-18 23:43:10 -07:00
Kevin Lange
c4b4155b38 Local user wallpapers, ignored by git 2012-10-16 20:42:48 -07:00
Kevin Lange
df4d1cca39 Text shadows in various places.
- Desktop icons use the shadowing
- The login screen uses shadows instead of poorly-executed strokes
- The blur_test app has been updated to show multiple blur levels,
  but does not use the library function.
2012-10-16 19:05:58 -07:00
Kevin Lange
8b29bd7e21 Make the blur test app interactive
Type to change the text.
Resize if you need more space.
Alt+F4 to quit.

(And remember, focus follows mouse, but does not go through transparent
windows, so if you're in the right box, you'll be fine)
2012-10-16 00:16:27 -07:00
Kevin Lange
8c1a213696 Fix VGA terminal bug (and tests) 2012-10-15 23:49:56 -07:00
Kevin Lange
8ef81b6924 Graphics library functions for Gaussian blur
And a demo app. Going to use this for soft shadows somewhere.
2012-10-15 23:04:33 -07:00
Kevin Lange
6515e90b10 Icon titles 2012-10-15 19:23:47 -07:00
Kevin Lange
7f28dff33d F-keys :D 2012-10-14 22:38:43 -07:00
Kevin Lange
7d5eb42400 Userspace keyboard handling
Kernel driver sends raw scancodes, compositor or terminal handle the
rest. Support for F* keys will be added soon, in the mean time userspace
applications can know about the status of modifiers (control, shift,
alt, and super).

Compositor actions have been changed to Alt+Left Click for move and
Alt+Middle Click for resize. I'll work on adding more mouse events once
I get them to be faster (they're annoyingly slow at the moment... I want
more accuracy and less latency).
2012-10-14 19:53:16 -07:00
Kevin Lange
82d41b5e8e Clean up the RPG's handling of resizes a bit.
Not perfect, still got some things that need to be cleaned up.

[ci skip]
2012-10-13 22:19:06 -07:00
Kevin Lange
fd259230b6 Change color of resize outline 2012-10-13 21:24:12 -07:00
Kevin Lange
79ec8ccdb7 Support resizing in all graphics apps
Sort of. game has issues.
2012-10-13 20:44:59 -07:00
Kevin Lange
ba7bacf054 Julia fractals can handle resizes 2012-10-13 20:20:52 -07:00
Kevin Lange
217f66e23e Mouse-driven window resizing 2012-10-13 20:19:43 -07:00
Kevin Lange
8996ccb592 Merge terminal settings commands into esh
They are now part of the built-in set.

set scale [n]
set size  [w] [h]
set alpha [0 or 1]
2012-10-13 20:17:29 -07:00
Kevin Lange
d56ba02437 Resizing is working okay. 2012-10-13 13:02:58 -07:00
Kevin Lange
8b69e7ef68 Get rid of the awkward mouse acceleration 2012-10-12 00:17:23 -07:00
Kevin Lange
0387b2d2c3 Allow windows to disable alpha transparency.
Also add functionality to the terminal to toggle it on and off.
There's a small, but nice-to-have performance increase from disabling
alpha transparency in the terminal.

Also, the display server sets DISPLAY=... to the shmem endpoint for the
compositor, so if getenv("DISPLAY") returns a pointer, you can assume
you are in a graphical environment, instead of having to rely on things
like arguments. Good for those applications that want to be able to run
both full-screen and windowed.
2012-10-11 23:55:53 -07:00
Kevin Lange
a60a78d157 Updated toolchain stuff with some new headers.
I'm working on termios support... it's stubs for now, though.
2012-10-09 21:02:43 -07:00
Kevin Lange
66a35ba224 Separate out keyboard stuff into a library.
Eventually this will be used to do ALL keyboard interpreting, so we can
ditch the kernel map and support proper input and special keys.
2012-10-08 22:33:46 -07:00
Kevin Lange
5f869316c1 Remove keyboard test 2012-10-08 20:09:43 -07:00
Kevin Lange
b1c6919b53 Deprecate full-screen applications
Rename game-win to game and julia-win to julia.
2012-10-08 20:08:02 -07:00
Kevin Lange
5249138dcd Environment variables, integrated with newlib.
* Patched crt0 to support a pre_main
* pre_main sets up environment variables, can do other things later,
  but then just jumps to main with the same arguments.
* Updated a bunch of apps to pass environment variables around.
2012-10-08 00:17:50 -07:00
Kevin Lange
99b48f72e0 Fix cursor position after tab-tab complete 2012-10-07 20:57:58 -07:00
Kevin Lange
ad6d8f013e Fix some things I missed previously.
- Environment loading in esh was broken.
- I dropped the 'exit' command from esh somewhere along the line.
2012-10-07 20:54:11 -07:00
Kevin Lange
deaa6ad513 Rough support for environment variables
- libc functions not implemented yet
- see `env` for an example of reading variables
- see `esh` for an example of how to set and maintain variables for
  sending to other applications

  Both of the above will be the basis for the libc implementation.
2012-10-07 20:46:35 -07:00
Kevin Lange
272a2a3809 Fix history bugs from previous.
- Fix history scrolling after ^L
- Fix duplicate entry pruning.
2012-10-07 15:58:30 -07:00
Kevin Lange
484cf903cd Fixes for multiline history
(Also fixed a bug with backspace handling in the terminal)
2012-10-07 12:22:39 -07:00
Kevin Lange
b37fa0180f Good catch, ayust 2012-10-07 11:09:51 -07:00
Kevin Lange
609a43c15c Command parser with quotation support. 2012-10-07 11:01:00 -07:00
Kevin Lange
1fba6661f8 reverse-i-search
- Also fix history
2012-10-07 09:34:10 -07:00
Kevin Lange
8374d09c3c Make tab completion slightly better
- Link with the list library.
- Use lists to make match evaluation faster.
2012-10-07 08:45:00 -07:00
Kevin Lange
478e7c31f1 Fill in remaining for tab completion.
This is pretty inefficient...
[ci skip]
2012-10-07 00:18:55 -07:00
Kevin Lange
e496060b3e Fix up tab completion 2012-10-06 23:48:46 -07:00
Kevin Lange
c0b29c365a History and better line editing for esh. 2012-10-06 23:01:39 -07:00
Kevin Lange
ac997d0a48 Screenshot utility (testing/brokenish) 2012-09-29 00:38:11 -07:00
Kevin Lange
65e4353399 Icons on desktop, no terminal at login 2012-09-19 21:16:21 -07:00
Kevin Lange
57534cf009 Fix things up to prepare a working ramdisk. 2012-09-18 00:06:32 -07:00
Kevin Lange
8dec80deb9 [risky] Try to merge in dirent.h stuff.
This might not work. I hope it does, though.
2012-09-16 20:37:22 -07:00
Kevin Lange
352badfadf Cleanup some things
* Remove old login background [unused]
* Remove glock (graphical lock) [outdated]
* Have toolchain/activate set pkg-config variables
  XXX: You will have unset PKG_CONFIG_LIBDIR to configure native
  software if you have activated the toolchain! Otherwise, your
  pkgconfig information will be incorrect.
* Fixed a bug in the compositor where we would give window stack order 0
  to applications that didn't ask for it because depths were assigned by
  wid which starts at 0. Make it start at 1 instead, no chance of an app
  getting the wrong stack order (this shoudn't have any effect on how
  things work with a login app, since it grabs wid 0; but if you boot
  directly into a non-login environment, minor timing issues can do odd
  things.)
2012-09-16 18:14:07 -07:00
Kevin Lange
66c2df40c1 Fix alpha blending for RGBA destinations.
* Also enable PNG loading in `view`
* Also enable RGBA PNG loading in general
2012-09-13 23:22:38 -07:00
Kevin Lange
4c67b5da84 Completely rewrote compositing engine
The compositor itself still needs work, but the compositing engine
within now does full blitting and is faster than the old method.
Transparency is now supported properly, though telling the compositor to
use it on a window will degrade performance. One terminal is usually
okay, and everything runs faster than it did before; two terminals is
pushing it; three will make you very sad. The stacking logic has also
been updated. Presumably, alpha blitting for transparent windows could
be done with SIMD instructions and be extremely fast.

All graphics libraries have also been updated to (hopefully) work
properly with alpha bits.
2012-09-13 22:12:47 -07:00
Kevin Lange
d2fff11244 Make logout a lot more reliable and stable.
[ci skip]
2012-09-13 00:29:29 -07:00
Kevin Lange
08f6a66e6a Support graphical session logout.
You can log out by exiting the terminal for now, this will later be "by
exiting the wallpaper application" or something to that effect, and will
be triggered by an on-screen button or keybinding.

[ci skip]
2012-09-13 00:10:00 -07:00
Kevin Lange
cea692b577 And now with more login.
* Also cleaning up some kernel logging options here.
* You can log in as local or root with passwords local and toor
* Graphical sessions are still buggy, so don't kill that terminal.
2012-09-12 23:19:07 -07:00
Kevin Lange
b4ae49b056 Graphical Login Manager (without the login part)
* Some-what managed sessions
* Cool fade in effect from the bootscreen
* Not terribly unawesome rendering of everything else
2012-09-12 22:10:10 -07:00
Kevin Lange
994af55611 PNG wallpapers; compositor bug fixes; oh my!
* Fresh new wallpaper as a PNG from gnome-look:
  http://gnome-look.org/content/show.php/Echo?content=137142
  (By user hyperdude111, released as "do whatever you want")
* Terminal bug fix for --geometry option, which was derping on height
  vs. width.
* Compositor bug fix for wallpaper app not showing up at the bottom.
  Fixed by doing a better job of reordering the windows on a REORDER
  call (which we weren't actually doing).
2012-09-12 20:10:48 -07:00
Kevin Lange
ba358a51ff Bump kernel version
* Panel now displays actual kernel version using the uname hack
2012-09-12 20:08:30 -07:00
Kevin Lange
46d8f11c88 Add libpng/zlib to the toolchain
* Also some minor updates to the toolchain in general.
* Replacing the old bitmap wallpaper (not the actual wallpaper, but the
  terminal one) with a fresh new wallpaper as a PNG.
2012-09-12 20:06:22 -07:00
Kevin Lange
3a5fda0d9c Super fast terminal scrolling.
* Uses memmove to shift terminal cells and graphics memory.
* Can cat cat super-fast!

Verified in windowed, fullscreen, and VGA modes.

[ci skip]
2012-09-10 23:42:45 -07:00
Kevin Lange
688e2f19bd Updated READMEs, TODOs, fonts, Bim.
* A minor bug has been fixed in bim's write_file method
* The VL Gothic fonts have been updated (and the proportional version of
  the font is now included)
* The README and TODO have both been updated to reflect current plans.
2012-09-09 20:48:43 -07:00
Kevin Lange
c8cfd50fd7 Rudimentary support for moving the viewport horiz.
Rough, still a bit broken, needs cursor tracking.

[ci skip]
2012-09-08 22:25:32 -07:00
Kevin Lange
fe07b4b9bb Support for multiple buffers (tabs) in bim.
:tabp and :tabn will switch between them.
:q will try to (fully) close the current tab, :q! will force it.
:qall will try to close all tabs; maybe I'll :qall! later.
2012-09-08 20:20:38 -07:00
Kevin Lange
3a62d779f0 Include a working implementation of wcwidth()
Terminal and Bim both use this third-party implementation of wcwidth()
Please see the README for copyright and license information.

[ci skip]
2012-09-08 16:47:43 -07:00
Kevin Lange
58ca0b984c Add write support; make sacrifices to the gods
- Write support!
- The widths of characters is now determined with freetype ;-;
  I really wish wcwidth() was a real thing, but it's not.
  This is a sacrifice that had to be made.

  If you are building FOR Linux -rather than toaru- you might need to
  poke at some things to make sure it builds, but in my experience it is
  working just fine (and IMEs now work properly).

  [ci skip]
2012-09-08 15:54:56 -07:00
Kevin Lange
d424e70aa6 [bim] Insert linebreaks into the middle of lines
[ci skip]
2012-09-08 15:23:10 -07:00
Kevin Lange
df8afae9b9 Linux support for bim; fix a bug when opening
[ci skip]
2012-09-08 14:37:48 -07:00
Kevin Lange
b63f0a11f7 Refresh the statusbar when the cursor moves
Because we weren't always doing that, especially on normal-mode
movements. [ci skip]
2012-09-08 02:39:45 -07:00
Kevin Lange
d2374903f1 This is Bim, a Bad IMitation of Vim.
It's an editor, but it is incomplete. For example, write is not
supported yet, so you can open existing files and make modifications,
but you can not save them. Use it as a fun little scratchpad, I guess.
2012-09-08 01:47:19 -07:00
Kevin Lange
ea1146ea17 More minor fixes to the terminal 2012-09-08 00:17:43 -07:00
Kevin Lange
af6be648d4 A lot of refactoring 2012-09-07 20:17:00 -07:00
Kevin Lange
12bf07364c Pull the font and palette out of the terminal code
Honestly, the latter should be configurable to an extent.

[ci skip]
2012-09-06 19:46:36 -07:00
Kevin Lange
7939ccb93f Minor bugfixes and readme updates.
[ci skip]
2012-09-06 14:54:05 -07:00
Kevin Lange
9948dcc4c3 Add a hacky method to get the terminal dimensions
\033[1003z will stuff them into stdin like 80,24.
This is a hack, just like the "disable local echo" hack used for
passwords and it should, ideally, be replaced with a proper system as
defined in POSIX for terminal control, but for, it works, and that's
pretty cool because it means `ls` can stop being stupid.
2012-09-05 22:47:52 -07:00
Kevin Lange
1a1a8bcdad Fix redrawing and scrolling for wide chars
[ci skip]
2012-09-05 20:42:54 -07:00
Kevin Lange
ac52d41144 Unicode Text Support
* Some applications now support UTF-8 text through the use of a very
  simple decoder.
* The terminal uses a slow, but accurate method to determine the width
  of a character the first time it is printed to the screen. Characters
  are now stored in the terminal in two bytes, rather than one, and may
  in the future be increased to 3 or 4 bytes to ensure support for
  Unicode supplemental planes.
* A simple font-fallback method is employed in the applications that
  support unicode that will make use of the VL Gothic fonts if the
  DejaVu font does not have a character. No guarantees are made for
  support of writing systems other than extended Latin and Japanese.
2012-09-05 20:19:52 -07:00
Kevin Lange
07955c83c6 Fix dozens of build warnings and other oddities.
* Finally bring syscall.h up to speed and include all syscalls in the
  syscall module of the C library.
* Remove the third-party obfuscated C demos (we have nyancat, good
  enough)
* Fix userspace apps to build without complaining about undeclared
  strtok_r by disable __STRICT_ANSI__
* Fix .eh_frame by including the proper stuff with libgcc.
2012-09-04 20:27:49 -07:00
Kevin Lange
efa51d0d56 Don't print silly messages in the terminal...
[ci skip]
2012-09-03 23:54:04 -07:00
Kevin Lange
8ed06789ed New debug printing facilities.
- Can now register a userspace file descriptor as the output for kernel
  print statements through kprintf()
- Can set logging levels for debug print messages, which are separate
  from kernel log events and meant to be more readily visible. Log
  events are recorded in a buffer to be viewed later, though nothing
  actually using logging at the moment.
- Serial output is disabled by default now. You can enable it yourself
  by appending the logtoserial argument to the kernel on boot.
2012-09-03 22:35:11 -07:00
Kevin Lange
bba242dd62 Add a testing framework.
This is an automated system by which we boot qemu headless and use the
serial line to capture output from a testing application that is started
on bootup, running with the VGA terminal shell. This might be expanded
to boot to the graphical display within VNC and perform more advanced
tests with the Python shim using a VNC module for Python; we'll see.
2012-09-02 02:24:25 -07:00
Kevin Lange
c88d6dcb4f Add or update the heading comments for user apps.
Adds useful descriptions to ones that were lacking them, updates ones
that were innacurate, etc.
2012-07-06 21:08:28 -07:00
Kevin Lange
6dae6ac0a7 Add a simple touch command (not exactly compliant) 2012-05-31 20:37:16 +09:00
Kevin Lange
e9e4d89ac8 Toolchain installer now does freetype 2012-05-17 11:50:25 -04:00
Kevin Lange
b7647f108f Build toolchain should produce working gcc now 2012-05-16 23:08:43 -04:00
Kevin Lange
5457de3906 System Debugging Functions syscall 2012-05-16 20:51:37 -04:00
Kevin Lange
99d12d70a6 New WIP dynamic loader. 2012-05-01 13:40:04 -05:00
Kevin Lange
f2d729aee2 Add some write-verification tools [copy seems to work] 2012-04-30 19:01:55 -05:00
Kevin Lange
327523aabf Various bits of cleanup 2012-04-19 20:21:19 -05:00
Kevin Lange
14c9c1039a Graphics testing application with a cool animation. 2012-04-17 18:37:00 -05:00
Kevin Lange
1869a37582 Fix an off-by-one in the pure int alpha_blend 2012-04-17 18:36:29 -05:00
Kevin Lange
1ea3fc5652 Added thickness settings to draw app 2012-04-17 16:06:44 -05:00
Kevin Lange
de684b66c1 Move the Draw quit button into its titlebar for lulz 2012-04-17 15:41:14 -05:00
Kevin Lange
4cb3f0020b Minor stuff 2012-04-17 15:34:34 -05:00
Kevin Lange
40130c6782 Negative mouse coordinates. 2012-04-17 14:25:03 -05:00
Kevin Lange
0b6045918b Centered text for buttons 2012-04-17 13:55:54 -05:00
Kevin Lange
efcae21316 Shared memory fonts library 2012-04-17 13:46:46 -05:00
Kevin Lange
4f2c122af5 Context-based graphics library.
All graphics library commands now take a gfx_context_t pointer, which
points to a simple datastructure describing a rendering context (width,
height, depth, total size, front buffer, backbuffer; where backbuffer =
front buffer when not in double-buffering mode, thus we always render to
backbuffer except on a flip). This may have caused a minor speed
reduction, but I don't really care as it's far more important that we
support multiple graphics contexts.

TODO:
- Shared Memory Fonts library (there are a couple of apps that use these
  so-called "shmem fonts" on their own; we need a dedicated library for
  them)
- Break off "TTK" GUI toolkit into its own library. Since it's just a
  callback-based button framework, this shouldn't be too hard right now.
  Also, with the previous tick, I'll be able to put labels on controls
  and start using text in more places.
2012-04-17 13:21:34 -05:00
Kevin Lange
35074fedec Quit button? Quit button. 2012-04-13 22:20:36 -05:00
Kevin Lange
9987416fad Drawing app has buttons (working on a toolkit) 2012-04-13 01:21:01 -05:00
Kevin Lange
9d4e560b8b Minor mouse fixes 2012-04-12 23:30:04 -05:00
Kevin Lange
5a1a45bc09 Faster mouse response
- Discard lots of packets
- Don't yield?
2012-04-12 23:21:38 -05:00
Kevin Lange
0eaf3a99a3 Separate pthread; add mouse move events? 2012-04-12 22:42:24 -05:00
Kevin Lange
3e70898674 Yeah, disable debug flags while we're still working on initrds... 2012-04-11 16:03:20 -05:00
Kevin Lange
285acf68a0 Reenable login prompts (vga textmode only) 2012-04-11 15:24:24 -05:00
Kevin Lange
d45b8be815 Let nyancat run with proper VGA term support 2012-04-11 00:04:26 -05:00
Kevin Lange
ac7720f396 Reenable support for a VGA text-mode terminal. 2012-04-10 23:35:12 -05:00
Kevin Lange
e60cd2b49e Collect, but do not send, mouse events. 2012-04-10 22:34:36 -05:00
Kevin Lange
e89fb94d2f Exiting terminals, but there's a problem somewhere... 2012-04-10 21:55:41 -05:00
Kevin Lange
eb56624581 Fix up clock appearance 2012-03-29 12:12:06 -05:00
Kevin Lange
3d9d947701 Graphical analogue clock 2012-03-28 20:34:28 -05:00
Kevin Lange
650e85598f Remove Andy Sloane's Donut Mark (It didn't work) 2012-03-28 16:22:48 -05:00
Kevin Lange
76f96a431e Fix some graphics-related things 2012-03-28 15:54:31 -05:00
Kevin Lange
e6addf3419 The panel app uses a hardcoded version number, update it 2012-03-28 01:16:35 -05:00
Kevin Lange
f68ca25622 Boot-to-shell through kernel argument 'single' 2012-03-27 21:47:25 -05:00
Kevin Lange
958262e69d Fix argv[0] bug 2012-03-27 21:36:39 -05:00
Kevin Lange
639881f931 Make things faster, better, stronger, etc. 2012-03-27 19:09:11 -05:00
Kevin Lange
0448e530ec Render moving windows in a cool way 2012-03-27 18:19:35 -05:00
Kevin Lange
9fd73be686 Trying a few fixes... We're still doing some things very, very wrong. 2012-03-27 16:52:46 -05:00
Kevin Lange
fb6e5d59e3 Completely rewrite rendering model for compositor.
We know longer accept DAMAGE and REDRAW commands. Instead, we just loop
and redraw everything anyway (efficiently, mind you). Pipes still have
issues when closed and various other different things.
2012-03-27 13:58:21 -05:00
Kevin Lange
182de81a79 [userspace] Various. BOOT TO TERMINAL 2012-03-23 17:44:37 -05:00
Kevin Lange
103dccf604 ಠ_ಠ 2012-03-20 16:37:49 -05:00
Kevin Lange
3a60e4e6bd Comment the C++ test program 2012-03-20 16:30:59 -05:00
Kevin Lange
1038ceab72 There is something terribly wrong with how we're doing this. 2012-03-20 16:23:24 -05:00
Kevin Lange
c35af17b78 By executing ios_base::Init(), we cout will work... 2012-03-20 16:22:50 -05:00
Kevin Lange
2e4543d956 Oops, silly me. Minor little bug fixed 2012-03-16 20:05:56 -05:00
Kevin Lange
fc00d3f1f9 Terminal improvements 2012-03-16 17:09:00 -05:00
Kevin Lange
816ddc8f3e Lots of process cleanup implemented; improved cursor rendering 2012-03-14 22:03:55 -05:00
Kevin Lange
ffbe7b7b38 A bunch of stuff. 2012-03-14 15:04:12 -05:00
Kevin Lange
2c4e4e5d03 Fix up destroy() so we can (in theory) delete windows from their owning apps 2012-03-13 17:44:19 -05:00
Kevin Lange
03ee7ed9a9 Fix a kernel elf loader bug that was breaking getopt() 2012-03-13 17:43:35 -05:00
Kevin Lange
2791e7fd35 We've been doing some really stupid shit here... 2012-03-10 18:20:34 -06:00
Kevin Lange
db617812e4 Disable resizing of windows 2012-03-10 12:39:13 -06:00
Kevin Lange
f8ca55805a window_destroy is broken and screws up everything 2012-03-10 09:12:40 -06:00
Kevin Lange
73c6171226 Last minute bug fixes 2012-03-08 23:36:40 -06:00
Kevin Lange
a8f32e077f lol 2012-03-08 15:43:00 -06:00
Kevin Lange
ca43444cc5 don't take location for View app 2012-03-08 02:50:33 -06:00
Kevin Lange
c7500735f4 Adjust Nyancat 2012-03-08 01:10:36 -06:00
Kevin Lange
19a12bec78 lol panel 2012-03-07 23:44:02 -06:00
Kevin Lange
c15402af4c Use window server to determine window size for wallpaper 2012-03-07 22:40:58 -06:00
Kevin Lange
7a9961a9b2 Wallpaper application for scalable wallpaper support 2012-03-07 22:31:24 -06:00
Kevin Lange
a9519bd18a Minor updates to userspace apps 2012-03-07 19:35:15 -06:00
Kevin Lange
f3f0a58b95 Cleaner makefile for userspace 2012-03-06 15:32:26 -06:00
Kevin Lange
8fb8edba3a I have no idea idea what I'm doing. 2012-03-01 21:13:52 -06:00
Kevin Lange
a1a6303bee Faster is_top by way of a depth map 2012-02-26 00:45:46 -06:00
Kevin Lange
70fa12eaf6 remove some old test applications 2012-02-26 00:17:14 -06:00
Kevin Lange
2b0d6f6759 Some very simplistic window management 2012-02-25 23:52:09 -06:00
Kevin Lange
35f5266acf *sigh*... 2012-02-25 22:47:20 -06:00
Kevin Lange
61967e17e4 Use shmem fonts for terminal 2012-02-25 21:28:33 -06:00
Kevin Lange
7e71b3c2af Fix focusing 2012-02-23 01:40:37 -06:00
Kevin Lange
52dd077032 Multiple terminals, fixed focusing, getopt is borked 2012-02-23 01:30:56 -06:00
Kevin Lange
ef82703d5d Terminal actually handles input properly [kbd only] 2012-02-23 00:58:14 -06:00
Kevin Lange
db8a75071d We have a terminal. In a window. Seriously. 2012-02-23 00:36:49 -06:00
Kevin Lange
442ad96588 lolz 2012-02-23 00:02:00 -06:00
Kevin Lange
0ab782da19 Merge markus' changes 2012-02-20 23:34:09 -06:00
Kevin Lange
2da22312a5 Merge branch 'master' of github.com:klange/osdev 2012-02-20 23:32:10 -06:00
Kevin Lange
de7a984938 Fix a bunch of bugs in signal handling and scheduling 2012-02-20 23:31:00 -06:00
Kevin Lange
5de319b816 Work on Shmem fonts
Still need to pass sizes around to shm_* functions as a pointer rather
than the actual size so we can retreive sizes; additionally, *p = 0
should mean "we don't want to create this buffer, we only want to
access it if it exists".
2012-02-20 18:33:09 -06:00
Kevin Lange
16b71c532f [compositor] Load up fonts into shm 2012-02-20 12:18:13 -06:00
Kevin Lange
6268eb3f4e Actually allocate a buffer for double buffering... 2012-02-20 09:23:10 -06:00
Kevin Lange
d768932265 Stop specifing core2 for arch in userspace.
This was creating binaries with invalid opcodes on i7 desktop kvm.
Which is hilarious.
2012-02-20 08:39:00 -06:00
Kevin Lange
a222c3f56a Various bits of graphical fun stuff 2012-02-19 22:35:20 -06:00
Kevin Lange
d048006b9c Fix bitmap loading pinkness bug 2012-02-19 21:43:13 -06:00
Kevin Lange
e335a2970a [glogin] Working on the graphical login application 2012-02-19 21:29:40 -06:00
Kevin Lange
e1beca4127 CPU detection moved to userspace app 2012-02-19 19:39:18 -06:00
Kevin Lange
a97194f0bf You stack'd when you should have queue'd! 2012-02-17 15:31:40 -06:00
Kevin Lange
b30cd50864 Keyboard handling in the compositor 2012-02-17 01:28:12 -06:00
Markus Schober
71fd14d6f7 shm_obtain takes a (size_t *), altering it according to the size of the
block it returned.

Conflicts:
	userspace/compositor.c
2012-02-16 03:43:30 -06:00
Markus Schober
6dc90b1ac2 shm_obtain takes a (size_t *) and modifies the value based on the true
size of the block returned.
2012-02-16 03:34:42 -06:00
Markus Schober
79e67dbe16 drawlines will totally tell you if you gave it a key 2012-02-15 23:14:36 -06:00
Kevin Lange
678ed81c65 Extensive stability fixes. I think I finally squashed those stack bugs. 2012-02-16 22:43:41 -06:00
Kevin Lange
8fb69d44cd I have no frickin' clue what's causing these startup crashes. Requires further investigation. 2012-02-16 15:09:56 -06:00
Kevin Lange
a1d821de9b Various fixes 2012-02-16 14:38:50 -06:00
Kevin Lange
a72f9bc7cf Fix stack bug. 2012-02-16 14:31:40 -06:00
Kevin Lange
4694c67936 Add lock options to thread demo app 2012-02-16 01:48:51 -06:00
Kevin Lange
af860d46f2 Update threadtest to actually demonstrate the classic concurrency bug 2012-02-16 01:34:12 -06:00
Kevin Lange
c67d2796ef Finish threading (might still be some bugs) 2012-02-16 01:06:44 -06:00
Kevin Lange
cffbb02240 Stuff and things 2012-02-15 20:50:31 -06:00
Kevin Lange
3980460484 top/left offsets are SIGNED; add julia fractal thingy 2012-02-13 19:46:00 -06:00
Kevin Lange
86fc80a5e6 Fix overlaps by actually assigning real indexes... 2012-02-13 16:35:57 -06:00
Kevin Lange
c211c61369 Well, that works. 2012-02-13 16:21:52 -06:00
Kevin Lange
9e4d78e721 Fix off-by-one rendering issue 2012-02-12 22:42:25 -06:00
Kevin Lange
749c22c2eb There are some heisenbugs here. I can taste them. 2012-02-12 22:24:02 -06:00
Kevin Lange
1f3d78f8ea Redraw root... 2012-02-12 19:34:19 -06:00
Kevin Lange
abf1e5c837 THIS... IS... SPAAAAARTAAA!!! 2012-02-12 19:30:36 -06:00
Kevin Lange
de0bbe739b Fix a bunch of system calls... 2012-02-12 18:47:01 -06:00
Kevin Lange
e453b08dd6 Debugging, use proper signals, etc. 2012-02-12 17:00:21 -06:00
Kevin Lange
9b1e227c0f Fix a dozen different things. 2012-02-12 16:45:23 -06:00
Markus Schober
c47e199802 Working on window functionality 2012-02-12 05:24:40 -06:00
Kevin Lange
adf2b02b4b [user] Remove the keyboard event loop from julia2
It doesn't even need one; eventually, we'll have window management and
you'll just close the app. It should technically just sit in a loop
endlessly after rendering (or waitforsignal, which we don't have yet).
2012-02-11 22:43:26 -06:00
Kevin Lange
ec391b013e Fix merge conflict 2012-02-11 18:02:14 -06:00
Kevin Lange
49adc34013 Fix buffer overwrites and other issues in compositor 2012-02-11 18:01:21 -06:00
Markus Schober
b06b4fc576 Compositor doesn't clobber the heap anymore. 2012-02-11 17:57:22 -06:00
Markus Schober
a3384aac9e The new compositor is armed and (almost) fully operational! 2012-02-11 15:54:01 -06:00
Kevin Lange
824f2dfb94 fix typos 2012-02-11 01:23:27 -06:00
Kevin Lange
a4178b9248 Magic, identifiers, etc. 2012-02-11 01:20:17 -06:00
Kevin Lange
3411eb380f Protocol refinements 2012-02-11 00:06:09 -06:00
Kevin Lange
9315c95452 Command formats and numbers 2012-02-10 23:29:08 -06:00
Kevin Lange
bc692e83df New compositing work 2012-02-10 23:23:20 -06:00
Markus Schober
d28726fae7 [userspace] really simple second compositor built on shm 2012-02-10 22:54:50 -06:00