I mostly solved my own situation. Hopefully this helps others. It's not perfect but it accomplished my needs.
The first thing I did was start yad using the GTK debugger.
export GTK_DEBUG=interactive
yad --title "my title" --button "button1:1" --button "button2:2" --button "button3:3" --text "some text"
The most useful thing to me in the debugger was selecting and finding the name of objects and editing css on the fly. I don't know css. I cobbled together bits and pieces I found on other sites which mostly worked.
Then the other thing that helped was the ability to change GTK3 themes "on the fly". I did that using:
export GTK_THEME="Adwaita-dark"
Then I reran the yad line again. It used the new theme temporarily.
I found the theme did mostly what I wanted and it seemed to respect my custom css. For some reason that I haven't dug into, using the default theme of "Adwaita" did not respect my custom css. Obviously if I pick a different theme, you have to put the custom css in that theme's directory instead of 'Adwaita-dark'
To save my customizations, I created $HOME/.themes and created the following directories under there:
- $HOME/.themes/Adwaita-dark
- $HOME/.themes/Adwaita-dark/gtk-3.0
Then I put my custom css in $HOME/.themes/Adwaita-dark/gtk-3.0/gtk.css
This is my custom css that override yad's defaults:
/* The background of the entire window
box {
background-image: image(rgb(224, 224, 209));
} */
/* The progress slider */
progress {
/* background-image: image(rgb(102, 102, 255)); */
background-image: image(rgb(102, 0, 255));
}
/* this gets us the highlighting behavior */
button:focus {
color: black;
border-top-color: yellow;
border-left-color: yellow;
border-right-color: yellow;
border-bottom-color: yellow;
border-bottom-width: 10px;
border-top-width: 10px;
border-bottom-width: 10px;
background-image: image(rgb(255,102,255));
}
button {
color: yellow;
font: 24px "comic sans";
border-top-color: black;
border-left-color: black;
border-right-color: black;
border-bottom-color: black;
border-bottom-width: 10px;
background-image: image(rgb(100,100,100));
}
Some of the above directives did not really do anything with this theme, but I left them in in case I wanted to try it in the future. My way of starting yad is something like this:
GTK_THEME="Adwaita-dark" yad --title "my title" --button "button1:1" --button "button2:2" --button "button3:3" --text "some text"