build 1176 - overlapped terminal draft, evolution

Alpha/Beta versions for early access to new half-cooked features
Post Reply
User avatar
mike
Posts: 1060
Joined: Thu Jul 16, 2015 5:35 am
Location: Exeter, UK

build 1176 - overlapped terminal draft, evolution

Post by mike » Tue Jul 28, 2015 5:41 am

Hi everybody!

I've done some interesting stuff with terminal integration:
http://filesmanager.info/downloads/prev ... (1176).zip

Files now tries to guess what is entered within Bash shell. Based on this information, next steps can be made:
- when you hitting Enter with something entered in Bash - it will execute it (simply pass Enter keycode to child process)
- when you hitting ctrl+alt+enter Files will paste current filename (or of the last active panel) to shell
- if this item is executable and shell input is clean - Files will prefix it with "./"
- when shell is clean and overlapped terminal is shown, hitting Enter on executable item will run it in overlapped terminal

Additionally, when overlapped terminal's shell runs something long lasting - Files will automatically hide file panels and show them again when task is finished. For example - if you hit "top" in /usr/bin/, it will show top's content in full window and return to file panels when you quit it with 'q'.

Also, terminal now animates cursor when active and changes it's view when becomes inactive.

Feedback appreciated, as always.

Mike.
Attachments
Screen Shot 2015-07-28 at 11.35.43.png
Screen Shot 2015-07-28 at 11.35.43.png (198.03 KiB) Viewed 10876 times
Screen Shot 2015-07-28 at 11.35.29.png
Screen Shot 2015-07-28 at 11.35.29.png (152.78 KiB) Viewed 10876 times

User avatar
darek
Posts: 179
Joined: Thu Jul 16, 2015 4:50 pm
Location: Warsaw, Poland
Contact:

Re: build 1176 - overlapped terminal draft, evolution

Post by darek » Tue Jul 28, 2015 5:58 am

Mike, just gave it a quick spin and it's shaping up very nicely!

I've ran into one weird bug: I've been playing with running commands in the terminal, hiding and showing panes a few times, running shell commands, alt+ctrl+enter once or twice and then... I held delete key for too long... It took me to the root quickly (so apparently the focus was in the panes) and then at root it went in a loop. Panes were switching on and off, something was apparently executing in the terminal, but I didn't see anything printed out.

It scared me for a while. A long time ago I've actually had my own early-in-production tool delete my whole drive ;) so I freaked out and killed Files immediately. But now I can't repro this. I'm not sure if this helps. Just leaving it here.

User avatar
mike
Posts: 1060
Joined: Thu Jul 16, 2015 5:35 am
Location: Exeter, UK

Re: build 1176 - overlapped terminal draft, evolution

Post by mike » Tue Jul 28, 2015 6:04 am

darek wrote:Mike, just gave it a quick spin and it's shaping up very nicely!

I've ran into one weird bug: I've been playing with running commands in the terminal, hiding and showing panes a few times, running shell commands, alt+ctrl+enter once or twice and then... I held delete key for too long... It took me to the root quickly (so apparently the focus was in the panes) and then at root it went in a loop. Panes were switching on and off, something was apparently executing in the terminal, but I didn't see anything printed out.

It scared me for a while. A long time ago I've actually had my own early-in-production tool delete my whole drive ;) so I freaked out and killed Files immediately. But now I can't repro this. I'm not sure if this helps. Just leaving it here.
Darek,
It seems to still be a some logic bug in synchronize process between shell path and panel path... nothing scaring, just a bunch of "cd" commands, going infinite :).
Will figure it out.

achekulaev
Posts: 50
Joined: Sat Jul 25, 2015 1:04 am

Re: build 1176 - overlapped terminal draft, evolution

Post by achekulaev » Tue Aug 04, 2015 9:44 pm

1. Open "in-place" terminal with Ctrl+Alt+O (i.e. hide panels)
2. From there open "main" terminal with Cmd+Alt+O
3. Press Cmd+Alt+O to get back to in-place terminal.

Try typing and notice that "in-place" terminal is not getting focused (you need to click it to focus) instead all you type goes into panels that are hidden now.
Expected: focus should move to "in-place" terminal when main one is hidden and panels are hidden too.

