Commit Graph

305 Commits

Author SHA1 Message Date
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