Customise with limited number of keys just for French accents

Asked by Joe Linux on 2017-03-14

I would like to make it much smaller, with a limited number of keys exclusively for the French accented characters. Linux Mint, Libreoffice.

Question information

Language:
English Edit question
Status:
Answered
For:
Onboard Edit question
Assignee:
No assignee Edit question
Last query:
2017-03-14
Last reply:
2017-03-19
Francesco Fumanti (frafu) said : #1

Hi,

Thanks for your interest in Onboard.

It is possible to create custom layouts for Onboard. A look at the Advanced Configuration section of the Onboard help might get you started. However, the information in the help is not complete. You can open the Help from Onboard by using the indicator menu of Onboard or by a right click of the floating icon. Both run the following command:
/usr/bin/yelp help:onboard

Moreover, here is a quote with some sentences written by marmuta in Question #406568:

=== start quote ===
Best advice I can give is to look at the source, mainly
https://bazaar.launchpad.net/~onboard/onboard/trunk/view/head:/Onboard/LayoutLoaderSVG.py
or ask us.

panel = rectangular area with children placed at "fixed" x,y positions (taken from the svg files)
box = rectangular area with children placed in a single row (horizontal) or column (vertical).
Key groups = label size group; all labels in the same group get the same font size, determined by the largest label of that group
=== end quote ===

Don't hesitate to ask if you need more pieces of information.

Cheers,

Francesco

Joe Linux (gbodley) said : #2

I duplicated the "Phone" layout, renaming it "French" I opened the file "French-Alpha.svg". I was able to identify the Key Preference of the most upper left key (AD01-cyr). However the Onboard keyboard has 10 keys in the top row. The "French-Alpha.svg" has 11 keys in the top row. Result = I'm confused. In my opinion the Inkscape image should replicate the number of keys on the keyboard in use. Any advice will be greatly appreciated.

As an aside the is a great opportunity for end users to create unique layouts which could be contributed to the project, but they need to know how to do it.

Francesco Fumanti (frafu) said : #3

AD01-cyr in the Phone.onboard file is for cyrillic layouts; AD01 further down in the Phone.onboard file is for latin layouts. In fact, 10 keys turned out to be insufficient for cyrillic.

If in Inkscape, you open the menu Layer->Layers... , you will get a pane where you can toggle the visibility of the different layers in the Phone-Alpha.svg file.

By the way, when you save the svg file, Inkscape adds more comments at the top of the svg file; you can see them by opening the svg file in a text editor. Unfortunately, these comments break Onboard; thus you have to remove them manually.

Joe Linux (gbodley) said : #4

Apparently in the end I will need a keyboard with 24 keys. I'm not sure what would be the most user friendly. Perhaps two rows of 12 providing a narrow band at the bottom. Or perhaps there's a better configuration. Is it possible of "Onboard" to float above the work rather than being fixed to the bottom of the screen, more like the Gimp tools? In this case four rows of 6 or six rows of 4 might be better. In any case, in your opinion what would be the best layout to start configuring a limited to French accents keyboard?

Please see this site: http://french.typeit.org/

Francesco Fumanti (frafu) said : #5

You can disable "Docking" in the Preferences of Onboard. You can find the corresponding option in the "Window" section of the Preferences dialog of Onboard. Moreover, in the Auto-show section of the Preferences, there is an option to make the floating Onboard keyboard automatically move near to the input field.

Concerning the french accents: normally, the Onboard layout follows the language set for the system language layout. If your system is set to use an azerty layout for the hardware keyboard, Onboard should also show an azerty layout. In fact, I have enabled the appindicator on my system to switch keyboard layouts and I use it to toggle for example, between the US and a french layout. When set to the french azerty layout, Onboard displays for example the éèàç on the row with the numbers as any azerty layout. Is this not enough for your use case?

If however, you are aiming at merely creating a palette with the accentuated characters, you should only use "char" for the definition of the key in the layout you intend to create, so that the key remains independent from the system keyboard layout. Maybe that the Grid layout is then a better starting point for what you are looking for, as it is a less complex layout than the other layouts. Moreover, in the Whiteboard wide layout, you can see examples on how to define keys by using "char".

Joe Linux (gbodley) said : #6

The French accents have always been there from the beginning. I was hoping to have a layout where at least the lower case ones were on the very top so that you could just click one on them to enter the character. I tried changing my language and key board settings system wide but ended up not being able to enter the root password. Luckily I was able to use the "Onboard" keyboard top enter in the proper characters or it could have been a real mess. The undocking feature is really nice. I like the floating keyboard scaled down to a small size very much. It seems I'm above my pay grade when it comes to creating the exact layout I desire, mainly the accented keys being visible from the very start. Perhaps someone smarter than myself will contribute a French accent specific keyboard. It's better than what I had before which was just the "Character Palette" on the upper panel. That was tedious for extensive character entry. I'm translating a French book into Kindle format, and I have to type all the French as well as the English. The English translation follows the French paragraph by paragraph.

For example:
- Jerry m’a donné votre numéro, annonça Jean. Quand pouvons-nous nous rencontrer ?
“Jerry gave me your number,” John declared. “When can we get together?”

Although the French is in italics which I don't know how do do here.

Anyway, thanks for all the help. Things are smoother than before but I'll have to give up on a custom creation as I just don't have adequate programming skills.

Francesco Fumanti (frafu) said : #7

If I get you right: you want to use the Onboard keyboard only for entering the letters with accent; you type the rest on a hardware keyboard. Correct? Could you please explain in more detail how you type? Everything with a hardware keyboard and later correct the accents by using Onboard, or...

By the way, you can also type accentuated letters with Onboard by holding the letter without accent pressed down. A popup with accentuated variations of the corresponding letter will appear.

Joe Linux (gbodley) said : #8

Thanks for asking. I've always been typing with my main keyboard. I have an Intel NUC that I enjoy greatly. The NUC is perhaps one of the best computers I ever owned. I like it because I can hook it up to my TV to watch downloaded movies. I have a Logitech k830 wireless keyboard. It was expensive, but has good key feel unlike most of the keyboards available these days. I've been working on translating this French espionage story written by one of the most prolific and exiting authors of all time. I do the work at my desk with a 24" TV as the monitor. and I'm presently running Linux Mint 18.1 with the Maté desktop. I only learned about Onboard a few days ago. I have to say, you guys have done a fabulous job with it and it's really a fantastic addition to my system. I didn't realize how versatile it is until I came here for help and you started explaining some of the configurations. It already does many wonderful things. But as I said my real purpose is simply to type a limited number of letter with accents for a major piece of work which constantly switches between English and French. I already had all the characters I needed on the panel applet called "Character Pallet" which worked but was tedious because you have to take the mouse up to the panel, select the character, return to your work, place the mouse in the proper position and usually press <ctrl>+v. This was clumsy with words like "été", déjà, and especially anything with a "ée" like "bordée."

So getting to the point, I realized that the "Onboard" was a much more user friendly solution. as the cursor remains stationary àaánd you just use the mouse on "Onboard" to enter the proper letter. What I believe could be improved is having the accented letters on whatever the first layer or top layer of the keyboard is called. The letters I believe I'm most interested in are these: À à â æ ç é è ê ë ï î ô œ ù û ü ÿ € ° « » – —. Suppposedly the complete list is: À à  â Ä ä Æ æ Ç ç È è É é Ê ê Ë ë Îï Ô ô Œ œ Ù ù Û û Ü ü, but I think the first list is better and perhaps even a few characters more than necessary. Since the "Onboard" capitals can be achieved with the caps lock key on my main keyboard about a few more than half the keys are needed.

In the interest of ease of use, these accented letters at least in their lowercase form need to be directly on the face, not addressed through a sub-screen as it is now. Don't get me wrong. They way it works now is great for what I will refer to as casual purposing. If you don't do much of this work it's not much trouble to click on an Onboard key and then select the appropriate accent. Infact, it's better than the Character Pallet. But the most efficient would be to just bring the mouse down to Onboard, click once on the appropriate symbol, let it do its thing, and keep on moving. I find it a bit tedious to have to open up the secondary menu and search a second time for the correct symbol. It's great that its there, but its just not as swift as it could potentially be. Believe me I would create keyboard I would like myself, but I just don't know the character codes, and the programing details. Most ideally would be some way to go into a mode where the end user could just drag the keys he or she wanted to the position he wanted such as in those old sliding puzzles. I imagine that could be done, but it would be a huge job for the programmers, and might not be necessarily desired by most users. On the other hand, I think there is a desire for an auxillary keypad that enables the entry of specific accents. I didn't look but perhaps USB hardware versions already exist similar to the numeric add-on keypads.

