app/internal/window: map window after defining WM protocols

ICCCM 4.1.2 says WMs will examine client properties every time
window is mapped. Because SetWMProtocols is called before MapWindow
some WMs (specifically taowm) never see them.

In other WMs this works because they check for WM_DELETE_WINDOW
when user tries to close window, not when window is mapped.

Signed-off-by: Konstantin Kulikov <k.kulikov2@gmail.com>
app/internal/window: (X11) Add support for UTF-8 window title.

Signed-off-by: Denis Bernard <db047h@gmail.com>
example: update gio version

Signed-off-by: Elias Naur <mail@eliasnaur.com>
app: destroy GPU before ack'ing the DestroyEvent

The DestroyEvent ack allows the backend to release the window.
Ensure that the GPU associated with the window is done before that
happens.

Updates gio#67

Signed-off-by: Elias Naur <mail@eliasnaur.com>
Revert "app: release GPU before processing DestroyEvent"

This reverts commit 8620b43eb3633b0a4cfb42bdad6930411455595b.

Releasing the GPU after ack'ing the DestroyEvent is too late.

Updates gio#67
app/internal/window: cleanup X11 initialization

Removed redundant XSelectInput and XChangeWindowAttributes as well as
obsolete screen parameter in x11DetectUIScale.

Signed-off-by: Denis Bernard <db047h@gmail.com>
widget: no newline in editor on submit

When you press enter to "submit" an editor widget, don't also append the
newline to the editor text.  Enter should be "submit" or "add newline"
but not both.

Also add parens to the Enter check: x && y || z => x && (y || z).

Signed-off-by: Larry Clapp <larry@theclapp.org>
text: remove SingleLine from LayoutOptions

Low level text layout should not deal with filtering newlines.

Updates gio#61

Signed-off-by: Elias Naur <mail@eliasnaur.com>
widget/material: rename material.go to theme.go

Signed-off-by: Elias Naur <mail@eliasnaur.com>
example/gophers: update gio version

gofmt -w -s . as well.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
clip: change Rect argument to f32.Rectangle

Signed-off-by: Elias Naur <mail@eliasnaur.com>
op/clip: add RoundRect

Signed-off-by: Elias Naur <mail@eliasnaur.com>
op/clip: split clip operations into its own package

Signed-off-by: Elias Naur <mail@eliasnaur.com>
op/paint: add note that ClipOp intersects the clip, not replace it

Updates #61

Signed-off-by: Elias Naur <mail@eliasnaur.com>
app,os: update documentation to match changed API

Updates gio#61

Signed-off-by: Elias Naur <mail@eliasnaur.com>
app: release GPU before processing DestroyEvent

In fact, move the release of the GPU to a deferred function, saving
a release.

Fixes #65

Signed-off-by: Elias Naur <mail@eliasnaur.com>
app/internal/window: (X11) don't destroy window on EGL destroy

Signed-off-by: Elias Naur <mail@eliasnaur.com>
app/internal/window: (X11) implement right and middle mouse buttons

Updates gio#60

Signed-off-by: Elias Naur <mail@eliasnaur.com>
io/pointer,gesture: report right and middle mouse button events

Updates gio#60

Signed-off-by: Elias Naur <mail@eliasnaur.com>
app/internal/window: x11: fix issue with space not sending key.EditEvent

This is a general fix where keys with names differing from their UTF8
representation could not be sent as EditEvents.

Signed-off-by: Denis Bernard <db047h@gmail.com>
Next