Commit Graph

328 Commits

Author SHA1 Message Date
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
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
879b637822 Remove extraneous debug trace from imgviewer 2015-08-06 15:07:01 -07:00
Kevin Lange
c3fd67d529 Add a basic image viewer to replace the one we ditched ages ago 2015-08-06 15:01:49 -07:00
Kevin Lange
3763680786 Bind Alt+F4 to SESSION_END which is accepted by applications as a close signal 2015-07-18 12:04:24 +09:00
Kevin Lange
3382200324 Move live-wizard out of gui/demo/ 2015-07-18 11:58:59 +09: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
d968d27636 Add some silly extra stuff to the tutorial 2015-07-12 19:40:47 +09:00
Kevin Lange
4cf6843441 Prune garbage from keyboard from before terminal started 2015-07-12 19:23:59 +09:00
Kevin Lange
06b57c14f8 Use pure-software cursor for VGA terminal, works better 2015-07-12 19:15:29 +09:00
Kevin Lange
7f608107dc Add half-filled character to VGA terminal mappings 2015-07-12 19:08:30 +09:00
Kevin Lange
a9b2f5a8c0 Bail immediately if not connected to Yutani in yutani-query 2015-07-12 19:08:13 +09:00
Kevin Lange
1d8a7b0056 Restructure live CD wizard to two processes 2015-07-12 18:57:12 +09:00
Kevin Lange
f129bbcdc6 More work on livecd welcome app [ci skip] 2015-06-22 23:54:56 -07:00
Kevin Lange
f8abc9a68c Actually add all the CD source files 2015-06-22 22:02:00 -07:00
Kevin Lange
1365f55ba6 Start work on live CD welcome tutorial 2015-06-18 23:25:09 -07:00
Kevin Lange
4501419126 More sysinfo stuff 2015-06-11 21:09:25 -07:00
Kevin Lange
20c9535d29 Clean up termemu and add a new kernel vga logging mechanism 2015-06-01 00:20:02 -07: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
7f66c10230 Bind scroll to volume up/down on volume icon 2015-05-18 22:19:30 -07:00
Kevin Lange
d8ac0fc902 Add a working (but read-only) volume knob to the panel. 2015-05-18 21:36:49 -07:00
Kevin Lange
8e61d4ee3a Cleanup unused functions in glogin 2015-05-15 22:51:47 -07:00
Kevin Lange
eb3e865036 Update pong description 2015-05-12 23:29:24 -07:00
Kevin Lange
de3e405b52 Make pong prettier 2015-05-12 20:51:07 -07:00
Kevin Lange
2a59b09a9a This is terrible: Yutani Pong 2015-05-11 22:20:27 -07:00
Kevin Lange
f0f286acb7 Yield after flipping display after glogin
Fixes very common issue where artifacts of the login widget were visible
after logging in before the desktop started up.
2015-05-09 22:11:55 -07:00
Kevin Lange
c661e3073d Add more icon search paths 2015-05-02 18:57:49 -07:00
Kevin Lange
a6f071f9c8 New scroll rows should set background colors. 2015-05-01 00:36:50 -07:00
Kevin Lange
365295010c Make animations in Yutani faster. 2015-04-30 18:06:36 -07:00
Kevin Lange
dd74cdcec2 Map Vim config'd tab/space characters in VGA terminal 2015-04-29 16:29:36 -07:00
Kevin Lange
4fd1ae9aa3 Support scrollwheel mice 2015-04-26 18:05:14 -07:00
Kevin Lange
a3f9ab465b Basic xterm (?1000 and ?1002) mouse support 2015-04-26 17:14:14 -07:00
Kevin Lange
278059d6a2 Use timers for animations (compositor, desktop)
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).
2015-04-14 23:09:54 -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
e95cbda703 Merge pull request #83 from lioncash/leaks
compositor: get rid of a leak in window_actually_close
2015-04-10 17:02:55 -07:00
Lioncash
99c907bf95 compositor: get rid of a leak in window_actually_close
The function call allocates on the heap, so this would cause a leak.
2015-04-10 19:21:28 -04:00
Kevin Lange
1147d45cdb Don't blink the cursor in unfocused terminals 2015-04-05 15:50:52 -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
f938569a77 Handle window move in TTK 2015-04-04 22:19:01 -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
338174a75c Various improvements to glogin 2015-04-04 18:39:55 -07:00
Kevin Lange
a7b1397c7d Fix debug output from yutani-server listed as 'yutani' 2015-04-03 09:59:19 -07:00
Kevin Lange
570bb3e1b7 Kill some debug output in wallpaper. 2015-04-03 09:58:38 -07:00
Kevin Lange
0bf67a5a8c some random extra test apps 2015-03-27 12:48:34 -07:00
Kevin Lange
9f34619078 Fix alt-tab 2014-11-06 11:31:24 -08:00
Kevin Lange
fe95e33422 Fall back to variable-width font in terminal 2014-09-08 21:17:46 -07:00
Kevin Lange
aaeb7d10f4 Port a bunch of other stuff to use getpwuid, etc. 2014-08-26 22:12:33 -07:00
Kevin Lange
a0a6ece24d Run $SHELL on terminal startup instead of hard-coded /bin/sh 2014-08-26 21:37:45 -07:00
Kevin Lange
9cc5ddd0e9 pwent stuff in libc, auth modules moved toa library 2014-08-26 21:34:29 -07:00
Kevin Lange
5d90fa8c24 Restore screenshot functionality to compositor (ctrl+super+s/w) 2014-08-05 17:32:29 -07:00
Kevin Lange
ae570f8f48 Toggle decorations in terminal with F12 2014-08-04 21:54:18 -07:00
Kevin Lange
d746209191 Fix critical problem with toast daemon 2014-08-01 22:51:39 -07:00
Kevin Lange
771b28a9c7 Fix crash on resizing plasma 2014-08-01 21:29:48 -07:00
Kevin Lange
49752793b7 Close button support in decorations library 2014-08-01 21:17:41 -07:00
Kevin Lange
62de55b5f4 Cleanup and function header comments in compositor. 2014-07-28 21:10:34 -07:00
Kevin Lange
9a9f3fdc17 silence debug output from menu 2014-06-28 23:15:38 -07:00
Kevin Lange
d5002a819c Add a bit of transparency to menus 2014-06-13 16:04:29 -07:00
Kevin Lange
1bd947f331 fix incorrect help text for teapot 2014-06-13 15:48:17 -07:00
Kevin Lange
c37b532948 More menu visual tweaks 2014-06-13 00:27:57 -07:00
Kevin Lange
3378a548a5 Fix clock event handling 2014-06-12 11:10:56 -07:00
Kevin Lange
e388d600db Finally, an applications menu. 2014-06-11 21:09:38 -07:00
Kevin Lange
f4e038f602 why is my clock multithreaded, staaahp 2014-06-11 19:23:52 -07:00
Kevin Lange
4d3bde2f3a more shape thresholds: teapot, clock-win 2014-06-11 19:02:15 -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
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
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
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
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
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
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
84420f9e5c Support closing packetfs connections 2014-05-28 19:21:56 -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
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
6379aa19ff Bring a few more apps up to speed with new yutani features 2014-05-18 13:57:33 -07:00