To sum it up, I don't seem to have adequate knowledge in regards to key codes and programing to do it myself, although I'm a very competent Inkscape user. So I'll just have to use what you've provided so far which I do find to be well done. That said, I'm pretty sure there will be people who come along who will know how to do what I would like; and they will make it for themselves, and in turn offer it to the project. I have contributed to "Open Clip Art" and some of my contributions have been favorited many times. I think the Linux Action Show is using my "Rope Ring" on their logo. I think these keyboards will become somewhat like wallpaper. People will create an amazing variety of specialized layouts.

Thanks for all the help and great support. Onboard is a great project and a real enhancement to my system and work flow.

The last word: The less mouse clicks and key strokes needed, the easier the execution.

Francesco Fumanti (frafu) said : #9

Thanks for the long explanation.

Marmuta, the main developer of Onboard, created a layout with the french letters with diacritics. Could you have a look to see what you are looking for?

You can install the current development version of Onboard by using our Snapshots PPA, assuming you are using a distribution supporting the PPA from Ubuntu.
https://launchpad.net/~onboard/+archive/ubuntu/snapshots

Otherwise, simply get the new layout from here
http://bazaar.launchpad.net/~onboard/onboard/trunk/files/head:/layouts/
and copy the two files into the layouts folder on your system:
~/.local/share/onboard/layouts/

Joe Linux (gbodley) said : #10

Totally Cool. More or less exactly what I was looking for. After I added the PPA repository and upgraded, Onboard would no longer launch. I removed the PPA repository, purged Onboard and reinstalled from Mint's main repository and it worked again. I was able to get the "French_diacritics.onboard" working by dropping the two files into my "layouts" folder. I do have a few suggestions:

1. I think the present version is good and some people would prefer it, but I think in the interest of screen real-estate it would be better if there was just the lower case row, and then the upper case versions was addressed by a shift key. I notice I can get the Capitals on the other layouts by pushing the Caps-lock key on my main keyboard, and of course the other Onboard layouts include the Shift-Key as well which has two modes to <shift> and then <shift-lock>, so I think it would be better to have the diacritic.onboard be a two row key board with only the lower case shown and the UPPER CASE addressed by using an added <shift> key at the very left of the bottom row.

2. Since there is empty space, I think a <space bar> might also be valuable.

3. I was hoping for this symbol "—" which is the only key missing from the layout shown here: http://french.typeit.org/
This key is a weird extra long dash which is used in French novels in lieu of quotation marks for dialog. In many ways it is more streamlined than the English system which requires more detail. Frankly I prefer this French style as it is easier for the writer.
The long "—" could be a <Shift> of the "°" key although it maybe better to have it more obvious. I'm not generally a fan of hidden features. As an aside, I do have it added to my "Character Palette" applet.

That's about all I can think of, but I have to say you guys do amazing work. Onboard is one of the very best and most amazing open source projects I have ever encountered. It's a fantastic utility that addresses a real problem. Specialized add-on keyboards could have many applications. As an example, music notation symbols would be another. Many years ago there was a specialized typewriter called the "MusicWriter" but it could make a comeback with Onboard. The more you think about it the more versatile it becomes. Emojis is another: http://www.iemoji.com/

Thank you so much.

Francesco Fumanti (frafu) said : #11

Could you please tell me what Onboard version you are running from the Mint repository? Did you try starting Onboard from the command line by typing onboard into a terminal? If so, what error messages did you get? (I am wondering why the version from the PPA did not run on your system.)

Moreover, concerning the layout, what do you think about keeping the two rows of letters instead of using a shift key and move the keys from the bottom row to the right of the letters?

Joe Linux (gbodley) said : #12

