Commit Graph

365 Commits

Author SHA1 Message Date
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
Kevin Lange
068f933a71 Kill some excessive debug output in the terminal 2014-05-18 12:24:17 -07:00
Kevin Lange
2675532013 Add a terminal option to disable rounding resizes to cell widths 2014-05-18 12:18:34 -07:00
Kevin Lange
6e028b6550 left-right tiling 2014-05-18 12:15:18 -07:00
Kevin Lange
3cb7b18c60 Client-initiated window drag 2014-05-18 11:54:20 -07:00
Kevin Lange
d9830f7989 Major refactor of panel 2014-05-12 20:11:58 -07:00
Kevin Lange
c231d1c090 Cleanup some direct system calls in userspace 2014-05-11 17:40:16 -07:00
Kevin Lange
4d310b3c03 Make sure wallpaper and panel clean up dead children 2014-05-10 20:09:16 -07:00
Kevin Lange
bcb86108ce Fix terminal damage rects 2014-05-10 14:02:49 -07:00
Kevin Lange
c042d04fc0 remove extraneous debug output 2014-05-09 23:04:30 -07:00
Kevin Lange
0061105b29 Make the alt-tab slick and operate as expected 2014-05-09 23:03:47 -07:00
Kevin Lange
d3273d934a Simple key binding system, plus alt-tab and ctrl-alt-t 2014-05-09 22:01:24 -07:00
Kevin Lange
ee9ff92b60 Clean up some legacy /etc stuff 2014-05-07 00:10:34 -07:00
Kevin Lange
50824abdec And actually load the right file... 2014-05-05 22:03:57 -07:00
Kevin Lange
4bcd567bb5 Uh, draw the logout button for the logout button 2014-05-05 22:00:20 -07:00
Kevin Lange
2fbc220546 Cleanup panel 2014-05-05 21:47:45 -07:00
Kevin Lange
c6dd91a113 Maintain window ordering in panel list 2014-05-05 21:18:13 -07:00
Kevin Lange
1bef69e527 Panel icons for game and julia fractals 2014-05-03 17:51:33 -07:00
Kevin Lange
49aebbbb8d advertise windows in ttk 2014-05-03 17:28:53 -07:00
Kevin Lange
0947432963 Actually make an effort to release textures from closed windows 2014-05-03 15:41:16 -07:00
Kevin Lange
a4b70a6cda Rudimentary fullscreen shortcut 2014-05-03 15:36:09 -07:00
Kevin Lange
15ff21f104 Support icons other than the precached ones 2014-05-03 13:51:37 -07:00
Kevin Lange
9fce12f10c Only used scaled rendering if icon is not correct size 2014-05-03 13:22:40 -07:00
Kevin Lange
601768c4bf Panel icon support 2014-05-03 13:20:16 -07:00
Kevin Lange
d55c5953e1 Handle focused windows properly 2014-05-03 12:22:16 -07:00
Kevin Lange
2070d255e2 New window advertisement format 2014-05-03 12:07:03 -07:00
Kevin Lange
2d7b15b231 Don't readvertise RPG window every time 2014-05-02 23:20:48 -07:00
Kevin Lange
5d4b0df120 Make sure toast daemon doesn't block its death signal 2014-04-29 00:52:31 -07:00
Kevin Lange
74d710fe5f Supplementary plane support (emojis) 2014-04-29 00:29:19 -07:00
Kevin Lange
29841b03fc Fix waitpid calls to account for EINTR 2014-04-29 00:28:41 -07:00
Kevin Lange
4d8335ad75 Implement proper wait/waitpid.
This is a pretty big commit, so let's run through it in parts:

- All of the userspace changes are to switch away from syscall_wait
  Mostly, this is to waitpid; some things were tweaked to do things
  "properly" instead of waiting for particular processes. Init has
  been fixed to do a proper spin wait.
- syscall_wait is gone - as are its uses. newlib bindings have been
  using just waitpid for a while now.
- waitpid now performs like a Unix waitpid
- process reaping is no longer a "do this on next change thing":
  it happens when a process is waited on, like it should
  (That means we can have real zombies: terminated processes that
  have not yet been waited on)
- Reparenting of children to init has been implemented, so you
  can fork-daemonize!

