Hi,
On Thu, Jul 09, 2026 at 01:37:14AM +0200, Diego wrote:
>¿Can i have some feedback? ¿Do the patchs work for you? ¿do it seem a
>practical idea? ¿etc?
Thanks, I received the patches but I haven't had time to look at this
yet, I have have it in my queue.
Best,
Rodrigo.
>
>cheers!
>Diego.
>
>
>El vie, 3 jul 2026 a las 14:17, Diego (<darkspirit5000@gmail.com>) escribió:
>
>> Hello, I'm sending two patches with an idea to solve this problem.
>> It's a proof of concept that I'm offering to develop and complete,
>> although I have very little free time.
>>
>> The first patch works with the latest dillo release (3.3.0) but also works
>> with the current repository.
>> It implements changes in dillo, download.dpi, and the file and data DPIs
>> as examples.
>> The second patch works with the latest gopher.dpi repository.
>>
>> The main idea is that the DPIs that handle protocols save the URL and
>> write the file themselves, coordinating with download.dpi and dillo.
>>
>> To do this, they implement a new DPI command: `save_url`
>> d_cmd = a_Dpip_build_cmd("cmd=%s url=%s destination=%s", "save_url", url,
>> dl_dest);
>>
>> Dillo initiates a download, sending it to download.dpi as before. If it's
>> HTTP* or FTP*, it downloads directly as it does now. Otherwise, it will
>> send a `save_url` command to Dillo to coordinate. This allows Dillo to
>> notify the user, verify the security of the change, etc.Currently, Dillo
>> only checks if there's a DPI that handles the requested protocol.
>>
>> (A new function (`a_Dpiapi_is_service_handled(server_str)`) queries `dpid`
>> without executing the DPI. No code is modified in `dpid`. Modifying `dpid`
>> or executing the DPI would allow querying the capabilities of the DPIs, but
>> it doesn't seem necessary.)
>>
>> - If a DPI is present, it sends the `save_url` command to the DPI that
>> coordinates with `download.dpi` via a secondary channel so that downloads
>> can continue even if all Dillo windows are closed.
>>
>> - If the protocol isn't handled, it notifies download.dpi through the
>> secondary channel (this reduces the amount of code).
>>
>> The next step would be to implement `save_url` in other protocol DPIs.
>>
>> A possible change to download.dpi once all is done is to leave
>> download.dpi it as just a GUI for DPIs and extract the code to download
>> HTTP to a DPI. (There's already ftp.dpi)
>>
>> One last thing: can you recommend a simple Git manual?
>>
>>
>> Saludos
>> Diego.
>>
>> El lun, 25 may 2026 a las 21:23, Rodrigo Arias (<rodarima@gmail.com>)
>> escribió:
>>
>>> Hi,
>>>
>>> On Mon, May 25, 2026 at 09:25:58AM -0700, Ben Collver wrote:
>>> >Good day,
>>> >
>>> >I am using dillo 3.3.0 on Slackware64 15.0.
>>> >
>>> >If I open a gopher directory, right-click on an item, and click
>>> >Save link as..., this opens a file save dialog. If i click OK, it
>>> >dismisses the dialog. I expected it to save something, but it
>>> >creates no new files.
>>> >
>>> >Gopher URI: gopher://gopher.pglaf.org/1/4/0/2/8/40282/
>>> >Top item: 40282-0
>>> >
>>> >I found the following workaround:
>>> >
>>> >* Left click 40282-0
>>> >* Click Save button in browser toolbar
>>> >
>>> >This creates a new file as expected.
>>>
>>> Yes, this is a known limitation of the downloads in Dillo. Using the
>>> "Save link as" to fetch a new resource will use wget under the hood,
>>> which only allows http(s). You can see the message in the console:
>>>
>>> > UIcmd_save: /tmp/40282-0.txt
>>> > ** WARNING **: Ignoring download request for
>>> > 'gopher://gopher.pglaf.org/0/4/0/2/8/40282/40282-0.txt': not in cache
>>> > and not downloadable.
>>>
>>> Browsing to the target file makes the gopher plugin fetch the file and
>>> place it in the Dillo cache (you can see it in about:cache). Then saving
>>> the current page (or going back and clicking the "Save link as" entry)
>>> works because it fetches it from the cache.
>>>
>>> It is planned to solve this some time in the future, but involves
>>> complex changes. In the meanwhile, you can use this workaround.
>>>
>>> Best,
>>> Rodrigo.
>>> _______________________________________________
>>> Dillo-dev mailing list -- dillo-dev@mailman3.com
>>> To unsubscribe send an email to dillo-dev-leave@mailman3.com
>>>
>>
>_______________________________________________
>Dillo-dev mailing list -- dillo-dev@mailman3.com
>To unsubscribe send an email to dillo-dev-leave@mailman3.com
_______________________________________________
Dillo-dev mailing list -- dillo-dev@mailman3.com
To unsubscribe send an email to dillo-dev-leave@mailman3.com