There's a --kill-parent option. See if that helps. There's also a YAD_PID environment variable that holds the dialog pid. Perhaps you could run ps and reconstruct the chain of parents of $YAD_PID (but it seems complicated). By the way, your code uses 'tail' in a way that WILL leave hanging processes. Instead, read and adapt the last few posts, which show cleaner alternatives to 'tail'.stemsee wrote:Here is my double dnd/list gui. Only problem is closing the first parent gui, I don't know how to get the pid, even when it is the last backgrounded process.
YAD - Tips
[url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Fatdog64-810[/url]|[url=http://goo.gl/hqZtiB]+Packages[/url]|[url=http://goo.gl/6dbEzT]Kodi[/url]|[url=http://goo.gl/JQC4Vz]gtkmenuplus[/url]
Sorted the tail command to 'tail -f'; changed dostuff to your code to remove trailing '\n's; and after observing the pids created for rfdnd using pprocess, I saw the parent used a pid that varied in range from 10 to 20 more than the $$ value, so I made it create a routine to kill pids in that range ... not ideal but it works.
Code: Select all
#!/bin/sh
# refdnd reference or what-have-you list builder/editor
#by stemsee, step and MochiMoppel 2016
lf=$HOME/refs1.txt
lf2=$HOME/refs2.txt
function editor () {
mv /tmp/xyp /tmp/pyx
lf=$HOME/refs1.txt
lf2=$HOME/refs2.txt
[[ "$lf2" ]] && mv "$lf2" "$lf"
refdnd &
sleep 1
/tmp/pyx
}
export -f editor
function dostuff {
lf2=$HOME/refs2.txt
STUFF="${0//file:\/\//}"
printf %s\\\n "$STUFF" >> "$lf2"
printf %s\\\n "$STUFF"
}
export -f dostuff
function save () {
lf=$HOME/refs1.txt
lf2=$HOME/refs2.txt
fix=$(date | awk '{print $3,$2,$4}' | tr ' ' '_')
cp "$lf" "$lf"."$fix"
cp "$lf2" "$lf2"."$fix"
}
export -f save
function blank () {
mv /tmp/xyp /tmp/pyx
rm -f "$lf"
rm -f "$lf2"
touch "$lf"
touch "$lf2"
refdnd &
sleep 1
/tmp/pyx
}
export -f blank
yad --plug=$$ --tabnum=1 --text="Drag-n-drop items here\nThey will be added to\n/root/refs1.txt list\n---" --dnd --command "bash -c 'printf %s\\\\n \"\${0//file:\/\//}\"'" >> "$lf" &
yp=`echo $$`
echo $$
task='kill $pid'
echo "#!/bin/sh
yp=$yp
for pid in "`seq $((yp + 10)) 1 $((yp + 30))`"
do
$task
done
" > /tmp/xyp
chmod 755 /tmp/xyp
tail -f "$lf" | awk '{fflush();print;fflush()}' | yad --plug=$$ --tabnum=2 --editable --listen --tail --text-info &
yad --plug=$$ --tabnum=3 --text="Drag-n-drop edits from refs1\nOr refs2 / any source\nThey will create /root/refs2.txt\n---" --dnd --command "bash -c dostuff" > "$lf2" &
yad --plug=$$ --tabnum=5 --form --field="Replace refs1 with refs2:fbtn" "bash -c editor" --field="'Start New' refs lists:fbtn" "bash -c blank" --field="Save Ref lists by date in /root:fbtn" "bash -c save" &
tail -f "$lf2" | awk '{fflush();print;fflush()}' | yad --plug=$$ --tabnum=4 --editable --listen --tail --text-info &
yad --window-icon=/usr/share/pixmaps/leafpad.png --geometry=80x80+80+80 --no-buttons --on-top --notebook --key=$$ --title="Ref Lists in /root. Just DragnDrop text/files/dirs/WebAddresses to One of Two DnD tabs" --command "kill $YAD_PID" --tab="DnD1" --tab="refs1" --tab-pos=bottom --tab="DnD2" --tab="refs2" --tab="Save"
Last edited by stemsee on Wed 14 Sep 2016, 21:38, edited 2 times in total.
- MochiMoppel
- Posts: 2084
- Joined: Wed 26 Jan 2011, 09:06
- Location: Japan
Not by me.stemsee wrote:# refdnd reference or what-have-you list builder/editor
#by stemsee, step and MochiMoppel 2016
They both work for me too. It's rather a matter of taste. Personally I find the functionality of the dnd dialog the least attractive of all yad dialogs, but I'm sure other members will disagree.step wrote:Good to have the paned option, but tabs work well for me, too.
In the previous demos there is a limit of only 1 target tab per dnd. Using named pipes makes it possible to feed multiple tabs with only 1 dnd. Here an example. When files are dropped (e.g. from a ROX-Filer window), they will end up in the"Files" tab, when other text strings are dropped they will end up in the "Others" tab. Again no external utilities needed. There is practically no limit to the number of tabs that can be "linked" to the dnd dialog.
Code: Select all
#!/bin/bash
export PIPE_03=/tmp/yadpipe03
export PIPE_04=/tmp/yadpipe04
mkfifo $PIPE_03
mkfifo $PIPE_04
exec 3<> $PIPE_03
exec 4<> $PIPE_04
function dostuff {
if [[ $0 =~ ^file:// ]];then
FILES=${0//file:\/\//}
printf %s\\n "$FILES" > $PIPE_03
else
printf %s\\n "$0" > $PIPE_04
fi
}; export -f dostuff
yad --dnd --plug=$$ --tabnum=1 --command "bash -c dostuff" &
yad --text-info --plug=$$ --tabnum=2 --listen < $PIPE_03 &
yad --text-info --plug=$$ --tabnum=3 --listen < $PIPE_04 &
yad --notebook --key=$$ --tab=Drop --tab=Files --tab=Others
rm -f $PIPE_03 $PIPE_04
- MochiMoppel
- Posts: 2084
- Joined: Wed 26 Jan 2011, 09:06
- Location: Japan
stemsee wrote:MociMoppel, how many panes can yad with '--paned' option display? I could only get two.
The YAD Manual wrote:Paned works in a same manner as a notebook with one restriction - only first and secong plug dialogs will be swallowed to panes.
This seems to suggest that tabs 3+ will be 'tabs' but I couldn't get that. Is there a particular position for '--paned' to be placed in?The YAD Manual wrote:Paned works in a same manner as a notebook with one restriction - only first and secong plug dialogs will be swallowed to panes.
- MochiMoppel
- Posts: 2084
- Joined: Wed 26 Jan 2011, 09:06
- Location: Japan
"works in a same manner as a notebook" suggests that "Paned" and "notebook" are two similar, but still different dialog types. --paned may sound like a property, but it's a dialog. Both dialog types swallow plug dialogs and all plug dialogs need to specify a --tabnum. When swallowed by a "Notebook" these plug dialogs will appear as a tab, when swallowed by "Paned" they will appear as a pane, and the maximum is 2 - which makes sense to me.
Continued from http://murga-linux.com/puppy/viewtopic. ... 488#918488
Paste in to a terminal to see what the error is, you should get something like this
That works fine for me, the problem your having may be due to the version of yad your using, I'm using yad 0.36.3, to get the version, in the terminal type yad --versionB.K. Johnson wrote:Sure Geoffery
This is a slight modification of your earlier post.The text is not displayed.Code: Select all
#!/bin/bash yad --title="Yad Message Box" --width=200 --height=150 --fixed --text-align="center" --skip-taskbar --window-icon="gtk-dialog-info" \ --text="<big><b> This is a Yad message box </b></big>" --no-buttons --timeout="3"
Remove the timeout and it is shown.
Paste
Code: Select all
yad --title="Yad Message Box" --width=200 --height=150 --fixed --text-align="center" --skip-taskbar --window-icon="gtk-dialog-info" \
--text="<big><b>
This is a Yad message box
</b></big>" --no-buttons --timeout="3"
Code: Select all
Unable parse command line: Unknown option --?
[b]Carolina:[/b] [url=http://smokey01.com/carolina/pages/recent-repo.html]Recent Repository Additions[/url]
[img]https://dl.dropboxusercontent.com/s/ahfade8q4def1lq/signbot.gif[/img]
[img]https://dl.dropboxusercontent.com/s/ahfade8q4def1lq/signbot.gif[/img]
-
- Posts: 807
- Joined: Mon 12 Oct 2009, 17:11
@Geoffery
You are likely correct for I have version 0.36.2 installed. I checked PPM, but found nothing newer. I'll have to look elsewhere. Thanks for the lead.That works fine for me, the problem your having may be due to the version of yad your using, I'm using yad 0.36.3, to get the version, in the terminal type yad --version
Got the same box with no text - no error message.PasteCode: Select all
...into a terminal to see what the error is, you should get something like this [code]Unable parse command line: Unknown option --?
[color=blue]B.K. Johnson
tahrpup-6.0.5 PAE (upgraded from 6.0 =>6.0.2=>6.0.3=>6.0.5 via quickpet/PPM=Not installed); slacko-5.7 occasionally. Frugal install, pupsave file, multi OS flashdrive, FAT32 , SYSLINUX boot, CPU-Dual E2140, 4GB RAM[/color]
tahrpup-6.0.5 PAE (upgraded from 6.0 =>6.0.2=>6.0.3=>6.0.5 via quickpet/PPM=Not installed); slacko-5.7 occasionally. Frugal install, pupsave file, multi OS flashdrive, FAT32 , SYSLINUX boot, CPU-Dual E2140, 4GB RAM[/color]
@B.K. Johnson,
Weird, I can't fault it, ah yes so the box displays, it wouldn't if there was an error, let us know how you solve it, be interesting to see the cause.
Weird, I can't fault it, ah yes so the box displays, it wouldn't if there was an error, let us know how you solve it, be interesting to see the cause.
[b]Carolina:[/b] [url=http://smokey01.com/carolina/pages/recent-repo.html]Recent Repository Additions[/url]
[img]https://dl.dropboxusercontent.com/s/ahfade8q4def1lq/signbot.gif[/img]
[img]https://dl.dropboxusercontent.com/s/ahfade8q4def1lq/signbot.gif[/img]
- MochiMoppel
- Posts: 2084
- Joined: Wed 26 Jan 2011, 09:06
- Location: Japan
-
- Posts: 807
- Joined: Mon 12 Oct 2009, 17:11
@MochiMoppel
It is buttonless as the attached screenshot shows. Title OK. Times out OK too....so do I and your code works fine here. Do you get a buttonless dialog with and without --timeout?B.K. Johnson wrote:
I have version 0.36.2 installed
- Attachments
-
- notextyad.png
- Shows titled box, but no text, yet times out
- (3.19 KiB) Downloaded 944 times
[color=blue]B.K. Johnson
tahrpup-6.0.5 PAE (upgraded from 6.0 =>6.0.2=>6.0.3=>6.0.5 via quickpet/PPM=Not installed); slacko-5.7 occasionally. Frugal install, pupsave file, multi OS flashdrive, FAT32 , SYSLINUX boot, CPU-Dual E2140, 4GB RAM[/color]
tahrpup-6.0.5 PAE (upgraded from 6.0 =>6.0.2=>6.0.3=>6.0.5 via quickpet/PPM=Not installed); slacko-5.7 occasionally. Frugal install, pupsave file, multi OS flashdrive, FAT32 , SYSLINUX boot, CPU-Dual E2140, 4GB RAM[/color]
-
- Posts: 807
- Joined: Mon 12 Oct 2009, 17:11
@Geoffery, MochiMoppel
My set-up is tahr-6.0.2 that has been upgraded to 6.0.5 via tahr updates.
I booted as though I intended to create a new pupsave.
From CLI, yad --version showed 0.12.4
Ran the code from both command line and script.
-- Barfed because of text-align="center"
-- On correcting to text="center", the script displayed correctly with --no-buttons and --timeout="3"
So we know the earlier version worked.
Back on the regular 6.0.5, with yad version 0.36.2, the revised code still did not display: "This is a yad message box"
How did I get from 0.12.4 to 0.36.2? yad is not available in PPM. I have it in my repository, so I must have downloaded it from the thread. Since MochiMoppel's 0.36.2 works, then the question is what was the source of MochiMoppel's? Was the pet changed between our download times? Or is there some other reason?
My copy was downloaded on Jul 22 and the md5 is c31af28d09ac6c44b88bec2c2a306e05
My set-up is tahr-6.0.2 that has been upgraded to 6.0.5 via tahr updates.
I booted as though I intended to create a new pupsave.
From CLI, yad --version showed 0.12.4
Ran the code from both command line and script.
-- Barfed because of text-align="center"
-- On correcting to text="center", the script displayed correctly with --no-buttons and --timeout="3"
So we know the earlier version worked.
Back on the regular 6.0.5, with yad version 0.36.2, the revised code still did not display: "This is a yad message box"
How did I get from 0.12.4 to 0.36.2? yad is not available in PPM. I have it in my repository, so I must have downloaded it from the thread. Since MochiMoppel's 0.36.2 works, then the question is what was the source of MochiMoppel's? Was the pet changed between our download times? Or is there some other reason?
My copy was downloaded on Jul 22 and the md5 is c31af28d09ac6c44b88bec2c2a306e05
[color=blue]B.K. Johnson
tahrpup-6.0.5 PAE (upgraded from 6.0 =>6.0.2=>6.0.3=>6.0.5 via quickpet/PPM=Not installed); slacko-5.7 occasionally. Frugal install, pupsave file, multi OS flashdrive, FAT32 , SYSLINUX boot, CPU-Dual E2140, 4GB RAM[/color]
tahrpup-6.0.5 PAE (upgraded from 6.0 =>6.0.2=>6.0.3=>6.0.5 via quickpet/PPM=Not installed); slacko-5.7 occasionally. Frugal install, pupsave file, multi OS flashdrive, FAT32 , SYSLINUX boot, CPU-Dual E2140, 4GB RAM[/color]
If I can add two-cents, Victor, the creator of YAD, sometimes makes changes that negatively affect other commands of YAD so he will update again, sometimes in short time-frames. I'm not saying that is definitely the issue but it might be. Also, I'm thinking that YAD compiled in one Puppy or Quirky may not work properly in others.
Can anyone chime in on these thoughts?
Best,
Slavvo67
Can anyone chime in on these thoughts?
Best,
Slavvo67
-
- Posts: 807
- Joined: Mon 12 Oct 2009, 17:11
Hi guys
It is a tahr issue.
When I install yad-0.36.2 in a puppy created from a 605 iso, the script when run or invoked from the terminal does not display correctly - same as the case when I use the updated tahr-6.0.5. The display works correctly for MochiMoppel who uses the same yad version with slacko-5.6 and for Geoffrey who I assume uses Carolina.
I am repeating the code here and asking others with non-tahr puppies to copy, paste and run it in the terminal and post whether the window shows the text: This is a Yad message box before the window vanishes in 3 secs.
[EDIT]
xenial-7.0.1 has the same problem. It has yad- 0.12.4 OOTB and it works, but installed 0.36.2 does not.
It is a tahr issue.
When I install yad-0.36.2 in a puppy created from a 605 iso, the script when run or invoked from the terminal does not display correctly - same as the case when I use the updated tahr-6.0.5. The display works correctly for MochiMoppel who uses the same yad version with slacko-5.6 and for Geoffrey who I assume uses Carolina.
I am repeating the code here and asking others with non-tahr puppies to copy, paste and run it in the terminal and post whether the window shows the text: This is a Yad message box before the window vanishes in 3 secs.
Code: Select all
yad --title="Yad Message Box" --width=200 --height=150 --fixed --text="center" --skip-taskbar --window-icon="gtk-dialog-info" \
--text="<big><b>
This is a Yad message box
</b></big>" --no-buttons --timeout="3"
xenial-7.0.1 has the same problem. It has yad- 0.12.4 OOTB and it works, but installed 0.36.2 does not.
[color=blue]B.K. Johnson
tahrpup-6.0.5 PAE (upgraded from 6.0 =>6.0.2=>6.0.3=>6.0.5 via quickpet/PPM=Not installed); slacko-5.7 occasionally. Frugal install, pupsave file, multi OS flashdrive, FAT32 , SYSLINUX boot, CPU-Dual E2140, 4GB RAM[/color]
tahrpup-6.0.5 PAE (upgraded from 6.0 =>6.0.2=>6.0.3=>6.0.5 via quickpet/PPM=Not installed); slacko-5.7 occasionally. Frugal install, pupsave file, multi OS flashdrive, FAT32 , SYSLINUX boot, CPU-Dual E2140, 4GB RAM[/color]
-
- Posts: 807
- Joined: Mon 12 Oct 2009, 17:11
Sorry to say Semme, but that didn't work either.
Dependency check - see screen-shot. This true for anyone else?
Dependency check - see screen-shot. This true for anyone else?
- Attachments
-
- missing yad dep.png
- dependency check screen-shot
- (13.26 KiB) Downloaded 776 times
[color=blue]B.K. Johnson
tahrpup-6.0.5 PAE (upgraded from 6.0 =>6.0.2=>6.0.3=>6.0.5 via quickpet/PPM=Not installed); slacko-5.7 occasionally. Frugal install, pupsave file, multi OS flashdrive, FAT32 , SYSLINUX boot, CPU-Dual E2140, 4GB RAM[/color]
tahrpup-6.0.5 PAE (upgraded from 6.0 =>6.0.2=>6.0.3=>6.0.5 via quickpet/PPM=Not installed); slacko-5.7 occasionally. Frugal install, pupsave file, multi OS flashdrive, FAT32 , SYSLINUX boot, CPU-Dual E2140, 4GB RAM[/color]
I think that's a glitch. I don't think you need those dependencies. Anyone? BKJohnson - Are you using a YAD pet that was created in the forum? If it wasn't compiled in the distro you are using,. it might not work properly.
I'll try and grab a version of Tahr and compile it. It should work okay.....
Wait, are you using the 64 bit or 32 bit version of Tahr?
I'll try and grab a version of Tahr and compile it. It should work okay.....
Wait, are you using the 64 bit or 32 bit version of Tahr?