1.2.0-0ubuntu5
/.
/etc
/etc/xdg
/etc/xdg/autostart
/etc/xdg/autostart/onboard-autostart.desktop
/usr
/usr/bin
/usr/bin/onboard
/usr/bin/onboard-settings
/usr/lib
/usr/lib/python3
/usr/lib/python3/dist-packages
/usr/lib/python3/dist-packages/Onboard
/usr/lib/python3/dist-packages/Onboard/Appearance.py
/usr/lib/python3/dist-packages/Onboard/AtspiStateTracker.py
/usr/lib/python3/dist-packages/Onboard/AutoHide.py
/usr/lib/python3/dist-packages/Onboard/AutoShow.py
/usr/lib/python3/dist-packages/Onboard/ClickSimulator.py
/usr/lib/python3/dist-packages/Onboard/Config.py
/usr/lib/python3/dist-packages/Onboard/ConfigUtils.py
/usr/lib/python3/dist-packages/Onboard/Exceptions.py
/usr/lib/python3/dist-packages/Onboard/IconPalette.py
/usr/lib/python3/dist-packages/Onboard/Indicator.py
/usr/lib/python3/dist-packages/Onboard/KbdWindow.py
/usr/lib/python3/dist-packages/Onboard/KeyCommon.py
/usr/lib/python3/dist-packages/Onboard/KeyGtk.py
/usr/lib/python3/dist-packages/Onboard/Keyboard.py
/usr/lib/python3/dist-packages/Onboard/KeyboardPopups.py
/usr/lib/python3/dist-packages/Onboard/KeyboardWidget.py
/usr/lib/python3/dist-packages/Onboard/LanguageSupport.py
/usr/lib/python3/dist-packages/Onboard/Layout.py
/usr/lib/python3/dist-packages/Onboard/LayoutLoaderSVG.py
/usr/lib/python3/dist-packages/Onboard/LayoutView.py
/usr/lib/python3/dist-packages/Onboard/OnboardGtk.py
/usr/lib/python3/dist-packages/Onboard/Scanner.py
/usr/lib/python3/dist-packages/Onboard/SnippetView.py
/usr/lib/python3/dist-packages/Onboard/Sound.py
/usr/lib/python3/dist-packages/Onboard/SpellChecker.py
/usr/lib/python3/dist-packages/Onboard/TextChanges.py
/usr/lib/python3/dist-packages/Onboard/TextContext.py
/usr/lib/python3/dist-packages/Onboard/TextDomain.py
/usr/lib/python3/dist-packages/Onboard/Timer.py
/usr/lib/python3/dist-packages/Onboard/TouchHandles.py
/usr/lib/python3/dist-packages/Onboard/TouchInput.py
/usr/lib/python3/dist-packages/Onboard/Version.py
/usr/lib/python3/dist-packages/Onboard/WPEngine.py
/usr/lib/python3/dist-packages/Onboard/WindowUtils.py
/usr/lib/python3/dist-packages/Onboard/WordSuggestions.py
/usr/lib/python3/dist-packages/Onboard/XInput.py
/usr/lib/python3/dist-packages/Onboard/__init__.py
/usr/lib/python3/dist-packages/Onboard/canonical_equivalents.py
/usr/lib/python3/dist-packages/Onboard/definitions.py
/usr/lib/python3/dist-packages/Onboard/osk.cpython-35m-x86_64-linux-gnu.so
/usr/lib/python3/dist-packages/Onboard/pypredict
/usr/lib/python3/dist-packages/Onboard/pypredict/__init__.py
/usr/lib/python3/dist-packages/Onboard/pypredict/lm.cpython-35m-x86_64-linux-gnu.so
/usr/lib/python3/dist-packages/Onboard/pypredict/lm_wrapper.py
/usr/lib/python3/dist-packages/Onboard/settings.py
/usr/lib/python3/dist-packages/Onboard/utils.py
/usr/lib/python3/dist-packages/onboard-1.2.0.egg-info
/usr/share
/usr/share/applications
/usr/share/applications/onboard-settings.desktop
/usr/share/applications/onboard.desktop
/usr/share/doc
/usr/share/doc/onboard
/usr/share/doc/onboard/changelog.Debian.gz
/usr/share/doc/onboard/copyright
/usr/share/glib-2.0
/usr/share/glib-2.0/schemas
/usr/share/glib-2.0/schemas/org.onboard.gschema.xml
/usr/share/help
/usr/share/help/C
/usr/share/help/C/onboard
/usr/share/help/C/onboard/custom-defaults.page
/usr/share/help/C/onboard/dm-gdm.page
/usr/share/help/C/onboard/dm-index.page
/usr/share/help/C/onboard/dm-lightdm.page
/usr/share/help/C/onboard/embed-onboard.page
/usr/share/help/C/onboard/figures
/usr/share/help/C/onboard/figures/alt-key.png
/usr/share/help/C/onboard/figures/altgr-key.png
/usr/share/help/C/onboard/figures/character-keys.png
/usr/share/help/C/onboard/figures/click-helpers-button.png
/usr/share/help/C/onboard/figures/correction-button.png
/usr/share/help/C/onboard/figures/ctrl-key.png
/usr/share/help/C/onboard/figures/double-click-button.png
/usr/share/help/C/onboard/figures/drag-click-button.png
/usr/share/help/C/onboard/figures/hover-click-button.png
/usr/share/help/C/onboard/figures/layer2-Small-button.png
/usr/share/help/C/onboard/figures/layer2-button.png
/usr/share/help/C/onboard/figures/layer3-button.png
/usr/share/help/C/onboard/figures/middle-click-button.png
/usr/share/help/C/onboard/figures/move-button.png
/usr/share/help/C/onboard/figures/onboard-icon.png
/usr/share/help/C/onboard/figures/onboard_compact_nightshade_prediction.png
/usr/share/help/C/onboard/figures/prediction-buttons.png
/usr/share/help/C/onboard/figures/right-click-button.png
/usr/share/help/C/onboard/figures/shift-key.png
/usr/share/help/C/onboard/figures/snippet-buttons.png
/usr/share/help/C/onboard/figures/super-key.png
/usr/share/help/C/onboard/hover-click.page
/usr/share/help/C/onboard/index.page
/usr/share/help/C/onboard/introduction.page
/usr/share/help/C/onboard/key-behaviours.page
/usr/share/help/C/onboard/layouts-create-copy.page
/usr/share/help/C/onboard/layouts-index.page
/usr/share/help/C/onboard/layouts-replace-character.page
/usr/share/help/C/onboard/layouts-specification.page
/usr/share/help/C/onboard/multiple-selections.page
/usr/share/help/C/onboard/overview.page
/usr/share/help/C/onboard/password-dialogs.page
/usr/share/help/C/onboard/snippet-definition.page
/usr/share/help/C/onboard/snippet-usage.page
/usr/share/help/C/onboard/switch-click-type.page
/usr/share/help/C/onboard/switch-layer.page
/usr/share/help/C/onboard/themes-index.page
/usr/share/icons
/usr/share/icons/HighContrast
/usr/share/icons/HighContrast/scalable
/usr/share/icons/HighContrast/scalable/apps
/usr/share/icons/HighContrast/scalable/apps/onboard.svg
/usr/share/icons/hicolor
/usr/share/icons/hicolor/22x22
/usr/share/icons/hicolor/22x22/apps
/usr/share/icons/hicolor/22x22/apps/onboard.png
/usr/share/icons/hicolor/scalable
/usr/share/icons/hicolor/scalable/apps
/usr/share/icons/hicolor/scalable/apps/onboard.svg
/usr/share/icons/ubuntu-mono-dark
/usr/share/icons/ubuntu-mono-dark/status
/usr/share/icons/ubuntu-mono-dark/status/22
/usr/share/icons/ubuntu-mono-dark/status/22/onboard-panel.svg
/usr/share/icons/ubuntu-mono-light
/usr/share/icons/ubuntu-mono-light/status
/usr/share/icons/ubuntu-mono-light/status/22
/usr/share/icons/ubuntu-mono-light/status/22/onboard-panel.svg
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/onboard-settings.1.gz
/usr/share/man/man1/onboard.1.gz
/usr/share/onboard
/usr/share/onboard/AUTHORS
/usr/share/onboard/CHANGELOG
/usr/share/onboard/COPYING
/usr/share/onboard/COPYING.BSD3
/usr/share/onboard/COPYING.GPL3
/usr/share/onboard/HACKING
/usr/share/onboard/NEWS
/usr/share/onboard/README
/usr/share/onboard/layouts
/usr/share/onboard/layouts/Compact-Alpha.svg
/usr/share/onboard/layouts/Compact-Numbers.svg
/usr/share/onboard/layouts/Compact-Utils.svg
/usr/share/onboard/layouts/Compact.onboard
/usr/share/onboard/layouts/Full Keyboard-Alpha.svg
/usr/share/onboard/layouts/Full Keyboard-Numpad.svg
/usr/share/onboard/layouts/Full Keyboard.onboard
/usr/share/onboard/layouts/Grid-Alpha.svg
/usr/share/onboard/layouts/Grid.onboard
/usr/share/onboard/layouts/Phone-Alpha.svg
/usr/share/onboard/layouts/Phone-Emoji.svg
/usr/share/onboard/layouts/Phone-Numbers.svg
/usr/share/onboard/layouts/Phone-Syms.svg
/usr/share/onboard/layouts/Phone.onboard
/usr/share/onboard/layouts/Small-Alpha.svg
/usr/share/onboard/layouts/Small-Emoji.svg
/usr/share/onboard/layouts/Small-Fn.svg
/usr/share/onboard/layouts/Small-Numbers.svg
/usr/share/onboard/layouts/Small-Snippets.svg
/usr/share/onboard/layouts/Small-Syms.svg
/usr/share/onboard/layouts/Small.onboard
/usr/share/onboard/layouts/Whiteboard-Alpha.svg
/usr/share/onboard/layouts/Whiteboard-Arrows.svg
/usr/share/onboard/layouts/Whiteboard-Emoji.svg
/usr/share/onboard/layouts/Whiteboard-Greek.svg
/usr/share/onboard/layouts/Whiteboard-Numbers.svg
/usr/share/onboard/layouts/Whiteboard-Syms.svg
/usr/share/onboard/layouts/Whiteboard.onboard
/usr/share/onboard/layouts/Whiteboard_wide-Alpha.svg
/usr/share/onboard/layouts/Whiteboard_wide.onboard
/usr/share/onboard/layouts/images
/usr/share/onboard/layouts/images/arrow-down.svg
/usr/share/onboard/layouts/images/arrow-left.svg
/usr/share/onboard/layouts/images/arrow-right.svg
/usr/share/onboard/layouts/images/close.svg
/usr/share/onboard/layouts/images/double-click.svg
/usr/share/onboard/layouts/images/drag-click.svg
/usr/share/onboard/layouts/images/erase-left.svg
/usr/share/onboard/layouts/images/erase.svg
/usr/share/onboard/layouts/images/hide.svg
/usr/share/onboard/layouts/images/hover-click.svg
/usr/share/onboard/layouts/images/middle-click.svg
/usr/share/onboard/layouts/images/move.svg
/usr/share/onboard/layouts/images/pause.svg
/usr/share/onboard/layouts/images/preferences.svg
/usr/share/onboard/layouts/images/right-click.svg
/usr/share/onboard/layouts/images/show-click.svg
/usr/share/onboard/layouts/images/single-click.svg
/usr/share/onboard/layouts/images/snippets.svg
/usr/share/onboard/layouts/key_defs.xml
/usr/share/onboard/layouts/word_suggestions.xml
/usr/share/onboard/layoutstrings.py
/usr/share/onboard/onboard-defaults.conf
/usr/share/onboard/onboard-defaults.conf.example
/usr/share/onboard/scripts
/usr/share/onboard/scripts/sokSettings.py
/usr/share/onboard/settings.ui
/usr/share/onboard/settings_auto_show_dialog.ui
/usr/share/onboard/settings_docking_dialog.ui
/usr/share/onboard/settings_scanner_dialog.ui
/usr/share/onboard/settings_theme_dialog.ui
/usr/share/onboard/themes
/usr/share/onboard/themes/Ambiance.theme
/usr/share/onboard/themes/Aubergine.colors
/usr/share/onboard/themes/Black.colors
/usr/share/onboard/themes/Blackboard.theme
/usr/share/onboard/themes/Charcoal.colors
/usr/share/onboard/themes/Classic Onboard.colors
/usr/share/onboard/themes/Classic Onboard.theme
/usr/share/onboard/themes/DarkRoom.colors
/usr/share/onboard/themes/DarkRoom.theme
/usr/share/onboard/themes/Droid.theme
/usr/share/onboard/themes/Granite.colors
/usr/share/onboard/themes/HighContrast.colors
/usr/share/onboard/themes/HighContrast.theme
/usr/share/onboard/themes/HighContrastInverse.theme
/usr/share/onboard/themes/HighContrastInverseBlack.colors
/usr/share/onboard/themes/HighContrastInverseBlue.colors
/usr/share/onboard/themes/LowContrast.colors
/usr/share/onboard/themes/LowContrast.theme
/usr/share/onboard/themes/ModelM.colors
/usr/share/onboard/themes/ModelM.theme
/usr/share/onboard/themes/Nightshade.theme
/usr/share/onboard/themes/Typist.colors
/usr/share/onboard/themes/Typist.theme
/usr/share/onboard/tools
/usr/share/onboard/tools/checkmodels
/usr/share/python3
/usr/share/python3/runtime.d
/usr/share/python3/runtime.d/onboard.rtupdate
/usr/share/sounds
/usr/share/sounds/freedesktop
/usr/share/sounds/freedesktop/stereo
/usr/share/sounds/freedesktop/stereo/onboard-key-feedback.oga

