Commit Graph

911 Commits

Author SHA1 Message Date
Kevin Lange
480b65d4c2 Improvements to esh 2016-12-19 21:18:31 +09:00
Kevin Lange
0217b92123 Don't allow bottom window opacity to be adjusted 2016-12-19 20:46:32 +09:00
Kevin Lange
1f58b8803f Support adjusting window opacity like compiz 2016-12-19 20:43:53 +09:00
Kevin Lange
fa50e9f4e5 Exclude scroll buttons from abs mouse state 2016-12-19 20:43:26 +09:00
Kevin Lange
b4abf032a0 Add quick-and-dirty rline for use in Python 2016-12-17 22:35:00 +09:00
Kevin Lange
0bfe9d0872 Redraw when backspacing a tab 2016-12-17 22:14:13 +09:00
Kevin Lange
2feaf58958 Fix some issues with rline 2016-12-17 21:24:36 +09:00
Kevin Lange
8f5a40cc20 Move history into rline and out of shell 2016-12-17 19:18:34 +09:00
Kevin Lange
79a983c01e Toasts should not move or resize 2016-12-17 19:18:20 +09:00
Kevin Lange
2d5947ad16 Handle threads better in ps 2016-12-17 17:55:31 +09:00
Kevin Lange
bda6978dce Allow apps to specify alternate window animation 2016-12-17 17:47:33 +09:00
Kevin Lange
26c78333ec Rough, incomplete VFS permissions 2016-12-14 21:21:32 +09:00
Kevin Lange
1544a3e2fa Add missing RTLD_ defins; fixes ctypes 2016-12-12 19:12:46 +09:00
Kevin Lange
20b5d6fcca Add a simple decorator theme demo 2016-12-11 11:11:40 +09:00
Kevin Lange
34361720f2 Scroll half terminal height on page up/down 2016-12-07 23:52:45 +09:00
Kevin Lange
76cae15eac Scroll to top and bottom of terminal with HOME/END 2016-12-07 23:16:10 +09:00
Kevin Lange
e0f45d823a Make rpg demo consider window decorations 2016-12-07 14:21:43 +09:00
Kevin Lange
dbcbaa6190 Fix late decorations init in terminal 2016-12-07 14:19:45 +09:00
Kevin Lange
290d12677c Account for decorations in draw 2016-12-06 22:29:10 +09:00
Kevin Lange
94b561255e init decorations before trying to use them in julia 2016-12-06 22:18:59 +09:00
Kevin Lange
4e87b7de5a Use defined constants for decor focus 2016-12-06 22:18:43 +09:00
Kevin Lange
c387945f44 Don't redraw fractals in julia on focus change 2016-12-06 18:56:56 +09:00
Kevin Lange
e61633453a Add a few more window hints 2016-12-06 18:34:13 +09:00
Kevin Lange
ed473e72c1 Focus the top-most window if the previously-focused window closes 2016-12-05 22:45:39 +09:00
Kevin Lange
0a01a426ec Ensure focus oddities don't occur with live-wizard 2016-12-05 22:45:17 +09:00
Kevin Lange
2ed8ca65c3 Make sure panel and wallpaper don't steal focus 2016-12-05 22:44:25 +09:00
Kevin Lange
16d10e1800 Fix magic pthread exit that was getting relocated somehow 2016-12-05 22:41:47 +09:00
Kevin Lange
35ff0434a4 Add a new window create function with flags
Currently there is one flag:
- NO_STEAL_FOCUS

This is used in the toast daemon so toasts don't steal focus.
Other flags will be added in the future to control whether a window is
displayed when created, whether it should animate a particular way, etc.
2016-12-05 22:07:51 +09:00
Kevin Lange
ca648a32d5 Focus newly created windows 2016-12-05 21:55:22 +09:00
Kevin Lange
32f8d3b0f3 Many minor usability improvements to various demos 2016-12-05 21:55:06 +09:00
Kevin Lange
9796c5db29 Fix select-wallpaper to work with default symlink 2016-12-05 21:02:08 +09:00
Kevin Lange
048e18acaa Dynamically load decorator themes 2016-12-05 18:07:30 +09:00
Kevin Lange
2ee9cb6940 Basic dlopen implementation 2016-12-05 17:40:10 +09:00
Kevin Lange
39da315a48 Build a dynamic userspace.
- Builds (terrible, broken) shared versions of (most) third-party
  dependencies for the userspace.
