Sending tabs to background

Registered by Sergey "Shnatsel" Davidoff

Current plan (not final, not approved):

Closing a tab spawns a dialog similar to gnome-terminal's one, but with an option to keep the process running in background (http://pix.toile-libre.org/upload/original/1325976137.png). Hitting close button minimizes the window if its tabs have any processes running, and closes/destroys it otherwise.

If a process in a background tab requests user input, we should notify the user and bring the tab back in the window from which is was set to background.

Background tabs can be brought back using the closed tabs menu in tabbar.

Blueprint information

Status:
Started
Approver:
David Gomes
Priority:
Medium
Drafter:
None
Direction:
Approved
Assignee:
None
Definition:
Discussion
Series goal:
None
Implementation:
Needs Infrastructure
Milestone target:
None
Started by
David Gomes

Related branches

Sprints

Whiteboard

Unix already has a well-though-out list of signals that make implementing this a breeze:
http://www-uxsup.csx.cam.ac.uk/courses/Building/signals.pdf

It's SIGTERM. After ditching minimize I'm really not sure what to do about this; I'll bring it up in the contributor meeting. ~shnatsel

At the contributor meeting, no decision was made related to the terminal. I think that if a process is running, and we close it, we ask the user what to do:
- "Close tab and kill process"
- "Close tab, but send process to background"
- "Cancel"
~munchor

However, if we get the dynamic notebook widget from Granite, when the user closes the tab, it can close the tab, keeping the process running in the background. And then, if the user uses "Undo Tab", the tab is brought back. The problem with this is that it might be very tricky/hard to code. ~munchor

instead of killing bash right away when a tab is closed, we could keep the bash process running in the background for some time and if "undo closed tab" is triggered, attach the process back and in case of no such trigger in a fixed amount of time, kill the bash process.
~voldyman

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.