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)
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.
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.
- 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.
Yutani, glogin, and wallpaper now use timing information from the kernel
to perform animations. Some animation lengths have been adjusted. The
animations should run at the same speed, though with varying
"smoothness" across different hardware (including non-KVM emulators).