How to put color in GTKDIALOG

For discussions about programming, programming questions/advice, and projects that don't really have anything to do with Puppy.
Message
Author
User avatar
don570
Posts: 5528
Joined: Wed 10 Mar 2010, 19:58
Location: Ontario

#16 Post by don570 »

Good info from Zigbert and radky!!

I continued to work on this and here's an example to show how parchive
is modified.



Code: Select all

#!/bin/sh
export COLOUR=3272C0
#  check for dark gtk themes and change  COLOUR
if [ "`cat /root/.gtkrc-2.0 | grep  "Stardust_dark_mouse"`" ]; then
 COLOUR=FFD900 
elif [ "`cat /root/.gtkrc-2.0 | grep  "Stardust_dark_touch"`" ]; then
 COLOUR=FFD900 
 elif [ "`cat /root/.gtkrc-2.0 | grep  "Azenis"`" ]; then
 COLOUR=FFD900 
 elif [ "`cat /root/.gtkrc-2.0 | grep  "TerraNova-Aquarius"`" ]; then
 COLOUR=FFD900 
 elif [ "`cat /root/.gtkrc-2.0 | grep  "terminus"`" ]; then
 COLOUR=FFD900 
 elif [ "`cat /root/.gtkrc-2.0 | grep  "Murrina-Black"`" ]; then
 COLOUR=FFD900 
 elif [ "`cat /root/.gtkrc-2.0 | grep  "DarkRoomCompact"`" ]; then
 COLOUR=FFD900
 elif [ "`cat /root/.gtkrc-2.0 | grep  "PenOSmaster"`" ]; then
 COLOUR=FFD900
 fi
 
 export MAIN_DIALOG="
<window title=\"Example\"  window-position=\"1\">
 <vbox>
 <text use-markup=\"true\"><label>\"<b><span size='"'x-large'"'>p</span><span size='"'x-large'"' color='"'#'$COLOUR''"'>Archive</span></b>\"</label></text>
</vbox>
</window>" 
 
 gtkdialog -p MAIN_DIALOG 


User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#17 Post by technosaurus »

Don't forget that many text fields can use Pango markup (colors, bold, italic, ...)
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

User avatar
don570
Posts: 5528
Joined: Wed 10 Mar 2010, 19:58
Location: Ontario

#18 Post by don570 »

Radky uses weak quoting for defining the gtkdialog variable.

Most people prefer strong quoting so here is example to show the
COLOUR variable used in a typical situation.
Note that in the window that is formed the black text is automatically
switched to white. The text 'Archive' is under the control of the variable 'COLOUR' .
Note difference in how protection by quoting is done.

Images show the difference in the look of a window when a dark
theme is used. The script was the same!!

Code: Select all

#!/bin/sh
export COLOUR=3272C0
#  check for dark gtk themes and change  COLOUR
if [ "`cat /root/.gtkrc-2.0 | grep  "Stardust_dark_mouse"`" ]; then
 COLOUR=FFD900 
elif [ "`cat /root/.gtkrc-2.0 | grep  "Stardust_dark_touch"`" ]; then
 COLOUR=FFD900 
 elif [ "`cat /root/.gtkrc-2.0 | grep  "Azenis"`" ]; then
 COLOUR=FFD900 
 elif [ "`cat /root/.gtkrc-2.0 | grep  "TerraNova-Aquarius"`" ]; then
 COLOUR=FFD900 
 elif [ "`cat /root/.gtkrc-2.0 | grep  "terminus"`" ]; then
 COLOUR=FFD900 
 elif [ "`cat /root/.gtkrc-2.0 | grep  "Murrina-Black"`" ]; then
 COLOUR=FFD900 
 elif [ "`cat /root/.gtkrc-2.0 | grep  "DarkRoomCompact"`" ]; then
 COLOUR=FFD900
 elif [ "`cat /root/.gtkrc-2.0 | grep  "PenOSmaster"`" ]; then
 COLOUR=FFD900
 fi
 
 TEXT="My Text"
 
 export MAIN_DIALOG='
<window title="Example"  window-position="1">

