gtkdialog GTK3 question setting window size

For discussions about programming, and for programming questions and advice


Moderator: Forum moderators

User avatar
fredx181
Posts: 3426
Joined: Tue Dec 03, 2019 1:49 pm
Location: holland
Has thanked: 461 times
Been thanked: 1504 times
Contact:

gtkdialog GTK3 question setting window size

Post by fredx181 »

With gtkdialog built with GTK2 it worked ok for me setting the window size but not with gtkdialog built with GTK3 (edit: as is the default in e.g. BookwormPup from @radky).
Example code for a simple text message with many words:

Code: Select all

export TEST='
  <window title="Test size">
   <vbox>
    <frame>
<text><label>"Lorem ipsum Morbi erat ex, lacinia nec efficitur eget, sagittis ut orci. Etiam in dolor placerat, pharetra ligula et, bibendum neque. Vestibulum vitae congue lectus, sed ultricies augue. Nam iaculis elit nec velit luctus, vitae rutrum nunc imperdiet. Nunc vel turpis sit amet lectus pellentesque tincidunt. Proin commodo tincidunt enim, at sodales mi dictum ac. Maecenas molestie, metus quis malesuada dictum, leo erat egestas lacus, sit amet tristique urna magna a diam. Donec ultricies dui sit amet mi ornare egestas. Phasellus ultricies lectus non interdum pellentesque. Cras nisi tellus, feugiat sed enim quis, tristique interdum lacus. Sed vel pharetra arcu, ac fermentum neque. Morbi mollis sollicitudin varius. Ut sit amet vulputate velit.

Mauris semper neque quis lacinia volutpat. Aenean vestibulum diam ex, sit amet posuere dolor luctus non. Ut consectetur felis blandit ipsum convallis, non lobortis justo facilisis. Ut vitae velit pulvinar, pharetra libero semper, dignissim urna. Nullam quam quam, viverra eget feugiat a, interdum et erat. Morbi fringilla, eros et consequat iaculis, ligula nunc hendrerit neque, ac tincidunt massa sem vitae tortor. Nunc volutpat massa at dapibus pulvinar. Etiam risus sem, dignissim vel blandit eget, maximus lacinia purus.
  "</label></text>
    </frame>        
    <hbox>
     <button ok>   
      <action>EXIT:ok</action> 
     </button>
    </hbox>
   </vbox>
  </window>'
gtkdialog --geometry=520x520 -cp TEST >/dev/null

With GTK2 gtkdialog it shows this (exactly as geometry is set):

2025-04-04_17-52-33.png
2025-04-04_17-52-33.png (193.53 KiB) Viewed 1013 times

But with GTK3 gtkdialog it becomes this (geometry setting seems to be ignored):

2025-04-04_17-53-20.png
2025-04-04_17-53-20.png (193.55 KiB) Viewed 1013 times

How with GTK3 gtkdialog can I get the same result (or close) as with GTK2 gtkdialog ?
Tried also with setting "width-request=..." but doesnt work either with GTK3.

User avatar
rcrsn51
Posts: 1492
Joined: Sun Aug 23, 2020 4:26 pm
Been thanked: 432 times

Re: gtkdialog GTK3 question setting window size

Post by rcrsn51 »

I agree that gtkdialog-gtk3 sometimes has a mind of its own when it comes to geometry.

Try "--geometry=700x0".

I have found that setting the vertical size to "0" sometimes helps.

User avatar
Sofiya
Posts: 2536
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1569 times
Been thanked: 1726 times

Re: gtkdialog GTK3 question setting window size

Post by Sofiya »

Yes, there really is a problem with height adjustment. :ugeek:

Code: Select all

#!/bin/bash

GTKDIALOG=gtkdialog
export TEST='

<window title="Test size" width-request="520" height-request="420">
<vbox>
<hbox space-fill="true">
<frame>
<text>
<label>"Lorem ipsum Morbi erat ex, lacinia nec efficitur eget, sagittis ut orci. Etiam in dolor placerat, pharetra ligula et, bibendum neque. Vestibulum vitae congue lectus, sed ultricies augue. Nam iaculis elit nec velit luctus, vitae rutrum nunc imperdiet. Nunc vel turpis sit amet lectus pellentesque tincidunt. Proin commodo tincidunt enim, at sodales mi dictum ac. Maecenas molestie, metus quis malesuada dictum, leo erat egestas lacus, sit amet tristique urna magna a diam. Donec ultricies dui sit amet mi ornare egestas. Phasellus ultricies lectus non interdum pellentesque. Cras nisi tellus, feugiat sed enim quis, tristique interdum lacus. Sed vel pharetra arcu, ac fermentum neque. Morbi mollis sollicitudin varius. Ut sit amet vulputate velit.

Mauris semper neque quis lacinia volutpat. Aenean vestibulum diam ex, sit amet posuere dolor luctus non. Ut consectetur felis blandit ipsum convallis, non lobortis justo facilisis. Ut vitae velit pulvinar, pharetra libero semper, dignissim urna. Nullam quam quam, viverra eget feugiat a, interdum et erat. Morbi fringilla, eros et consequat iaculis, ligula nunc hendrerit neque, ac tincidunt massa sem vitae tortor. Nunc volutpat massa at dapibus pulvinar. Etiam risus sem, dignissim vel blandit eget, maximus lacinia purus."</label>
</text>
    </frame>
    </hbox>
    <hbox>
     <button ok>
      <action>EXIT:ok</action>
     </button>
    </hbox>
   </vbox>
  </window>'


case $1 in
	-d | --dump) echo "$TEST" ;;
	*) $GTKDIALOG --program=TEST --center ;;

esac
Attachments
2025-04-04_21-59.png
2025-04-04_21-59.png (248.7 KiB) Viewed 967 times
Last edited by Sofiya on Fri Apr 04, 2025 8:43 pm, edited 1 time in total.

KL-Linux https://sofijacom.github.io
KL LINUX Simple fast free

User avatar
Sofiya
Posts: 2536
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1569 times
Been thanked: 1726 times

Re: gtkdialog GTK3 question setting window size

Post by Sofiya »

Well, that's how it works as it should. :thumbup:

Code: Select all

#!/bin/bash

GTKDIALOG=gtkdialog
export TEST='

<window title="Test size" width-request="520" height-request="420">
<vbox>
<hbox space-fill="true">
<frame>
<text>
<label>"Lorem ipsum Morbi erat ex, lacinia nec efficitur eget, sagittis ut orci. Etiam in dolor placerat, pharetra ligula et, bibendum neque. Vestibulum vitae congue lectus, sed ultricies augue. Nam iaculis elit nec velit luctus, vitae rutrum nunc imperdiet. Nunc vel turpis sit amet lectus pellentesque tincidunt. Proin commodo tincidunt enim, at sodales mi dictum ac. Maecenas molestie, metus quis malesuada dictum, leo erat egestas lacus, sit amet tristique urna magna a diam. Donec ultricies dui sit amet mi ornare egestas. Phasellus ultricies lectus non interdum pellentesque. Cras nisi tellus, feugiat sed enim quis, tristique interdum lacus. Sed vel pharetra arcu, ac fermentum neque. Morbi mollis sollicitudin varius. Ut sit amet vulputate velit.

