Commit Graph

31 Commits

Author SHA1 Message Date
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
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
Kevin Lange
b8551d2174 Kill the old compositor 2014-04-15 19:45:56 -07:00
Kevin Lange
00ecfff45f make kbd library reentrant 2014-04-14 21:03:23 -07:00
Kevin Lange
490d1dd9f0 Fix compositor keyboard after I broke it 2014-04-05 17:06:28 -07:00
Kevin Lange
a8d599b570 Remove calls to syscall_print 2014-04-05 15:25:34 -07:00
Kevin Lange
2205c11ae0 Cleaner desktop launch 2014-04-01 21:39:08 -07:00
Kevin Lange
ace9e62ccc Actually, do the fade, but not the scale 2014-04-01 21:29:36 -07:00
Kevin Lange
3140c8e4b2 Disable animations for backrounds and panels 2014-04-01 21:22:58 -07:00
Kevin Lange
ee30393e48 Keyboard + Mouse as modules 2014-03-16 15:13:27 -07:00
Kevin Lange
82a917d270 no more serial syscall
More cleanup

Oopsy
2014-03-15 20:51:11 -07:00
Kevin Lange
fd259ce8ab Rough screenshot support
Still needs to be moved to the print screen key. Ctrl+Shift+P for whole
screen, Ctrl+Shift+Alt+P for active window.
2013-07-22 22:42:24 -07:00
Kevin Lange
43a795fa9a Compositor can now take an argument for what to run on startup 2013-06-28 00:33:03 -07:00
Kevin Lange
15be8f2138 thinking about this still 2013-06-28 00:15:32 -07:00
Kevin Lange
a36421ae4e Like I said, use FAST/GOOD macros instead 2013-06-18 23:48:04 -07:00
Kevin Lange
b6ec637f74 Use nearest-neighbor scaling
Major speed improvement, though it might make things like "Scale
windows" look a bit less polished; windows that are scaled up in scale
mode are rendered with bilinear scaling. Will probably replace with the
FAST/GOOD macros later.

Also, add the framework for Alt+Tab window picking (not implemented yet)
2013-06-18 23:43:56 -07:00
Kevin Lange
b7254576d4 Don't lock up when a client isn't paying attention
Also fix the mouse to account for this... development.
Smoother mouse movement all around, though it may make things slightlys
lower by spamming lots of mouse packets. Just write good clients and
everything will be fine...
2013-06-12 23:37:07 -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
c3995aaa55 Workaround window corruption on startup 2013-05-22 22:59:23 -07:00
Kevin Lange
0420002212 Quick hack: Animation demo 2013-05-21 21:11:30 -07:00
Kevin Lange
1e664bef2b Integrate signals into libc 2013-05-05 15:00:24 -07:00
Kevin Lange
f411f84047 Fix scale mode 2013-04-02 02:14:35 -07:00
Kevin Lange
724a7e2745 Translate by integer coordinates for crisp 90d rotations 2013-04-02 02:10:45 -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
Kevin Lange
4dbdaf342d compositor2 -> compositor 2013-02-10 02:01:31 -08:00