As for the Triple row keyboard, with the lower case on top, and the Upper case in the middle and extra keys on the bottom. If I knew how to do it myself, I would have just two rows with the lower case row showing, and then shifting to the Upper case. For one thing, the Upper case isn't used as often. The extra symbols on the bottom are fine, but I believe the shift key should go on that row. Since wasted space is not good either, the empty space should probably be filled in with space bar, and perhaps some other keys like delete. backspace, and return. Don't forget about the "—" as that's actually been problematic in my translation as its not the same as "--", and the spell/grammar checker will correct it. I've been using "-" but then the document format gets messed up if that gets changed to" —".

Yeah, I don't know why the PPA didn't launch. That was an odd one. Luckily it's working now. Simplest seems to just drop in the files, but obviously it would be far better to have the PPA working as it's suppose to. Here's my terminal output now with the version that is actually working:

jl@jl-NUC ~ $ onboard

(onboard:13191): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed

marmuta (marmuta) said : #13

I'm interested too in the error messages you get when you launch the snapshot version of Onboard from the terminal. Note that you would first have to quit any currently running instances of Onboard, else the single instance check would just show the existing instance, then silently exit.
$ killall onboard; onboard

Also what operating system and version are you running? I'm not sure it was mentioned here before.
$ cat /etc/issue

If it still silently fails to start, you can get debug output with
$ onboard -d debug

I've pushed a new version of the French_diacritics layout, taking your and Francesco's input into account. Changes are here:
http://bazaar.launchpad.net/~onboard/onboard/trunk/revision/2262

Wikipedia seems to indicate that both en dash and em dash may be used in French, so I've added both of them, see:
https://en.wikipedia.org/wiki/Dash#In_other_languages

Joe Linux (gbodley) said : #14

I'll give you a more detailed response later on regarding the error messages using the PPA's all I know is it didn't launch, and I did quit the running Onboard, and even logged out of the desktop and back in.

jl@jl-NUC ~ $ cat /etc/issue
Linux Mint 18.1 Serena \n \l

jl@jl-NUC ~ $ $ killall onboard; onboard
$: command not found
jl@jl-NUC ~ $

Interestingly Onboard popped up. I'm presently running undocked.

jl@jl-NUC ~ $ $ onboard -d debug
$: command not found

I'll test the revised keyboard later when I have more time. I've been using the one you created yesterday and find it very useful. Much easier input than with the Character Pallete method I was using previously.

Seems I or Mint has a poor path to onboard

Joe Linux (gbodley) said : #15

OK, I tested the revised layout. It's fantastic. It's amazingly beautiful. Superb! I could not be more pleased. However there is one small behavior that differs from the other layouts. If I choose the "Small" keyboard and push the <Shift> key om my hardware keyboard , the key faces on Onboard switch to upper case and the <onboard-shift> changes color. <CapsLock> is similar all the Onboard key faces switch as stay until they are released. However with the French_diacritics keyboard, the key faces do not switch although they do print to the screen as upper or lower case depending on the toggle <Shift> has the effect of rendering a capital letter even though the key faces have not changed on the Onboard theme.

 I think the key faces changing along with the proper <shift> or <caps-lock> key lighting up is in fact a very nice feature which is presently missing from the French_diacritics theme. Other than that, it's highly user friendly.

One addition comment is that selecting the French_diacritics keyboard theme in no way restricts Onboard in terms of more complete keyboards as the original larger styles can still be selected from the theme menu.

Do you still want me to try to test the PPA again? I'm a bit nervous about it as what I have is working and I hate to start over from zero again.

marmuta (marmuta) said : #16

> jl@jl-NUC ~ $ $ killall onboard; onboard
Drop the "$". I tend to add those to indicate a terminal prompt.

Shift and CapsLock have no effect because the button in the FD layout is not a real modifier, but a layer button, something only known to Onboard and not to the rest of the system like Shift. Right-click for upper case doesn't work for the same reason.

The keys are of type "char" and those currently don't work fully with modifiers. They can have multiple labels, for e.g. SHIFT, CTRL, etc., but can only generate a single character (sequence) when clicked. We never really needed more, so far.

It's probably possible to change that, but I have other things waiting for me at the moment, emoji, mainly. I'll put it on my list and update the French_diacritics layout when it's available.

> Do you still want me to try to test the PPA again? I'm a bit nervous about it as what I have is
> working and I hate to start over from zero again.
Yes please, if you can. It can't be that bad, Onboard 1.4 is in Ubuntu 17.04, and I tested the snapshot's revision on Ubuntu 16.04 (which Mint Serena is based on) just a few days ago. Also 1.4 is quite a step up from 1.2 in terms of features, bug fixes. It should auto-detect that MATE needs GtkStatusIcon, for example.

Joe Linux (gbodley) said : #17

Very sorry about pasting the $ into the commands. I know better than that, but I'm dyslexic at times.

jl@jl-NUC ~ $ killall onboard; onboard
onboard: no process found

(onboard:3666): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed

Onboard using Mint repository version:

jl@jl-NUC ~ $ onboard -d debug
04:45:20.498 INFO Config gsettings schema for 'org.gnome.Mousetweaks' is not installed
04:45:20.503 INFO ClickSimulator 'CSMousetweaks0' selected for mousetweaks up to version 3.8.
04:45:20.504 DEBUG Config command line: ['/usr/bin/onboard', '-d', 'debug']
04:45:20.506 DEBUG Config lauched by, process: '['bash', '']'
04:45:20.507 DEBUG Config lauched by, detected: 0
04:45:20.507 INFO ConfigUtils Looking for system defaults in ['/home/jl/.config/onboard/onboard-defaults.conf', '/etc/xdg/xdg-mate/onboard/onboard-defaults.conf', '/etc/xdg/onboard/onboard-defaults.conf', '/usr/share/onboard/onboard-defaults.conf', '/etc/onboard/onboard-defaults.conf']
04:45:20.508 INFO ConfigUtils Loading system defaults from ['/usr/share/onboard/onboard-defaults.conf']
04:45:20.508 INFO ConfigUtils Found system default '[window.landscape] dock-expand=True'
04:45:20.508 INFO ConfigUtils Found system default '[window] docking-enabled=True'
04:45:20.508 INFO ConfigUtils Found system default '[window] force-to-top=True'
04:45:20.509 INFO ConfigUtils Found system default '[auto-show] enabled=False'
04:45:20.509 INFO ConfigUtils Found system default '[main] layout=Compact'
04:45:20.509 INFO ConfigUtils Found system default '[main] theme=Nightshade'
04:45:20.509 INFO ConfigUtils Found system default '[main] key-label-font=Ubuntu'
04:45:20.509 INFO ConfigUtils Found system default '[main] superkey-label='
04:45:20.509 INFO ConfigUtils Found system default '[main] superkey-label-independent-size=True'
04:45:20.509 INFO ConfigUtils Found system default '[main] xembed-onboard=True'
04:45:20.509 INFO ConfigUtils Found system default '[main] xembed-aspect-change-range=[0, 1.6]'
04:45:20.509 INFO ConfigUtils Found system default '[main] xembed-unity-greeter-offset-x=85.0'
04:45:20.509 INFO ConfigUtils Found system default '[main] xembed-background-color='#0000007F''
04:45:20.509 INFO ConfigUtils Found system default '[main] xembed-background-image-enabled=True'
04:45:20.529 INFO Config Theme candidates ['/usr/share/onboard/themes/Droid.theme', '', '', 'Nightshade', 'Classic Onboard']
04:45:20.529 INFO Config Loading theme from '/usr/share/onboard/themes/Droid.theme'
04:45:20.531 DEBUG Config Leaving init
04:45:20.561 DEBUG WindowUtils restore_window_rect Rect(x=100.0 y=50.0 w=64.0 h=64.0), <class 'Onboard.WindowUtils.Orientation.LANDSCAPE'>
04:45:20.562 DEBUG KbdWindow Entered in __init__
04:45:20.562 DEBUG KbdWindow window manager: Metacity (Marco)
04:45:20.562 DEBUG KbdWindow quirks selected: <class 'Onboard.KbdWindow.WMQuirksDefault'>
04:45:20.562 DEBUG KbdWindow screen changed, supports_alpha=True
04:45:20.563 DEBUG KbdWindow Leaving __init__
04:45:20.563 DEBUG WindowUtils restore_window_rect Rect(x=804.0 y=450.0 w=488.0 h=76.0), <class 'Onboard.WindowUtils.Orientation.LANDSCAPE'>
04:45:20.563 INFO OnboardGtk Loading initial layout
04:45:20.578 DEBUG ConfigUtils layout '/home/jl/.local/share/onboard/layouts/French_diacritics.onboard' found.
04:45:20.579 INFO OnboardGtk Loading keyboard layout /home/jl/.local/share/onboard/layouts/French_diacritics.onboard
04:45:20.579 INFO OnboardGtk Loading color scheme /usr/share/onboard/themes/Granite.colors
04:45:20.581 INFO LayoutLoaderSVG current system keyboard layout(variant): 'us'
04:45:20.583 DEBUG ConfigUtils layout include 'key_defs.xml' not found yet, retrying in default paths
04:45:20.583 DEBUG ConfigUtils layout include '/usr/share/onboard/layouts/key_defs.xml' found.
04:45:20.583 INFO LayoutLoaderSVG Including layout 'key_defs.xml'
04:45:20.588 DEBUG ConfigUtils layout include 'word_suggestions.xml' not found yet, retrying in default paths
04:45:20.589 DEBUG ConfigUtils layout include '/usr/share/onboard/layouts/word_suggestions.xml' found.
04:45:20.589 INFO LayoutLoaderSVG Including layout 'word_suggestions.xml'
04:45:20.601 INFO LayoutLoaderSVG Ignoring key 'quit'. No svg object found for 'quit'.
04:45:20.601 INFO LayoutLoaderSVG Ignoring key 'settings'. No svg object found for 'settings'.
04:45:20.601 INFO LayoutLoaderSVG Ignoring key 'move'. No svg object found for 'move'.
04:45:20.609 INFO Onboard.Keyboard using click simulator 'CSButtonMapper'
04:45:20.623 DEBUG Onboard.Keyboard ButtonController: BarKey('next-predictions').sensitive = False
04:45:20.623 DEBUG Onboard.Keyboard ButtonController: BarKey('previous-predictions').sensitive = False
04:45:20.641 DEBUG WindowUtils restore_window_rect Rect(x=804.0 y=450.0 w=488.0 h=76.0), <class 'Onboard.WindowUtils.Orientation.LANDSCAPE'>
04:45:20.642 DEBUG TouchInput setting touch input mode 0: touch_events_enabled=False, multi_touch_enabled=False, gestures_enabled=False
04:45:20.643 DEBUG OnboardGtk keep_windows_on_top [<KbdWindow.KbdWindow object at 0x7f836dafb2d0 (Onboard+KbdWindow+KbdWindow at 0x1d0abf0)>, <IconPalette.IconPalette object at 0x7f836db63990 (Onboard+IconPalette+IconPalette at 0x1d0a980)>]
04:45:20.662 INFO OnboardGtk Entering mainloop of onboard
04:45:20.663 DEBUG KbdWindow window_state_event: <flags GDK_WINDOW_STATE_STICKY | GDK_WINDOW_STATE_ABOVE | GDK_WINDOW_STATE_FOCUSED of type Gdk.WindowState>, <flags GDK_WINDOW_STATE_WITHDRAWN | GDK_WINDOW_STATE_STICKY | GDK_WINDOW_STATE_ABOVE | GDK_WINDOW_STATE_FOCUSED of type Gdk.WindowState>
04:45:20.664 DEBUG KbdWindow window_state_event: <flags GDK_WINDOW_STATE_STICKY of type Gdk.WindowState>, <flags GDK_WINDOW_STATE_WITHDRAWN | GDK_WINDOW_STATE_ABOVE | GDK_WINDOW_STATE_FOCUSED of type Gdk.WindowState>