Mauris semper neque quis lacinia volutpat. Aenean vestibulum diam ex, sit amet posuere dolor luctus non. Ut consectetur felis blandit ipsum convallis, non lobortis justo facilisis. Ut vitae velit pulvinar, pharetra libero semper, dignissim urna. Nullam quam quam, viverra eget feugiat a, interdum et erat. Morbi fringilla, eros et consequat iaculis, ligula nunc hendrerit neque, ac tincidunt massa sem vitae tortor. Nunc volutpat massa at dapibus pulvinar. Etiam risus sem, dignissim vel blandit eget, maximus lacinia purus."</label>
</text>
    </frame>
     </hbox>
    <hbox>
     <button ok>
      <action>EXIT:ok</action>
     </button>
    </hbox>
   </vbox>
  </window>'


case $1 in
	-d | --dump) echo "$TEST" ;;
	*) $GTKDIALOG --program=TEST --center --geometry=520x420 ;;

esac

Attachments
2025-04-04_22-52.png
2025-04-04_22-52.png (309.74 KiB) Viewed 953 times
Last edited by Sofiya on Fri Apr 04, 2025 8:37 pm, edited 1 time in total.

KL-Linux https://sofijacom.github.io
KL LINUX Simple fast free

User avatar
Sofiya
Posts: 2536
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1569 times
Been thanked: 1726 times

Re: gtkdialog GTK3 question setting window size

Post by Sofiya »

520x520 without " <hbox space-fill="true"> "

Attachments
2025-04-04_22-59.png
2025-04-04_22-59.png (288.47 KiB) Viewed 947 times
Last edited by Sofiya on Fri Apr 04, 2025 8:41 pm, edited 1 time in total.

KL-Linux https://sofijacom.github.io
KL LINUX Simple fast free

User avatar
JakeSFR
Posts: 288
Joined: Wed Jul 15, 2020 2:23 pm
Been thanked: 172 times

Re: gtkdialog GTK3 question setting window size

Post by JakeSFR »

@fredx181

Ok, this is a hack, but seems to work for me (GTK+3 Gtkdialog 0.8.5).
I've employed it several times on similar occasions, mostly for GTK+2 Gtkdialog, though.

Basically, you need to make the text widget initially invisible, and then suddenly show it.
Sounds stupid, but works. ;)

Code: Select all

#!/bin/bash

export TEST='
	<window title="Test size">
		<vbox>
		
			<frame>
			
				<text visible="false">
					<label>"Lorem ipsum Morbi erat ex, lacinia nec efficitur eget, sagittis ut orci. Etiam in dolor placerat, pharetra ligula et, bibendum neque. Vestibulum vitae congue lectus, sed ultricies augue. Nam iaculis elit nec velit luctus, vitae rutrum nunc imperdiet. Nunc vel turpis sit amet lectus pellentesque tincidunt. Proin commodo tincidunt enim, at sodales mi dictum ac. Maecenas molestie, metus quis malesuada dictum, leo erat egestas lacus, sit amet tristique urna magna a diam. Donec ultricies dui sit amet mi ornare egestas. Phasellus ultricies lectus non interdum pellentesque. Cras nisi tellus, feugiat sed enim quis, tristique interdum lacus. Sed vel pharetra arcu, ac fermentum neque. Morbi mollis sollicitudin varius. Ut sit amet vulputate velit.

Mauris semper neque quis lacinia volutpat. Aenean vestibulum diam ex, sit amet posuere dolor luctus non. Ut consectetur felis blandit ipsum convallis, non lobortis justo facilisis. Ut vitae velit pulvinar, pharetra libero semper, dignissim urna. Nullam quam quam, viverra eget feugiat a, interdum et erat. Morbi fringilla, eros et consequat iaculis, ligula nunc hendrerit neque, ac tincidunt massa sem vitae tortor. Nunc volutpat massa at dapibus pulvinar. Etiam risus sem, dignissim vel blandit eget, maximus lacinia purus.
"
					</label>
					<variable>TEXT</variable>
				</text>
			
			</frame>
			
			<hbox>
				<button ok>   
					<action>EXIT:ok</action> 
				</button>
			</hbox>
		
		</vbox>
		
		<action signal="map-event">show:TEXT</action>
	</window>'

gtkdialog --geometry=520x520 -cp TEST >/dev/null

Greetings!

[O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource
Omnia mea mecum porto.
User avatar
Sofiya
Posts: 2536
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1569 times
Been thanked: 1726 times

Re: gtkdialog GTK3 question setting window size

Post by Sofiya »

540x350

Code: Select all

#!/bin/bash

GTKDIALOG=gtkdialog
export TEST='

<window title="Test size">
<vbox>
<hbox space-fill="true">
<frame>
<text>
<label>"Lorem ipsum Morbi erat ex, lacinia nec efficitur eget, sagittis ut orci. Etiam in dolor placerat, pharetra ligula et, bibendum neque. Vestibulum vitae congue lectus, sed ultricies augue. Nam iaculis elit nec velit luctus, vitae rutrum nunc imperdiet. Nunc vel turpis sit amet lectus pellentesque tincidunt. Proin commodo tincidunt enim, at sodales mi dictum ac. Maecenas molestie, metus quis malesuada dictum, leo erat egestas lacus, sit amet tristique urna magna a diam. Donec ultricies dui sit amet mi ornare egestas. Phasellus ultricies lectus non interdum pellentesque. Cras nisi tellus, feugiat sed enim quis, tristique interdum lacus. Sed vel pharetra arcu, ac fermentum neque. Morbi mollis sollicitudin varius. Ut sit amet vulputate velit.

Mauris semper neque quis lacinia volutpat. Aenean vestibulum diam ex, sit amet posuere dolor luctus non. Ut consectetur felis blandit ipsum convallis, non lobortis justo facilisis. Ut vitae velit pulvinar, pharetra libero semper, dignissim urna. Nullam quam quam, viverra eget feugiat a, interdum et erat. Morbi fringilla, eros et consequat iaculis, ligula nunc hendrerit neque, ac tincidunt massa sem vitae tortor. Nunc volutpat massa at dapibus pulvinar. Etiam risus sem, dignissim vel blandit eget, maximus lacinia purus."</label>
</text>
    </frame>
    </hbox>
    <hbox>
     <button ok>
      <action>EXIT:ok</action>
     </button>
    </hbox>
   </vbox>
  </window>'


case $1 in
	-d | --dump) echo "$TEST" ;;
	*) $GTKDIALOG --program=TEST --center --geometry=540x350 ;;