Feature proposition: :idea:
Now there is a single instance of "in-place" terminal. And I noticed that I like that I have 2 terminal instances now. "In-place" and "main" terminals.
But I thought it would be awesome if every tab had it's own instance of "in-place" terminal!
I would not need to have Terminal application open anymore! Files Manager would replace 2 programs at once for me!
This thought excites me a lot. I hope you'll consider it.

(p.s. in this case you could also leave tab-bar visible when ctrl-alt-o is pressed and panels are hidden so that user could switch between terminals "in full screen mode" too)
Jesus that would be awesome. :!:

User avatar
mike
Posts: 1060
Joined: Thu Jul 16, 2015 5:35 am
Location: Exeter, UK

Re: build 1176 - overlapped terminal draft, evolution

Post by mike » Wed Aug 05, 2015 2:31 pm

achekulaev,
Tnx for bug info, already fixed.
As for tabs - there are plans to embed them, but I was looking towards tabs in "fullwindow" terminal only.
Tabs that holding file panels are already tied with many constraints - for example they are placed inside a horizontal split view so they are not covering the whole window width.
But "fullscreen" terminal is free from such restrictions and I think tab would fit there nicely.

achekulaev
Posts: 50
Joined: Sat Jul 25, 2015 1:04 am

Re: build 1176 - overlapped terminal draft, evolution

Post by achekulaev » Wed Aug 05, 2015 4:36 pm

Ok one more bug/feature report. When you execute a command overlapped terminal should scroll 1 line instantly. At the moment it doesn't.
Try to execute "sleep 3" in regular Terminal and in overlapped terminal to see difference in behaviour.

Regarding feature:
Напишу по-русски а то раздумий много над английскими формулировками.
Я не претендую на истину, но мне кажется есть некое зерно в том, что я хотел предложить.

В мессадже выше, про вкладки, идея была в том, что терминал-подкладка (overlapped terminal https://dl.dropbox.com/s/uo52fmabiayt6p ... 4.png?dl=0) был бы свой у каждой вкладки. Переключение вкладок просто переключало бы подкладки.

Мне кажется это удобно наглядностью. Предположим в главном терминале уже были бы свои рабочие табки. Работаю я в основном в GUI с панелями. Значит для работы мне приходилось бы держать в голове 2 набора вкладок: панели и вкладки терминала. Согласен, что отдельные вкладки терминала - более гибко. Но не знаю что удобнее будет в итоге. Иногда небольшое ограничение компенсируется немалыми удобствами и простотой которые приносит.
В случае у каждой вкладки панелей свой терминал - то и набор табок, который держать в голове, всего один и он перед глазами все время.
Split View, imho, даже не проблема. Возможно даже здорово было бы сделать терминал разделённым.
Вот так (на скриншоте как будто нажали Ctrl+Alt+O или выполнили "долгую" команду): https://dl.dropbox.com/s/d5di9nrixiztcd ... 8.png?dl=0

Также несвязность вкладок терминала и паналей может иметь недостатки, которых нету у "терминала на вкладку". Например по Ctrl-Alt-Enter можно получить имя файла в терминале-подкладке, но не в основном терминале.

Или сейчас смена директорий в панели меняет директорию в основном терминале. Удобство бегания по директориям с помощью UI очевидно. Но если в основном терминале свои и несвязанные вкладки, то нужно помнить в какой вкладке я сейчас нахожусь в терминале. Например в Terminal я держу одну вкладку в которой крутится compass watch. Предположим я мигрирую на Files. И вот забыв, что оставил её активной в основном терминале я начинаю бегать по папкам на панели. Будет упс.

В результате я не уверен что лучше, но большая просьба. Я не владею Objective C но как девелопер мне кажется что-то понимаю, и я так понимаю, что сделать "терминал на вкладку" (хотя бы чтобы просто переключались эти "подкладки" вмтесте с вкладками) - это не очень сложно на текущем этапе. Возможно я не прав и создавать терминалы динамически очень сложно, но если нет, то прошу хотя бы сделать такую опцию для любителей. Спасибо заранее!

Post Reply