<vbox>
     <text use-markup="true"><label>"<b><span size='"'x-large'"'>p</span><span size='"'x-large'"' color='"'#$COLOUR'"'>Archive</span></b>"</label></text>
   <text width-request="100"><label>Color Frame</label></text>
   <text use-markup="true"><label>"<b><u><span size='"'large'"'>???</span><span size='"'large'"' color='"'#DA7A05'"'>Over write</span> ??</u></b>"</label></text>
   <text use-markup="true"><label>"<b><span size='"'large'"'  color='"'blue'"'>Danger Zone</span><span size='"'large'"' color='"'red'"'>Destroy</span> '$TEXT'</b>"</label></text>
   <text use-markup="true"><label>"<b><span size='"'large'"' color='"'red'"'>Over write</span>   '$TEXT'</b>    text"</label></text>
   <text use-markup="true"><label>"<u><span size='"'large'"' color='"'#A900FF'"'>??????</span></u>"</label></text>   
</vbox>
</window>'
 
 gtkdialog -p MAIN_DIALOG 
Image
Image

User avatar
don570
Posts: 5528
Joined: Wed 10 Mar 2010, 19:58
Location: Ontario

#19 Post by don570 »

For the record here are just some of the many colors that gtkdialog supports...
aliceblue antiquewhite aqua aquamarine
azure beige bisque black
blanchedalmond blue blueviolet brown
burlywood cadetblue chartreuse chocolate
coral cornflowerblue cornsilk crimson
cyan darkblue darkcyan darkgoldenrod
darkgray darkgreen darkgrey darkkhaki
darkmagenta darkolivegreen darkorange darkorchid
darkred darksalmon darkseagreen darkslateblue
darkslategray darkslategrey darkturquoise darkviolet
deeppink deepskyblue dimgray dimgrey
dodgerblue firebrick floralwhite forestgreen
fuchsia gainsboro ghostwhite gold
goldenrod gray green greenyellow
grey honeydew hotpink indianred
indigo ivory khaki lavender
lavenderblush lawngreen lemonchiffon lightblue
lightcoral lightcyan lightgoldenrodyello lightgray
lightgreen lightgrey lightpink lightsalmon
lightseagreen lightskyblue lightslategray lightslategrey
lightsteelblue lightyellow lime limegreen
linen magenta maroon mediumaquamarine
mediumblue mediumorchid mediumpurple mediumseagreen
mediumslateblue mediumspringgreen mediumturquoise mediumvioletred
midnightblue mintcream mistyrose moccasin
navajowhite navy oldlace olive
olivedrab orange orangered orchid
palegoldenrod palegreen paleturquoise palevioletred
papayawhip peachpuff peru pink
plum powderblue purple red
rosybrown royalblue saddlebrown salmon
sandybrown seagreen seashell sienna
silver skyblue slateblue slategray
slategrey snow springgreen steelblue
tan teal thistle tomato
turquoise violet wheat white
whitesmoke yellow yellowgreen

User avatar
trio
Posts: 2076
Joined: Sun 21 Dec 2008, 15:50
Location: अनà¥￾मोदना

#20 Post by trio »

deleted
Last edited by trio on Mon 20 Oct 2014, 08:10, edited 1 time in total.

User avatar
don570
Posts: 5528
Joined: Wed 10 Mar 2010, 19:58
Location: Ontario

#21 Post by don570 »

egrep command can be used as well to check for a dark theme

This script will change the color of text according to gtk theme.
Certain theme names will trigger the change. Blue turns to orange.

Code: Select all

#!/bin/sh
export COLOUR=3272C0
[ "`egrep "Stardust_dark_mouse|Stardust_dark_touch|Azenis|TerraNova-Aquarius|terminus|Murrina-Black|DarkRoomCompact|PenOSmaster" /root/.gtkrc-2.0`"  ] && COLOUR=FFD900

 export MAIN_DIALOG='
<window title="Example"  window-position="1">
 <vbox>
<text use-markup="true"><label>"<b><span size='"'x-large'"'>p</span><span size='"'x-large'"' color='"'#$COLOUR'"'>Archive</span></b>"</label></text>
</vbox>
</window>' 
 
 gtkdialog -p MAIN_DIALOG 
 
Image

Post Reply