Callum Lowcay
7e08e90c74
terminal: Special keys
...
Implements support for function, cursor, and editing keys, with
modifiers. Partially implements application keypad mode. Expands
control key support.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 20:35:15 -05:00
Callum Lowcay
256e72f0e2
terminal: Implement character set switching
...
Includes the 3 vt100 character sets. Some of the graphic symbols don't
display because they are not included in the default font. Apparantly
the cairo toy font API doesn't do font substitution.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 20:35:05 -05:00
Callum Lowcay
69e9658da0
terminal: vt102 editing commands
...
Implement the vt102 editing commands, and insert/replace mode.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 20:34:17 -05:00
Callum Lowcay
8e57dd5071
terminal: Basic vt100 escape codes
...
Implements correct behaviour for vt100 cursor movement, erasing, custom
tabs, and reporting. Includes relevant terminal modes.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 20:33:46 -05:00
Callum Lowcay
bbeac60b8a
terminal: Scroll margins
...
Implement scroll margins and related escape codes.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 20:33:35 -05:00
Callum Lowcay
b8609ada50
terminal: Escape sequence handling fixes
...
Upgrade and refactor terminal_data to properly handle non-csi escape
codes, control characters in escape codes, and invalid escape sequences.
Also fix a buffer overflow in the escape sequence buffer.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 20:33:05 -05:00
Callum Lowcay
a0ee21c7dc
terminal: Window size ioctls
...
Use TIOCSWINSZ ioctl to set window size on terminal resize.
This causes applications to be notified of the resize event.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 15:15:09 -05:00
Callum Lowcay
30eeae55e0
terminal: Fancy colors
...
Includes bold, underline, inverse, and blink attributes. Blink is
rendered bold as in xterm. Supports xterm's 256 color palette.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 15:14:55 -05:00
Callum Lowcay
15bdc5d1d3
terminal: UTF-8 support
...
Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 15:14:39 -05:00
Kristian Høgsberg
96ce968b12
gears: Include config.h
2011-01-07 14:42:49 -05:00
Kristian Høgsberg
1926ebab73
Add missing newline in gears error message
2011-01-07 14:04:43 -05:00
nobled
9835417962
Workaround gears depending on cairo-gl
...
Extremely hacky, but at least it doesn't stop the build anymore.
2011-01-05 23:00:53 +00:00
nobled
f8475c9366
Fix window.c build without cairo-gl
2011-01-05 17:41:55 +00:00
Kristian Høgsberg
82da52b15b
Update surface.attach and change surface.map to surface.map_toplevel
...
The new map_toplevel() request no longer specifies a position and takes
the size from the attached buffer. The attach request now takes a
position relative to the top-left corner of the old buffer to let
clients specify the relative position of the new buffer.
2010-12-17 09:53:12 -05:00
Kristian Høgsberg
53a7f2137b
Fix the resizor
2010-12-16 21:11:10 -05:00
Kristian Høgsberg
5c4056e049
Schedule frame callback in the redraw handler
2010-12-16 14:56:41 -05:00
Kristian Høgsberg
7c221d278a
Add window resize sample client
...
This is an example of how to animate window resizing. The size is
animated by a simple physics model that allows the user to cancel the
animation halfway and still look good.
2010-12-16 13:35:23 -05:00
Yuval Fledel
45568f6e33
When no DRM present, clients (window.c actually) now either exit orderly,
...
or if that check is removed - crash (unsurprisingly).
This patch relieves this assumption, and allow some clients (terminal,
image, flower) to run in a non-DRM environment
2010-12-06 09:20:34 -05:00
Kristian Høgsberg
f8fc08f771
Add origin information to output.geometry event
2010-12-01 20:10:10 -05:00
Kristian Høgsberg
2bb3ebe1e4
Create socket in /var/run/user/${HOME}
...
Use the runtime dir from XDG Base Directory Specification for creating the
socket in a directory only the user can read and write.
2010-12-01 16:53:01 -05:00
Kristian Høgsberg
06bc26401c
Fix warnings from adding -Wall back
2010-12-01 09:50:16 -05:00
Kristian Høgsberg
1f25315ae2
Add $(GCC_CFLAGS) back
...
Missed this when moving to automake.
2010-12-01 09:46:10 -05:00
Joel Teichroeb
0c007aea35
Make the dnd client actually work.
...
The dnd client now sends a mime type of
application/x-wayland-dnd-flower instead of text/plain. The dnd
message is just the position and random seed that lets the drop source
add the flower to its grid.
2010-11-30 15:42:37 -05:00
Kristian Høgsberg
d44bc8b8ee
Add reject round trip to dnd protocol
...
This lets a drag target reject a drop.
2010-11-30 15:10:26 -05:00
Kristian Høgsberg
41da90897c
Don't hardcode offered dnd types in window.c
2010-11-30 14:01:07 -05:00
Joel Teichroeb
88b272d9ff
Made the window save the coordinates when being draged.
2010-11-30 13:26:31 -05:00
Benjamin Franzke
35fd2a8cc6
wayland_client: rename wl_display_create to wl_display_connect
...
Avoid conflict when using wayland-{server,client} together.
2010-11-29 17:14:38 -05:00
Fred Morcos
c4b8c457e8
fix missing includes in clients/window.h and clients/wayland-glib.h
2010-11-29 08:14:57 -05:00
Kristian Høgsberg
1f5d507596
Define MULT outside the HAVE_CAIRO_GL #ifdef
2010-11-29 08:13:35 -05:00
Darxus
55973f2f5a
Some additional return value checking
2010-11-22 21:54:15 -05:00
Yuval Fledel
e9f5e36730
Make clients exit orderly when there is no connection
2010-11-22 15:19:43 -05:00
Kristian Høgsberg
8857a96a97
window: Don't call drag_offer_handler if it's NULL
...
Reported by canbaby@21cn.com .
2010-11-22 13:02:24 -05:00
Bryce Harrington
156d057e56
Function declares a pointer return, so return one.
...
These two functions are just wrappers around display_create_*_surface
but weren't forwarding along the result of those calls as is implied by
their return value type.
This fixes a compile-time warning.
Signed-off-by: Bryce Harrington <bryce@canonical.com>
2010-11-22 10:49:07 -05:00
Bryce Harrington
515f63ad72
Quell warning about potentially uninitialized variable 'surface'
...
In theory, it was possible for an undefined 'surface' to be passed to
window_set_surface(). Instead, explicitly pass NULL.
Signed-off-by: Bryce Harrington <bryce@canonical.com>
2010-11-22 10:48:52 -05:00
Bryce Harrington
f57303f7cf
Expose window_set_surface() in window.h
...
gears.c uses this routine and was complaining about it being implicitly
declared.
Signed-off-by: Bryce Harrington <bryce@canonical.com>
2010-11-22 10:48:35 -05:00
Bryce Harrington
40269a6ed6
Cleanup declared but unused variables.
...
Make was complaining about a bunch of unused variables that were being
declared.
Signed-off-by: Bryce Harrington <bryce@canonical.com>
2010-11-22 10:48:17 -05:00
Nikolai Kondrashov
7637ff0839
Clean up .gitignore files
...
Sort the contents and update .gitignore files to hide generated files from
git status output.
Signed-off-by: Nikolai Kondrashov <spbnick@gmail.com>
2010-11-11 20:11:27 -05:00
Kristian Høgsberg
2b43bd73a0
Bring gears example up to date
...
Must have gears.
2010-11-08 15:46:02 -05:00
Johan Bilien
990854d019
Fixed a bogus call to cairo_destroy
2010-11-08 08:55:50 -05:00
Kristian Høgsberg
0bfb126e59
Add /wayland so we pick up generated header files
...
Reported by Benjamin Franzke.
2010-10-31 14:24:39 -04:00
Chia-I Wu
4d8ba216c5
Make sure there is a current context.
...
The context of a display is shared with the cairo device.
cairo_acquire_device should be called whenever OpenGL calls are made.
2010-10-29 12:49:57 -04:00
Chia-I Wu
1f411902de
Use glTexSubImage to update the pixels.
...
glTexImage causes respecification. The DRM buffer a client renders to
will be different from that used to create the wl_buffer.
2010-10-29 12:34:47 -04:00
Kristian Høgsberg
332073b9db
List libtoytoolkit.la before libwayland-client.la on the link line
...
Fixes link order for --as-needed linking.
2010-10-27 15:02:51 -04:00
Kristian Høgsberg
012a007771
Add small client for testing shm surfaces
2010-10-26 10:37:55 -04:00
Kristian Høgsberg
d0c3b9da22
Fall back to cairo image backend and shm surface if we don't have cairo gl
2010-10-25 11:40:03 -04:00
Kristian Høgsberg
f0152daad7
Use automake
2010-10-12 18:00:16 -04:00
Kristian Høgsberg
118fb49eeb
Fix clients include path after moving files around
2010-10-12 13:53:13 -04:00
Kristian Høgsberg
45115a435e
Fix screenshoot.c type in Makefile
2010-09-17 09:04:46 -04:00
Kristian Høgsberg
3dd66d66a3
Use scanner to generate screenshooter client code as well
2010-09-14 16:23:24 -04:00
Kristian Høgsberg
ce457ba68c
Add timestamp to pointer image attach request
...
This lets the server discard requests received after the pointer has
exited and the re-entered a surface.
2010-09-14 15:39:45 -04:00
Kristian Høgsberg
6dd08ebbe1
Move core protocol libraries into wayland/ subdirectory
2010-09-14 12:41:55 -04:00
Kristian Høgsberg
ab2f1cddc6
Dont post damage event from window_copy_surface
...
We always call this between window_draw() and attaching the window surface
so the surface we're copying to isn't visible.
2010-09-07 22:01:32 -04:00
Kristian Høgsberg
7d804068b6
Only set pointer image when it changes
2010-09-07 21:50:06 -04:00
Kristian Høgsberg
9d69f8e796
Replace commit/ack/frame protocol with simpler sync and frame callbacks
2010-09-03 14:46:38 -04:00
Kristian Høgsberg
e9d37bdc5f
Use a transient object for the dnd session
2010-09-02 20:22:42 -04:00
Kristian Høgsberg
8ca1cc20a1
flower: Clear surface
2010-08-30 08:21:44 -04:00
Kristian Høgsberg
c7c60646ad
Add options to specify xkb details
2010-08-29 21:33:39 -04:00
Kristian Høgsberg
30620609b2
Remove debug message
2010-08-29 21:12:25 -04:00
Kristian Høgsberg
e968f9c6b9
Provide visual feedback as to whether drop is supported
...
Change the cursor in response to target events.
2010-08-27 22:18:00 -04:00
Kristian Høgsberg
4eb536091a
Update drag protocol to use fd passing for data transfer
2010-08-27 20:30:26 -04:00
Kristian Høgsberg
1d7ffd32f8
Set pointer image only in response to 'target' event
2010-08-25 16:34:05 -04:00
Kristian Høgsberg
8a40871645
A few makefile/autoconf fixes
2010-08-25 13:38:40 -04:00
Kristian Høgsberg
b12fcceeb7
Update to EGL_MESA_drm_image from mesa master
...
Woo, running on stock mesa now.
2010-08-25 10:02:20 -04:00
Kristian Høgsberg
506e20eed9
More work on dnd
2010-08-19 17:26:02 -04:00
Kristian Høgsberg
b8cc24e1a8
Actually add dnd client
2010-08-18 20:31:06 -04:00
Kristian Høgsberg
9a686243b6
Add a drag and drop test client
2010-08-18 15:28:04 -04:00
Kristian Høgsberg
10ddbd220a
Insert unexplainable cairo_device_flush() to fix terminal drawing
2010-08-16 21:08:52 -04:00
Kristian Høgsberg
da275dd09f
Add client side pointer image handling
2010-08-16 17:47:07 -04:00
Kristian Høgsberg
4219a407ae
Add DMZ cursor theme
...
Some day we can make this parse X cursor themes
2010-08-16 16:43:50 -04:00
Kristian Høgsberg
b91cd10fcb
Move cairo-util.[ch] to clients/
2010-08-16 16:23:12 -04:00
Kristian Høgsberg
a661f263b4
Name libraries -client and -server for consistency
...
Instead of wayland-server and wayland...
2010-08-11 08:56:13 -04:00
Kristian Høgsberg
4fe1a3ed3a
Don't track globals in the client lib, just send out events
...
Users of the client library must install an global handler to get access
to globals.
2010-08-10 14:13:23 -04:00
Kristian Høgsberg
640609acfc
Implement current drm auth scheme in the drm object
2010-08-09 22:11:47 -04:00
Kristian Høgsberg
5fcd0aa58e
Introduce 'buffer' object for attaching, image cahce and cursor images
...
The buffer object is created by a 'drm' object, which encapsulates the
buffer sharing and authentication mechanism. Once the buffer is created
it can be attached to a surface.
2010-08-09 14:43:33 -04:00
Kristian Høgsberg
6d70202f80
Send out coordinates with pointer_focus event
...
We can't rely on motion events happening right away, pointer_focus could
change because of windows coming or going etc.
2010-08-06 15:12:26 -04:00
Kristian Høgsberg
83fc061c9c
Introduce 'shell' object for moving and resizing surfaces in the compositor
2010-08-04 22:44:55 -04:00
Kristian Høgsberg
43788b13df
Update keyboard focus handler signatures
2010-07-28 23:51:05 -04:00
Kristian Høgsberg
379b678c57
Use EGL_KHR_surfaceless_opengl
2010-07-28 23:51:00 -04:00
Kristian Høgsberg
808fd41861
Drop coordinates from buttons press, add timestamp to events
2010-07-20 17:06:19 -04:00
Kristian Høgsberg
f252d6a98e
Update to use eglGetDRMDisplayMESA()
2010-07-08 20:15:10 -04:00
Kristian Høgsberg
3e6e7e6acb
Track libxkbcommon API changes
2010-07-02 15:12:02 -04:00
Kristian Høgsberg
2d6b7c118b
Fix some warnings
2010-06-25 16:51:57 -04:00
Kristian Høgsberg
94adf6cb9e
Use libxkbcommon for mapping keycodes to keysyms
2010-06-25 16:50:05 -04:00
Kristian Høgsberg
c8c3734ef9
Set window user data using separate function
2010-06-25 11:19:22 -04:00
Kristian Høgsberg
dcb71b62a0
Update decoration drawing to be less cairo path happy
2010-06-15 17:16:35 -04:00
Kristian Høgsberg
80d746f6e3
Consolidate redraw scheduling in window.c
2010-06-14 23:52:50 -04:00
Kristian Høgsberg
0953162db8
Fix resizing
2010-06-14 23:22:15 -04:00
Kristian Høgsberg
bf6ceda545
Implement resizing from all sides
2010-06-14 20:25:06 -04:00
Kristian Høgsberg
fc783d4071
Split native drm part of compositor out
2010-06-11 12:56:45 -04:00
Kristian Høgsberg
478d9265f9
Send device name at connect time
2010-06-08 20:34:11 -04:00
Kristian Høgsberg
7824d81e07
Consolidate more code in clients/window.c
2010-06-08 14:59:44 -04:00
Kristian Høgsberg
a85fe3cf45
Use cairo-gl in clients
2010-06-08 14:08:30 -04:00
Kristian Høgsberg
f88ae45e41
Make clients at least compile for now
2010-06-06 22:28:16 -04:00
Kristian Høgsberg
b2a432ef18
Move clients to subdirectory
2010-06-04 21:46:55 -04:00