esac

Attachments
2025-04-04_23-31.png
2025-04-04_23-31.png (297.93 KiB) Viewed 936 times

KL-Linux https://sofijacom.github.io
KL LINUX Simple fast free

User avatar
Sofiya
Posts: 2536
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1569 times
Been thanked: 1726 times

Re: gtkdialog GTK3 question setting window size

Post by Sofiya »

If I understood @fredx181 correctly, he asked to write it so that there was no gap.

Attachments
2025-04-04_23-52.png
2025-04-04_23-52.png (189.93 KiB) Viewed 929 times

KL-Linux https://sofijacom.github.io
KL LINUX Simple fast free

User avatar
don570
Posts: 796
Joined: Sat Nov 21, 2020 4:43 pm
Has thanked: 6 times
Been thanked: 156 times

resizable="false"

Post by don570 »

BarryK talked about resizable="false"
such as

Code: Select all

<window title="Chooser Widget Example" resizable="false">

https://bkhome.org/archive/blog2/201110 ... s-fix.html
___________________________________________

User avatar
Sofiya
Posts: 2536
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1569 times
Been thanked: 1726 times

Re: gtkdialog GTK3 question setting window size

Post by Sofiya »

Yes! That's exactly what you need. :thumbup: :ugeek:

Code: Select all

#!/bin/bash

GTKDIALOG=gtkdialog
export TEST='

<window title="Test size" resizable="false" width-request="520" height-request="350">
<vbox>
<hbox space-fill="true">
<frame>
<text>
<label>"Lorem ipsum Morbi erat ex, lacinia nec efficitur eget, sagittis ut orci. Etiam in dolor placerat, pharetra ligula et, bibendum neque. Vestibulum vitae congue lectus, sed ultricies augue. Nam iaculis elit nec velit luctus, vitae rutrum nunc imperdiet. Nunc vel turpis sit amet lectus pellentesque tincidunt. Proin commodo tincidunt enim, at sodales mi dictum ac. Maecenas molestie, metus quis malesuada dictum, leo erat egestas lacus, sit amet tristique urna magna a diam. Donec ultricies dui sit amet mi ornare egestas. Phasellus ultricies lectus non interdum pellentesque. Cras nisi tellus, feugiat sed enim quis, tristique interdum lacus. Sed vel pharetra arcu, ac fermentum neque. Morbi mollis sollicitudin varius. Ut sit amet vulputate velit.

Mauris semper neque quis lacinia volutpat. Aenean vestibulum diam ex, sit amet posuere dolor luctus non. Ut consectetur felis blandit ipsum convallis, non lobortis justo facilisis. Ut vitae velit pulvinar, pharetra libero semper, dignissim urna. Nullam quam quam, viverra eget feugiat a, interdum et erat. Morbi fringilla, eros et consequat iaculis, ligula nunc hendrerit neque, ac tincidunt massa sem vitae tortor. Nunc volutpat massa at dapibus pulvinar. Etiam risus sem, dignissim vel blandit eget, maximus lacinia purus."</label>
</text>
    </frame>
    </hbox>
    <hbox>
     <button ok>
      <action>EXIT:ok</action>
     </button>
    </hbox>
   </vbox>
  </window>'


case $1 in
	-d | --dump) echo "$TEST" ;;
	*) $GTKDIALOG --program=TEST --center ;;

esac

Attachments
2025-04-05_00-06.png
2025-04-05_00-06.png (310.78 KiB) Viewed 923 times

KL-Linux https://sofijacom.github.io
KL LINUX Simple fast free

User avatar
fredx181
Posts: 3426
Joined: Tue Dec 03, 2019 1:49 pm
Location: holland
Has thanked: 461 times
Been thanked: 1504 times
Contact:

Re: gtkdialog GTK3 question setting window size

Post by fredx181 »

JakeSFR wrote: Fri Apr 04, 2025 8:18 pm

@fredx181

Ok, this is a hack, but seems to work for me (GTK+3 Gtkdialog 0.8.5).
...

Works.
Great hack ! Many thanks!

User avatar
fredx181
Posts: 3426
Joined: Tue Dec 03, 2019 1:49 pm
Location: holland
Has thanked: 461 times
Been thanked: 1504 times
Contact:

Re: gtkdialog GTK3 question setting window size

Post by fredx181 »

Sofiya wrote: Fri Apr 04, 2025 8:54 pm

If I understood @fredx181 correctly, he asked to write it so that there was no gap.

Also, yes, without gap, but mostly I'd like to have the width and height correctly set.
The workaround from JakeSFR does that ok.
-------------------------------------------
This resizable="false" width-request="520" height-request="350" gives me a width of 904 .
edit: it seems to depend on the monitor resolution setting, e.g. with a resolution 1600x900 , xwininfo gives 904x350 .
With a different monitor resolution e.g. 1024x768 the width is more close, around 600 .

edit2: to compare with different monitor resolutions using Sofiya's code with resizable="false" width-request="520" height-request="350" looking very different:
(so, rather unpredictable how it looks as people use different resolution)
edit: on second thought it will be always unpredictable, I guess, e.g. when system font size is set to extreme small or large. edit: see next post for solution.

With resolution 1600x900 :

2025-04-05_08-49-40.png
2025-04-05_08-49-40.png (189.17 KiB) Viewed 843 times

With resolution 1024x768 :

2025-04-05_08-42-36.png
2025-04-05_08-42-36.png (181.4 KiB) Viewed 843 times
User avatar
fredx181
Posts: 3426
Joined: Tue Dec 03, 2019 1:49 pm
Location: holland
Has thanked: 461 times
Been thanked: 1504 times
Contact:

Re: gtkdialog GTK3 question setting window size

Post by fredx181 »

Adding the use of a stylesheet (set the font) to JakeSFR's code works for me so that it will always look the same, no matter what monitor resolution or system font setting.

Code: Select all

#!/bin/bash

# create stylesheet /tmp/gtk3dialog-test.css
echo 'box * {
font: 13px "Sans";
font-style: normal;
font-weight: normal;
color: #000000;
padding: 0;
}
' > /tmp/gtk3dialog-test.css

export TEST='
	<window title="Test size">
		<vbox>
		
			<frame>
			
				<text visible="false">
					<label>"Lorem ipsum Morbi erat ex, lacinia nec efficitur eget, sagittis ut orci. Etiam in dolor placerat, pharetra ligula et, bibendum neque. Vestibulum vitae congue lectus, sed ultricies augue. Nam iaculis elit nec velit luctus, vitae rutrum nunc imperdiet. Nunc vel turpis sit amet lectus pellentesque tincidunt. Proin commodo tincidunt enim, at sodales mi dictum ac. Maecenas molestie, metus quis malesuada dictum, leo erat egestas lacus, sit amet tristique urna magna a diam. Donec ultricies dui sit amet mi ornare egestas. Phasellus ultricies lectus non interdum pellentesque. Cras nisi tellus, feugiat sed enim quis, tristique interdum lacus. Sed vel pharetra arcu, ac fermentum neque. Morbi mollis sollicitudin varius. Ut sit amet vulputate velit.

