Peter, No sweat.
I have lots of work coming up soon so I can’t promise I can spend much more time on this for a spell, but I’ll try to document on the wiki what’s been found here as well as any additional rules anyone posts in this thread or others I see. (but anyone can request a wiki account and fill in the blanks - feel free - wiki editing is rather easy) Regards, Adrien > On Aug 6, 2018, at 1:48 PM, Peter Jackson <jack...@fastmail.net> wrote: > > Adrien, > I am not, and have tried and failed. > I'll just have to be content with the changes that I have made. > > Many thanks for your help, and you GTI. > Regards > > pj > > > On 6 August 2018 at 19:03, Adrien Monteleone <adrien.montele...@lusfiber.net> > wrote: > Peter & GTI, > > How familiar are you with CSS for the web? > > If not very much, it would help tremendously to do some tutorials online on > how that works. > > Gtk CSS follows some of the same rules, but not in exactly the same way. The > basic principles are the same however. > > The screenshots are showing you the Gtk version of a ‘DOM tree’ which is a > tree of the HTML elements on a web page that you can style. > > The app’s window is the main node in the tree. Each major element in that > window will be a child element and so on. Nodes of type GtkBox seem to be > widely used and are probably analogous to HTML’s <div> elements as generic > blocks. > > The Classes column will allow you to target multiple items in multiple > places. (if they have that class assigned to them) This would be like a rule > for footnotes such as ‘p.footnote {}’ or just ‘.footnote {}’ > > The Name column is analogous to ‘id’ in HTML. So you can target a very > specific element—e.g., ‘div#main_nav {}’ or just ‘#main_nav {}) especially > since there can be only one of each id on a page. (HTML also uses ’name’ and > it is I think interchangeable with ‘id’ and I believe ‘id’ is being > deprecated in favor of ’name’) > > Otherwise, you use the node types like GtkBox and Gtklabel similar to how you > would style <h1> or <p> HTML elements. > > If you want to target a generic node type or widely used class for an > element, but only on a certain page (tab) then you need to preface this rule > with the class or id for that tab—e.g., '.GncRegisterPage’ as the first > selector in a rule that you want to ONLY apply on register pages, but > ‘#account-tree’ id for rules you only want to apply on the CoA page. (if the > CoA had a specific class to target, you could use that, but the devs chose to > name it instead, the reverse for the GncRegisterPage, but that’s probably > because there is only one CoA but you can have multiple registers open at > once) > > If there are no other general methods, you might have to get very specific > and use one or more of the child selectors. So '.GncRegisterPage > GtkBox {}' > will target a GtkBox element that is a direct descendent (child) of any > element with the class ‘.GncRegisterPage’. If you don’t use the ‘>’ selector, > then the rule would apply to ANY descendent (even grandchildren and beyond) > that is of type GtkBox. > > The major issue I’ve discovered in this thread per John Rall’s comment last > week was that Gtk CSS is not like Web CSS. On the web, if your rule CAN be > implemented, it will, even if the browser has to guess or extrapolate the > result. But for Gtk, either you get it exactly right, or you see no change. > Compound this with not every element can have every property altered (and > there doesn’t seem to be a list of what is implemented yet) and most of it > becomes a guessing game of trial and error. (with the Web, you can set a font > property on a div, not just the <p> elements within it. But it seems with > Gtk, you can only adjust font properties on ‘label’ and not the ‘button’ or > ‘GtkBox’ which contains the labels) > > Since you are both using Windows, your path is not as easy. I don’t see any > helpful info on using GtkInspector on Windows even though you have Gtk > installed there via GnuCash. There are ways to install Gtk directly by > itself, but this will most likely involve the Windows Subsystem for Linux, > and maybe even running GnuCash in that same subsystem since it’s a sandbox. > It is probably easier to just install a virtual machine running a very up to > date Linux distro and install GnuCash there and inspect it accordingly. To > have a fair shot at your rules working in both Linux and Windows, you’d need > to make sure your Linux Gtk version is the same, which in this case is > 3.22.30. And after all that work, probably just easier to run GnuCash in that > vm all the time. > > I hope that helps sheds some light on the task. > > Regards, > Adrien > > > On Aug 6, 2018, at 12:03 PM, Peter Jackson <jack...@fastmail.net> wrote: > > > > This works for me on the Totals bar at the foot of a register:- > > > > .GncRegisterPage { > > background-color: aliceblue; > > color: green; > > } > > > > As for the screenshots, they are beyond my comprehension. > > Thanks > > pj > > > > > > > > On 6 August 2018 at 17:25, Adrien Monteleone > > <adrien.montele...@lusfiber.net> wrote: > > By definition, a class is not particularly specific. It applies to multiple > > elements. > > > > You’d need to use a rule that targets the desired element(s) better. > > > > If you mean the bar that has “Present” “Future” “Cleared” “Reconciled” and > > “Projected Minimum” then I’ve attached a screenshot for that node tree. > > > > In my case, it’s at the top. (I don’t see a preference for reversing this) > > > > GtkBox.GncRegisterPage has two children, the first is a GtkBox that holds > > the totals bar (if on top) and the second is the GNCSplitReg which holds > > the actual register. > > > > Under the first GtkBox are the five child GtkBox nodes that hold each > > total. And each of those has two GtkLabel children, one for the title and > > one for the actual total. > > > > So you probably want to do something like: > > > > .GncRegisterPage > GtkBox label {} > > > > for the text of the bar and for the bar itself (colors perhaps): > > > > .GncRegisterPage > GtkBox {} > > > > Regards, > > Adrien > > > > > On Aug 6, 2018, at 11:02 AM, GT-I9070 H <gti90...@gmail.com> wrote: > > > > > > Em seg, 6 de ago de 2018 às 10:43, Peter Jackson <jack...@fastmail.net> > > > escreveu: > > > > > >> Thanks, but is there not something missing here? to specify the bar. > > >> Regards > > >> pj > > >> > > > > > > Apparently yes, but for me it works, test and report your results. > > > Some selectors are like that, appear to be unspecific, see some for the > > > register, something seems to be missing. > > > > > > > > > Regards > > > GTI > > > > > > > > > > > _______________________________________________ > > gnucash-user mailing list > > gnucash-user@gnucash.org > > To update your subscription preferences or to unsubscribe: > > https://lists.gnucash.org/mailman/listinfo/gnucash-user > > If you are using Nabble or Gmane, please see > > https://wiki.gnucash.org/wiki/Mailing_Lists for more information. > > ----- > > Please remember to CC this list on all your replies. > > You can do this by using Reply-To-List or Reply-All. > > > _______________________________________________ > gnucash-user mailing list > gnucash-user@gnucash.org > To update your subscription preferences or to unsubscribe: > https://lists.gnucash.org/mailman/listinfo/gnucash-user > If you are using Nabble or Gmane, please see > https://wiki.gnucash.org/wiki/Mailing_Lists for more information. > ----- > Please remember to CC this list on all your replies. > You can do this by using Reply-To-List or Reply-All. > _______________________________________________ gnucash-user mailing list gnucash-user@gnucash.org To update your subscription preferences or to unsubscribe: https://lists.gnucash.org/mailman/listinfo/gnucash-user If you are using Nabble or Gmane, please see https://wiki.gnucash.org/wiki/Mailing_Lists for more information. ----- Please remember to CC this list on all your replies. You can do this by using Reply-To-List or Reply-All.