(onboard:3786): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PPA installed, refreshed repositiory, new version installed from PPA: Icon launches in systray, but Onboard fails to launch, Interestingly Preferences will launch, but not the actual keyboard:

jl@jl-NUC ~ $ killall onboard; onboard
onboard: no process found

(onboard:5467): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed

jl@jl-NUC ~ $ onboard

(onboard:5563): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed

jl@jl-NUC ~ $ onboard -d debug
05:00:41.056 INFO Config gsettings schema for 'org.gnome.Mousetweaks' is not installed
05:00:41.061 INFO ClickSimulator 'CSMousetweaks0' selected for mousetweaks up to version 3.8.
05:00:41.062 DEBUG Config Desktop environment: MATE
05:00:41.065 DEBUG Config command line: ['/usr/bin/onboard', '-d', 'debug']
05:00:41.066 DEBUG Config lauched by, process: '['bash', '']'
05:00:41.066 DEBUG Config lauched by, detected: 0
05:00:41.066 INFO ConfigUtils Looking for system defaults in ['/home/jl/.config/onboard/onboard-defaults.conf', '/etc/xdg/xdg-mate/onboard/onboard-defaults.conf', '/etc/xdg/onboard/onboard-defaults.conf', '/usr/share/onboard/onboard-defaults.conf', '/etc/onboard/onboard-defaults.conf']
05:00:41.068 INFO ConfigUtils Loading system defaults from ['/usr/share/onboard/onboard-defaults.conf']
05:00:41.068 INFO ConfigUtils Found system default '[window] docking-enabled=True'
05:00:41.068 INFO ConfigUtils Found system default '[window] force-to-top=True'
05:00:41.068 INFO ConfigUtils Found system default '[auto-show] enabled=False'
05:00:41.068 INFO ConfigUtils Found system default '[main] layout=Compact'
05:00:41.068 INFO ConfigUtils Found system default '[main] theme=Nightshade'
05:00:41.069 INFO ConfigUtils Found system default '[main] key-label-font=Ubuntu'
05:00:41.069 INFO ConfigUtils Found system default '[main] superkey-label='
05:00:41.069 INFO ConfigUtils Found system default '[main] superkey-label-independent-size=True'
05:00:41.069 INFO ConfigUtils Found system default '[main] xembed-onboard=True'
05:00:41.069 INFO ConfigUtils Found system default '[main] xembed-aspect-change-range=[0, 1.6]'
05:00:41.069 INFO ConfigUtils Found system default '[main] xembed-unity-greeter-offset-x=85.0'
05:00:41.069 INFO ConfigUtils Found system default '[main] xembed-background-color=#0000007F'
05:00:41.069 INFO ConfigUtils Found system default '[main] xembed-background-image-enabled=True'
05:00:41.089 INFO Config Theme candidates ['/usr/share/onboard/themes/Droid.theme', '', '/usr/share/onboard/themes/Droid.theme', 'Nightshade', 'Classic Onboard']
05:00:41.089 INFO Config Loading theme from '/usr/share/onboard/themes/Droid.theme'
05:00:41.092 DEBUG Config Leaving init
05:00:41.119 DEBUG AutoShow enable_tablet_mode_detection False None
05:00:41.119 DEBUG AutoShow enable_keyboard_device_detection False None
05:00:41.120 DEBUG Onboard.WordSuggestions commit_changes(): has_changes=False
05:00:41.122 DEBUG WindowUtils restore_window_rect Rect(x=100.0 y=50.0 w=64.0 h=64.0), <class 'Onboard.WindowUtils.Orientation.LANDSCAPE'>
05:00:41.122 DEBUG KbdWindow Entered in __init__
05:00:41.123 DEBUG KbdWindow window manager: Metacity (Marco)
05:00:41.123 DEBUG KbdWindow quirks selected: <class 'Onboard.KbdWindow.WMQuirksDefault'>
05:00:41.123 DEBUG KbdWindow screen changed, supports_alpha=True
05:00:41.124 DEBUG KbdWindow Leaving __init__
05:00:41.124 DEBUG WindowUtils restore_window_rect Rect(x=804.0 y=450.0 w=488.0 h=100.0), <class 'Onboard.WindowUtils.Orientation.LANDSCAPE'>
05:00:41.124 INFO OnboardGtk Loading initial layout
05:00:41.139 DEBUG ConfigUtils layout '/home/jl/.local/share/onboard/layouts/French_diacritics.onboard' found.
05:00:41.140 INFO OnboardGtk Loading keyboard layout /home/jl/.local/share/onboard/layouts/French_diacritics.onboard
05:00:41.140 INFO OnboardGtk Loading color scheme /usr/share/onboard/themes/Granite.colors
05:00:41.143 INFO LayoutLoaderSVG current system keyboard layout(variant): 'us'
05:00:41.145 DEBUG ConfigUtils layout include 'key_defs.xml' not found yet, retrying in default paths
05:00:41.145 DEBUG ConfigUtils layout include '/usr/share/onboard/layouts/key_defs.xml' found.
05:00:41.145 INFO LayoutLoaderSVG Including layout 'key_defs.xml'
05:00:41.151 DEBUG ConfigUtils layout include 'word_suggestions.xml' not found yet, retrying in default paths
05:00:41.152 DEBUG ConfigUtils layout include '/usr/share/onboard/layouts/word_suggestions.xml' found.
05:00:41.152 INFO LayoutLoaderSVG Including layout 'word_suggestions.xml'
05:00:41.165 INFO LayoutLoaderSVG Ignoring key 'quit'. No svg object found for 'quit'.
05:00:41.165 INFO LayoutLoaderSVG Ignoring key 'settings'. No svg object found for 'settings'.
05:00:41.165 INFO LayoutLoaderSVG Ignoring key 'move'. No svg object found for 'move'.
05:00:41.170 DEBUG Onboard.WordSuggestions commit_changes(): has_changes=False
05:00:41.170 DEBUG Onboard.Keyboard Key-synth candidates: [<KeySynthEnum.XTEST: 1>, <KeySynthEnum.UINPUT: 2>, <KeySynthEnum.ATSPI: 3>]
05:00:41.170 INFO Onboard.Keyboard Using key-synth 'KeySynthEnum.XTEST'
05:00:41.170 DEBUG Onboard.Keyboard keyboard auto-repeat: delay 0.5, interval 0.033
05:00:41.172 DEBUG Onboard.Keyboard set_modifiers(0) False None False
05:00:41.172 INFO Onboard.Keyboard using click simulator 'CSButtonMapper'
05:00:41.186 DEBUG Onboard.Keyboard ButtonController: BarKey('previous-predictions').sensitive = False
05:00:41.187 DEBUG Onboard.Keyboard ButtonController: BarKey('next-predictions').sensitive = False
05:00:41.188 DEBUG OnboardGtk not limiting window size: Rect(x=804.0 y=450.0 w=488.0 h=100.0) to Rect(x=804.0 y=450.0 w=488.0 h=100.0)
05:00:41.188 DEBUG KbdWindow update_window_scaling_factor: scale None
05:00:41.205 DEBUG WindowUtils restore_window_rect Rect(x=804.0 y=450.0 w=488.0 h=76.0), <class 'Onboard.WindowUtils.Orientation.LANDSCAPE'>
05:00:41.206 DEBUG KbdWindow _cb_realize_event, screen size 1366x768
05:00:41.206 DEBUG KbdWindow _cb_realize_event, monitor dimensions: (1366, 768) pixel, (609, 347) mm
05:00:41.206 DEBUG KbdWindow _cb_realize_event, get_min_window_size(): 112 44
05:00:41.207 DEBUG TouchInput setting touch input mode 0: touch_events_enabled=False, multi_touch_enabled=False, gestures_enabled=False
05:00:41.208 DEBUG OnboardGtk keep_windows_on_top [<KbdWindow.KbdWindow object at 0x7fbf90106798 (Onboard+KbdWindow+KbdWindow at 0x2bd2bf0)>, <IconPalette.IconPalette object at 0x7fbf900d3438 (Onboard+IconPalette+IconPalette at 0x2bd2980)>]
05:00:41.225 INFO Indicator Status icon provider: 'BackendGtkStatusIcon' selected
05:00:41.227 INFO OnboardGtk Entering mainloop of onboard
05:00:41.228 DEBUG KbdWindow window-state-event: <flags GDK_WINDOW_STATE_STICKY | GDK_WINDOW_STATE_ABOVE | GDK_WINDOW_STATE_FOCUSED of type Gdk.WindowState>, <flags GDK_WINDOW_STATE_WITHDRAWN | GDK_WINDOW_STATE_STICKY | GDK_WINDOW_STATE_ABOVE | GDK_WINDOW_STATE_FOCUSED of type Gdk.WindowState>
05:00:41.230 DEBUG KbdWindow update_window_scaling_factor: scale 1
05:00:41.230 DEBUG KbdWindow configure-event: event Rect(x=804.0 y=450.0 w=488.0 h=76.0), allocated (1, 1), window Rect(x=804.0 y=450.0 w=488.0 h=76.0), scaling factor 1.0
05:00:41.231 DEBUG KbdWindow window-state-event: <flags GDK_WINDOW_STATE_STICKY of type Gdk.WindowState>, <flags GDK_WINDOW_STATE_WITHDRAWN | GDK_WINDOW_STATE_ABOVE | GDK_WINDOW_STATE_FOCUSED of type Gdk.WindowState>
05:00:41.231 DEBUG KbdWindow update_window_scaling_factor: scale 1
05:00:41.232 DEBUG KbdWindow configure-event: event Rect(x=804.0 y=450.0 w=488.0 h=76.0), allocated (1, 1), window Rect(x=804.0 y=450.0 w=488.0 h=76.0), scaling factor 1.0
05:00:41.233 DEBUG KbdWindow update_window_scaling_factor: scale 1
05:00:41.233 DEBUG KbdWindow configure-event: event Rect(x=804.0 y=450.0 w=488.0 h=76.0), allocated (1, 1), window Rect(x=804.0 y=450.0 w=488.0 h=76.0), scaling factor 1.0
05:00:41.233 DEBUG KbdWindow update_window_scaling_factor: scale 1
05:00:41.234 DEBUG KbdWindow configure-event: event Rect(x=804.0 y=450.0 w=488.0 h=76.0), allocated (1, 1), window Rect(x=804.0 y=450.0 w=488.0 h=76.0), scaling factor 1.0