Mauris semper neque quis lacinia volutpat. Aenean vestibulum diam ex, sit amet posuere dolor luctus non. Ut consectetur felis blandit ipsum convallis, non lobortis justo facilisis. Ut vitae velit pulvinar, pharetra libero semper, dignissim urna. Nullam quam quam, viverra eget feugiat a, interdum et erat. Morbi fringilla, eros et consequat iaculis, ligula nunc hendrerit neque, ac tincidunt massa sem vitae tortor. Nunc volutpat massa at dapibus pulvinar. Etiam risus sem, dignissim vel blandit eget, maximus lacinia purus.
"
					</label>
					<variable>VBOX</variable>
				</text>
			
			</frame>
			
			<hbox>
				<button ok>   
					<action>EXIT:ok</action> 
				</button>
			</hbox>
		
		</vbox>
		
		<action signal="map-event">show:VBOX</action>
	</window>'

gtkdialog --geometry=520x420 -cp TEST --styles=/tmp/gtk3dialog-test.css >/dev/null
2025-04-05_10-11-51.png
2025-04-05_10-11-51.png (68.98 KiB) Viewed 827 times
User avatar
Sofiya
Posts: 2536
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1569 times
Been thanked: 1726 times

Re: gtkdialog GTK3 question setting window size

Post by Sofiya »

I compared and noticed one more detail and conducted a test. gtkdialog-0.8.4(GTK+3) and gtkdialog-0.8.5(GTK+3), different behavior. The script below works the same on both versions

Screen resolution 1366x768

The style works great too!

Code: Select all

#!/bin/bash

## create stylesheet /tmp/gtk3dialog-test.css
#echo 'box * {
#font: 13px "Sans";
#font-style: normal;
#font-weight: normal;
#color: #fff;
#padding: 0;
#}
#' > /tmp/gtk3dialog-test.css

GTKDIALOG=gtkdialog
export TEST='

<window title="Test size" resizable="true" width-request="520" height-request="350">
<vbox>
<frame>
<text visible="false">
<label>"Lorem ipsum Morbi erat ex, lacinia nec efficitur eget, sagittis ut orci. Etiam in dolor placerat, pharetra ligula et, bibendum neque. Vestibulum vitae congue lectus, sed ultricies augue. Nam iaculis elit nec velit luctus, vitae rutrum nunc imperdiet. Nunc vel turpis sit amet lectus pellentesque tincidunt. Proin commodo tincidunt enim, at sodales mi dictum ac. Maecenas molestie, metus quis malesuada dictum, leo erat egestas lacus, sit amet tristique urna magna a diam. Donec ultricies dui sit amet mi ornare egestas. Phasellus ultricies lectus non interdum pellentesque. Cras nisi tellus, feugiat sed enim quis, tristique interdum lacus. Sed vel pharetra arcu, ac fermentum neque. Morbi mollis sollicitudin varius. Ut sit amet vulputate velit.

Mauris semper neque quis lacinia volutpat. Aenean vestibulum diam ex, sit amet posuere dolor luctus non. Ut consectetur felis blandit ipsum convallis, non lobortis justo facilisis. Ut vitae velit pulvinar, pharetra libero semper, dignissim urna. Nullam quam quam, viverra eget feugiat a, interdum et erat. Morbi fringilla, eros et consequat iaculis, ligula nunc hendrerit neque, ac tincidunt massa sem vitae tortor. Nunc volutpat massa at dapibus pulvinar. Etiam risus sem, dignissim vel blandit eget, maximus lacinia purus."</label>
<variable>VBOX</variable>
</text>
    </frame>
    <hbox>
     <button ok>
      <action>EXIT:ok</action>
     </button>
    </hbox>
   </vbox>
   <action signal="map-event">show:VBOX</action>
  </window>'


case $1 in
	-d | --dump) echo "$TEST" ;;
	*) $GTKDIALOG --program=TEST --center # --styles=/tmp/gtk3dialog-test.css ;;

esac


Arch:

Code: Select all

❯ gtkdialog --version
gtkdialog version 0.8.4 release (C) 2003-2007 Laszlo Pere, 2011-2012 Thunor
Built with support for: GTK+ 3, VTE.

Void:

Attachments
2025-04-05_16-45.png
2025-04-05_16-45.png (21.62 KiB) Viewed 773 times
2025-04-05_17-11.png
2025-04-05_17-11.png (418.52 KiB) Viewed 773 times
2025-04-05_16-59.png
2025-04-05_16-59.png (323.91 KiB) Viewed 773 times
Last edited by Sofiya on Sat Apr 05, 2025 3:09 pm, edited 6 times in total.

KL-Linux https://sofijacom.github.io
KL LINUX Simple fast free

User avatar
rcrsn51
Posts: 1492
Joined: Sun Aug 23, 2020 4:26 pm
Been thanked: 432 times

Re: gtkdialog GTK3 question setting window size

Post by rcrsn51 »

FWIW, the gtk3 versions of Xdialog can do this easily. See attached.

Attachments
fred-test.txt
(1.29 KiB) Downloaded 10 times
User avatar
Sofiya
Posts: 2536
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1569 times
Been thanked: 1726 times

Re: gtkdialog GTK3 question setting window size

Post by Sofiya »

We have Wayland - "X" does not work here, let's keep up with the times! :)

KL-Linux https://sofijacom.github.io
KL LINUX Simple fast free

User avatar
fredx181
Posts: 3426
Joined: Tue Dec 03, 2019 1:49 pm
Location: holland
Has thanked: 461 times
Been thanked: 1504 times
Contact:

Re: gtkdialog GTK3 question setting window size

Post by fredx181 »

Sofiya wrote: Sat Apr 05, 2025 2:37 pm

We have Wayland - "X" does not work here, let's keep up with the times! :)

Depends on who are "We", I'm a little conservative, e.g. still using mostly gtk2 gtkdialog on "X", but trying to make the switch to gtk3 gtkdialog without having strange looking windows (unexpected).
On pure Wayland you mean ? I think gtkdialog (gtk3) does not work at all, right ? Or did you mean with your comment about Xdialog3 ?

User avatar
Sofiya
Posts: 2536
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1569 times
Been thanked: 1726 times

Re: gtkdialog GTK3 question setting window size

Post by Sofiya »

fredx181 wrote: Sat Apr 05, 2025 3:21 pm
Sofiya wrote: Sat Apr 05, 2025 2:37 pm

We have Wayland - "X" does not work here, let's keep up with the times! :)

