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 <[email protected] > 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 <[email protected]> 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 < > [email protected]> 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 <[email protected]> wrote: > > > > > > Em seg, 6 de ago de 2018 às 10:43, Peter Jackson <[email protected] > > > > > 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 > > [email protected] > > 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 > [email protected] > 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 [email protected] 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.
