Commit Graph

137 Commits

Author SHA1 Message Date
Lioncash
85a84291b6 Fix some potential memory leaks within graphics.c 2014-05-23 19:36:32 -04:00
Kevin Lange
3cb7b18c60 Client-initiated window drag 2014-05-18 11:54:20 -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
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
74d710fe5f Supplementary plane support (emojis) 2014-04-29 00:29:19 -07:00
Kevin Lange
29065dd94c Fix bad divide in premultiply 2014-04-25 19:47:27 -07:00
Kevin Lange
1b3dcea6a1 Toast notification daemon 2014-04-21 19:46:38 -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
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
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
b3410b4b4b Basic resize support (client-initiated) 2014-04-16 23:50:57 -07:00
Kevin Lange
e8bbfd3221 Add an ioctl to query available pex data 2014-04-16 18:29:49 -07:00
Kevin Lange
7827244d64 Add a subregion damage command 2014-04-16 00:00:52 -07:00
Kevin Lange
c1e53f9bc2 Kill debug output from yutani client library 2014-04-15 22:48:31 -07:00
Kevin Lange
d48b00a767 Kill window.h/window.c 2014-04-15 21:22:45 -07:00
Kevin Lange
262f06a979 port a bunch of other things 2014-04-15 21:16:46 -07:00
Kevin Lange
f4c6ef10ad Basic mouse events to windows 2014-04-14 23:24:44 -07:00
Kevin Lange
00ecfff45f make kbd library reentrant 2014-04-14 21:03:23 -07:00
Kevin Lange
17f176c888 Basic window movement in Yutani 2014-04-13 21:52:16 -07:00
Kevin Lange
6db3fe2ec2 Focus change events 2014-04-13 18:28:42 -07:00
Kevin Lange
731c1303c2 Use env to store compositor endpoint 2014-04-12 18:59:43 -07:00
Kevin Lange
bb5b6a0830 Add args parsing and some error handling to yutani 2014-04-11 22:43:18 -07:00
Kevin Lange
58f32b064d Port stuff from old compositor
lots of stacking functionality ported
still need window focus and mouse events, plus mouse move and other
server-side control...
2014-04-06 20:42:29 -07:00
Kevin Lange
7009e4ec1c Continued progress on Yutani 2014-04-06 18:21:35 -07:00
Kevin Lange
60d66da7e6 Quick port of Terminal to yutani 2014-04-06 13:25:04 -07:00
Kevin Lange
058574d5a8 fix some missing frees 2014-04-06 00:30:00 -07:00
Kevin Lange
ed82bbd55e quick hacks to get key events flowing 2014-04-05 19:26:49 -07:00
Kevin Lange
6ea113d8b2 Very early work on yutani 2014-04-05 18:36:07 -07:00
Kevin Lange
5277e3ce64 More PEX cleanup 2014-04-02 22:50:32 -07:00
Kevin Lange
091ab50a3f Add a non-vignetting blur function 2014-04-01 21:23:22 -07:00
Kevin Lange
2cfdec3435 remove unnecessary include 2014-03-24 20:21:44 -07:00
Kevin Lange
8980f568a3 Consolidate datastructure libraries 2014-03-24 20:18:40 -07:00
Kevin Lange
9b5cf9cec5 Video as a module, kill device_init 2014-03-19 18:56:07 -07:00
Kevin Lange
32ee59c51c Fix up/down for meta keys 2013-06-18 23:42:53 -07:00
Kevin Lange
ea52ca3fb0 kill old unused stuff 2013-06-12 17:52:15 -07:00
Kevin Lange
4c9be9361a Compositor animations - actual
There are both some good changes and some terribly hacky changes in this
commit.

- Server uses a different struct than client now for windows, so
  arbitrary compositor things like effect parameters can be added
  without having to rebuild everything. That's good.
- Client window structs no longer attempt to track or use window
  locations. That's good.
- Windows do not destroy in response to the destory command, but rather,
  a special animation is triggered; the end state for this animation
  calls the actually window destruction code. That's a hack.
- Animations are based on rendered frames, not on time. That's a hack.
2013-05-29 21:31:59 -07:00
Kevin Lange
046f17a81a ^A and ^E in shell 2013-05-28 19:01:52 -07:00
Kevin Lange
416d483fd6 Box drawing and new wcwidth
Currently a brute-force method, going
to replace this with a Markus Khun-esque interval
search shortly.
2013-05-11 13:20:20 -07:00
Kevin Lange
1e664bef2b Integrate signals into libc 2013-05-05 15:00:24 -07:00
Kevin Lange
47977a3bdc Fix some C++ derps with window.h header 2013-04-26 01:04:09 -07:00
Kevin Lange
b583e6c60a Fix sane apps not exiting 2013-04-10 00:18:40 -07:00
Kevin Lange
89fed507b3 Asynchrous sane window events 2013-04-10 00:10:00 -07:00
Kevin Lange
7ed7f85769 Various windowing and TTK improvements 2013-04-07 16:21:00 -07:00
Kevin Lange
c0cc4a8907 For simplicity, use integer degrees for rotation.
Ensures crisp 180s, still working on 90s.
2013-04-02 01:39:48 -07:00
Kevin Lange
17879bd850 EXPERIMENTAL: Rotating windows.
* Dumb bounding box top_at logic replaced with select buffer
* Select buffer rendered through cairo with AA disabled
  Using rectangles for window shapes - this should easily
  be expandable to 1bpp bitmaps. Currently, the select buffer
  is very inefficient, using twice the space it needs (plus,
  it's double buffered, so in reality, 4x the space needed),
  however, it's also very accurate and fast, and I like that.
* Window rotation is controlled through Ctrl+Shift+{z,x,c} where
  z = rotate 1 degree left
  x = rotate 1 degree right
  c = reset rotation
* Input is remapped based on window rotation, so you *can* use the
  draw app, and it is totally epic.
2013-04-02 01:26:32 -07:00