Depends on who are "We", I'm a little conservative, e.g. still using mostly gtk2 gtkdialog on "X", but trying to make the switch to gtk3 gtkdialog without having strange looking windows (unexpected).
On pure Wayland you mean ? I think gtkdialog (gtk3) does not work at all, right ? Or did you mean with your comment about Xdialog3 ?

Xdialog3

in fact, yes, gtkdialog is not there, since I installed it myself to run some applications on KDE

but Arch-Aur still has the gtkdialog-0.8.3 package

Attachments
2025-04-05_18-28.png
2025-04-05_18-28.png (26.62 KiB) Viewed 723 times
Last edited by Sofiya on Sat Apr 05, 2025 3:30 pm, edited 1 time in total.

KL-Linux https://sofijacom.github.io
KL LINUX Simple fast free

User avatar
fredx181
Posts: 3426
Joined: Tue Dec 03, 2019 1:49 pm
Location: holland
Has thanked: 461 times
Been thanked: 1504 times
Contact:

Re: gtkdialog GTK3 question setting window size

Post by fredx181 »

Sofiya wrote: Sat Apr 05, 2025 3:23 pm
fredx181 wrote: Sat Apr 05, 2025 3:21 pm
Sofiya wrote: Sat Apr 05, 2025 2:37 pm

We have Wayland - "X" does not work here, let's keep up with the times! :)

Depends on who are "We", I'm a little conservative, e.g. still using mostly gtk2 gtkdialog on "X", but trying to make the switch to gtk3 gtkdialog without having strange looking windows (unexpected).
On pure Wayland you mean ? I think gtkdialog (gtk3) does not work at all, right ? Or did you mean with your comment about Xdialog3 ?

Xdialog3

in fact, yes, gtkdialog is not there, since I installed it myself to run some applications on KDE

Oh, I thought gtkdialog can only work on 'xwayland' from what I've read.

User avatar
Sofiya
Posts: 2536
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1569 times
Been thanked: 1726 times

Re: gtkdialog GTK3 question setting window size

Post by Sofiya »

fredx181 wrote: Sat Apr 05, 2025 3:29 pm
Sofiya wrote: Sat Apr 05, 2025 3:23 pm
fredx181 wrote: Sat Apr 05, 2025 3:21 pm

Depends on who are "We", I'm a little conservative, e.g. still using mostly gtk2 gtkdialog on "X", but trying to make the switch to gtk3 gtkdialog without having strange looking windows (unexpected).
On pure Wayland you mean ? I think gtkdialog (gtk3) does not work at all, right ? Or did you mean with your comment about Xdialog3 ?

Xdialog3

in fact, yes, gtkdialog is not there, since I installed it myself to run some applications on KDE

Oh, I thought gtkdialog can only work on 'xwayland' from what I've read.

No, you misunderstood the meaning. ;) I meant that I can't run a program with Xdialog3 on Wayland

KL-Linux https://sofijacom.github.io
KL LINUX Simple fast free

User avatar
fredx181
Posts: 3426
Joined: Tue Dec 03, 2019 1:49 pm
Location: holland
Has thanked: 461 times
Been thanked: 1504 times
Contact:

Re: gtkdialog GTK3 question setting window size

Post by fredx181 »

Sofiya wrote: Sat Apr 05, 2025 3:31 pm
fredx181 wrote: Sat Apr 05, 2025 3:29 pm
Sofiya wrote: Sat Apr 05, 2025 3:23 pm

Xdialog3

in fact, yes, gtkdialog is not there, since I installed it myself to run some applications on KDE

Oh, I thought gtkdialog can only work on 'xwayland' from what I've read.

No, you misunderstood the meaning. ;) I meant that I can't run a program with Xdialog3 on Wayland

Yes, I understood that about Xdialog3, so you say that gtkdialog can run with pure Wayland ? (sorry, too lazy atm to test myself :oops: )

User avatar
Sofiya
Posts: 2536
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1569 times
Been thanked: 1726 times

Re: gtkdialog GTK3 question setting window size

Post by Sofiya »

fredx181 wrote: Sat Apr 05, 2025 3:37 pm
Sofiya wrote: Sat Apr 05, 2025 3:31 pm
fredx181 wrote: Sat Apr 05, 2025 3:29 pm

Oh, I thought gtkdialog can only work on 'xwayland' from what I've read.

No, you misunderstood the meaning. ;) I meant that I can't run a program with Xdialog3 on Wayland

Yes, I understood that about Xdialog3, so you say that gtkdialog can run with pure Wayland ? (sorry, too lazy atm to test myself :oops: )

yes that's exactly what i'm trying to say :) so i prefer gtkdialog(GT+3 ) since i use our any programs :) which are written for Puppies

KL-Linux https://sofijacom.github.io
KL LINUX Simple fast free

User avatar
Sofiya
Posts: 2536
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1569 times
Been thanked: 1726 times

Re: gtkdialog GTK3 question setting window size

Post by Sofiya »

And if you remove X, you need to think about what to replace it with, since the program for saving will stop working
If in the future X is removed altogether
Save2flash will need to be rewritten
the installation file for Void programs will also stop working

KL-Linux https://sofijacom.github.io
KL LINUX Simple fast free

User avatar
Sofiya
Posts: 2536
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1569 times
Been thanked: 1726 times

Re: gtkdialog GTK3 question setting window size

Post by Sofiya »

using " css " style

using " border-radius: 10px; " on the top image

Code: Select all

#!/bin/bash

# create stylesheet /tmp/gtk3dialog-test.css
echo 'box * {
font: 13px "Sans";
font-style: normal;
font-weight: normal;
color: #cba6f7;
padding: 0;
border-radius: 10px;
}
' > /tmp/gtk3dialog-test.css

GTKDIALOG=gtkdialog
export TEST='

<window title="Test size" resizable="true" width-request="520" height-request="350">
<vbox>
<frame>
<text visible="false">
<label>"Lorem ipsum Morbi erat ex, lacinia nec efficitur eget, sagittis ut orci. Etiam in dolor placerat, pharetra ligula et, bibendum neque. Vestibulum vitae congue lectus, sed ultricies augue. Nam iaculis elit nec velit luctus, vitae rutrum nunc imperdiet. Nunc vel turpis sit amet lectus pellentesque tincidunt. Proin commodo tincidunt enim, at sodales mi dictum ac. Maecenas molestie, metus quis malesuada dictum, leo erat egestas lacus, sit amet tristique urna magna a diam. Donec ultricies dui sit amet mi ornare egestas. Phasellus ultricies lectus non interdum pellentesque. Cras nisi tellus, feugiat sed enim quis, tristique interdum lacus. Sed vel pharetra arcu, ac fermentum neque. Morbi mollis sollicitudin varius. Ut sit amet vulputate velit.

