3d518b5757
build: Bump meson dep since we use '/'
2019-07-17 19:37:05 +02:00
bfa72d7f61
Merge branch 'less-flicker' into 'master'
...
Make redisplaying the keyboard faster
Closes #60
See merge request Librem5/squeekboard!82
2019-07-17 16:32:29 +00:00
373713ba54
ServerContextService: Don't destroy widget all the time
...
This avoids icon theme lookups and lots of other stuff down the road.
Closes : #60
2019-07-17 17:16:35 +02:00
068c325ee2
EekGtkRenderer: Use a hash table for icon theme lookups
2019-07-17 17:14:42 +02:00
3b076e5e64
EekGtkRenderer: Simplify type declaration
...
It's 2019.
2019-07-17 17:14:42 +02:00
07d6e3a0f2
ServerContextService: Don't use gtk_widget_show_all
...
This gives children more flexibility without using `no_show_all`.
2019-07-17 17:14:42 +02:00
7690ef9a1a
Merge branch 'layer-shell' into 'master'
...
Hide/show window instead of destroying it
Closes #42
See merge request Librem5/squeekboard!76
2019-07-17 11:34:10 +00:00
9974c385e5
EekboardContextService: Don't comment out property setters
...
This lets us keep the visible property up to date.
2019-07-17 00:44:09 +02:00
8dafad80b1
ServerContextService: Check for mapped/unmapped
...
Visible does not tell us if the widget is actually visible on the
screen.
2019-07-17 00:44:00 +02:00
93e9b2dde9
ServerContextService: Hide the widget instead of destroying it
...
This is quicker and makes sure we don't stack up surfaces.
2019-07-16 18:52:53 +02:00
c3a54595ea
layersurface: Refresh layersurface on map
...
If the surface gets unmapped and mapped again we have another GDK window
so we have to reconfigure the layers surface on map and destroy it on
unmap.
This will be merged back into phosh if it works out.
2019-07-16 18:52:36 +02:00
95ef52fe42
ServerContextService: Remove more unused code
...
The whole visible/enable logic was disfunctional all the time.
What works is show_keyboard and hide_keyboard.
2019-07-16 18:47:55 +02:00
c638c40a09
ServerContextService: Drop everything depending on self->was_visible
...
This was never used so everything depending on it was dead code.
2019-07-16 18:47:55 +02:00
83d48d24ce
ServerContextService: Really destroy the main window
...
Otherwise layer surfaces keep piling up
2019-07-16 18:47:55 +02:00
d807e43929
ServerContextService: Drop unneeded code
...
The layer shell code handles parts of this and others are just
not needed on wayland.
2019-07-16 18:47:55 +02:00
0a112be956
ServerContextService: Show keyboard when everything else is set up
...
This avoids some flickering.
2019-07-16 18:47:55 +02:00
078efa2a6e
LayerShell: Set a proper namespace
2019-07-16 18:47:55 +02:00
5827827008
Update layer surface code from phosh
...
As of commit 77bba4fcb2d836a58ccf8913d9a514aac6cc49a2. This allows
us to split the widget creation from making it visible.
2019-07-16 18:47:55 +02:00
9c61d8de72
Merge branch 'dbus-prop' into 'master'
...
EekboardService: Properly toggle keyboard visibility on DBus
Closes #55
See merge request Librem5/squeekboard!80
2019-07-16 13:22:53 +00:00
f72ddc8129
Undo formatting changes
2019-07-16 14:06:49 +02:00
7e9c3b40bb
Remove debugging code
2019-07-16 14:00:41 +02:00
a8371af9c0
Fall back to US layout and keymap if needed
2019-07-16 14:00:41 +02:00
4e11d071d9
Add a keymap for the US layout, update the US symbols
2019-07-16 14:00:41 +02:00
a7140705c4
Search for an xkb keymap in the resources
2019-07-16 14:00:41 +02:00
69986132b4
Use keysyms for the Shift modifier
2019-07-16 14:00:41 +02:00
3c97a3a592
Convert symbols file and update test keymap
2019-07-16 14:00:41 +02:00
268dda4da0
Improve symbol mapping
2019-07-16 14:00:41 +02:00
45f58a97b9
Update the test keymap
2019-07-16 14:00:41 +02:00
bdbbaf6099
Use groups to reference keysyms in the keymap
2019-07-16 14:00:41 +02:00
839968dc84
Try using a custom keymap
2019-07-16 14:00:41 +02:00
fbdc5f4a93
Stash for sharing
2019-07-16 14:00:41 +02:00
e5648a82a3
Remove explicit keycodes in XML, auto-generate them instead
...
This makes it easier to keep the geometry and symbols files in sync.
2019-07-16 14:00:41 +02:00
38133d326b
Merge branch 'autogen.sh' into 'master'
...
Remove more files
See merge request Librem5/squeekboard!81
2019-07-16 11:06:55 +00:00
cc00fcb5c9
Remove more files
...
autogen.sh is for automake and the TODO refers to eekboard.
2019-07-16 11:00:59 +02:00
53f7a14717
EekboardService: Properly toggle keyboard visibility on DBus
...
Closes : #55
2019-07-16 10:21:59 +02:00
922495ca06
Merge branch 'remove-unused-files' into 'master'
...
Remove unused files and functions
See merge request Librem5/squeekboard!79
2019-07-16 07:16:29 +00:00
e5e2e08ff4
Merge branch 'fewer-redraws' into 'master'
...
keyboard: Schedule widget redraw instead of gdk_window_invalidate_rect
See merge request Librem5/squeekboard!75
2019-07-15 22:57:12 +00:00
c7c410210b
Merge branch 'scale' into 'master'
...
Honor widget scale factor
See merge request Librem5/squeekboard!56
2019-07-15 22:27:34 +00:00
cb7c214aa0
Merge branch 'fixes' into 'master'
...
Fixes
See merge request Librem5/squeekboard!74
2019-07-15 22:20:40 +00:00
6f5f49729c
Remove unused files and functions
2019-07-15 23:45:17 +02:00
94c9442de1
keyboard: Drop now unused clip_bounds_to_dirty_rectangle()
2019-07-15 17:42:32 +02:00
8c044d0852
keyboard: Schedule widget redraw instead of gdk_window_invalidate_rect
...
The later would invaliate the drawn area again and again in a ::draw()
handler. This caused infinite redraws when e.g. a key was locked. To
reproduce break e.g. on `eek_gtk_keyboard_real_draw()` and see how it is
invoked again and again.
2019-07-15 17:42:32 +02:00
1f0cc0a5f3
keyboard: Don't leak on set_keyboard()
...
Unref and disconnect signals before setting a new keyboard.
2019-07-15 14:12:10 +02:00
5693ce3df7
keyboard: Simplify signal disconnect
...
We're only keeping the signal ids around for disconnect but that only
happens in dispose so it's o.k.to just disconnect all keyboard signals
we listen to.
2019-07-15 14:12:10 +02:00
bcf04ab11e
Merge branch 'exclusive-zone' into 'master'
...
LayerSurface: Make exclusive zone identical to height
Closes #53
See merge request Librem5/squeekboard!72
2019-07-15 11:55:41 +00:00
086f6bd772
renderer: Only scale by output scale
...
The original eekboard code scaled icons by a factor. That was simplified
in c529e9ed9c but we can do away with it
completely and fetch the icons at the right size making them not blurry.
2019-07-15 13:23:16 +02:00
d0fa444a0e
Honor the outputs scale factor
2019-07-15 13:13:34 +02:00
cd81aeb286
get_icon_surface: Add a scale argument
...
This will allow us to pass the output scale around
2019-07-15 13:13:34 +02:00
7db33bc92e
renderer: Add icons in resource bundle to the icon theme
2019-07-15 13:13:34 +02:00
fb6c501e44
renderer: Use gtk_icon_theme_load_surface
...
This will allow us to feed in the output scale.
2019-07-15 13:12:26 +02:00