(onboard:5651): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed

Joe Linux (gbodley) said : #18

This change is not coming from a source that supports changelogs.

Failed to fetch the changelog for onboard
URI was: http://ppa.launchpad.net/pool/main/o/onboard/onboard_1.4.1+2261-0ppa1~xenial_amd64.changelog

Remove all onboard through synaptic:
This change is not coming from a source that supports changelogs.

Failed to fetch the changelog for onboard
URI was: http://ppa.launchpad.net/pool/main/o/onboard/onboard_1.4.1+2261-0ppa1~xenial_amd64.changelog

Remove the two Onboard PPA repositories with synaptic

Refresh, reinstall original Mint Onboard

Now it's working: Bravo!

marmuta (marmuta) said : #19

Thanks for trying, I'll get Mint 18.1 then.

Joe Linux (gbodley) said : #20

7 days ago I had a major disaster with UEFI booting. I was running Ubuntu Maté, the most recent LTS. I was always having trouble with the theme as certain form spaces on various website were invisible in regards to the text entered. I tried to install Mint KDE along side, and before it was all over I had completely destroyed my system. Nothing would boot, and everything I tried made it worse. Apparently I destroyed the UEFI boot sector and was not able to create a new one. I thought I was going to have to send the computer to Intel to get it restored. Finally I did get Mint-Maté up and running. Actually aside from the theme issue, Ubuntu was better, I guess because it was a more recent release. I'm really not happy with UEFI, but I guess there's not much I can do. That's why I was nervous about reinstalling the PPA which I presumed might not work. Let me know if you get the PPA working properly with Mint whatever. I do love the keyboard you made for me. It's really slick. I've been using the long dash a lot.

marmuta (marmuta) said : #21

Francesco and me, we both installed Mint 18.1, and there was indeed a show-stopping bug.
http://bazaar.launchpad.net/~onboard/onboard/trunk/revision/2263
I believe this is finally fixed now. I could successfully run it there from source at least.

I've asked Francesco for a snapshot for another bug report already. That would be revision 2268. Once that one arrives in
https://launchpad.net/~onboard/+archive/ubuntu/snapshots
you are free to try again. No hurry, though.

> 7 days ago I had a major disaster with UEFI booting.
Yes, I can relate. I'm trying to avoid UEFI as long as I can too. Had to start the installation of Mint twice, because the first time was in UEFI mode.

Glad you like the keyboard.

Joe Linux (gbodley) said : #22

@ 5:27 AM HST on 03/18/17 - Sorry to report the PPA is behaving as before:

jl@jl-NUC ~ $ onboard

(onboard:4803): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed

~~~~~~~~~~~~~~~~~~~~~~~~~~

