~eliasnaur/gio

9 5

embedding a terminal application

Details
Message ID
<1wZCb31ZMskn5hw1pZB3RGAO0IAemLbAQIZ5C1oBk@cp3-web-029.plabs.ch>
DKIM signature
missing
Download raw message
hi there,

My end-of-year little project will be to write a Gio front-end to
aerc[1].

I do like the fact aerc is terminal based like Alpine/Pine, but
nowadays, many emails are full of images and html, so I am toying with
the notion of displaying those emails with Gio.
(and from there, it was only logical to want building an email client
with Gio)

One thing I'd like to retain though, is to be able to use my favorite
$EDITOR to write emails from this scaffolding.

How hard would it be to be able to spawn a new Gio window and embed,
say, vim, in there? (building a fully vim-compatible editor from within
Gio is left for another year's "end-of-year" project).

-s

[1]: https://aerc-mail.org/
Details
Message ID
<153C1B03-18EC-423F-B29A-0B137F2AA741@gmail.com>
In-Reply-To
<1wZCb31ZMskn5hw1pZB3RGAO0IAemLbAQIZ5C1oBk@cp3-web-029.plabs.ch> (view parent)
DKIM signature
pass
Download raw message
On December 9, 2020 5:55:22 AM EST, Sebastien Binet <s@sbinet.org> wrote:
>hi there,
>
>My end-of-year little project will be to write a Gio front-end to
>aerc[1].

This sounds interesting!

>I do like the fact aerc is terminal based like Alpine/Pine, but
>nowadays, many emails are full of images and html, so I am toying with
>the notion of displaying those emails with Gio.
>(and from there, it was only logical to want building an email client
>with Gio)
>
>One thing I'd like to retain though, is to be able to use my favorite
>$EDITOR to write emails from this scaffolding.
>
>How hard would it be to be able to spawn a new Gio window and embed,
>say, vim, in there? (building a fully vim-compatible editor from within
>Gio is left for another year's "end-of-year" project).

Honestly, terminal emulators are pretty complicated. You're essentially going to have to rewrite one in Gio, as I'm not aware of anyone else doing that.

A much faster path would be to allow the user to launch an existing terminal emulator as a separate window in which they run their preferred editor. That leaves you free to focus on rendering emails. I have some experience doing this kind of thing (launching a terminal emulator to run $EDITOR), and I'd be happy to provide pointers if you go down that path.

That being said, writing a terminal emulator would be an interesting project, so don't let me dissuade you if that's where your interest lies.

Cheers,
Chris
Details
Message ID
<tT3BDubFdgzWIc6obNKyavwwVsMFfycsfZPQTJYOb0@cp4-web-032.plabs.ch>
In-Reply-To
<153C1B03-18EC-423F-B29A-0B137F2AA741@gmail.com> (view parent)
DKIM signature
missing
Download raw message
On Wed Dec 9, 2020 at 14:11 CET, Chris Waldon wrote:
> On December 9, 2020 5:55:22 AM EST, Sebastien Binet <s@sbinet.org>
> wrote:
> >hi there,
> >
> >My end-of-year little project will be to write a Gio front-end to
> >aerc[1].
>
> This sounds interesting!
>
> >I do like the fact aerc is terminal based like Alpine/Pine, but
> >nowadays, many emails are full of images and html, so I am toying with
> >the notion of displaying those emails with Gio.
> >(and from there, it was only logical to want building an email client
> >with Gio)
> >
> >One thing I'd like to retain though, is to be able to use my favorite
> >$EDITOR to write emails from this scaffolding.
> >
> >How hard would it be to be able to spawn a new Gio window and embed,
> >say, vim, in there? (building a fully vim-compatible editor from within
> >Gio is left for another year's "end-of-year" project).
>
> Honestly, terminal emulators are pretty complicated. You're essentially
> going to have to rewrite one in Gio, as I'm not aware of anyone else
> doing that.
>
> A much faster path would be to allow the user to launch an existing
> terminal emulator as a separate window in which they run their preferred
> editor. That leaves you free to focus on rendering emails. I have some
> experience doing this kind of thing (launching a terminal emulator to
> run $EDITOR), and I'd be happy to provide pointers if you go down that
> path.
>
> That being said, writing a terminal emulator would be an interesting
> project, so don't let me dissuade you if that's where your interest
> lies.

yeah, that's what I was (probably not very well) trying to convey: start
a new window from Gio, run $EDITOR in there.

I'd be very interested in those pointers :)

thanks,
-s
Details
Message ID
<CANtNKfqytb6Bg3D3nHfbVoskCiw=bnJp-D60X4CcXfvZ8wT1cw@mail.gmail.com>
In-Reply-To
<tT3BDubFdgzWIc6obNKyavwwVsMFfycsfZPQTJYOb0@cp4-web-032.plabs.ch> (view parent)
DKIM signature
pass
Download raw message
You could also spawn another process that displays vim with temporary
file, which should be much less effort. Git does something similar to
support GUI editors.

Embedding vim would be roughly identical to implementing your own
virtual terminal.  e.g.
* https://github.com/liamg/aminal
* https://github.com/deadpixi/libtmt
* https://www.freedesktop.org/wiki/Software/kmscon/libtsm/

It might be also possible to do something based on:
* https://github.com/vim/vim/blob/master/src/gui.c

(Sorry for the duplicate emails Sebastian/Chris, I forgot to press
reply-all and set gmail to plain-text).


On Wed, Dec 9, 2020 at 3:28 PM Sebastien Binet <s@sbinet.org> wrote:
>
> On Wed Dec 9, 2020 at 14:11 CET, Chris Waldon wrote:
> > On December 9, 2020 5:55:22 AM EST, Sebastien Binet <s@sbinet.org>
> > wrote:
> > >hi there,
> > >
> > >My end-of-year little project will be to write a Gio front-end to
> > >aerc[1].
> >
> > This sounds interesting!
> >
> > >I do like the fact aerc is terminal based like Alpine/Pine, but
> > >nowadays, many emails are full of images and html, so I am toying with
> > >the notion of displaying those emails with Gio.
> > >(and from there, it was only logical to want building an email client
> > >with Gio)
> > >
> > >One thing I'd like to retain though, is to be able to use my favorite
> > >$EDITOR to write emails from this scaffolding.
> > >
> > >How hard would it be to be able to spawn a new Gio window and embed,
> > >say, vim, in there? (building a fully vim-compatible editor from within
> > >Gio is left for another year's "end-of-year" project).
> >
> > Honestly, terminal emulators are pretty complicated. You're essentially
> > going to have to rewrite one in Gio, as I'm not aware of anyone else
> > doing that.
> >
> > A much faster path would be to allow the user to launch an existing
> > terminal emulator as a separate window in which they run their preferred
> > editor. That leaves you free to focus on rendering emails. I have some
> > experience doing this kind of thing (launching a terminal emulator to
> > run $EDITOR), and I'd be happy to provide pointers if you go down that
> > path.
> >
> > That being said, writing a terminal emulator would be an interesting
> > project, so don't let me dissuade you if that's where your interest
> > lies.
>
> yeah, that's what I was (probably not very well) trying to convey: start
> a new window from Gio, run $EDITOR in there.
>
> I'd be very interested in those pointers :)
>
> thanks,
> -s
>
Details
Message ID
<CAE_4BPA=D_7Pvm46CR0+Y2jSqw5q+pfR1w1UTdc8p9xZUiruXA@mail.gmail.com>
In-Reply-To
<tT3BDubFdgzWIc6obNKyavwwVsMFfycsfZPQTJYOb0@cp4-web-032.plabs.ch> (view parent)
DKIM signature
missing
Download raw message
[ I sent this yesterday, but it bounced because it was HTML from
gmail, and I didn't notice till now. ]

Vim on macOS (aka MacVim), Windows, and Linux all support stand-alone
GUI windows that do not need a terminal.  MacVim calls theirs "mvim";
the other two call it "gvim".  ("gvim", as such, actually does work on
a Mac, but I think you have to compile it yourself and use X11, and
few people do that.)  I think they all support synchronous usage,
where you start it and it doesn't return until the user quits.  I know
MacVim does because I use it every day.

If this is just a project for yourself, that's probably all you need.
Other folks of course like other editors, in which case Your (or
Their) Mileage May Vary.

I've looked into terminal emulation, and it's a fairly big job.  If I
end up doing it for my app I'll probably use a shared library (which I
thought I bookmarked but cannot now find, alas) to do the heavy
lifting.  It might have been libvte.

HTH.

-- Larry


On Wed, Dec 9, 2020 at 8:27 AM Sebastien Binet <s@sbinet.org> wrote:
>
> On Wed Dec 9, 2020 at 14:11 CET, Chris Waldon wrote:
> > On December 9, 2020 5:55:22 AM EST, Sebastien Binet <s@sbinet.org>
> > wrote:
> > >hi there,
> > >
> > >My end-of-year little project will be to write a Gio front-end to
> > >aerc[1].
> >
> > This sounds interesting!
> >
> > >I do like the fact aerc is terminal based like Alpine/Pine, but
> > >nowadays, many emails are full of images and html, so I am toying with
> > >the notion of displaying those emails with Gio.
> > >(and from there, it was only logical to want building an email client
> > >with Gio)
> > >
> > >One thing I'd like to retain though, is to be able to use my favorite
> > >$EDITOR to write emails from this scaffolding.
> > >
> > >How hard would it be to be able to spawn a new Gio window and embed,
> > >say, vim, in there? (building a fully vim-compatible editor from within
> > >Gio is left for another year's "end-of-year" project).
> >
> > Honestly, terminal emulators are pretty complicated. You're essentially
> > going to have to rewrite one in Gio, as I'm not aware of anyone else
> > doing that.
> >
> > A much faster path would be to allow the user to launch an existing
> > terminal emulator as a separate window in which they run their preferred
> > editor. That leaves you free to focus on rendering emails. I have some
> > experience doing this kind of thing (launching a terminal emulator to
> > run $EDITOR), and I'd be happy to provide pointers if you go down that
> > path.
> >
> > That being said, writing a terminal emulator would be an interesting
> > project, so don't let me dissuade you if that's where your interest
> > lies.
>
> yeah, that's what I was (probably not very well) trying to convey: start
> a new window from Gio, run $EDITOR in there.
>
> I'd be very interested in those pointers :)
>
> thanks,
> -s
>
Details
Message ID
<Xjc_fMRa8g1tQ8LHx1ckFc-_UPS2lozArrYdHmwDicDB3nbJlWfZLFleNrt3jBxnDtv00S1ZDjy3sXYJ6-LG_tWLaAYTyMKJ1Jl6-wzlBRI=@sbinet.org>
In-Reply-To
<CAE_4BPA=D_7Pvm46CR0+Y2jSqw5q+pfR1w1UTdc8p9xZUiruXA@mail.gmail.com> (view parent)
DKIM signature
missing
Download raw message
thanks all for the useful suggestions and pointers.

I'll probably come back for more, but this should be enough to get me started.

thanks again.

-s


‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

On Friday, December 11th, 2020 at 6:43 PM, Larry Clapp <larry@theclapp.org> wrote:

> [ I sent this yesterday, but it bounced because it was HTML from
>
> gmail, and I didn't notice till now. ]
>
> Vim on macOS (aka MacVim), Windows, and Linux all support stand-alone
>
> GUI windows that do not need a terminal. MacVim calls theirs "mvim";
>
> the other two call it "gvim". ("gvim", as such, actually does work on
>
> a Mac, but I think you have to compile it yourself and use X11, and
>
> few people do that.) I think they all support synchronous usage,
>
> where you start it and it doesn't return until the user quits. I know
>
> MacVim does because I use it every day.
>
> If this is just a project for yourself, that's probably all you need.
>
> Other folks of course like other editors, in which case Your (or
>
> Their) Mileage May Vary.
>
> I've looked into terminal emulation, and it's a fairly big job. If I
>
> end up doing it for my app I'll probably use a shared library (which I
>
> thought I bookmarked but cannot now find, alas) to do the heavy
>
> lifting. It might have been libvte.
>
> HTH.
>
> -- Larry
>
> On Wed, Dec 9, 2020 at 8:27 AM Sebastien Binet s@sbinet.org wrote:
>
> > On Wed Dec 9, 2020 at 14:11 CET, Chris Waldon wrote:
> >
> > > On December 9, 2020 5:55:22 AM EST, Sebastien Binet s@sbinet.org
> > >
> > > wrote:
> > >
> > > > hi there,
> > > >
> > > > My end-of-year little project will be to write a Gio front-end to
> > > >
> > > > aerc[1].
> > >
> > > This sounds interesting!
> > >
> > > > I do like the fact aerc is terminal based like Alpine/Pine, but
> > > >
> > > > nowadays, many emails are full of images and html, so I am toying with
> > > >
> > > > the notion of displaying those emails with Gio.
> > > >
> > > > (and from there, it was only logical to want building an email client
> > > >
> > > > with Gio)
> > > >
> > > > One thing I'd like to retain though, is to be able to use my favorite
> > > >
> > > > $EDITOR to write emails from this scaffolding.
> > > >
> > > > How hard would it be to be able to spawn a new Gio window and embed,
> > > >
> > > > say, vim, in there? (building a fully vim-compatible editor from within
> > > >
> > > > Gio is left for another year's "end-of-year" project).
> > >
> > > Honestly, terminal emulators are pretty complicated. You're essentially
> > >
> > > going to have to rewrite one in Gio, as I'm not aware of anyone else
> > >
> > > doing that.
> > >
> > > A much faster path would be to allow the user to launch an existing
> > >
> > > terminal emulator as a separate window in which they run their preferred
> > >
> > > editor. That leaves you free to focus on rendering emails. I have some
> > >
> > > experience doing this kind of thing (launching a terminal emulator to
> > >
> > > run $EDITOR), and I'd be happy to provide pointers if you go down that
> > >
> > > path.
> > >
> > > That being said, writing a terminal emulator would be an interesting
> > >
> > > project, so don't let me dissuade you if that's where your interest
> > >
> > > lies.
> >
> > yeah, that's what I was (probably not very well) trying to convey: start
> >
> > a new window from Gio, run $EDITOR in there.
> >
> > I'd be very interested in those pointers :)
> >
> > thanks,
> >
> > -s
Tanguy Herrmann
Details
Message ID
<024d45a5-ea4a-4b69-a7e9-5df517856488@evereska.org>
In-Reply-To
<Xjc_fMRa8g1tQ8LHx1ckFc-_UPS2lozArrYdHmwDicDB3nbJlWfZLFleNrt3jBxnDtv00S1ZDjy3sXYJ6-LG_tWLaAYTyMKJ1Jl6-wzlBRI=@sbinet.org> (view parent)
DKIM signature
pass
Download raw message
I'll be very interested in any result you achieve!
This kind of workflow is clearly what I would like.
Now instead of having the complexity of a terminal emulator, you "just" have to create an HTML renderer 😅.

11 déc. 2020 19:14:12 Sebastien Binet <s@sbinet.org>:

> thanks all for the useful suggestions and pointers.
> 
> I'll probably come back for more, but this should be enough to get me started.
> 
> thanks again.
> 
> -s
> 
> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> 
> On Friday, December 11th, 2020 at 6:43 PM, Larry Clapp <larry@theclapp.org> wrote:
> 
>> [ I sent this yesterday, but it bounced because it was HTML from
>> 
>> gmail, and I didn't notice till now. ]
>> 
>> Vim on macOS (aka MacVim), Windows, and Linux all support stand-alone
>> 
>> GUI windows that do not need a terminal. MacVim calls theirs "mvim";
>> 
>> the other two call it "gvim". ("gvim", as such, actually does work on
>> 
>> a Mac, but I think you have to compile it yourself and use X11, and
>> 
>> few people do that.) I think they all support synchronous usage,
>> 
>> where you start it and it doesn't return until the user quits. I know
>> 
>> MacVim does because I use it every day.
>> 
>> If this is just a project for yourself, that's probably all you need.
>> 
>> Other folks of course like other editors, in which case Your (or
>> 
>> Their) Mileage May Vary.
>> 
>> I've looked into terminal emulation, and it's a fairly big job. If I
>> 
>> end up doing it for my app I'll probably use a shared library (which I
>> 
>> thought I bookmarked but cannot now find, alas) to do the heavy
>> 
>> lifting. It might have been libvte.
>> 
>> HTH.
>> 
>> -- Larry
>> 
>> On Wed, Dec 9, 2020 at 8:27 AM Sebastien Binet s@sbinet.org wrote:
>> 
>>> On Wed Dec 9, 2020 at 14:11 CET, Chris Waldon wrote:
>>> 
>>>> On December 9, 2020 5:55:22 AM EST, Sebastien Binet s@sbinet.org
>>>> 
>>>> wrote:
>>>> 
>>>>> hi there,
>>>>> 
>>>>> My end-of-year little project will be to write a Gio front-end to
>>>>> 
>>>>> aerc[1].
>>>> 
>>>> This sounds interesting!
>>>> 
>>>>> I do like the fact aerc is terminal based like Alpine/Pine, but
>>>>> 
>>>>> nowadays, many emails are full of images and html, so I am toying with
>>>>> 
>>>>> the notion of displaying those emails with Gio.
>>>>> 
>>>>> (and from there, it was only logical to want building an email client
>>>>> 
>>>>> with Gio)
>>>>> 
>>>>> One thing I'd like to retain though, is to be able to use my favorite
>>>>> 
>>>>> $EDITOR to write emails from this scaffolding.
>>>>> 
>>>>> How hard would it be to be able to spawn a new Gio window and embed,
>>>>> 
>>>>> say, vim, in there? (building a fully vim-compatible editor from within
>>>>> 
>>>>> Gio is left for another year's "end-of-year" project).
>>>> 
>>>> Honestly, terminal emulators are pretty complicated. You're essentially
>>>> 
>>>> going to have to rewrite one in Gio, as I'm not aware of anyone else
>>>> 
>>>> doing that.
>>>> 
>>>> A much faster path would be to allow the user to launch an existing
>>>> 
>>>> terminal emulator as a separate window in which they run their preferred
>>>> 
>>>> editor. That leaves you free to focus on rendering emails. I have some
>>>> 
>>>> experience doing this kind of thing (launching a terminal emulator to
>>>> 
>>>> run $EDITOR), and I'd be happy to provide pointers if you go down that
>>>> 
>>>> path.
>>>> 
>>>> That being said, writing a terminal emulator would be an interesting
>>>> 
>>>> project, so don't let me dissuade you if that's where your interest
>>>> 
>>>> lies.
>>> 
>>> yeah, that's what I was (probably not very well) trying to convey: start
>>> 
>>> a new window from Gio, run $EDITOR in there.
>>> 
>>> I'd be very interested in those pointers :)
>>> 
>>> thanks,
>>> 
>>> -s
> 
Details
Message ID
<-8C26C0WnGSZMtbFCNXvwZ2-IL3YpEOlFikOKO_19vkwDXDO1d9W1dmSaKpHbYJZSiJoBEwaL81wEhOLvwutlQbnL9Pc6HvpYapGr33yOlc=@sbinet.org>
In-Reply-To
<024d45a5-ea4a-4b69-a7e9-5df517856488@evereska.org> (view parent)
DKIM signature
missing
Download raw message
true that :)

although one wouldn't need to start from scratch (at least not for my little end-of-year project):
- https://github.com/danfragoso/thdwb

-s

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

On Friday, December 11th, 2020 at 9:21 PM, Tanguy Herrmann <dolanor@evereska.org> wrote:

> I'll be very interested in any result you achieve!
>
> This kind of workflow is clearly what I would like.
>
> Now instead of having the complexity of a terminal emulator, you "just" have to create an HTML renderer 😅.
>
> 11 déc. 2020 19:14:12 Sebastien Binet s@sbinet.org:
>
> > thanks all for the useful suggestions and pointers.
> >
> > I'll probably come back for more, but this should be enough to get me started.
> >
> > thanks again.
> >
> > -s
> >
> > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> >
> > On Friday, December 11th, 2020 at 6:43 PM, Larry Clapp larry@theclapp.org wrote:
> >
> > > [ I sent this yesterday, but it bounced because it was HTML from
> > >
> > > gmail, and I didn't notice till now. ]
> > >
> > > Vim on macOS (aka MacVim), Windows, and Linux all support stand-alone
> > >
> > > GUI windows that do not need a terminal. MacVim calls theirs "mvim";
> > >
> > > the other two call it "gvim". ("gvim", as such, actually does work on
> > >
> > > a Mac, but I think you have to compile it yourself and use X11, and
> > >
> > > few people do that.) I think they all support synchronous usage,
> > >
> > > where you start it and it doesn't return until the user quits. I know
> > >
> > > MacVim does because I use it every day.
> > >
> > > If this is just a project for yourself, that's probably all you need.
> > >
> > > Other folks of course like other editors, in which case Your (or
> > >
> > > Their) Mileage May Vary.
> > >
> > > I've looked into terminal emulation, and it's a fairly big job. If I
> > >
> > > end up doing it for my app I'll probably use a shared library (which I
> > >
> > > thought I bookmarked but cannot now find, alas) to do the heavy
> > >
> > > lifting. It might have been libvte.
> > >
> > > HTH.
> > >
> > > -- Larry
> > >
> > > On Wed, Dec 9, 2020 at 8:27 AM Sebastien Binet s@sbinet.org wrote:
> > >
> > > > On Wed Dec 9, 2020 at 14:11 CET, Chris Waldon wrote:
> > > >
> > > > > On December 9, 2020 5:55:22 AM EST, Sebastien Binet s@sbinet.org
> > > > >
> > > > > wrote:
> > > > >
> > > > > > hi there,
> > > > > >
> > > > > > My end-of-year little project will be to write a Gio front-end to
> > > > > >
> > > > > > aerc[1].
> > > > >
> > > > > This sounds interesting!
> > > > >
> > > > > > I do like the fact aerc is terminal based like Alpine/Pine, but
> > > > > >
> > > > > > nowadays, many emails are full of images and html, so I am toying with
> > > > > >
> > > > > > the notion of displaying those emails with Gio.
> > > > > >
> > > > > > (and from there, it was only logical to want building an email client
> > > > > >
> > > > > > with Gio)
> > > > > >
> > > > > > One thing I'd like to retain though, is to be able to use my favorite
> > > > > >
> > > > > > $EDITOR to write emails from this scaffolding.
> > > > > >
> > > > > > How hard would it be to be able to spawn a new Gio window and embed,
> > > > > >
> > > > > > say, vim, in there? (building a fully vim-compatible editor from within
> > > > > >
> > > > > > Gio is left for another year's "end-of-year" project).
> > > > >
> > > > > Honestly, terminal emulators are pretty complicated. You're essentially
> > > > >
> > > > > going to have to rewrite one in Gio, as I'm not aware of anyone else
> > > > >
> > > > > doing that.
> > > > >
> > > > > A much faster path would be to allow the user to launch an existing
> > > > >
> > > > > terminal emulator as a separate window in which they run their preferred
> > > > >
> > > > > editor. That leaves you free to focus on rendering emails. I have some
> > > > >
> > > > > experience doing this kind of thing (launching a terminal emulator to
> > > > >
> > > > > run $EDITOR), and I'd be happy to provide pointers if you go down that
> > > > >
> > > > > path.
> > > > >
> > > > > That being said, writing a terminal emulator would be an interesting
> > > > >
> > > > > project, so don't let me dissuade you if that's where your interest
> > > > >
> > > > > lies.
> > > >
> > > > yeah, that's what I was (probably not very well) trying to convey: start
> > > >
> > > > a new window from Gio, run $EDITOR in there.
> > > >
> > > > I'd be very interested in those pointers :)
> > > >
> > > > thanks,
> > > >
> > > > -s
Tanguy Herrmann
Details
Message ID
<bf3573dc-8476-43c1-b6ca-e0151a8b2838@evereska.org>
In-Reply-To
<-8C26C0WnGSZMtbFCNXvwZ2-IL3YpEOlFikOKO_19vkwDXDO1d9W1dmSaKpHbYJZSiJoBEwaL81wEhOLvwutlQbnL9Pc6HvpYapGr33yOlc=@sbinet.org> (view parent)
DKIM signature
pass
Download raw message
So there is one, one crazy person who decided to do that. I salute him, and you for letting me learn about this project.
By the way, does it use Gio? How would it integrate with Gio, notably with the lock os thread for GL purpose?

11 déc. 2020 22:03:44 Sebastien Binet <s@sbinet.org>:

> true that :)
> 
> although one wouldn't need to start from scratch (at least not for my little end-of-year project):
> - https://github.com/danfragoso/thdwb
> 
> -s
> 
> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> 
> On Friday, December 11th, 2020 at 9:21 PM, Tanguy Herrmann <dolanor@evereska.org> wrote:
> 
>> I'll be very interested in any result you achieve!
>> 
>> This kind of workflow is clearly what I would like.
>> 
>> Now instead of having the complexity of a terminal emulator, you "just" have to create an HTML renderer 😅.
>> 
>> 11 déc. 2020 19:14:12 Sebastien Binet s@sbinet.org:
>> 
>>> thanks all for the useful suggestions and pointers.
>>> 
>>> I'll probably come back for more, but this should be enough to get me started.
>>> 
>>> thanks again.
>>> 
>>> -s
>>> 
>>> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
>>> 
>>> On Friday, December 11th, 2020 at 6:43 PM, Larry Clapp larry@theclapp.org wrote:
>>> 
>>>> [ I sent this yesterday, but it bounced because it was HTML from
>>>> 
>>>> gmail, and I didn't notice till now. ]
>>>> 
>>>> Vim on macOS (aka MacVim), Windows, and Linux all support stand-alone
>>>> 
>>>> GUI windows that do not need a terminal. MacVim calls theirs "mvim";
>>>> 
>>>> the other two call it "gvim". ("gvim", as such, actually does work on
>>>> 
>>>> a Mac, but I think you have to compile it yourself and use X11, and
>>>> 
>>>> few people do that.) I think they all support synchronous usage,
>>>> 
>>>> where you start it and it doesn't return until the user quits. I know
>>>> 
>>>> MacVim does because I use it every day.
>>>> 
>>>> If this is just a project for yourself, that's probably all you need.
>>>> 
>>>> Other folks of course like other editors, in which case Your (or
>>>> 
>>>> Their) Mileage May Vary.
>>>> 
>>>> I've looked into terminal emulation, and it's a fairly big job. If I
>>>> 
>>>> end up doing it for my app I'll probably use a shared library (which I
>>>> 
>>>> thought I bookmarked but cannot now find, alas) to do the heavy
>>>> 
>>>> lifting. It might have been libvte.
>>>> 
>>>> HTH.
>>>> 
>>>> -- Larry
>>>> 
>>>> On Wed, Dec 9, 2020 at 8:27 AM Sebastien Binet s@sbinet.org wrote:
>>>> 
>>>>> On Wed Dec 9, 2020 at 14:11 CET, Chris Waldon wrote:
>>>>> 
>>>>>> On December 9, 2020 5:55:22 AM EST, Sebastien Binet s@sbinet.org
>>>>>> 
>>>>>> wrote:
>>>>>> 
>>>>>>> hi there,
>>>>>>> 
>>>>>>> My end-of-year little project will be to write a Gio front-end to
>>>>>>> 
>>>>>>> aerc[1].
>>>>>> 
>>>>>> This sounds interesting!
>>>>>> 
>>>>>>> I do like the fact aerc is terminal based like Alpine/Pine, but
>>>>>>> 
>>>>>>> nowadays, many emails are full of images and html, so I am toying with
>>>>>>> 
>>>>>>> the notion of displaying those emails with Gio.
>>>>>>> 
>>>>>>> (and from there, it was only logical to want building an email client
>>>>>>> 
>>>>>>> with Gio)
>>>>>>> 
>>>>>>> One thing I'd like to retain though, is to be able to use my favorite
>>>>>>> 
>>>>>>> $EDITOR to write emails from this scaffolding.
>>>>>>> 
>>>>>>> How hard would it be to be able to spawn a new Gio window and embed,
>>>>>>> 
>>>>>>> say, vim, in there? (building a fully vim-compatible editor from within
>>>>>>> 
>>>>>>> Gio is left for another year's "end-of-year" project).
>>>>>> 
>>>>>> Honestly, terminal emulators are pretty complicated. You're essentially
>>>>>> 
>>>>>> going to have to rewrite one in Gio, as I'm not aware of anyone else
>>>>>> 
>>>>>> doing that.
>>>>>> 
>>>>>> A much faster path would be to allow the user to launch an existing
>>>>>> 
>>>>>> terminal emulator as a separate window in which they run their preferred
>>>>>> 
>>>>>> editor. That leaves you free to focus on rendering emails. I have some
>>>>>> 
>>>>>> experience doing this kind of thing (launching a terminal emulator to
>>>>>> 
>>>>>> run $EDITOR), and I'd be happy to provide pointers if you go down that
>>>>>> 
>>>>>> path.
>>>>>> 
>>>>>> That being said, writing a terminal emulator would be an interesting
>>>>>> 
>>>>>> project, so don't let me dissuade you if that's where your interest
>>>>>> 
>>>>>> lies.
>>>>> 
>>>>> yeah, that's what I was (probably not very well) trying to convey: start
>>>>> 
>>>>> a new window from Gio, run $EDITOR in there.
>>>>> 
>>>>> I'd be very interested in those pointers :)
>>>>> 
>>>>> thanks,
>>>>> 
>>>>> -s
> 
Details
Message ID
<m00N6NdHT15mKYU6Uf3UVt8_jJ7ZKly8oiQh87MEqHBvD24de37eC04NWKxIMoZ9p9xkQBkljR97E-WiBuM50mULSks2zG9yn-eIpyUpPbY=@sbinet.org>
In-Reply-To
<bf3573dc-8476-43c1-b6ca-e0151a8b2838@evereska.org> (view parent)
DKIM signature
missing
Download raw message

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

On Friday, December 11th, 2020 at 10:09 PM, Tanguy Herrmann <dolanor@evereska.org> wrote:

> So there is one, one crazy person who decided to do that. I salute him, and you for letting me learn about this project.
>
> By the way, does it use Gio? How would it integrate with Gio, notably with the lock os thread for GL purpose?

AFAICT, it's using OpenGL directly (presumably via glfw).
it's "just" a matter of translating this to the Gio API.
or, if push comes to shove, embedding it inside Gio (as one of the examples demonstrates.)

it's early days :)

>
> 11 déc. 2020 22:03:44 Sebastien Binet s@sbinet.org:
>
> > true that :)
> >
> > although one wouldn't need to start from scratch (at least not for my little end-of-year project):
> >
> > -   https://github.com/danfragoso/thdwb
> >
> > -s
> >
> > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> >
> > On Friday, December 11th, 2020 at 9:21 PM, Tanguy Herrmann dolanor@evereska.org wrote:
> >
> > > I'll be very interested in any result you achieve!
> > >
> > > This kind of workflow is clearly what I would like.
> > >
> > > Now instead of having the complexity of a terminal emulator, you "just" have to create an HTML renderer 😅.
> > >
> > > 11 déc. 2020 19:14:12 Sebastien Binet s@sbinet.org:
> > >
> > > > thanks all for the useful suggestions and pointers.
> > > >
> > > > I'll probably come back for more, but this should be enough to get me started.
> > > >
> > > > thanks again.
> > > >
> > > > -s
> > > >
> > > > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> > > >
> > > > On Friday, December 11th, 2020 at 6:43 PM, Larry Clapp larry@theclapp.org wrote:
> > > >
> > > > > [ I sent this yesterday, but it bounced because it was HTML from
> > > > >
> > > > > gmail, and I didn't notice till now. ]
> > > > >
> > > > > Vim on macOS (aka MacVim), Windows, and Linux all support stand-alone
> > > > >
> > > > > GUI windows that do not need a terminal. MacVim calls theirs "mvim";
> > > > >
> > > > > the other two call it "gvim". ("gvim", as such, actually does work on
> > > > >
> > > > > a Mac, but I think you have to compile it yourself and use X11, and
> > > > >
> > > > > few people do that.) I think they all support synchronous usage,
> > > > >
> > > > > where you start it and it doesn't return until the user quits. I know
> > > > >
> > > > > MacVim does because I use it every day.
> > > > >
> > > > > If this is just a project for yourself, that's probably all you need.
> > > > >
> > > > > Other folks of course like other editors, in which case Your (or
> > > > >
> > > > > Their) Mileage May Vary.
> > > > >
> > > > > I've looked into terminal emulation, and it's a fairly big job. If I
> > > > >
> > > > > end up doing it for my app I'll probably use a shared library (which I
> > > > >
> > > > > thought I bookmarked but cannot now find, alas) to do the heavy
> > > > >
> > > > > lifting. It might have been libvte.
> > > > >
> > > > > HTH.
> > > > >
> > > > > -- Larry
> > > > >
> > > > > On Wed, Dec 9, 2020 at 8:27 AM Sebastien Binet s@sbinet.org wrote:
> > > > >
> > > > > > On Wed Dec 9, 2020 at 14:11 CET, Chris Waldon wrote:
> > > > > >
> > > > > > > On December 9, 2020 5:55:22 AM EST, Sebastien Binet s@sbinet.org
> > > > > > >
> > > > > > > wrote:
> > > > > > >
> > > > > > > > hi there,
> > > > > > > >
> > > > > > > > My end-of-year little project will be to write a Gio front-end to
> > > > > > > >
> > > > > > > > aerc[1].
> > > > > > >
> > > > > > > This sounds interesting!
> > > > > > >
> > > > > > > > I do like the fact aerc is terminal based like Alpine/Pine, but
> > > > > > > >
> > > > > > > > nowadays, many emails are full of images and html, so I am toying with
> > > > > > > >
> > > > > > > > the notion of displaying those emails with Gio.
> > > > > > > >
> > > > > > > > (and from there, it was only logical to want building an email client
> > > > > > > >
> > > > > > > > with Gio)
> > > > > > > >
> > > > > > > > One thing I'd like to retain though, is to be able to use my favorite
> > > > > > > >
> > > > > > > > $EDITOR to write emails from this scaffolding.
> > > > > > > >
> > > > > > > > How hard would it be to be able to spawn a new Gio window and embed,
> > > > > > > >
> > > > > > > > say, vim, in there? (building a fully vim-compatible editor from within
> > > > > > > >
> > > > > > > > Gio is left for another year's "end-of-year" project).
> > > > > > >
> > > > > > > Honestly, terminal emulators are pretty complicated. You're essentially
> > > > > > >
> > > > > > > going to have to rewrite one in Gio, as I'm not aware of anyone else
> > > > > > >
> > > > > > > doing that.
> > > > > > >
> > > > > > > A much faster path would be to allow the user to launch an existing
> > > > > > >
> > > > > > > terminal emulator as a separate window in which they run their preferred
> > > > > > >
> > > > > > > editor. That leaves you free to focus on rendering emails. I have some
> > > > > > >
> > > > > > > experience doing this kind of thing (launching a terminal emulator to
> > > > > > >
> > > > > > > run $EDITOR), and I'd be happy to provide pointers if you go down that
> > > > > > >
> > > > > > > path.
> > > > > > >
> > > > > > > That being said, writing a terminal emulator would be an interesting
> > > > > > >
> > > > > > > project, so don't let me dissuade you if that's where your interest
> > > > > > >
> > > > > > > lies.
> > > > > >
> > > > > > yeah, that's what I was (probably not very well) trying to convey: start
> > > > > >
> > > > > > a new window from Gio, run $EDITOR in there.
> > > > > >
> > > > > > I'd be very interested in those pointers :)
> > > > > >
> > > > > > thanks,
> > > > > >
> > > > > > -s
Reply to thread Export thread (mbox)