Kristian Høgsberg
4c3dac9c66
clients: Remove superfluous #includes
...
In particular window.c and many clients were including glib.h without
using it and without the right cflags.
2012-05-11 16:40:22 -04:00
Kristian Høgsberg
bef52d1423
Update to new libxkbcommon API
...
We no longer depend on xproto, we use xkbcommon keycodes now. Yay!
2012-05-11 11:24:35 -04:00
Kristian Høgsberg
80680c7b75
window.c: Just use float instead of GLfloat, remove GLES2.h include
2012-05-10 14:11:44 -04:00
Kristian Høgsberg
7016313778
Port Wayland clients to new xkbcommon API
...
A little different from Daniels initial patch. We look up the common
modifiers at xkb init time and convert the xkb serialized modifier mask
to our own modifier bitmask.
2012-05-08 15:55:39 -04:00
Daniel Stone
b230a7ee58
Convert internal input co-ordinates to GLfloat
...
Change all client motion handlers to take GLfloat for co-ordinates,
rather than int32_t.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-05-08 14:40:57 -04:00
Daniel Stone
5d66371743
Change button from int to uint32_t
...
Since you can't really have a negative button number.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-05-07 12:57:11 -04:00
Daniel Stone
da5b93c8d7
Change key/button grab bindings to take unsigned state
...
'state' here meaning 'is it up or down?', obviously.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-05-07 12:54:14 -04:00
Kristian Høgsberg
875ab9e735
Add signedness warning flag and fix fallout
2012-03-30 11:52:39 -04:00
Kristian Høgsberg
bcacef19b0
Add an option parser
...
On one hand, getopt (in particular the -o suboption syntax) sucks on the
server side, and on the client side we would like to avoid the glib
dependency. We can roll out own option parser and solve both problems
and save a few lines of code total.
2012-03-12 01:28:50 -04:00
Kristian Høgsberg
9dd1ed24db
terminal: Don't queue a resize after setting fullscreen
...
We end up doing an attach at the non-fullscreen size before resizing to
fullscreen, causing the terminal to jump to the center for a frame before we
render the fullscreen image.
2012-02-28 09:23:23 -05:00
Kristian Høgsberg
010f98b083
window: Track and report input and opaque regions
...
We just set the input region to the bounding box of the window frame
and set the opaque region to be the opaque rectangle inside the window
if the child widget is opaque.
2012-02-23 17:30:54 -05:00
Peter Hutterer
035ac94c17
terminal: run $SHELL if set
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-02-07 16:26:11 -05:00
Kristian Høgsberg
009ac0a965
window: Dont take width and height in window constructor
...
Always set this by scheduling an initial resize.
2012-01-31 15:24:48 -05:00
Kristian Høgsberg
29af3ebce6
window: Make decorations just a widget
...
Woohoo, only took 25 commits of refactoring to get to this point.
2012-01-10 22:41:55 -05:00
Kristian Høgsberg
bb97700474
window: Get rid of the window child allocation concept
2012-01-10 19:11:42 -05:00
Kristian Høgsberg
b67e94b170
window: Make resize and redraw handlers widget vfuncs
2012-01-10 14:22:10 -05:00
Kristian Høgsberg
5d12990dbe
window: Allocate and flush the window surface in window.c
...
No need to push this to the toolkit users.
2012-01-10 12:25:32 -05:00
Kristian Høgsberg
75bc667a70
window: Drop the window widget
...
It was just a temporary convenience for moving things over.
2012-01-10 10:45:52 -05:00
Kristian Høgsberg
a8a0db3497
window: Move button handler to widget
2012-01-09 11:12:05 -05:00
Kristian Høgsberg
87a57bbd73
window: Create a widget for the window, drop window motion handler
2012-01-09 10:34:35 -05:00
Kristian Høgsberg
5f190ef96a
window: Convert a few clients to use widget motion handler
2012-01-09 09:44:45 -05:00
Kristian Høgsberg
727bacdddf
terminal: Don't close fd twice
2011-12-28 22:04:27 -05:00
Kristian Høgsberg
e7aaec301a
x11: Bridge X11 CLIPBOARD selection to Wayland clients
2011-12-27 13:50:04 -05:00
Kristian Høgsberg
47fe08aad5
Implement the new dnd/selection protocol
...
The new protocol splits dnd/selection from wl_shell and allows us to move
the implementation out of shell.c.
2011-11-23 16:20:28 -05:00
Kristian Høgsberg
c5241f5b73
Never include wayland-util.h directly
...
And fix a missing "" to <> conversion for wayland-client.h include.
2011-11-22 09:35:14 -05:00
Pekka Paalanen
50719bce2a
Fix inconsistent #include style
...
Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
2011-11-22 09:27:03 -05:00
Kristian Høgsberg
3a69627f43
window: Stop using glib mainloop in toy toolkit
2011-09-19 17:28:55 -04:00
Kristian Høgsberg
547da5afc9
terminal: Make -f (fullscreen) option work again
2011-09-19 17:26:30 -04:00
Kristian Høgsberg
26130866c6
terminal: Fix unused return value warnings
2011-08-29 17:12:36 -04:00
Kristian Høgsberg
9de79a92a6
window.c: Drop global handler argument
...
We can just register a global handler directly on the wl_display now.
2011-08-29 17:12:36 -04:00
Kristian Høgsberg
54b8683784
terminal: Don't set terminal size before we have the pty
2011-06-21 16:31:11 -04:00
Tim Wiederhake
b4b67344f0
Define global handler on display creation
...
Otherwise the initial announcement of interfaces gets lost.
2011-04-11 13:16:33 -04:00
Kristian Høgsberg
0ce245761c
Add initial basic support for fullscreen surfaces
2011-01-28 15:18:33 -05:00
Kristian Høgsberg
00439617f3
Fix new gcc 4.6 warnings
...
simple-client.c:156:10: warning: variable ‘ar’ set but not used [-Wunused-but-set-variable]
etc.
2011-01-25 15:16:01 -05:00
Kristian Høgsberg
6ec41abf72
Merge remote branch 'callum/master'
...
Conflicts:
clients/window.h
2011-01-25 10:40:01 -05:00
Tim Wiederhake
f71accc5b8
close terminal window on exit
2011-01-23 14:00:21 -05:00
Kristian Høgsberg
248c1b61ce
Add an orange pop-up menu to test the new map_transient request
2011-01-21 18:03:15 -05:00
Callum Lowcay
6eeeb30021
Merge branch 'master' of git://anongit.freedesktop.org/wayland
...
Conflicts:
clients/window.h
2011-01-22 12:00:48 +13:00
Kristian Høgsberg
6bccebee23
terminal: Just send the pty master fd to receive the selection.
...
LOL!!1
2011-01-21 16:26:28 -05:00
Kristian Høgsberg
31cce0533f
Actually send selected text when pasting
2011-01-21 15:18:55 -05:00
Kristian Høgsberg
f39a9ccbb3
Use cairo_push_group() for double buffering in the terminal
...
Slightly different version of the patch from twied.
2011-01-20 12:37:41 -05:00
Kristian Høgsberg
5982658d62
Render selection
2011-01-20 11:56:57 -05:00
Kristian Høgsberg
23c03ad981
Use libxkbcommon #defines for modifiers
2011-01-19 14:41:20 -05:00
Kristian Høgsberg
58eec36f68
Add proof-of-concept selection support to terminal
...
Next will be to support mouse selections so we can copy and paste
something more interesting than just 'selection data'.
2011-01-19 14:27:42 -05:00
Kristian Høgsberg
67cac8a565
Pass input device and time in key_handler callback
...
Move the modifiers to a input device getter function.
2011-01-19 14:25:13 -05:00
Callum Lowcay
ef57a9b788
terminal: Window operations
...
Implement OSC 1 (set window title), and some basic CSI t window
operations.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-14 20:51:58 +13:00
Callum Lowcay
9d708b07e4
terminal: Fix bugs in attribute rendering
...
Fixed ignoring of concealed attribute, incorrect underline colour, and
glyph_run_flush not resetting the attribute.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-13 20:30:43 +13:00
Callum Lowcay
9acdb50084
Merge branch 'master' of git://anongit.freedesktop.org/wayland
...
Conflicts:
clients/terminal.c
2011-01-12 19:40:14 +13:00
Callum Lowcay
67a201da6f
terminal: Escape sequences with string parameters
...
Adjust escape parsing code to handle OSC, DSC, and other escape
sequences with string parameters.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-12 19:23:41 +13:00
Kristian Høgsberg
1d3e93922d
Batch up drawing glyphs
2011-01-11 11:06:49 -05:00
Kristian Høgsberg
7ae6b1a27d
Hold on to the scaled fonts we use
2011-01-11 10:38:51 -05:00
Kristian Høgsberg
4f50670769
Use cairo_show_glyphs for rendering text
...
A small step for now.
2011-01-11 10:33:53 -05:00
Kristian Høgsberg
01994a5964
Factor out decoding of character attributes
2011-01-11 10:26:04 -05:00
Kristian Høgsberg
fb266a3207
Only draw background if it's different from what's already there
2011-01-11 10:15:21 -05:00
Kristian Høgsberg
71eca89356
Make border color a color from the color table
2011-01-11 10:13:00 -05:00
Kristian Høgsberg
f106fd5b67
Add helper to set color from color table
2011-01-11 10:11:39 -05:00
Kristian Høgsberg
8c25420a50
Split background and foreground painting into separate loops
2011-01-11 10:09:32 -05:00
Kristian Høgsberg
da846ca91d
Fix terminal resizing
...
Get snapping to character grid working again, avoid crashes when attempting
to resize below 1x1 character cell, only redraw when size actually changes.
Also, rename window_get_child_rectangle() to window_get_child_allocation().
2011-01-11 10:00:52 -05:00
Callum Lowcay
1b091dd411
Merge branch 'master' of git://anongit.freedesktop.org/wayland
2011-01-11 09:08:59 +13:00
Tiago Vignatti
5fd89d255b
terminal: fix crashing when terminal size is < 0
...
Just skip drawing when width or height is less than zero.
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2011-01-10 14:16:42 -05:00
Callum Lowcay
81179db42c
terminal: More character attributes
...
Implement the concealed attribute, and 16-colour attributes. Fix a bug in
256-colour attributes that prevented them from working in elinks.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-10 12:14:01 +13:00
Callum Lowcay
86653ed273
terminal: Various fixes
...
Fix several bugs in the previous patches. Fix inverse inverse video
with bold attribute, incorrect duplication of attributes when scrolling
up, underline aliasing, bottom scroll margin adjustment when resizing,
and unnecessary sleep when sending terminal reports. Change TERM
environment variable to xterm-256color to better reflect terminal
capabilities (although it still doesn't emulate all of xterm).
Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 20:35:25 -05:00
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
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
Yuval Fledel
e9f5e36730
Make clients exit orderly when there is no connection
2010-11-22 15:19:43 -05: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
43788b13df
Update keyboard focus handler signatures
2010-07-28 23:51:05 -04:00
Kristian Høgsberg
f252d6a98e
Update to use eglGetDRMDisplayMESA()
2010-07-08 20:15:10 -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
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
b2a432ef18
Move clients to subdirectory
2010-06-04 21:46:55 -04:00