Page MenuHomePhabricator

Feature request: Implement find/search functionality of scroll back output
Closed, DuplicatePublic

Description

There are sometimes where you may not be able to use shell commands (such as grep). In these cases it would be extremely helpful to be able to search from within the terminal.

The OSX terminal (iterm2) has this capability, as does Konsole and Gnome-Terminal. Would love to see this feature in terminology

Is there a way to place a feature request bounty on this?

Hey guys, I wanted to take a stab at it, but my question is: is there a way to build terminology separately from the whole enlightenment project? I.e. so I could work just on this feature alone?

I would be grateful if someone would either redirect me to docs/blog-post/whatever on this, or would just write it down here.

Okay, I looked at it: turned out it's a separate from enlightenment project, so git clone https://git.enlightenment.org/apps/terminology.git and then building it was enough.

That said, any hints on what to look at would be welcome.

ProhtMeyhet added subscribers: billiob, ProhtMeyhet.

Hey guys, I wanted to take a stab at it, but my question is: is there a way to build terminology separately from the whole enlightenment project? I.e. so I could work just on this feature alone?

terminology does not require Enlightenment, but it's core libraries called efl. Here is a starting guide for efl.

That said, any hints on what to look at would be welcome.

first suggestion is IRC and the mailing lists.

you may also directly contact the maintainer for terminology @billiob, Boris Faure. You may find his contact in the source file called AUTHORS.

Hi-Angel added a comment.EditedAug 20 2019, 5:24 PM

Ok, to give some update. Turned out, it's harder than I expected. For starters I decided to solve first this problem https://phab.enlightenment.org/T8154 as it just as important, but seems a bit easier, and should give some insights.

I found that all interface is hardcoded (as opposed to being created in something like Glade and QtCreator — whatever the analog in EFL), but there're good docs, and I found main window implementation in win.c file. However, at current point I kinda stuck. It seems, in EFL every possible widget has a single Evas_Object type, so although I found that struct _Term contains all elements of the main terminal window, I have no idea what any of that represents. E.g. bg definitely stands for background, but is it just an image, or a widget with an image, or is it where text is rendered? And what are sel, base, and termio?

While on it, I can as well drop the direct question: what widget handles the scroll when either Shift + PgDown/PgUp pressed, or a new text from a command running appears?

I can't help you much here because I'm on holidays and I only have my phone. I'll come back in early September.
You could look into win.c about how the command line is showing up because we'd need something like that.
Also have a look at config.c and options_keys.c to see how key bindings are configured cause they'll be needed too.

ProhtMeyhet added a comment.EditedAug 20 2019, 7:38 PM

I can't help you much here because I'm on holidays and I only have my phone. I'll come back in early September.

@billiob go to sleep, go swim, go were the sun is, but please relax and enjoy your holiday.

put the damn phone away. you, we, will all benefit from that.

so, just go away. we'll manage. thank you. :-)

billiob closed this task as a duplicate of Restricted Maniphest Task.Dec 5 2019, 2:13 PM