Commit Graph

446 Commits

Author SHA1 Message Date
marciozomb13
14cc318a0e
Update PT strings (#121)
Tiny fixes and improvements.
2022-04-16 23:17:17 +02:00
Jules Aguillon
5562ee1391 Fix mismatch layout name
The Korean layout id was not consistent and this caused a crash.
2022-04-06 09:50:33 +02:00
Jules Aguillon
2b348b7a31 Revert "Swap Ctrl and switch_numeric keys"
This reverts commit b85b67c2f0.

The Ctrl key was too hard to use in the new position, especially in
combination with arrows or backspace.

Leave the switching key in the numeric layout however, where the Ctrl
key is not very useful. Put Ctrl on the top-right because bottom-right
is where the switching key is in the other layouts.
2022-04-03 20:27:25 +02:00
Jules Aguillon
aa78229b2a Add the Programming Layout option
Allow specifying a layout for programming and add a key for switching to
it easily.

The switching key is placed on the top edge of the space bar.

The option has no effect by default because the ergonomic isn't ideal,
it needs to be enabled explicitly.
Users of Latin-script languages certainly prefer to use one layout (for
programming or not). This feature might be removed in favor of a better
language-switching mechanisms in the future.
2022-04-03 17:15:12 +02:00
Jules Aguillon
d62e7647e0 Move keys away from the edges of the screen
These keys are harder to hit as the finger might exit the screen before
traveling enough to hit a corner. It might be particularly harder for
people that use a phone case.

Every layouts are changed, the notable changes are:

- The Escape key is in the bottom-right corner of the first key.
  This position looks weird at first but is a lot easier to type.

- The 0 key is on the top-left of the last key on the first row.
  It is not like the other digits.

- The Tab key is on the top-right. This might be hard to re-learn.

- Some layouts had more changes to accomodate these new positions.

Co-authored-by: Raphael <rapha.a.r@gmail.com>
2022-04-03 13:30:24 +02:00
Jules Aguillon
b85b67c2f0 Swap Ctrl and switch_numeric keys
The switch_numeric key is generally more important, especially in the
numeric pane.
2022-04-03 12:48:29 +02:00
Jules Aguillon
695f5b4371 Swap Fn and Alt
Fn is increasingly more important while Alt is generally not.
2022-04-03 12:42:50 +02:00
Raphael
2dda39f453
Arrows and Box system (#114)
* Add `Arrows` and `Box` accent system
2022-04-02 16:42:40 +02:00
nickid
fbf8901bdb
Add Korean layout (#115)
* Add Korean layout
2022-04-02 16:33:32 +02:00
ArenaL5
6b3123090c Add arrows
Add simple arrows to the numeric keypad. Using the Fn key with these arrows will
output double arrows.
2022-03-31 19:05:40 +02:00
ArenaL5
21c76b5b41 Add interpunct and move Tab in Spanish keyboard
Added the middle dot (·) to the Spanish keyboard, in order to be able to type
Catalan words and names. Catalan is spoken in Eastern Spain, and the middle top
is therefore included in standard PC Spanish keyboards.

Also changed the Tab key to an upwards-leftwards swipe, as to follow more closely
the programmer's layout qwerty.xml
2022-03-31 19:05:40 +02:00
nickid
c093b45c96 Korean translations 2022-03-23 15:47:14 +01:00
six-6
0d1ddcce3f Translate into Chinese-Simplified 2022-03-21 00:44:57 +01:00
ArenaL5
f736a169a4 Update Spanish translation
and fix a couple typos
2022-03-21 00:39:40 +01:00
ArenaL5
743f6cbc91 Add dead macron to Spanish layout
This is only to make this layout more similar to the default English layout.
Macrons are not actually used in any language spoken in Spain, but they
appear to be used in some varieties of Nahuatl?

Also added C-cedilla to the N-tilde key. Even if both C-cedilla and N-tilde
are redundant in this keyboard, both letters are a staple of Spain keyboards,
and Spaniards are used to have a dedicated key for C-cedilla in PC keyboards.
2022-03-21 00:39:40 +01:00
ArenaL5
a516246e52 Increase vibration maximum from 50 ms to 100 ms 2022-03-21 00:39:40 +01:00
Jules Aguillon
ba6d62dee2 Add F11 and F12
These keys are shown only when Fn is activated, "placeholder" keys are
placed in the layouts.
2022-03-19 16:27:57 +01:00
igorSilCar
2dae2105b2
Brazilian portuguese layout (#91)
* Providing a comprehensible Brazilian Portuguese keyboard layout

removed cedille as it is already provided by an independent key;
changed layout to correspond to the locale
2022-03-15 21:05:16 +01:00
Jacob Strömgren
fadedfd58f Add Swedish layout 2022-03-15 18:42:29 +01:00
Jules Aguillon
f9cd4ca2d8 Log editor infos while debugging
Useful when debugging why the keyboard doesn't work as expected with a
specific app.
2022-03-15 18:42:29 +01:00
Jules Aguillon
9bb7c7e66f Identify debug version in app name
Using the --product option of aapt.

Remove the app name from translations because it is never translated. It
is still possible to translate it by specifying 'product="default"'.
2022-03-14 18:37:37 +01:00
Jules Aguillon
7aa241b10a Make superscript and subscript modifiers lockable 2022-03-13 00:40:39 +01:00
Jules Aguillon
ee6e892ef4 Define localized keys as a set instead of flags
Using flags for removing keys like € and ß need too many flags and won't
scale to more localized keys.
2022-03-13 00:14:18 +01:00
igorSilCar
5665d6a7c5
Brazilian portuguese translations (#100)
* Translations for new setting, lockable modifier keys

Co-authored-by: Igor da Silva de Carvalho <igu@coiso.meanhouse>
2022-03-09 10:49:13 +01:00
Raphael
5404e7432d
Clicking twice on CTRL or ALT will lock them in 'ON' state (#72)
* Clicking twice on CTRL or ALT will lock them in 'ON' state

* Make Locking behaviour optional, configurable in preferences

* Nest the new settings into a different page

To avoid spamming the settings page and repetition in the summaries.
Cannot be a popup unfortunately because that would require API >= 11.

* Add Fn and Meta

Co-authored-by: Jules Aguillon <jules@j3s.fr>
2022-03-05 20:17:45 +01:00
igorSilCar
4964bfb87f
Brazilian portuguese translations (#87)
* Added brazilian portuguese translations for app description and settings

* making the swiping option more intelligible

* fix typo on full_description pt-BR translation

Co-authored-by: Igor da Silva de Carvalho <igu@coiso.meanhouse>
2022-03-05 17:33:04 +01:00
Jules Aguillon
f6d4554669 Increase contrasts
For the Dark and Light theme. At the same time, use only "web safe
colors" to have nice round numbers and ensure enough contrasts between
colors.

The background color is kept at the previous value, there's not enough
contrast between the background and the keys but that's better than a
solid black background.
2022-02-27 15:08:38 +01:00
Jules Aguillon
23685ddb3c Compute text size relative to key height
Instead of a fixed size that don't work at all for bigger screens.

Other tweaks:
- Use the value-land dimens to vary 'extra_horizontal_margin'
- Move label size to Config, because it can change at runtime (rotation)
- Slightly decrease the size of "long" symbols
2022-02-27 01:50:24 +01:00
Jules Aguillon
937d5d728e Fix typo in subtype description for Bulgarian
This causes a crash.
2022-02-26 20:27:08 +01:00
Edgars
d6757019dc Add a missing full stop to Latvian QWERTY layout
`res/xml/qwerty_lv.xml` was updated to add the missing full stop
character (`.`) as it got lost when the bottom row was moved to a
separate XML `res/xml/bottom_row.xml` as it was placed on the
arrows key.

Additionally `?` was relocated, giving its place to the full stop.
2022-02-26 13:12:10 +01:00
Benjamin
35058628c1 German translation 2022-02-25 17:29:52 +01:00
Benjamin
d581c8b1e4 German translation strings.xml and full_description.txt 2022-02-25 17:14:58 +01:00
Jules Aguillon
583aa55259 Update the spanish locale
To use the new layout.
2022-02-22 19:08:44 +01:00
Invert White
4873b8e22a spanish translation and layout 2022-02-22 00:20:11 -03:00
Jules Aguillon
632a9ac590 Localize € and £
Show these characters only for users that have the corresponding locale
installed (a supported eu language for €, en-GB for £).
Add these characters to most layouts.
2022-02-19 21:48:48 +01:00
Raphael
d73be58c1a add colon key to numeric keyboard 2022-02-19 21:02:39 +01:00
Raphael
d2570bc2ea add-ordinal-numbers-symbol-system 2022-02-19 20:59:49 +01:00
Jules Aguillon
c05fdea765 Define the height of the keyboard relative to the screen size
Depending on the pixel density isn't ideal for a keyboard, which would
render differently depending on the "scaling" accessibility option.

Landscape mode needs a special values. At the same time, increase the
horizontal margin when landscape.
2022-02-13 15:58:30 +01:00
Vladimir Chernov
4e98ab7515
Add Russian layout (#66)
* Add Russian layout

Co-authored-by: Jules Aguillon <jules@j3s.fr>
2022-02-13 13:56:46 +01:00
Jules Aguillon
b488c766b1 Add ю to the bulgarian layout
Thanks Zdravko for pointing out.
2022-02-13 13:23:49 +01:00
Jules Aguillon
adb77466f5 Fix forced inverted colors on Xiaomi phones
MIUI inverts the colors of the app it thinks doesn't implement dark
themes correctly. Also, it inverts the colors in the dumbest possible
way: it doesn't invert all the colors the same way.

It thinks that presumably because I don't use the Material base themes.
2022-02-13 11:45:13 +01:00
Jules Aguillon
b1ef21f62f Improve QWERTZ
- Add the umlauts back.
- Remove the accents. QWERTZ changes from "programming layout" to
  "localized layout".
- Move the '?' away from the edge of the screen.
2022-02-07 01:22:42 +01:00
Jules Aguillon
1ff8526d24 Define the bottom row separately
Avoid divergences when the bottom row is modified.
2022-02-07 00:55:32 +01:00
AlexandraAlter
a76541458d
Dvorak layout (#16) 2022-02-07 00:06:49 +01:00
Max Schillinger
93edc4ac42 Allow egde keys instead of corner keys (swipe vertically/horizontally)
Add a new boolean parameter "edgekeys" for defining keys that have the
additional (swipe) keys on the edges (top, right, left, bottom) instead
of at the corners (top left, top right, bottom left, bottom right).
2022-02-06 23:49:43 +01:00
Jules Aguillon
7383cc4b68 Add the Meta key to every layouts
To follow soon: Define the bottom row separately from layouts.
2022-02-06 23:12:24 +01:00
Jules Aguillon
95c8acc31e Add the Meta key
Currently using the diamond symbol like the history meta key: https://en.wikipedia.org/wiki/Meta_key
However, this key is actually interpreted as the Super/Windows key but
Android calls it "meta" internally.
2022-02-06 23:01:35 +01:00
Raphael
b913d6842f Add supoort to show accents for Portuguese language 2022-02-05 20:07:32 +01:00
Jules Aguillon
7a451d5a36 Turn the key spacing options to ints
Float values were not rendered properly and the granularity isn't
needed.
2022-01-31 00:04:02 +01:00
Jules Aguillon
2d2f0dd51d Add options for the spacing between the keys
Two options: vertical and horizontal.
2022-01-30 23:55:15 +01:00
Jules Aguillon
8631dfb723 Select theme depending on system settings
Automatically choose between the Dark and Light themes.
2022-01-30 23:29:50 +01:00
Jules Aguillon
c9f7f2cfc8 Avoid color inversion in dark theme 2022-01-30 20:39:09 +01:00
Jules Aguillon
348c278eae Missing Action key in the QWERTZ layout
This caused an even bigger problem: The Enter key would disappear
instead of being swapped with the Action key.
2022-01-30 12:02:49 +01:00
Jules Aguillon
4333575bb9 Add support for the Bulgarian language and layout
Thanks Zdravko Iskrenov for the contribution.
2022-01-29 19:27:33 +01:00
Edgars
1723288f5d Add Latvian translation 2022-01-29 18:00:52 +01:00
Edgars
88e21758bc Add Latvian specific QWERTY layout
A customised Latvian specific QWERTY layout (QWERTY (Latvian)) was added
to access all Latvian diacritic characters with a swipe.

Additionally caron, cedille and macron accents were enabled for this
layout.
2022-01-29 17:56:25 +01:00
Jules Aguillon
baf867a9f9 Translate to French 2022-01-23 19:20:28 +01:00
Jules Aguillon
04f15fbfee Improve some strings 2022-01-23 19:20:11 +01:00
Jules Aguillon
cb95e99f50 Make action key labels translatable 2022-01-23 19:20:02 +01:00
Edgars
0bf7ff5f34 Add keys for Latvian
New accents - caron and macron - were defined and QWERTY layout was
updated to add accents for Latvian specific characters.
2022-01-20 22:01:34 +01:00
Moini
133b6ec2c1
German keyboard added (#20)
* Add German metadata translation

* Add German keyboard

Co-authored-by: Jules Aguillon <jules@j3s.fr>
2022-01-15 20:56:08 +01:00
Jules Aguillon
53113cadd9 Add the Action key
It is placed on the top-right of the enter key on every layouts.
It sends a special event (performEditorAction) instead of writing a
newline.

The "actionId" is passed through the EditorInfo object in an obfuscated
way so it's not clear whether it's using the right one.
2022-01-09 20:26:06 +01:00
Moini
4b43645c4b Fix a few strings 2022-01-09 12:53:14 +01:00
Jules Aguillon
93e84ba7e9 Add the German language
Add the 'ß' character on the bottom-left corner of the 's' key, which is
hidden for other languages.

Co-authored-by: Moini <moini@noreply.invalid>
2022-01-09 12:49:28 +01:00
Jules Aguillon
23e59c6b09 Allow to hide more keys than just accents
Add the "FLAGS_LANGS" set of flags, which will be used to hide
individual keys that are not accents.
2022-01-09 12:47:47 +01:00
Jules Aguillon
9c82c9cfdc Improve the "precision" option
Now named "swiping distance". Changed to a dropdown.
2021-12-30 22:22:25 +01:00
Jules Aguillon
8bef0728ae Turn the "precision" option to dp instead of px 2021-12-30 21:59:48 +01:00
Jules Aguillon
b05f6e8447 Simplify string definitions
Inline constants in settings.xml, strings.xml is only for strings that
can be translated.
2021-12-30 21:37:34 +01:00
Jules Aguillon
f69a0605a8 Add the Black theme
Friendly to Amoled screens.
The background of keys is the same as the background of the whole
keyboard: pure black.
Colors are also slightly stronger.
2021-12-30 00:53:48 +01:00
Jules Aguillon
29367f127d Move the border radius from Config to Theme
Also, draw activated keys with a round border too.
2021-12-30 00:52:50 +01:00
Jules Aguillon
093a00c572 Add themes
Add a "Theme" option to choose between a dark and light theme.
The light theme uses the colors of the dark theme with the luminance
inversed.

The reloading after a configuration change is changed slightly:
- Special handling is needed when the Theme is changed (recreate the views)
- The default implementation of 'onConfigurationChanged' is used
  Which triggers more refresh (but don't recreate the views)
- 'onCreateInputView' is no longer needed
2021-12-30 00:26:05 +01:00
Jules Aguillon
40b1ec63a9 Use the themes abstraction
Themes replace 'colors.xml' and soon will replace 'dimens.xml'.
2021-12-28 19:12:50 +01:00
Jules Aguillon
1cfecbdf48 Auto-format Java and XML files
Use xmllint.
Re-indent Java files using spaces.
2021-12-19 19:44:27 +01:00
Jules Aguillon
573c13fb82 Add Swedish
First add the 'ring' accent.
The swedish language uses the qwerty layout and three accents (aigu,
trema, ring)
2021-12-11 17:05:49 +01:00
Jules Aguillon
cca832954e Increase the maximum value of the key height option 2021-12-05 21:00:38 +01:00
Jules Aguillon
5e01198500 Add support for Spanish and Italian
Both using the qwerty layout.
Removes the tilde from French.
2021-05-09 00:35:26 +02:00
Jules Aguillon
7a3312fd01 Add the accents preference
This replaces the "disable accent keys" checkbox.
The default should work for anyone: Accents will be hidden unless the
user has the french language installed.

The value "show every accents" is useful for versions of android that
don't have subtypes.
2021-05-09 00:09:10 +02:00
Jules Aguillon
ebfb8f3b39 Move the "Ins" key under Fn 2021-05-08 15:54:55 +02:00
Jules Aguillon
b5edcbeb20 Move french accents again
Users didn't like the new placement.
2021-05-08 15:38:52 +02:00
Jules Aguillon
8fb89c5c71 Improve the numeric keyboard 2021-05-08 02:00:47 +02:00
Jules Aguillon
5ad4450545 Better placement of accents on QWERTY
Also change internal names for accents.
2021-05-01 23:26:44 +02:00
Jules Aguillon
743b10165c Highlight activated keys 2021-04-29 01:33:57 +02:00
Jules Aguillon
ec5cda0ce6 Slightly reduce the size of the bottom row 2021-04-29 01:11:18 +02:00
Jules Aguillon
b976f4a791 Move system keys to the alt key 2021-04-29 01:11:07 +02:00
Jules Aguillon
ec1cd9473a Improve the azerty layout
- More intuitive placement of (), [], {} and <>.
- Move accent keys into the top-left corner, on a key they may be used with.
- Some minor changes.
2021-04-29 01:06:51 +02:00
Jules Aguillon
d00576ac2d Add the "layout" option again
Some versions of android don't allow to configure several languages.
2021-04-29 01:06:51 +02:00
Jules Aguillon
c86a119448 Tweak dimensions
Increase a bit labels size and reduce empty space between keys.
2021-04-25 00:12:16 +02:00
Jules Aguillon
9bb2642e2c Add the label size option 2021-04-24 23:22:25 +02:00
Jules Aguillon
59cff03e70 Adjust azerty layout
Add the 'change_method' key and remove a key that is available through
accents.
2021-04-20 00:57:03 +02:00
Jules Aguillon
e57c7a7f3a Set the en_US layout default
Now that it's necessary to change the device's settings to use a
different layout, qwerty is a better international default than azerty.
2021-04-20 00:51:18 +02:00
Jules Aguillon
5dec9c1215 Add a setting for precise repeat 2021-04-20 00:34:21 +02:00
Jules Aguillon
d04e078816 Add more characters under accents
Notably subscript and superscript digits and some quote characters.
2021-04-19 23:10:00 +02:00
Jules Aguillon
2200e2f313 Move some keys under the Fn modifier and move it on the bottom row 2021-04-19 22:29:20 +02:00
Jules Aguillon
471375d50c Add function keys
Add the Fn modifier that change the digits into F1 to F10.
2021-04-18 23:58:35 +02:00
Jules Aguillon
ade0d0ddcf Improve the bottom row
Remove the "emoji" and "conf" action from the enter key. Move the former
to the "arrows" key and the latter to "p".
Slightly increase the size of the keys around the spacebar, and decrease
the spacebar size.
2021-04-18 01:05:20 +02:00
Jules Aguillon
9d6b22f916 Rework the numeric layout
Remove the empty keys, make it more symetric and add more characters.
2021-04-18 00:57:10 +02:00
Jules Aguillon
1421bccc7b Remove fixed keyboard width
Remove the constant of keys per rows. Add the 'shift' attribute to
declare eventual alignment/blanks in layouts.
2021-04-17 23:56:51 +02:00
Jules Aguillon
ca07bff133 Use subtypes to choose layout
This removes the "layout" setting. Every layouts that the user could use
will appear in the global settings.
2021-04-15 23:56:34 +02:00
Jules Aguillon
eac74d3f22 Add an option to toggle accent keys
These keys are not useful at all in English. A new option allows to hide
them, [false] by default.
2021-04-13 02:00:08 +02:00
Jules Aguillon
a27b5e7481 Slightly improve emoji group buttons 2021-01-17 00:20:09 +01:00
Jules Aguillon
77e0efd3de Remove duplicate emojis and skin tones
Statuses other than "fully-qualified" are duplicates or won't render.
Skin tones are available using combinations, no need to keep each
variants.
2021-01-17 00:20:09 +01:00
Jules Aguillon
a165a0ab2e Update the list of emojis
Take the list from https://unicode.org/Public/emoji/13.1/emoji-test.txt
Also change the list of groups, from the same source.
2021-01-17 00:20:09 +01:00
Jules Aguillon
8dc085048a Remove the preview popup
This was a half-finished feature:
- Dangerous when typing passwords
- Caused crash on some devices
- Ugly (on its own but also blinking when sliding and not fixed in size)
2021-01-05 00:18:24 +01:00
juloo
0b94395233 switchToNextInputMethod key 2016-12-11 22:45:58 +01:00
jaguillo
ffba149934 preview_enabled settings 2015-10-28 22:54:38 +01:00
jaguillo
da72455d35 Improve preview popup 2015-10-28 20:56:28 +01:00
jaguillo
8fbe456074 A bit of style 2015-10-28 17:47:12 +01:00
jaguillo
16763a5f1b Show preview popup 2015-10-28 16:15:19 +01:00
jaguillo
804e9a7adc Fix some bugs + Try to show a preview popup 2015-10-28 00:39:20 +01:00
jaguillo
8716801261 Improve init of emoji pane 2015-10-27 15:05:50 +01:00
jaguillo
ed53b1a23b Fix crash + Fix emoji type buttons 2015-10-27 14:39:27 +01:00
jaguillo
2c859f30a6 More emoji category + Fix last emoji used saving 2015-10-26 20:48:07 +01:00
jaguillo
e95ccbec00 Last used emoji 2015-10-26 14:19:46 +01:00
jaguillo
8bd0214e26 Emoji pane 2015-10-24 16:32:49 +02:00
jaguillo
db20d52884 Start with emojis 2015-10-23 14:22:43 +02:00
jaguillo
6bb257fd75 Special key font + Esc key 2015-10-13 00:02:34 +02:00
jaguillo
03cc0a5429 Key to switch to numeric pane 2015-10-11 15:30:39 +02:00
jaguillo
310ecc8ef2 Improve numeric layout 2015-10-01 11:46:15 +02:00
jaguillo
f8702abf1a Numeric keyboard 2015-10-01 00:03:26 +02:00
jaguillo
81ec226fcf Add margin_bottom, key_height and horizontal_margin configs 2015-09-30 22:48:16 +02:00
jaguillo
ca503b43a8 Fix \ char 2015-09-30 22:12:19 +02:00
juloo
cb070635ad Move 2 keys 2015-08-18 22:16:30 +02:00
juloo
373f1b11f1 Add trema accent + Add accents to azerty 2015-08-18 01:33:50 +02:00
juloo
d81509d7ec Accent 2015-08-18 01:25:47 +02:00
juloo
d80578fcae Move some keys + Change name 2015-08-16 17:15:11 +02:00
juloo
9d614bc4fe More settings 2015-08-08 23:07:38 +02:00
juloo
6f09c971c0 SideBarPreference + Continuing settings 2015-08-08 22:33:06 +02:00
juloo
153c384990 Start SettingsActivity 2015-08-08 16:47:22 +02:00
juloo
c29a2a9c9c Todo settings 2015-08-08 15:26:23 +02:00
juloo
bee4334626 logcat.py 2015-08-04 21:07:28 +02:00
juloo
40885f5760 Add icons + Nothing 2015-08-04 17:55:48 +02:00
juloo
1be1ec7a4b Add qwerty layout + popup to change layout 2015-08-03 20:01:05 +02:00
juloo
3d3aa4bc98 Nothing 2015-08-02 23:36:22 +02:00
juloo
6737bda402 Fix keys drawing 2015-08-02 22:59:25 +02:00
juloo
3909976b85 Insert key 2015-08-02 21:36:19 +02:00
juloo
12a04ae2c7 Lockable keys 2015-08-02 20:21:53 +02:00
juloo
5bbdbcd522 Implement shift key 2015-08-01 23:54:38 +02:00
juloo
349f0bee6f Send keys to the application 2015-08-01 21:36:40 +02:00
juloo
0942556bad Improve KeyValue 2015-08-01 16:33:30 +02:00
juloo
2537a7b221 Replace key_margin with key_bg_padding + Add {vertical,horizontal}_margin 2015-08-01 01:36:41 +02:00
juloo
de114c43c6 Add more keys + (tmp) change KeyValue 2015-08-01 00:49:09 +02:00
juloo
1e0694c4fb Add dimens.xml for landscape mode 2015-07-31 23:58:18 +02:00
juloo
90cd2e1c7b Use dimens.xml instead of constants 2015-07-31 23:52:47 +02:00
juloo
56612121f8 Add sub more subkeys + Better drawing 2015-07-31 23:17:07 +02:00
juloo
8265c1c099 Try to handle multi touch event 2015-07-30 22:30:29 +02:00
juloo
90167a986b Initial commit 2015-07-30 20:14:55 +02:00