<feed xmlns='http://www.w3.org/2005/Atom'>
<title>unexpected-keyboard/res/layout/keyboard.xml, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/'/>
<entry>
<title>Emoji suggestion (#1235)</title>
<updated>2026-05-02T17:32:21+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2026-05-02T17:32:21+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=9c23e6c5f3459240a87898762cbfa90cef766ad7'/>
<id>9c23e6c5f3459240a87898762cbfa90cef766ad7</id>
<content type='text'>
Suggest an emoji in addition to the 3 suggested words when the
current word matches an alias in the emoji dictionary, if
available.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Suggest an emoji in addition to the 3 suggested words when the
current word matches an alias in the emoji dictionary, if
available.</pre>
</div>
</content>
</entry>
<entry>
<title>Reduce the size of suggestions to fit (#1248)</title>
<updated>2026-05-01T18:25:20+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2026-05-01T18:25:20+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=d164820bca8d2182869108f8a015ce3d987d048d'/>
<id>d164820bca8d2182869108f8a015ce3d987d048d</id>
<content type='text'>
The font size of the suggested words is reduced if the word would
otherwise split on two lines.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The font size of the suggested words is reduced if the word would
otherwise split on two lines.</pre>
</div>
</content>
</entry>
<entry>
<title>Candidates view improvements (#1168)</title>
<updated>2026-02-01T22:25:38+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2026-02-01T22:25:38+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=2ecf93d9904544ee73159e9f0ee74b49057bca6c'/>
<id>2ecf93d9904544ee73159e9f0ee74b49057bca6c</id>
<content type='text'>
* Refactor: Create subpackage 'suggestions'

* Candidates view: Status message when no dictionary installed

Show a message on the candidates view instead of leaving it empty. A
button points to the dictionary installation activity.

* Add an option to disable the suggestions

* Refactor: Remove Config.should_show_candidates_view

This was moved to EditorConfig.

* Don't disable text suggestions in some text boxes

* Suggestion text size matching settings

The candidates view height is based on the height of keyboard rows and
the suggestion text size is based on the size of labels on the keys.

This is influenced by symbol size and keyboard height options.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Refactor: Create subpackage 'suggestions'

* Candidates view: Status message when no dictionary installed

Show a message on the candidates view instead of leaving it empty. A
button points to the dictionary installation activity.

* Add an option to disable the suggestions

* Refactor: Remove Config.should_show_candidates_view

This was moved to EditorConfig.

* Don't disable text suggestions in some text boxes

* Suggestion text size matching settings

The candidates view height is based on the height of keyboard rows and
the suggestion text size is based on the size of labels on the keys.

This is influenced by symbol size and keyboard height options.</pre>
</div>
</content>
</entry>
<entry>
<title>Candidates view</title>
<updated>2025-12-28T16:56:37+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2025-07-27T20:09:45+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=98c1b8db82c0da8f49eb12d18c9001a57009eca5'/>
<id>98c1b8db82c0da8f49eb12d18c9001a57009eca5</id>
<content type='text'>
The `CandidatesView` is implemented as a `LinearLayout` that is divided
horizontally with up to 3 `TextView`. It might in the future contain
buttons on the sides.

The candidate view is nested into the input view rather than using
Android's `setCandidatesView` and callbacks as the API is unreliable and
complicated.

The first suggestion goes in the middle to be more accessible. The
second suggestion goes on the right to be more accessible to the
right-handed, because it must go somewhere.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The `CandidatesView` is implemented as a `LinearLayout` that is divided
horizontally with up to 3 `TextView`. It might in the future contain
buttons on the sides.

The candidate view is nested into the input view rather than using
Android's `setCandidatesView` and callbacks as the API is unreliable and
complicated.

The first suggestion goes in the middle to be more accessible. The
second suggestion goes on the right to be more accessible to the
right-handed, because it must go somewhere.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add themes</title>
<updated>2021-12-29T23:26:05+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2021-12-29T23:26:05+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=093a00c572a29d292bc6bbb09559611cb61e1331'/>
<id>093a00c572a29d292bc6bbb09559611cb61e1331</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Use the themes abstraction</title>
<updated>2021-12-28T18:12:50+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2021-12-28T18:12:50+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=40b1ec63a932606fb432ee81801acf147e9ee70e'/>
<id>40b1ec63a932606fb432ee81801acf147e9ee70e</id>
<content type='text'>
Themes replace 'colors.xml' and soon will replace 'dimens.xml'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Themes replace 'colors.xml' and soon will replace 'dimens.xml'.
</pre>
</div>
</content>
</entry>
<entry>
<title>Auto-format Java and XML files</title>
<updated>2021-12-19T18:44:27+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2021-12-19T18:44:27+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=1cfecbdf48edb65cc0be8b017c8f389f91212a32'/>
<id>1cfecbdf48edb65cc0be8b017c8f389f91212a32</id>
<content type='text'>
Use xmllint.
Re-indent Java files using spaces.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use xmllint.
Re-indent Java files using spaces.
</pre>
</div>
</content>
</entry>
<entry>
<title>Start with emojis</title>
<updated>2015-10-23T12:22:43+00:00</updated>
<author>
<name>jaguillo</name>
</author>
<published>2015-10-23T12:22:43+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=db20d528847fe6b451c19eb0b95eeb12954f98a4'/>
<id>db20d528847fe6b451c19eb0b95eeb12954f98a4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