jl@jl-NUC ~ $ onboard -d debug
05:29:12.538 INFO Config gsettings schema for 'org.gnome.Mousetweaks' is not installed
05:29:12.542 INFO ClickSimulator 'CSMousetweaks0' selected for mousetweaks up to version 3.8.
05:29:12.543 DEBUG Config Desktop environment: MATE
05:29:12.546 DEBUG Config command line: ['/usr/bin/onboard', '-d', 'debug']
05:29:12.547 DEBUG Config lauched by, process: '['bash', '']'
05:29:12.547 DEBUG Config lauched by, detected: 0
05:29:12.547 INFO ConfigUtils Looking for system defaults in ['/home/jl/.config/onboard/onboard-defaults.conf', '/etc/xdg/xdg-mate/onboard/onboard-defaults.conf', '/etc/xdg/onboard/onboard-defaults.conf', '/usr/share/onboard/onboard-defaults.conf', '/etc/onboard/onboard-defaults.conf']
05:29:12.548 INFO ConfigUtils Loading system defaults from ['/usr/share/onboard/onboard-defaults.conf']
05:29:12.548 INFO ConfigUtils Found system default '[window] docking-enabled=True'
05:29:12.549 INFO ConfigUtils Found system default '[window] force-to-top=True'
05:29:12.549 INFO ConfigUtils Found system default '[auto-show] enabled=False'
05:29:12.549 INFO ConfigUtils Found system default '[main] layout=Compact'
05:29:12.549 INFO ConfigUtils Found system default '[main] theme=Nightshade'
05:29:12.549 INFO ConfigUtils Found system default '[main] key-label-font=Ubuntu'
05:29:12.549 INFO ConfigUtils Found system default '[main] superkey-label='
05:29:12.549 INFO ConfigUtils Found system default '[main] superkey-label-independent-size=True'
05:29:12.549 INFO ConfigUtils Found system default '[main] xembed-onboard=True'
05:29:12.549 INFO ConfigUtils Found system default '[main] xembed-aspect-change-range=[0, 1.6]'
05:29:12.550 INFO ConfigUtils Found system default '[main] xembed-unity-greeter-offset-x=85.0'
05:29:12.550 INFO ConfigUtils Found system default '[main] xembed-background-color=#0000007F'
05:29:12.550 INFO ConfigUtils Found system default '[main] xembed-background-image-enabled=True'
05:29:12.569 INFO Config Theme candidates ['/usr/share/onboard/themes/Droid.theme', '', '/usr/share/onboard/themes/Droid.theme', 'Nightshade', 'Classic Onboard']
05:29:12.570 INFO Config Loading theme from '/usr/share/onboard/themes/Droid.theme'
05:29:12.573 DEBUG Config Leaving init
05:29:12.601 DEBUG AutoShow enable_tablet_mode_detection False None
05:29:12.601 DEBUG AutoShow enable_keyboard_device_detection False None
05:29:12.601 DEBUG Onboard.WordSuggestions commit_changes(): has_changes=False
05:29:12.604 DEBUG WindowUtils restore_window_rect Rect(x=100.0 y=50.0 w=64.0 h=64.0), <class 'Onboard.WindowUtils.Orientation.LANDSCAPE'>
05:29:12.604 DEBUG KbdWindow Entered in __init__
05:29:12.605 DEBUG KbdWindow window manager: Metacity (Marco)
05:29:12.605 DEBUG KbdWindow quirks selected: <class 'Onboard.KbdWindow.WMQuirksDefault'>
05:29:12.605 DEBUG KbdWindow screen changed, supports_alpha=True
05:29:12.605 DEBUG KbdWindow Leaving __init__
05:29:12.605 DEBUG WindowUtils restore_window_rect Rect(x=738.0 y=190.0 w=488.0 h=100.0), <class 'Onboard.WindowUtils.Orientation.LANDSCAPE'>
05:29:12.606 INFO OnboardGtk Loading initial layout
05:29:12.620 DEBUG ConfigUtils layout '/usr/share/onboard/layouts/French_diacritics.onboard' found.
05:29:12.620 INFO OnboardGtk Loading keyboard layout /usr/share/onboard/layouts/French_diacritics.onboard
05:29:12.620 INFO OnboardGtk Loading color scheme /usr/share/onboard/themes/Granite.colors
05:29:12.623 INFO LayoutLoaderSVG current system keyboard layout(variant): 'us'
05:29:12.625 DEBUG ConfigUtils layout include 'key_defs.xml' not found yet, retrying in default paths
05:29:12.625 DEBUG ConfigUtils layout include '/usr/share/onboard/layouts/key_defs.xml' found.
05:29:12.626 INFO LayoutLoaderSVG Including layout 'key_defs.xml'
05:29:12.638 INFO LayoutLoaderSVG Ignoring key 'quit'. No svg object found for 'quit'.
05:29:12.639 DEBUG Onboard.WordSuggestions commit_changes(): has_changes=False
05:29:12.640 DEBUG Onboard.Keyboard Key-synth candidates: [<KeySynthEnum.XTEST: 1>, <KeySynthEnum.UINPUT: 2>, <KeySynthEnum.ATSPI: 3>]
05:29:12.640 INFO Onboard.Keyboard Using key-synth 'KeySynthEnum.XTEST'
05:29:12.640 DEBUG Onboard.Keyboard keyboard auto-repeat: delay 0.5, interval 0.033
05:29:12.641 DEBUG Onboard.Keyboard set_modifiers(0) False None False
05:29:12.642 INFO Onboard.Keyboard using click simulator 'CSButtonMapper'
05:29:12.642 DEBUG OnboardGtk not limiting window size: Rect(x=738.0 y=190.0 w=488.0 h=100.0) to Rect(x=738.0 y=190.0 w=488.0 h=100.0)
05:29:12.643 DEBUG KbdWindow update_window_scaling_factor: scale None
05:29:12.659 DEBUG WindowUtils restore_window_rect Rect(x=738.0 y=190.0 w=488.0 h=76.0), <class 'Onboard.WindowUtils.Orientation.LANDSCAPE'>
05:29:12.660 DEBUG KbdWindow _cb_realize_event, screen size 1366x768
05:29:12.660 DEBUG KbdWindow _cb_realize_event, monitor dimensions: (1366, 768) pixel, (609, 347) mm
05:29:12.660 DEBUG KbdWindow _cb_realize_event, get_min_window_size(): 112 44
05:29:12.661 DEBUG TouchInput setting touch input mode 0: touch_events_enabled=False, multi_touch_enabled=False, gestures_enabled=False
05:29:12.662 DEBUG OnboardGtk keep_windows_on_top [<KbdWindow.KbdWindow object at 0x7f31e02e7630 (Onboard+KbdWindow+KbdWindow at 0x1ec2bf0)>, <IconPalette.IconPalette object at 0x7f31e0340090 (Onboard+IconPalette+IconPalette at 0x1ec2980)>]
05:29:12.687 INFO Indicator Status icon provider: 'BackendGtkStatusIcon' selected
05:29:12.691 INFO OnboardGtk Entering mainloop of onboard
05:29:12.692 DEBUG KbdWindow window-state-event: <flags GDK_WINDOW_STATE_STICKY | GDK_WINDOW_STATE_ABOVE | GDK_WINDOW_STATE_FOCUSED of type Gdk.WindowState>, <flags GDK_WINDOW_STATE_WITHDRAWN | GDK_WINDOW_STATE_STICKY | GDK_WINDOW_STATE_ABOVE | GDK_WINDOW_STATE_FOCUSED of type Gdk.WindowState>
05:29:12.693 DEBUG KbdWindow update_window_scaling_factor: scale 1
05:29:12.693 DEBUG KbdWindow configure-event: event Rect(x=738.0 y=190.0 w=488.0 h=76.0), allocated (1, 1), window Rect(x=738.0 y=190.0 w=488.0 h=76.0), scaling factor 1.0
05:29:12.694 DEBUG KbdWindow window-state-event: <flags GDK_WINDOW_STATE_STICKY of type Gdk.WindowState>, <flags GDK_WINDOW_STATE_WITHDRAWN | GDK_WINDOW_STATE_ABOVE | GDK_WINDOW_STATE_FOCUSED of type Gdk.WindowState>
05:29:12.695 DEBUG KbdWindow update_window_scaling_factor: scale 1
05:29:12.695 DEBUG KbdWindow configure-event: event Rect(x=738.0 y=190.0 w=488.0 h=76.0), allocated (1, 1), window Rect(x=738.0 y=190.0 w=488.0 h=76.0), scaling factor 1.0
05:29:12.696 DEBUG KbdWindow update_window_scaling_factor: scale 1
05:29:12.696 DEBUG KbdWindow configure-event: event Rect(x=738.0 y=190.0 w=488.0 h=76.0), allocated (1, 1), window Rect(x=738.0 y=190.0 w=488.0 h=76.0), scaling factor 1.0
05:29:12.697 DEBUG KbdWindow update_window_scaling_factor: scale 1
05:29:12.697 DEBUG KbdWindow configure-event: event Rect(x=738.0 y=190.0 w=488.0 h=76.0), allocated (1, 1), window Rect(x=738.0 y=190.0 w=488.0 h=76.0), scaling factor 1.0

(onboard:4895): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed

Joe Linux (gbodley) said : #23

I could be mistaken. I removed the PPA repository, purged, and reinstalled. Didn't think it was working but it came up under the web browser. Now the Mint Repository version is working again. I'll try again tomorrow. I go into a panic every time this happens, particularly of the main repository version has a hiccup.

What are the terminal commands to remove the PPA and purge the installation? I've been doing it through Synaptic.

Francesco Fumanti (frafu) said : #24

When you posted the comment about Onboard from the Snapshots PPA behaving as before, I had not uploaded the new Onboard Snapshots, yet. The new Onboard snapshot is now available; I uploaded revision 2270 from trunk that contains the fix for Mint.

I just tested the new Onboard package available in the Snapshots PPA on my Mint installation in Virtualbox and it worked.

