Commit Graph

137 Commits

Author SHA1 Message Date
Kevin Lange
80f85db895 Add a syscall to change cmdline (for thread names) 2017-01-26 16:15:43 +09:00
Kevin Lange
2ebde54671 Remove the compositor timer signal 2017-01-26 15:58:50 +09:00
Kevin Lange
132b649fe6 Don't remove clients when their last window closes 2017-01-26 15:47:31 +09:00
Kevin Lange
57216b48ad Workaround bug in VirtualBox by updating entire rows of pixels at large output sizes 2017-01-21 17:14:18 +09:00
Kevin Lange
6c568afb6b Quiet some TRACE messages 2017-01-20 15:55:37 +09:00
Kevin Lange
8a35ee463a Include fswait in libc 2017-01-14 11:41:24 +09:00
Kevin Lange
98162f78c3 Create client window lists on HELLO rather than first window creation 2017-01-11 19:17:05 +09:00
Kevin Lange
702a5ed51b Hack to make sure we remove subscribers in compositor at some point 2017-01-11 19:09:49 +09:00
Kevin Lange
0ed855d51d Support remote requests to drag windows 2017-01-08 15:48:26 +09:00
Kevin Lange
63ad3a858b Update some comment headers 2017-01-08 13:36:27 +09:00
Kevin Lange
f05f5cdf92 Fix bad flag check for focus stealing 2017-01-07 22:08:15 +09:00
Kevin Lange
665343e636 First pass at a select-like fs wait function 2017-01-06 18:30:17 +09:00
Kevin Lange
909beb7c71 Actually, 50hz ain't bad 2017-01-03 21:02:25 +09:00
Kevin Lange
206cf07cc2 use 10Hz as timer rate instead of 20 2017-01-03 16:10:14 +09:00
Kevin Lange
dd8862447f Fix some potenital null dereferences in compositor 2017-01-03 15:40:29 +09:00
Kevin Lange
cff2d36e37 Mark window when moving to top 2017-01-02 12:09:38 +09:00
Kevin Lange
e4670b4a8b Fix mixing break in compositor 2017-01-02 00:03:48 +09:00
Kevin Lange
3a924099fd Add a rudimentary API for providing timer ticks through Yutani 2017-01-01 20:39:18 +09:00
Kevin Lange
863e0fb469 Fix bad marks when resizing a window 2016-12-30 20:16:36 +09:00
Kevin Lange
b615c7552e Remove hilarious comment from compositor 2016-12-30 16:37:56 +09:00
Kevin Lange
ea59c6bd37 Replace resize box with stretching 2016-12-29 15:54:08 +09:00
Kevin Lange
0217b92123 Don't allow bottom window opacity to be adjusted 2016-12-19 20:46:32 +09:00
Kevin Lange
1f58b8803f Support adjusting window opacity like compiz 2016-12-19 20:43:53 +09:00
Kevin Lange
fa50e9f4e5 Exclude scroll buttons from abs mouse state 2016-12-19 20:43:26 +09:00
Kevin Lange
bda6978dce Allow apps to specify alternate window animation 2016-12-17 17:47:33 +09:00
Kevin Lange
e61633453a Add a few more window hints 2016-12-06 18:34:13 +09:00
Kevin Lange
ed473e72c1 Focus the top-most window if the previously-focused window closes 2016-12-05 22:45:39 +09:00
Kevin Lange
35ff0434a4 Add a new window create function with flags
Currently there is one flag:
- NO_STEAL_FOCUS

This is used in the toast daemon so toasts don't steal focus.
Other flags will be added in the future to control whether a window is
displayed when created, whether it should animate a particular way, etc.
2016-12-05 22:07:51 +09:00
Kevin Lange
ca648a32d5 Focus newly created windows 2016-12-05 21:55:22 +09:00
Kevin Lange
6d6bd7f4c8 Fix window move bounds checking in Yutani 2016-11-24 17:48:51 +09:00
Kevin Lange
caee44e0fc Fix missing abs() in untile drag logic 2016-10-19 22:25:18 +09:00
Kevin Lange
043f1abca8 Fix gap when tiling on display sizes that don't divide perfectly 2016-10-13 10:31:21 +09:00
Kevin Lange
2ef33054ed Reject crazy window movements 2016-09-14 23:51:02 +09:00
Kevin Lange
e4edd60bd9 Even better: Untile based on relative position
We take the mouse location inside the window as a percentage instead.
2016-09-12 18:38:52 +09:00
Kevin Lange
7ffd3cd74e Center on Y as well, works better for tiled windows / alt-mouse drag 2016-09-12 18:27:46 +09:00
Kevin Lange
904a498afa Center window x on mouse when untiling
This provides more understandable behavior when snapping off small
windows, ensuring the mouse doesn't hang way off to the side of the
window. It's not ideal for large windows, but it's at least reasonable
there, so it's an overall win.
2016-09-12 18:18:56 +09:00
Kevin Lange
bbbd97e4b8 Support resizing nested Yutani 2016-09-10 21:28:25 +09:00
Kevin Lange
82ee872ee8 Fix bad marks on resizing windows 2016-09-10 21:28:14 +09:00
Kevin Lange
0a872f859e Prevent rotating panel + wallpaper 2016-09-03 19:46:18 +09:00
Kevin Lange
e671d988cf Mouse-initiated window rotation 2016-09-03 00:21:45 +09:00
Kevin Lange
2365244a18 Fix bad resizing bounding box on resize start 2016-09-02 23:51:11 +09:00
Kevin Lange
36de9ca511 Correct resizing rotated windows 2016-09-02 23:38:38 +09:00
Kevin Lange
a9fabe285d Initial support for changing display modes 2016-08-30 15:45:58 +09:00
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
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
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
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
afb5543771 move tracing from glogin out into a header, use it in yutani 2015-05-26 18:41:48 -07:00
Kevin Lange
365295010c Make animations in Yutani faster. 2015-04-30 18:06:36 -07:00