[GNC-dev] Register text selection + V#3 Windows scroll bars.

Geert Janssens geert.gnucash at kobaltwit.be
Tue May 22 03:56:44 EDT 2018


This is another behavioral change we got "for free" from Gtk3.

Luckily this one is configurable [1] by adding
gtk-primary-button-warps-slider = false
to the [Settings] section of gtk3's settings.ini file

The location of this file is platform dependent.

On systems following the Freedesktop specification (being linux, gnucash on macports, most 
bsd's,...) settings.ini should be created (if not exists yet)
in
$HOME/.config/gtk-3.0
$HOME is a special shell variable and refers to your home directory.
For example
/home/someuser/.config/gtk-3.0/settings.ini

On Windows this file should reside in
%localappdata%\gtk-3.0
%localappdata% is a special Windows variable and refers to a location to store local user 
specific configuration files.
For example
c:\Users\someuser\AppData\Local\gtk-3.0

For our OS X/Quartz the settings.ini file will be searched for in
$HOME/Library/Application Support/Gnucash/config/gtk-3.0
Like on linux $HOME refers to your home direcory.
For example
/home/someuser/Library/Application Support/Gnucash/config/gtk-3.0/settings.ini

Geert

[1] According to this AskUbuntu forum topic:
https://askubuntu.com/questions/295988/how-to-fix-gtk3-scrollbar-behavior

Op dinsdag 22 mei 2018 02:47:01 CEST schreef David Carlson:
> I have seen that proportional scrollbar jumping behavior in some other
> Linux applications, and I too dislike it.  In very long lists like our
> registers become after a while, it is not easy to scroll several screens up
> or down frequently.  I think that it is a GTK thing.  If there is a
> work-around, I would like to know about it.
> 
> David C
> 
> On Mon, May 21, 2018 at 7:36 PM, Chris Good <goodchris96 at gmail.com> wrote:
> > [GNC-dev] Register text selection
> > 
> > 
> > Geert Janssens
> > <mailto:gnucash-devel%40gnucash.org?Subject=Re:%
> > 20Re%3A%20%5BGNC-dev%5D%20Re
> > gister%20text%20selection&In-Reply-To=%3C1925551.
> > T7MvD3KevP%40legolas.kobalt
> > wit.lan%3E> geert.gnucash at kobaltwit.be
> > Mon May 21 09:14:29 EDT 2018
> > 
> >   _____
> > 
> > Op maandag 21 mei 2018 13:08:05 CEST schreef Robert Fewell:
> > > I have been looking at getting the middle mouse button to work for
> > 
> > pasting
> > 
> > > selected text and whilst trying to do that started to wonder about the
> > > existing preselected text.
> > > 
> > > Currently...
> > > If you open a register, the blank transaction date text is preselected.
> > > If you start Gnucash with saved open registers, the last register in the
> > > list to load has the blank date text preselected, this may not be the
> > > current open register.
> > > 
> > > If you navigate by keyboard, the next field text is preselected and the
> > > cursor set to the end of text.
> > > If you navigate by mouse, the text is not selected and the cursor is the
> > > mouse position.
> > > If you update a transaction in one register and have the other
> > > corresponding register open, the text where the cursor is will get
> > > selected. (I think this is an easy fix).
> > > 
> > > I am just wondering if we should be doing this preselected text at all ?
> > 
> > As far as I can tell the first two (text navigation hightlights the full
> > text,
> > mouse navigation sets the text cursor) are at least common behavior, if
> > not
> > default. Find any dialog with more than one text field and try what
> > happens
> > if
> > you tab from one field to the next or click in random fields. I would find
> > it
> > disturbing if the register would behave differently.
> > 
> > I don't understand exactly what you mean with the third behavior.
> > 
> > > Some might say it is a good indication of where the focus is, only with
> > > keyboard navigation, but one could simply add something like this to
> > > your
> > > css file which would also work for mouse navigation...
> > > 
> > > cursor entry {
> > > 
> > >   background-color: pink;
> > > 
> > > }
> > > 
> > > So just asking the question.
> > 
> > It's not just a matter of visual indication. It's also about ergonomics.
> > Text
> > and mouse navigation have different dynamics and this is reflected in the
> > way
> > text is selected or not when entering a text field.
> > 
> > For your information I plan to work in this area of the code soon to fix
> > input
> > methods. I intend to drop all code related to text manipulation from the
> > sheet
> > and make the gtk entry responsible for it instead. Perhaps it's best you


More information about the gnucash-devel mailing list