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