Mauris semper neque quis lacinia volutpat. Aenean vestibulum diam ex, sit amet posuere dolor luctus non. Ut consectetur felis blandit ipsum convallis, non lobortis justo facilisis. Ut vitae velit pulvinar, pharetra libero semper, dignissim urna. Nullam quam quam, viverra eget feugiat a, interdum et erat. Morbi fringilla, eros et consequat iaculis, ligula nunc hendrerit neque, ac tincidunt massa sem vitae tortor. Nunc volutpat massa at dapibus pulvinar. Etiam risus sem, dignissim vel blandit eget, maximus lacinia purus."</label>
<variable>VBOX</variable>
</text>
    </frame>
    <hbox>
     <button ok>
      <action>EXIT:ok</action>
     </button>
    </hbox>
   </vbox>
   <action signal="map-event">show:VBOX</action>
  </window>'


case $1 in
	-d | --dump) echo "$TEST" ;;
	*) $GTKDIALOG --program=TEST --center --styles=/tmp/gtk3dialog-test.css ;;

esac


Attachments
2025-04-05_21-02.png
2025-04-05_21-02.png (424.75 KiB) Viewed 651 times
2025-04-05_20-32.png
2025-04-05_20-32.png (430.9 KiB) Viewed 665 times
Last edited by Sofiya on Sat Apr 05, 2025 7:00 pm, edited 1 time in total.

KL-Linux https://sofijacom.github.io
KL LINUX Simple fast free

User avatar
Sofiya
Posts: 2536
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1569 times
Been thanked: 1726 times

Re: gtkdialog GTK3 question setting window size

Post by Sofiya »

using " css " style
it would be more correct to write the style " css " like this ,separating parts of tags

Changed: CSS selectors are separated

Code: Select all

#!/bin/bash

# create stylesheet /tmp/gtk3dialog-test.css
echo 'box * {
  font: 10pt "Sans";
  font-style: normal;
  font-weight: normal;
  padding: 0;
  border-radius: 8px;
  border-color: DarkViolet;
}
label {
  color: lightgoldenrodyellow;
}
button {
  border-radius: 10px;
  padding-right: 10px;
  box-shadow: 0px 0px 5px black;
}
button:hover {
  background-color: DarkViolet;
  transition: .4s;
}
button:focus{
  outline: none;
}
' > /tmp/gtk3dialog-test.css

GTKDIALOG=gtkdialog
export TEST='

<window title="Test size" resizable="true" width-request="520" height-request="350">
<vbox>
<frame>
<text visible="false">
<label>"Lorem ipsum Morbi erat ex, lacinia nec efficitur eget, sagittis ut orci. Etiam in dolor placerat, pharetra ligula et, bibendum neque. Vestibulum vitae congue lectus, sed ultricies augue. Nam iaculis elit nec velit luctus, vitae rutrum nunc imperdiet. Nunc vel turpis sit amet lectus pellentesque tincidunt. Proin commodo tincidunt enim, at sodales mi dictum ac. Maecenas molestie, metus quis malesuada dictum, leo erat egestas lacus, sit amet tristique urna magna a diam. Donec ultricies dui sit amet mi ornare egestas. Phasellus ultricies lectus non interdum pellentesque. Cras nisi tellus, feugiat sed enim quis, tristique interdum lacus. Sed vel pharetra arcu, ac fermentum neque. Morbi mollis sollicitudin varius. Ut sit amet vulputate velit.

Mauris semper neque quis lacinia volutpat. Aenean vestibulum diam ex, sit amet posuere dolor luctus non. Ut consectetur felis blandit ipsum convallis, non lobortis justo facilisis. Ut vitae velit pulvinar, pharetra libero semper, dignissim urna. Nullam quam quam, viverra eget feugiat a, interdum et erat. Morbi fringilla, eros et consequat iaculis, ligula nunc hendrerit neque, ac tincidunt massa sem vitae tortor. Nunc volutpat massa at dapibus pulvinar. Etiam risus sem, dignissim vel blandit eget, maximus lacinia purus."</label>
<variable>VBOX</variable>
</text>
    </frame>
    <hbox>
     <button ok>
      <action>EXIT:ok</action>
     </button>
    </hbox>
   </vbox>
   <action signal="map-event">show:VBOX</action>
  </window>'


case $1 in
	-d | --dump) echo "$TEST" ;;
	*) $GTKDIALOG --program=TEST --center --styles=/tmp/gtk3dialog-test.css ;;

esac


Attachments
2025-04-05_23-37.png
2025-04-05_23-37.png (427.1 KiB) Viewed 603 times

KL-Linux https://sofijacom.github.io
KL LINUX Simple fast free

User avatar
Sofiya
Posts: 2536
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1569 times
Been thanked: 1726 times

Re: gtkdialog GTK3 question setting window size

Post by Sofiya »

linear-gradient

Code: Select all

#!/bin/bash

GTKDIALOG=gtkdialog

# create stylesheet /tmp/gtk3dialog-test.css
echo 'box * {
  font: 13px "Sans";
  font-style: normal;
  font-weight: normal;
  padding: 0;
  margin: 1px;
  border-radius: 8px;
  border-color: DarkViolet;
}
label {
  color: lightgoldenrodyellow;
  background-image: linear-gradient(to top right, blue 20%, #f0f 80%);
}
button {
  border-radius: 40px;
  padding-right: 5px;
  box-shadow: 0px 0px 5px black;
}
button:hover {
  background-color: DarkViolet;
  transition: .4s;
}
button:focus{
  outline: none;
}
' > /tmp/gtk3dialog-test.css

export TEST='

<window title="Test size" resizable="true" width-request="520" height-request="350">
<vbox>
<frame>
<text visible="false">
<label>"Lorem ipsum Morbi erat ex, lacinia nec efficitur eget, sagittis ut orci. Etiam in dolor placerat, pharetra ligula et, bibendum neque. Vestibulum vitae congue lectus, sed ultricies augue. Nam iaculis elit nec velit luctus, vitae rutrum nunc imperdiet. Nunc vel turpis sit amet lectus pellentesque tincidunt. Proin commodo tincidunt enim, at sodales mi dictum ac. Maecenas molestie, metus quis malesuada dictum, leo erat egestas lacus, sit amet tristique urna magna a diam. Donec ultricies dui sit amet mi ornare egestas. Phasellus ultricies lectus non interdum pellentesque. Cras nisi tellus, feugiat sed enim quis, tristique interdum lacus. Sed vel pharetra arcu, ac fermentum neque. Morbi mollis sollicitudin varius. Ut sit amet vulputate velit.

Mauris semper neque quis lacinia volutpat. Aenean vestibulum diam ex, sit amet posuere dolor luctus non. Ut consectetur felis blandit ipsum convallis, non lobortis justo facilisis. Ut vitae velit pulvinar, pharetra libero semper, dignissim urna. Nullam quam quam, viverra eget feugiat a, interdum et erat. Morbi fringilla, eros et consequat iaculis, ligula nunc hendrerit neque, ac tincidunt massa sem vitae tortor. Nunc volutpat massa at dapibus pulvinar. Etiam risus sem, dignissim vel blandit eget, maximus lacinia purus."</label>
<variable>VBOX</variable>
</text>
    </frame>
    <hbox>
     <button ok>
      <action>EXIT:ok</action>
     </button>
    </hbox>
   </vbox>
   <action signal="map-event">show:VBOX</action>
  </window>'


case $1 in
	-d | --dump) echo "$TEST" ;;
	*) $GTKDIALOG --program=TEST --center --styles=/tmp/gtk3dialog-test.css ;;