You can proceed like this to remove packages from a PPA from the system:
- disable the PPA (no need to delete it)
- have the system reload the sources; if you look at the "local packages" section in Synaptic Package Manager, you can see the packages from the disabled PPA listed there; please, when removing packages from that list, be aware that the list also contains packages that you installed for example manually by downloading a deb from the internet.

Joe Linux (gbodley) said : #25

Sunday, March 19 2017 05:25:40 AM - On board PPA:
Upgrading through PPA - Onboard keyboard doesn't launch, Icon does arrive in systray, Preferences and help launch, but not the keyboard itself. Returning to Mint Repository install, the keyboard works once again.

Francesco Fumanti (frafu) said : #26

Have you tried to make Onboard show by performing a right click on the Onboard icon on the system try. With some luck, you are not seeing the Onboard window only because it is hidden.

Joe Linux (gbodley) said : #27

Yes, I did try that. That's how I launched "preferences" and "help" which both work, but sadly "Show Onboard" does nothing, at least the one from the PPA repository. The one from the standard Mint repository works just fine.

marmuta (marmuta) said : #28

I wonder what's different when you launch it. Could you post your preferences:
$ gsettings list-recursively org.onboard | grep -v snippets | tee onboard-settings.txt

Maybe it's something like window decoration enabled?

Joe Linux (gbodley) said : #29

This is for the version that's running now installed from the standard Mint repository:

jl@jl-NUC ~ $ gsettings list-recursively org.onboard | grep -v snippets | tee onboard-settings.txt
org.onboard current-settings-page 2
org.onboard use-system-defaults false
org.onboard show-tooltips true
org.onboard theme '/usr/share/onboard/themes/Droid.theme'
org.onboard show-status-icon true
org.onboard key-label-overrides ['RWIN::super', 'LWIN::super']
org.onboard start-minimized true
org.onboard system-theme-tracking-enabled true
org.onboard layout '/home/jl/.local/share/onboard/layouts/French_diacritics.onboard'
org.onboard schema-version '2.3'
org.onboard key-label-font 'Ubuntu'
org.onboard system-theme-associations {'Mint-X': '/usr/share/onboard/themes/Droid.theme', 'LowContrast': 'LowContrast', 'Default': '', 'HighContrast': 'HighContrast', 'HighContrastInverse': 'HighContrastInverse'}
org.onboard status-icon-provider 'GtkStatusIcon'
org.onboard xembed-onboard true
org.onboard.auto-show hide-on-key-press-pause 1800.0
org.onboard.auto-show reposition-method-docked 'prevent-occlusion'
org.onboard.auto-show reposition-method-floating 'prevent-occlusion'
org.onboard.auto-show hide-on-key-press true
org.onboard.auto-show widget-clearance (25.0, 55.0, 25.0, 40.0)
org.onboard.auto-show enabled false
org.onboard.keyboard sticky-key-release-delay 0.0
org.onboard.keyboard key-synth 'XTest'
org.onboard.keyboard input-event-source 'GTK'
org.onboard.keyboard touch-feedback-enabled false
org.onboard.keyboard touch-input 'none'
org.onboard.keyboard default-key-action 'delayed-stroke'
org.onboard.keyboard inter-key-stroke-delay 0.0
org.onboard.keyboard modifier-update-delay 1.0
org.onboard.keyboard audio-feedback-place-in-space false
org.onboard.keyboard audio-feedback-enabled false
org.onboard.keyboard sticky-key-behavior {'all': 'cycle'}
org.onboard.keyboard touch-feedback-size 0
org.onboard.keyboard sticky-key-release-on-hide-delay 5.0
org.onboard.keyboard key-press-modifiers {'button3': 'SHIFT'}
org.onboard.keyboard show-click-buttons false
org.onboard.keyboard show-secondary-labels false
org.onboard.keyboard long-press-delay 0.5
org.onboard.theme-settings key-size 95.0
org.onboard.theme-settings key-stroke-width 100.0
org.onboard.theme-settings key-gradient-direction -5.0
org.onboard.theme-settings color-scheme '/usr/share/onboard/themes/Granite.colors'
org.onboard.theme-settings key-fill-gradient 4.0
org.onboard.theme-settings key-label-overrides @as []
org.onboard.theme-settings key-style 'gradient'
org.onboard.theme-settings background-gradient 0.0
org.onboard.theme-settings key-stroke-gradient 15.0
org.onboard.theme-settings key-label-font ''
org.onboard.theme-settings key-shadow-strength 70.0
org.onboard.theme-settings key-shadow-size 30.0
org.onboard.theme-settings roundrect-radius 20.0
org.onboard.typing-assistance active-language ''
org.onboard.typing-assistance auto-capitalization false
org.onboard.typing-assistance spell-check-backend 'hunspell'
org.onboard.typing-assistance auto-correction false
org.onboard.typing-assistance recent-languages @as []
org.onboard.typing-assistance max-recent-languages 5
org.onboard.typing-assistance.word-suggestions learning-behavior-paused 'nothing'
org.onboard.typing-assistance.word-suggestions accent-insensitive true
org.onboard.typing-assistance.word-suggestions delayed-word-separators-enabled false
org.onboard.typing-assistance.word-suggestions spelling-suggestions-enabled true
org.onboard.typing-assistance.word-suggestions pause-learning-locked false
org.onboard.typing-assistance.word-suggestions max-word-choices 5
org.onboard.typing-assistance.word-suggestions show-context-line false
org.onboard.typing-assistance.word-suggestions auto-learn true
org.onboard.typing-assistance.word-suggestions punctuation-assistance true
org.onboard.typing-assistance.word-suggestions enabled false
org.onboard.typing-assistance.word-suggestions wordlist-buttons ['previous-predictions', 'next-predictions', 'language', 'hide']
org.onboard.typing-assistance.word-suggestions stealth-mode false
org.onboard.window enable-inactive-transparency false
org.onboard.window window-decoration false
org.onboard.window inactive-transparency 50.0
org.onboard.window docking-monitor 'active'
org.onboard.window docking-enabled false
org.onboard.window force-to-top false
org.onboard.window transparent-background false
org.onboard.window window-handles 'E SE S SW W NW N NE M'
org.onboard.window window-state-sticky true
org.onboard.window docking-edge 'bottom'
org.onboard.window transparency 0.0
org.onboard.window background-transparency 10.0
org.onboard.window keep-aspect-ratio false
org.onboard.window docking-shrink-workarea true
org.onboard.window inactive-transparency-delay 1.0
org.onboard.window.portrait dock-width 600
org.onboard.window.portrait width 600
org.onboard.window.portrait dock-expand false
org.onboard.window.portrait y 50
org.onboard.window.portrait dock-height 200
org.onboard.window.portrait height 200
org.onboard.window.portrait x 100
org.onboard.window.landscape dock-width 483
org.onboard.window.landscape width 488
org.onboard.window.landscape dock-expand false
org.onboard.window.landscape y 214
org.onboard.window.landscape dock-height 94
org.onboard.window.landscape height 76
org.onboard.window.landscape x 861
org.onboard.icon-palette in-use false
org.onboard.icon-palette window-handles 'E SE S SW W NW N NE M'
org.onboard.icon-palette.landscape width 64
org.onboard.icon-palette.landscape height 64
org.onboard.icon-palette.landscape x 100
org.onboard.icon-palette.landscape y 50
org.onboard.icon-palette.portrait width 64
org.onboard.icon-palette.portrait height 64
org.onboard.icon-palette.portrait x 100
org.onboard.icon-palette.portrait y 50
org.onboard.lockdown disable-quit false
org.onboard.lockdown disable-preferences false
org.onboard.lockdown disable-touch-handles false
org.onboard.lockdown disable-hover-click false
org.onboard.lockdown disable-keys [['CTRL', 'LALT', 'F[0-9]+']]
org.onboard.lockdown disable-click-buttons false
org.onboard.lockdown disable-dwell-activation false
org.onboard.scanner backtrack 5
org.onboard.scanner device-name 'Default'
org.onboard.scanner interval-fast 0.050000000000000003
org.onboard.scanner feedback-flash true
org.onboard.scanner mode 'Autoscan'
org.onboard.scanner interval 1.2
org.onboard.scanner alternate false
org.onboard.scanner device-button-map {1: 0, 3: 5}
org.onboard.scanner user-scan false
org.onboard.scanner device-detach false
org.onboard.scanner device-key-map @a{ii} {}
org.onboard.scanner enabled false
org.onboard.scanner cycles 2
org.onboard.universal-access drag-threshold -1
org.onboard.universal-access hide-click-type-window true
org.onboard.universal-access enable-click-type-window-on-exit true

Can you help with this problem?

Provide an answer of your own, or ask Joe Linux for more information if necessary.

To post a message you must log in.