- Fixes several incorrect dependency mappings in auto-dep.
- Makes auto-dep understand shared libraries (and that some things,
  like OSMesa, don't work with them).
- init must be built static because reasons
- some libraries were cleaned up to fix dependency calculation
- version bumped to 0.99.0 (saten) for eventual 1.0.0 release.
- CDs no longer drop teapot, select-wallpaper (space is available
  for them - we could even make the images smaller)
2016-12-03 17:10:48 +09:00
Kevin Lange
2233251749 Make cpudet work when compiled PIC/PIE 2016-12-03 10:56:16 +09:00
Kevin Lange
42d108f0d7 Add an X button to the 'simple' decoration theme 2016-11-24 17:56:59 +09:00
Kevin Lange
c2683e7b31 Handle display resizes in live-wizard 2016-11-24 17:49:29 +09:00
Kevin Lange
cf17594916 Fix bad pointer for message when examining WELCOME message 2016-11-24 17:49:11 +09:00
Kevin Lange
6d6bd7f4c8 Fix window move bounds checking in Yutani 2016-11-24 17:48:51 +09:00
Gil Mendes
ff29e578c3 Update time on glogin
This resolves one of the tasks described on the #63 issue.
2016-11-24 15:27:20 +09:00
Kevin Lange
79ad65c429 Add a userspace interface for DNS 2016-11-21 19:29:07 +09:00
Kevin Lange
8ac9742906 Add a userspace interface for loading modules 2016-10-26 14:11:12 +09:00
Kevin Lange
caee44e0fc Fix missing abs() in untile drag logic 2016-10-19 22:25:18 +09:00
Kevin Lange
5606c3be81 New wallpaper (Fuji, seen from Fujiyoshida)
The default wallpaper is now a symlink, which can be replaced
appropriately as the wallpaper changes in the future, thus future
wallpaper changes won't necessitate changes to applications which have
fallbacks. TODO: write an imagemagick script to generate the bootloader
wallpaper.
2016-10-17 19:12:25 +09:00
Kevin Lange
54e7beb58c Open the wallpaper window earlier and make it black 2016-10-13 18:27:15 +09:00
Kevin Lange
043f1abca8 Fix gap when tiling on display sizes that don't divide perfectly 2016-10-13 10:31:21 +09:00
Kevin Lange
5ff53560a1 Fix tab completing directories from current dir (bad stat) 2016-10-08 23:10:26 +09:00
Kevin Lange
b01cd62079 Tab completion of filenames in esh
esh (the shell) now supports tab completing file names.

When completing the first argument of a shell command (the command
itself), esh assumes you are tab completing command names from /bin
unless you have already typed a / somewhere in your input. For all other
parts of the command, esh will tab complete file names and directories
in much the same way bash and other shells do.
2016-10-08 23:03:43 +09:00
Kevin Lange
62926f41ae sha512sum tool 2016-09-26 16:40:35 +09:00
Kevin Lange
38e3741c66 Make sure we mark display regions for update when drawing images 2016-09-26 10:58:01 +09:00
Kevin Lange
715b39ae8e Hide cursor when drawing images 2016-09-26 10:15:08 +09:00
Kevin Lange
11d0c2d9fe Support DEC show/hide cursor escapes. 2016-09-26 10:14:59 +09:00
Kevin Lange
b46c4f180a Support not putting a linefeed after the last line of an image (so we can cat-img a bunch of one-row images) 2016-09-26 02:29:12 +09:00
Kevin Lange
c5b5a0e359 Very experimental images-in-terminal concept 2016-09-26 02:12:25 +09:00
Kevin Lange
48334ab870 Draw a checkerboard behind transparent images in imgviewer 2016-09-25 23:51:11 +09:00
Kevin Lange
03020f14ff Tutorial demos 2016-09-20 21:06:43 +09:00
Kevin Lange
4fbf2afa67 Fix panel width calculations when resized 2016-09-17 21:55:37 +09:00
Kevin Lange
2ef33054ed Reject crazy window movements 2016-09-14 23:51:02 +09:00
Kevin Lange
badfa8c008 Fix a bug in imgviewer that actually froze yutani 2016-09-14 23:50:48 +09:00
Kevin Lange
e4edd60bd9 Even better: Untile based on relative position
We take the mouse location inside the window as a percentage instead.
2016-09-12 18:38:52 +09:00
Kevin Lange
7ffd3cd74e Center on Y as well, works better for tiled windows / alt-mouse drag 2016-09-12 18:27:46 +09:00
Kevin Lange
904a498afa Center window x on mouse when untiling
This provides more understandable behavior when snapping off small
windows, ensuring the mouse doesn't hang way off to the side of the
window. It's not ideal for large windows, but it's at least reasonable
there, so it's an overall win.
2016-09-12 18:18:56 +09:00
Kevin Lange
bbbd97e4b8 Support resizing nested Yutani 2016-09-10 21:28:25 +09:00
Kevin Lange
82ee872ee8 Fix bad marks on resizing windows 2016-09-10 21:28:14 +09:00
Kevin Lange
6e56b72c08 Support resizing the login screen 2016-09-10 21:27:55 +09:00
Kevin Lange
ddb70f5968 IRC needs to kill network thread on quit 2016-09-10 21:01:54 +09:00
Kevin Lange
4aba5b1cfc Move Draw so it's not under the panel on startup 2016-09-06 08:51:10 +09:00
Kevin Lange
b276f896f2 Allow 'play' to play from stdin 2016-09-04 20:22:20 +09:00
Kevin Lange
799d36a983 Fix GPF in VGA terminal on VirtualBox 2016-09-04 19:05:12 +09:00
Kevin Lange
fc211c983f Fix alt-tab positioning after resize 2016-09-03 19:54:51 +09:00
Kevin Lange
0a872f859e Prevent rotating panel + wallpaper 2016-09-03 19:46:18 +09:00
Kevin Lange
e671d988cf Mouse-initiated window rotation 2016-09-03 00:21:45 +09:00
Kevin Lange
2365244a18 Fix bad resizing bounding box on resize start 2016-09-02 23:51:11 +09:00
Kevin Lange
36de9ca511 Correct resizing rotated windows 2016-09-02 23:38:38 +09:00
Kevin Lange
de4900f426 Add quick single-user login tool 2016-09-02 19:59:48 +09:00
Kevin Lange
46e38fba0b Make sure wallpaper frees properly 2016-09-02 19:49:11 +09:00
Kevin Lange
48ac4cd578 Experimental wallpaper selector 2016-09-02 19:30:28 +09:00
Kevin Lange
a9fabe285d Initial support for changing display modes 2016-08-30 15:45:58 +09:00
Kevin Lange
d91d1bfc57 Add /nick and /quote to IRC 2016-02-12 10:06:23 -08:00
Kevin Lange
d31428dbbd More command support in IRC 2016-01-06 21:22:19 -08:00
Kevin Lange
c37172d028 Fixup color palettes 2016-01-06 20:35:41 -08:00
Kevin Lange
18e3892f73 Fix default background colors 2016-01-06 20:15:43 -08:00
Kevin Lange
193ad3c6f8 Make an IRC client that isn't completely terrible. 2016-01-06 19:00:57 -08:00
Kevin Lange
54d418cd8b First pass at modifier+arrows in terminal.
This is kinda rough and needs a finishing touch.

- Adds ncurses-specific terminfo entries for modifiers.
- Supports modifiers in the terminal itself.
- Updates the vim config to understand ctrl-arrows.
- Adds limited support for some modifiers in lib/kbd
  (as used by rline)
- Adds limited support for Ctrl+Arrows to rline
  (needs major improvements, only jumps to spaces)
2015-11-09 17:24:51 -08:00
Kevin Lange
eca744c9bc Support reloading wallpapers
With fade effects.
Send SIGUSR1 to the wallpaper app to refresh from config.
2015-11-08 18:20:56 -08:00
Kevin Lange
bb7bc4bef5 Draw sprites with opacity, unscaled 2015-11-08 18:20:35 -08:00
Kevin Lange
cb6e972a57 Clear up warnings from test-big-alloc 2015-11-06 09:20:17 -08:00
Kevin Lange
292f535a6a Fix critical directory release refcount issue 2015-11-05 22:18:49 -08:00
Kevin Lange
d877b60aaa New wallpaper: Yosemite 2015-10-15 16:15:13 -07:00
Kevin Lange
2959d53e3e Consider panel y offset when calculate tile bounds; add keybind to hide terminal by moving it up 2015-10-15 16:14:55 -07:00
Kevin Lange
02fbd0ef4b Fix weird VGA cursor positioning by moving it offscreen 2015-09-04 13:48:47 -07:00
Kevin Lange
139781d4fe Make sure some cursor updates are processed correctly 2015-08-31 14:00:23 -07:00
Kevin Lange
5e4791ae2b [yutani] Alternate cursor types.
Resize and drag cursors have been added.
These new cursor types are exposed in two ways:
- Window drag and resize will automatically use the resize cursors if
  a cursor is enabled for the window.
- Clients can use new values for yutani_window_show_mouse to set the
  current cursor type, or reset it to the previous normal or hidden
  state.

The latter functionality is now used in the decoration library to
present the appropriate resize cursor when the mouse is hovered over the
decoration borders.

More cursor options may be added in the future.
Cursor themes will be added in the future as well.

Cursors are stored in /usr/share/cursor
The arrow cursor has been moved to /usr/share/cursor/normal.png

ADDENDUM: A critical heisenbug with window resizing has been fixed in
          this commit involving a race with window dimensions and
          potentially also buffers.
2015-08-30 20:05:35 -07:00
Kevin Lange
92fa5e928d Show username in status window 2015-08-21 20:41:56 -07:00
Kevin Lange
4996371a92 Some hacky cleanups to serial-console 2015-08-20 17:32:42 -07:00
Kevin Lange
e933f61f70 Fix a few control keys 2015-08-20 17:06:38 -07:00
Kevin Lange
d96bda9c95 Consolidate ^A and ^E with HOME/END, support ^D as DEL 2015-08-20 10:56:22 -07:00
Kevin Lange
0553a0802f Support DEL, HOME, END, INS, shift+TAB
Adds support for these keys in lib/kbd, adds mappings to terminfo,
supports them in the terminal, and adds support for HOME, END and DEL
to the shell.

Closes #71.
2015-08-20 10:48:53 -07:00
Kevin Lange
a8ad76c5ec Fix socket-stream weirdness 2015-08-12 20:36:41 -07:00
Kevin Lange
a2aadd336a (wip) userspace irc client with curses 2015-08-12 17:01:57 -07:00