Commit Graph

299 Commits

Author SHA1 Message Date
4aee4915d9 Merge branch 'generate-xkb-files' into 'master'
Generate XKB keymaps from XML instead of using pre-made ones

See merge request Librem5/squeekboard!90
2019-07-30 17:38:06 +00:00
306aa89d06 Merge branch 'content_type' into 'master'
Finish up imservice state

See merge request Librem5/squeekboard!93
2019-07-30 11:44:19 +00:00
107399a531 Don't set the geometry of the window in normal use
Setting the geometry prevents the widget from getting the correct
allocation and prevents us from positioning it correctly in
landscape mode.
2019-07-26 22:26:02 +00:00
70895999c2 Generate XKB keymaps from XML instead of using pre-made ones 2019-07-25 22:25:29 +02:00
e9cf572a3c Only recreate the widget when the keyboard layout changes
Avoid creating a widget before there is a window to put it in.
2019-07-25 18:07:29 +00:00
a9a6e1d2b5 Ensure that resources are built with the application 2019-07-24 01:22:58 +02:00
7e939c36cc imservice: Call show/hide directly 2019-07-23 20:26:42 +00:00
c5d2d76ab1 imservice: Handle unavailable message 2019-07-23 20:26:42 +00:00
622ba6e38a imservice: Handle text change cause
Nothing is being done with this information yet
2019-07-23 20:26:42 +00:00
fad06348a7 imservice: Make imservice opaque
The structure is defined in Rust, with the intention of evaluating using Rust in this area. It's specifically not defined as repr(C), in order to encourage that. Without the repr, it was unsafe to have its members exposed in C.
2019-07-23 20:26:42 +00:00
a6ee303123 imservice: Handle content type in Rust
This adds `bitflags.rs` from the bitflags crate.
Due to not wanting to introduce Cargo as the dependency manager yet, it's slightly modified to compile as a naked module.
2019-07-23 20:25:13 +00:00
e903150971 Enable tests, fixing the existing ones to use the current API
This also involved building a static library for the application for
tests to link to. The main application executable also links to it.
2019-07-23 10:18:44 +02:00
e25d5a84b2 Remove unnecessary X11 includes 2019-07-20 23:57:38 +02:00
00c3903672 Respond to the input purpose, showing a numeric keypad if requested 2019-07-20 17:33:55 +02:00
b1edcfcb1b Tidy up a merge 2019-07-20 17:26:00 +02:00
54b0f59935 Always create a new widget for a keyboard and update it if already visible 2019-07-20 17:25:55 +02:00
a5875402ef Move EekGtkRenderer features into EekRenderer 2019-07-18 15:42:27 +02:00
633d69baca Drop HAVE_CLUTTER_GTK
We don't use it.
2019-07-17 19:50:53 +02:00
dbc8cc14bc Generate config.h
This allows us to remove a lot of #ifdef's. Either we want to use
a config.h or we don't. Since we'll want it for e.g. optional gsound
support later on let's have it.
2019-07-17 19:50:53 +02: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
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
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
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
ce7b398f7b LayerSurface: Make exclusive zone identical to height
Othewise we hide content beneath the keyboard.

Closes: #53
2019-07-15 12:49:11 +02:00
4b92f205ef Include extra space in the window object 2019-07-12 10:30:44 +00:00
e350b4ab92 Merge branch 'some-bugfixes' into 'master'
MERGE these: Some bugfixes - the buildsystem is acting up again

See merge request Librem5/squeekboard!53
2019-07-11 13:39:56 +00:00
626527ee09 Merge branch 'feature-xml-resources' into 'master'
FINAL: bundle xml resources, allows running uninstalled from git repo

Closes #29 and #21

See merge request Librem5/squeekboard!49
2019-07-11 13:33:45 +00:00
c1af9b2ba4 Add dbus protocol definition
This let's us drop the virtboard build dependency.
2019-07-11 14:31:25 +02:00
5efb4cc58d Bundle keyboard definitions
This allows running uninstalled from a git repo

Closes: #21, #29
2019-07-11 13:40:03 +02:00
2f1c1c2fb1 Remove unused variable and remove damage from botched rebase
- remove bounds it is not used.

- remove the g_clear_pointer, it does the same thing as the if-block
  above, the were both there as the result of the merge, and it is
  apparently easily overlooked

- cleanup after myself (FIXMEs)
2019-07-11 13:24:48 +02:00
b57e1ce660 Drop now unused theme_path 2019-07-10 15:39:16 +02:00
1ff1592f24 Merge branch 'master' into 'use_gresource'
# Conflicts:
#   src/server-context-service.c
2019-07-10 11:35:40 +00:00
4c54b49ef5 Merge branch 'remove-unused-sources' into 'master'
Remove unlisted files

See merge request Librem5/squeekboard!38
2019-07-09 14:44:00 +00:00
89aaf05aff Some minor cleanups 2019-07-09 13:52:23 +02:00
2f87fd46fb Improve codeflow 2019-07-09 13:50:14 +02:00
e04276ee38 Use properly typed and named variables for user_data 2019-07-09 13:46:44 +02:00
05c3061f08 Add some FIXME hints for future work 2019-07-09 13:41:20 +02:00
c33006bcbc use g_clear_pointer with gtk_widget_destroy
brief, clear, idiomatic and grep friendly
2019-07-09 13:33:49 +02:00
4bf4500ae1 Remove unlisted files 2019-07-09 01:07:19 +02:00
b3e1d84e6c Merge branch 'mem' into 'master'
Fix visibility-related bugs

See merge request Librem5/squeekboard!25
2019-07-08 21:25:27 +00:00
66ec95ebb0 fix-up prototypes (-Wincompatible-pointer-types) 2019-07-08 09:21:26 +02:00
a944bf85b8 remove stray const (-Wdiscarded-qualifiers) 2019-07-08 09:20:17 +02:00
722d3d1ad4 Cleanups: fix deprecations
gtk_widget_get_root_window()
	gdk_screen_get_monitor_at_window()
	gdk_screen_get_monitor_geometry()
2019-07-08 08:39:16 +02:00
aba242301d Use a gresource to store the css
This makes build / test faster since one can skip install. It's
also more obvious which file is being used.
2019-07-04 16:16:04 +02:00