Commit Graph

195 Commits

Author SHA1 Message Date
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
bda6978dce Allow apps to specify alternate window animation 2016-12-17 17:47:33 +09:00
Kevin Lange
1544a3e2fa Add missing RTLD_ defins; fixes ctypes 2016-12-12 19:12:46 +09:00
Kevin Lange
4e87b7de5a Use defined constants for decor focus 2016-12-06 22:18:43 +09:00
Kevin Lange
e61633453a Add a few more window hints 2016-12-06 18:34:13 +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
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
42d108f0d7 Add an X button to the 'simple' decoration theme 2016-11-24 17:56:59 +09:00
Kevin Lange
cf17594916 Fix bad pointer for message when examining WELCOME message 2016-11-24 17:49:11 +09:00
Kevin Lange
79ad65c429 Add a userspace interface for DNS 2016-11-21 19:29:07 +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
e671d988cf Mouse-initiated window rotation 2016-09-03 00:21:45 +09:00
Kevin Lange
a9fabe285d Initial support for changing display modes 2016-08-30 15:45:58 +09: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
bb7bc4bef5 Draw sprites with opacity, unscaled 2015-11-08 18:20:35 -08: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
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
94ec33baa2 Add third-party (Joylent) HTTP parser and use it in fetch 2015-08-06 15:02:05 -07:00
Kevin Lange
2bd723b597 Hacked together things you really shouldn't push 2015-08-03 16:09:22 -07:00
Kevin Lange
5ad013594a Several improvements to window resizing
- Supports directional resizing, including restricted left/right/up/down
- Decoration-initiated resizing is now supported
  - Details of how the decorator determines up-restricted resizing
    still need some work.
- Corrected issues when attempting to resize to the other side of the
  origin.
- Corrected some other compositor issues.
2015-07-17 22:54:10 +09:00
Kevin Lange
afb5543771 move tracing from glogin out into a header, use it in yutani 2015-05-26 18:41:48 -07:00
Kevin Lange
9d41b3fc25 Merge branch 'mixer-rebase' of https://github.com/gerow/toaruos into gerow-mixer-rebase 2015-05-18 21:15:25 -07:00
Kevin Lange
bc806cf774 Merge branch 'sh-C-p-C-n' of https://github.com/gerow/toaruos into gerow-sh-C-p-C-n 2015-05-18 21:10:23 -07:00
Kevin Lange
60568a70a5 Remove debug messages from png loading 2015-05-18 21:08:37 -07:00
Mike Gerow
3515353704 Allow walking through shell history using C-n and C-p 2015-05-18 19:29:33 -07:00
Mike Gerow
0f35a5bfe3 Add ioctl interface for snd mixer 2015-05-17 20:31:36 -07:00
Mike Gerow
f53ea98e05 Implement snd mixer interface in ac97.c 2015-05-17 20:31:36 -07:00
Mike Gerow
ad708efd5a Add support for managing mixer knobs to snd interface 2015-05-17 20:31:36 -07:00
Kevin Lange
4fd1ae9aa3 Support scrollwheel mice 2015-04-26 18:05:14 -07:00
Kevin Lange
e7ff3e20f8 Wallpaper from config, readd old wallpapers 2015-04-11 18:22:26 -07:00
Kevin Lange
78db32cb6f Config files, theming in glogin 2015-04-11 18:06:54 -07:00
Kevin Lange
a243bb2849 Mouse warping and hiding (for games) 2015-04-05 15:41:00 -07:00
Kevin Lange
a9c0f36a0c Add a nifty animation when an application is started on the desktop. 2015-04-04 22:19:14 -07:00
Kevin Lange
9065454a75 Yutani now sends WINDOW_MOVE when windows move.
Window moves are non-lazy, so continuous updates are received while a
window is being dragged. Prior to this change, a client would not have
any idea where a window was outside of its own idea of when it last
requested a move (which may have been denied, or immediately overriden).
This allows applications to produce child windows in appropriate
locations, or to drag child windows (undocked toolbars, etc.) while they
are being moved.

This uses the same message format as the request format, as well as the
same message type, as has been previously done for various events.
2015-04-04 21:29:29 -07:00
Kevin Lange
8a1430879a Break out rline, add ^W support 2015-04-04 12:33:30 -07:00
Lioncash
9bf82d174d yutani: Fix a memory leak in yutani_window_advertise_icon
strings isn't deallocated in any functions it's passed to.
2015-03-31 20:26:52 -04:00
Kevin Lange
83f3f0dfa2 Send keycodes for shift/ctrl/alt/super press/release 2014-09-09 20:17:28 -07:00
Kevin Lange
09df205a87 Make sure we cd ~ on login 2014-08-26 22:17:51 -07:00
Kevin Lange
9cc5ddd0e9 pwent stuff in libc, auth modules moved toa library 2014-08-26 21:34:29 -07:00
Kevin Lange
49752793b7 Close button support in decorations library 2014-08-01 21:17:41 -07:00
Kevin Lange
d3b4a7c5dc Tweak a few extraneous copyright headers 2014-06-07 23:29:17 -07:00
Kevin Lange
ef7d72c1e1 License headers and a tool to generate them 2014-06-07 23:13:29 -07:00
Kevin Lange
f019dc7b7a Ditch zlists and selectbuffers for better methods 2014-06-01 13:09:58 -07:00
Kevin Lange
fb6ce15372 Blur alpha channel in box blur 2014-06-01 01:55:50 -07:00