esac

Attachments
2025-04-06_02-41.png
2025-04-06_02-41.png (434.41 KiB) Viewed 580 times
Last edited by Sofiya on Sun Apr 06, 2025 3:56 pm, edited 4 times in total.

KL-Linux https://sofijacom.github.io
KL LINUX Simple fast free

User avatar
fredx181
Posts: 3426
Joined: Tue Dec 03, 2019 1:49 pm
Location: holland
Has thanked: 461 times
Been thanked: 1504 times
Contact:

Re: gtkdialog GTK3 question setting window size

Post by fredx181 »

More! More! More! :lol:

Example with other text (it's info message from my "Take a Cast" program):

Code: Select all

#!/bin/bash

# create stylesheet /tmp/gtk3dialog-test.css
echo 'box * {
font: 13px "Sans";
font-style: normal;
font-weight: normal;
color: #000000;
padding: 0;
}
' > /tmp/gtk3dialog-test.css

export HOW_STOP_CAPTURE='
  <window title="How to end capturing and more">
   <vbox>
    <frame>
<text visible="false" use-markup="true"><label>"                       <b>In case Window or Region selected :</b>
'$(gettext 'To select a particular window, just click it anywhere with the left mouse button.')'

'$(gettext 'To select a rectangular area: position mouse cursor at top left corner of desired screen area, then press and hold down the left mouse button and drag mouse cursor to define the area.')'

'$(gettext 'As soon as you release the mouse button, any delay you preconfigured on the main configuration screen will take place. That delay will be followed immediately by the av screencapture itself.')'

<b>In case of ALSA soundsystem with option Soundcard :</b>
Start the source application to record from, e.g. Browser.
If it is already started, <b>restart</b> it.
Otherwise audio recording will not work with ALSA .

<b>Press the tiny X button at the very top-left to end the capture.</b> 
"</label>
<variable>VBOX</variable>
</text>
    </frame>      
    <hbox>
     <checkbox>
      <variable>NOMESSAGE</variable>
      <label>'$(gettext 'Do not show this message again')'</label>
     </checkbox>
     <button ok>
	  <action>[ "$NOMESSAGE" = "true" ] && { echo "Remove this file to show the info message again." > ${HOME}/tkacast-nomessage; }</action>     
      <action>EXIT:ok</action> 
     </button>
    </hbox>
   </vbox>
    <action signal="map-event">show:VBOX</action> 
  </window>'
  gtkdialog -cp HOW_STOP_CAPTURE --geometry=570x370 --styles=/tmp/gtk3dialog-test.css >/dev/null
2025-04-06_12-57-26.png
2025-04-06_12-57-26.png (128.74 KiB) Viewed 506 times

With Sofiya's style config a bit modified ;) :

2025-04-06_11-47-42.png
2025-04-06_11-47-42.png (156.42 KiB) Viewed 506 times

Here's how it looked earlier (using gtk3 gtkdialog) (a bit ugly IMO, couldn't make it work back then to decrease the width and height): edit: with gtk2 gtkdialog it looked ok, like first pic.

2025-04-06_10-24-40.png
2025-04-06_10-24-40.png (148.87 KiB) Viewed 506 times
User avatar
MochiMoppel
Posts: 1361
Joined: Mon Jun 15, 2020 6:25 am
Location: Japan
Has thanked: 23 times
Been thanked: 548 times

Re: gtkdialog GTK3 question setting window size

Post by MochiMoppel »

gtkdialog (GTK3) vs. gtk2dialog (GTK2). Find the (two?) differences ;)

gtk3_gtk2.png
gtk3_gtk2.png (141.91 KiB) Viewed 488 times

Code: Select all

#!/bin/sh

export HOW_STOP_CAPTURE='
  <window title="How to end capturing and more"  resizable="false">
   <vbox>
    <frame>
<text xalign="0" wrap="false" use-markup="true"><label>"                       <b>In case Window or Region selected :</b>
'$(gettext 'To select a particular window, just click it anywhere with the left mouse button.')'

'$(gettext 'To select a rectangular area: position mouse cursor at top left corner of desired screen area,
then press and hold down the left mouse button and drag mouse cursor to define the area.')'

'$(gettext 'As soon as you release the mouse button, any delay you preconfigured on the main
configuration screen will take place. That delay will be followed immediately by the av
screencapture itself.')'

<b>In case of ALSA soundsystem with option Soundcard :</b>
Start the source application to record from, e.g. Browser.
If it is already started, <b>restart</b> it.
Otherwise audio recording will not work with ALSA .

<b>Press the tiny X button at the very top-left to end the capture.</b> 
"</label>
<variable>VBOX</variable>
</text>
    </frame>      
    <hbox>
     <checkbox>
      <variable>NOMESSAGE</variable>
      <label>'$(gettext 'Do not show this message again')'</label>
     </checkbox>
     <button ok>
	  <action>[ "$NOMESSAGE" = "true" ] && { echo "Remove this file to show the info message again." > ${HOME}/tkacast-nomessage; }</action>     
      <action>EXIT:ok</action> 
     </button>
    </hbox>
   </vbox>
  </window>'
gtkdialog -cp HOW_STOP_CAPTURE  # --geometry=590x400 

Didn't use CSS because it doesn't work in gtk2dialog.
Also didn't use the visible="false" hack because it seems fine without here.
In general the wrapping policy in GTK3 and GTK2 is different and partly to blame for the geometry inconsistencies. Line wrapping in GTK3 has become more flexible and predictable, but with the awkward behavior in GTK2 it may be better to avoid it altogether when writing code for both variants.

[Edit]: Added resizable="false" , commented out --geometry=590x400. Without the need for a fix geometry the dialog can automatically adjust to the amount of text (and probably to larger font sizes)

Last edited by MochiMoppel on Sun Apr 06, 2025 1:58 pm, edited 1 time in total.
User avatar
Sofiya
Posts: 2536
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1569 times
Been thanked: 1726 times

Re: gtkdialog GTK3 question setting window size

Post by Sofiya »

With amendments to the code

amendment: in the old code the gradient comes out from the top left

Code: Select all

#!/bin/bash