Overall, this is pretty big... So I hope it doesn't break everything.
2014-04-27 01:37:33 -07:00
Kevin Lange
cb19356d50 Break out some magic numbers in toast daemon 2014-04-26 18:05:56 -07:00
Kevin Lange
d79bd92b6c Updated toast theme 2014-04-25 23:16:58 -07:00
Kevin Lange
273b4ce9fa Don't draw logo after login 2014-04-24 22:41:23 -07:00
Kevin Lange
a56a6a6f9c fix some dumb stuff in Draw 2014-04-24 22:38:53 -07:00
Kevin Lange
1487ad17e5 Fix focus default in terminal 2014-04-24 22:36:20 -07:00
Kevin Lange
af6ad29235 Finish port of ttk-demo to yutani 2014-04-23 21:15:12 -07:00
Kevin Lange
1b3dcea6a1 Toast notification daemon 2014-04-21 19:46:38 -07:00
Kevin Lange
deeb1c42a5 fix bad operation ordering for window allocation 2014-04-20 13:47:59 -07:00
Kevin Lange
3241d36e6d Mouse enter/leave/move for non-focused window 2014-04-20 13:44:17 -07:00
Kevin Lange
d967fae3a5 Track down the root of that malloc problem 2014-04-20 13:19:52 -07:00
Kevin Lange
30a79e8ac6 Change focus from panel 2014-04-20 01:24:10 -07:00
Kevin Lange
140f5a71e0 Reenable scrollback (bit glitchy) 2014-04-19 19:51:11 -07:00
Kevin Lange
6300959b12 Ensure thread safety during window buffer things 2014-04-19 19:11:10 -07:00
Kevin Lange
05e3276858 Workaround a weird glitch in newlib's malloc 2014-04-19 19:10:44 -07:00
Kevin Lange
40124cac49 various minor pieces of cleanup 2014-04-19 18:37:37 -07:00
Kevin Lange
6c5a14c839 Fix timings for logo animation in login window 2014-04-19 18:12:13 -07:00
Kevin Lange
77b830ace5 Regular mouse movement events
Demonstrated in the wallpaper with hover states for the icons
2014-04-19 17:44:20 -07:00
Kevin Lange
c5c895bc06 Don't send sigint to wallpaper on session exit 2014-04-19 17:11:07 -07:00
Kevin Lange
30d4eade35 fix missing break in game 2014-04-19 17:08:14 -07:00
Kevin Lange
48e0ddd99e Rudimentary animation system
This is actually the same as the animation system from the old
compositor, but with some added bits for damage rects.
2014-04-19 16:59:32 -07:00
Kevin Lange
9e152263c7 fix terminal rendering on scroll 2014-04-19 15:00:26 -07:00
Kevin Lange
68892b9023 Terminal should only resize to nice sizes if it can. 2014-04-18 20:07:46 -07:00
Kevin Lange
fb67eca4ff support resize in terminal 2014-04-18 19:46:05 -07:00
Kevin Lange
3591981f58 should mark windows win they request to be moved 2014-04-18 19:45:55 -07:00
Kevin Lange
9264a203dd Quick and dirty session ending support with a broadcast event 2014-04-18 19:23:45 -07:00
Kevin Lange
700e711606 Start on panel functionality: Window title advertisement 2014-04-18 00:18:19 -07:00
Kevin Lange
0535ccd993 mouse-initiated window resizes 2014-04-17 00:24:54 -07:00
Kevin Lange
b3410b4b4b Basic resize support (client-initiated) 2014-04-16 23:50:57 -07:00
Kevin Lange
092b08e496 Use an asynch poll loop to eat events in rpg demo (like we used to) 2014-04-16 18:51:09 -07:00
Kevin Lange
939749edf9 unbork terminal 2014-04-16 11:18:40 -07:00
Kevin Lange
9a985ff5fc Speed up terminal rendering a bit with regions 2014-04-16 00:59:58 -07:00
Kevin Lange
7827244d64 Add a subregion damage command 2014-04-16 00:00:52 -07:00
Kevin Lange
2cd36c2edf unbreak ^C and make window rotation use the right bindings 2014-04-15 23:26:27 -07:00