Kevin Lange
17e332b5e7
expose mounting to userspace
2014-06-09 20:13:11 -07:00
Kevin Lange
b59871ca67
More random terminal cleanup while we're here
2014-06-08 19:47:24 -07:00
Kevin Lange
30e5829fc6
cd home in graphical session, too
2014-06-08 13:33:59 -07:00
Kevin Lange
6492fb2d8e
add which
2014-06-08 12:02:21 -07:00
Kevin Lange
775895e5ea
remove extraneous test command from sh
2014-06-08 12:02:15 -07:00
Kevin Lange
06bd230076
fix out-of-order reference to cwd in sh prompt
2014-06-08 01:33:40 -07:00
Kevin Lange
546ec13ec2
Use diamond as Unicode replacement character in vga text-mode
2014-06-08 00:32:00 -07:00
Kevin Lange
827bd1fe04
Fix horizontal lines in vga text mode
2014-06-08 00:29:56 -07:00
Kevin Lange
01c3cb5581
Cleanup/fix ~ handling in shell
2014-06-08 00:21:23 -07:00
Kevin Lange
1ad63b4eae
Dump user into their homedir on login
2014-06-08 00:13:07 -07:00
Kevin Lange
d3b4a7c5dc
Tweak a few extraneous copyright headers
2014-06-07 23:29:17 -07:00
Kevin Lange
6f1a76a2c4
Merge 2048 license into the source file
2014-06-07 23:25:12 -07:00
Kevin Lange
cd6f175d02
Replace [accidentally] missing minix license from stty
2014-06-07 23:22:40 -07:00
Kevin Lange
ef7d72c1e1
License headers and a tool to generate them
2014-06-07 23:13:29 -07:00
Kevin Lange
e4732df6e1
And support dynamic (24-bit, 32-bit) colors as well
2014-06-07 22:20:27 -07:00
Kevin Lange
eccbd5d41e
Map 256-color palette to VGA colors
2014-06-07 22:14:03 -07:00
Kevin Lange
b114700751
Fix scrolling/overhang in vga terminal
2014-06-07 22:13:51 -07:00
Kevin Lange
b6a50e4041
Fix missing linefeed before last argument in ls
2014-06-07 19:33:29 -07:00
Kevin Lange
7fa3a6ce32
fancy pstree
2014-06-07 18:32:19 -07:00
Kevin Lange
36feea1673
Support multiple paths in ls, with more expected output
2014-06-07 16:20:54 -07:00
Kevin Lange
b2f0324370
show s in right place for setuid binaries
2014-06-07 15:11:08 -07:00
Kevin Lange
9d3cef60cf
support c (char device) and b (block device) in ls -l
2014-06-07 15:05:24 -07:00
Kevin Lange
8d897bedac
move random test that ended up in userspace/ over to userspace/test
2014-06-06 13:54:03 -07:00
Kevin Lange
5a59d1b4b5
flush before exit in echo [xxx: this needs to happen on exit]
2014-06-06 11:42:19 -07:00
Kevin Lange
2680ee8660
use save/restore in prompt rather than ramming to the left
2014-06-06 11:42:04 -07:00
Kevin Lange
55e52e2c33
make sure init is init and not just some kernel thread with ppid=0
2014-06-05 23:48:36 -07:00
Kevin Lange
72b63109b2
Add a simple pstree [not fancy yet]
2014-06-05 23:41:33 -07:00
Kevin Lange
40c399e43a
Differentiate shell prompt for root
2014-06-05 22:36:03 -07:00
Kevin Lange
94c976a903
More awesome improvements to ls
2014-06-05 22:19:55 -07:00
Kevin Lange
6c72d9c3ae
Various improvements to ls, like -h
2014-06-05 21:34:10 -07:00
Kevin Lange
51d0f31f42
use setuid in login/glogin
2014-06-03 23:14:03 -07:00
Kevin Lange
f019dc7b7a
Ditch zlists and selectbuffers for better methods
2014-06-01 13:09:58 -07:00
Kevin Lange
067797031f
Fix window shape blurring during transforms
2014-06-01 02:12:00 -07:00
Kevin Lange
a4b5f6a107
Add some extra toggles to gears
2014-06-01 01:56:01 -07:00
Kevin Lange
fb6ce15372
Blur alpha channel in box blur
2014-06-01 01:55:50 -07:00
Kevin Lange
eb4d05b86b
Faster blurring with box blur (will use in compositor in future)
2014-06-01 01:33:25 -07:00
Kevin Lange
fdc5265aff
Handle resize in gears
2014-05-31 22:12:57 -07:00
Kevin Lange
226002057f
Slightly different debug method for shapes and bounds
2014-05-31 21:54:52 -07:00
Kevin Lange
cc7bb71b06
(Optionally, manually updated) alpha-based window shapes
2014-05-31 21:37:07 -07:00
Kevin Lange
1b3401b71b
Change some styling in the 'classic' decorations theme
2014-05-30 22:28:02 -07:00
Kevin Lange
5813ea96e1
remove the debug print in tab completion in sh
2014-05-30 22:00:07 -07:00
Kevin Lange
7e67bf0727
Break out of that particular escape on linefeed
2014-05-30 21:29:29 -07:00
Kevin Lange
e157147550
Fix buffer overflow in termemu
2014-05-30 21:20:13 -07:00
Kevin Lange
41b7bb88f7
Allow builtins in pipelines
2014-05-30 20:50:19 -07:00
Kevin Lange
6296aff867
Fix handling of eof in login
2014-05-30 17:05:49 -07:00
Kevin Lange
8ed59a8cb8
Hacky implementation of pipes in shell
2014-05-30 16:23:40 -07:00
Kevin Lange
1edb302b94
support ^D in shell rline
2014-05-29 21:46:38 -07:00
Kevin Lange
84420f9e5c
Support closing packetfs connections
2014-05-28 19:21:56 -07:00
Kevin Lange
8c5b5f3f0c
hostnames won't start with -, let's naively pretend...
2014-05-27 23:45:00 -07:00
Kevin Lange
952b6de6bb
Add some test apps that helped track it down
2014-05-27 22:52:55 -07:00
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
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
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