GTKDIALOG=gtkdialog

# create stylesheet /tmp/gtk3dialog-test.css
echo 'box * {
  font: 13px system-ui;
  font-style: normal;
  font-weight: normal;
  padding: 0;
  margin: 1px;
  border-radius: 8px;
  border-color: DarkViolet;
}
label {
  /* color: lightgoldenrodyellow; */
  background-image: linear-gradient(to top right, blue 20%, #000000 80%);
}
button {
  border-color: DarkViolet;
  border-radius: 40px;
  padding-left: 5px;
  padding-right: 5px;
  /* box-shadow: 0px 0px 5px black; */   /* button shadow */
}
button:hover {
  background-color: DarkViolet;
  /* color: #000000; */
  box-shadow: 0 0 0 1.5px #cbd6ee;
  transition: .4s;
}
button:focus{
  outline: none;
}
' > /tmp/gtk3dialog-test.css

export TEST='

<window title="Test size" resizable="true" width-request="520" height-request="350">
<vbox>
<frame>
<text visible="false">
<label>"Lorem ipsum Morbi erat ex, lacinia nec efficitur eget, sagittis ut orci. Etiam in dolor placerat, pharetra ligula et, bibendum neque. Vestibulum vitae congue lectus, sed ultricies augue. Nam iaculis elit nec velit luctus, vitae rutrum nunc imperdiet. Nunc vel turpis sit amet lectus pellentesque tincidunt. Proin commodo tincidunt enim, at sodales mi dictum ac. Maecenas molestie, metus quis malesuada dictum, leo erat egestas lacus, sit amet tristique urna magna a diam. Donec ultricies dui sit amet mi ornare egestas. Phasellus ultricies lectus non interdum pellentesque. Cras nisi tellus, feugiat sed enim quis, tristique interdum lacus. Sed vel pharetra arcu, ac fermentum neque. Morbi mollis sollicitudin varius. Ut sit amet vulputate velit.

Mauris semper neque quis lacinia volutpat. Aenean vestibulum diam ex, sit amet posuere dolor luctus non. Ut consectetur felis blandit ipsum convallis, non lobortis justo facilisis. Ut vitae velit pulvinar, pharetra libero semper, dignissim urna. Nullam quam quam, viverra eget feugiat a, interdum et erat. Morbi fringilla, eros et consequat iaculis, ligula nunc hendrerit neque, ac tincidunt massa sem vitae tortor. Nunc volutpat massa at dapibus pulvinar. Etiam risus sem, dignissim vel blandit eget, maximus lacinia purus."</label>
<variable>VBOX</variable>
</text>
    </frame>
    <hbox>
     <button ok>
      <action>EXIT:ok</action>
     </button>
    </hbox>
   </vbox>
   <action signal="map-event">show:VBOX</action>
  </window>'


case $1 in
	-d | --dump) echo "$TEST" ;;
	*) $GTKDIALOG --program=TEST --center --styles=/tmp/gtk3dialog-test.css ;;

esac
Attachments
2025-04-06_16-46.png
2025-04-06_16-46.png (154.2 KiB) Viewed 455 times
2025-04-06_16-33.png
2025-04-06_16-33.png (344.4 KiB) Viewed 462 times
Last edited by Sofiya on Sun Apr 06, 2025 4:37 pm, edited 2 times in total.

KL-Linux https://sofijacom.github.io
KL LINUX Simple fast free

User avatar
Sofiya
Posts: 2536
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1569 times
Been thanked: 1726 times

Re: gtkdialog GTK3 question setting window size

Post by Sofiya »

And one more option

Code: Select all

#!/bin/bash

GTKDIALOG=gtkdialog

# create stylesheet /tmp/gtk3dialog-test.css
echo 'box * {
  font: 13px system-ui;
  font-style: normal;
  font-weight: normal;
  padding: 0;
  margin: 1px;
  border-radius: 8px;
  border-color: DarkViolet;
}
label {
  /* color: lightgoldenrodyellow; */
  background-image: linear-gradient(to top right, blue 20%, #000000 80%);
}
button {
  /* color: #000000; */
  border-color: #cbd6ee;
  border-radius: 40px;
  padding-left: 5px;
  padding-right: 5px;
  background: linear-gradient(to bottom, #00acee, #0072e0);
}
button:hover {
  transition: .4s;
  box-shadow: 0 0 0 1px #cbd6ee;
}
button:focus{
  outline: none;
}
' > /tmp/gtk3dialog-test.css

export TEST='

<window title="Test size" resizable="true" width-request="520" height-request="430">
<vbox>
<frame>
<text visible="false">
<label>"Lorem ipsum Morbi erat ex, lacinia nec efficitur eget, sagittis ut orci. Etiam in dolor placerat, pharetra ligula et, bibendum neque. Vestibulum vitae congue lectus, sed ultricies augue. Nam iaculis elit nec velit luctus, vitae rutrum nunc imperdiet. Nunc vel turpis sit amet lectus pellentesque tincidunt. Proin commodo tincidunt enim, at sodales mi dictum ac. Maecenas molestie, metus quis malesuada dictum, leo erat egestas lacus, sit amet tristique urna magna a diam. Donec ultricies dui sit amet mi ornare egestas. Phasellus ultricies lectus non interdum pellentesque. Cras nisi tellus, feugiat sed enim quis, tristique interdum lacus. Sed vel pharetra arcu, ac fermentum neque. Morbi mollis sollicitudin varius. Ut sit amet vulputate velit.

Mauris semper neque quis lacinia volutpat. Aenean vestibulum diam ex, sit amet posuere dolor luctus non. Ut consectetur felis blandit ipsum convallis, non lobortis justo facilisis. Ut vitae velit pulvinar, pharetra libero semper, dignissim urna. Nullam quam quam, viverra eget feugiat a, interdum et erat. Morbi fringilla, eros et consequat iaculis, ligula nunc hendrerit neque, ac tincidunt massa sem vitae tortor. Nunc volutpat massa at dapibus pulvinar. Etiam risus sem, dignissim vel blandit eget, maximus lacinia purus."</label>
<variable>VBOX</variable>
</text>
    </frame>
    <hbox>
     <button ok>
      <action>EXIT:ok</action>
     </button>
    </hbox>
   </vbox>
   <action signal="map-event">show:VBOX</action>
  </window>'


case $1 in
	-d | --dump) echo "$TEST" ;;
	*) $GTKDIALOG --program=TEST --center --styles=/tmp/gtk3dialog-test.css ;;

esac

Attachments
2025-04-06_18-42.png
2025-04-06_18-42.png (342.92 KiB) Viewed 424 times
Last edited by Sofiya on Tue Apr 08, 2025 1:40 pm, edited 2 times in total.

KL-Linux https://sofijacom.github.io
KL LINUX Simple fast free

Post Reply

Return to “Programming”