Commit Graph

35 Commits

Author SHA1 Message Date
Simon
7e5166e45e Merge pull request #1966 from weaveworks/746-resize-ttys
Resize TTYs
2016-11-03 11:06:16 +01:00
Simon Howe
d3878cc8df Don't resize terminal if we don't receive a resize control (e.g. onAttach)
- Fix text selection in terminal (was our force focus stuff, introduced
  if you clicked on the black border that was not actually the terminal
2016-11-03 10:24:38 +01:00
Simon Howe
a381e3c06b Fixes scroll locking on xterm.js 2016-11-01 15:46:22 +01:00
Simon Howe
0fcd7d3a2c Increase terminal scrollback to hold onto more logs 2016-11-01 11:44:54 +01:00
Simon Howe
1b78427fb9 Keep scroll position if we scroll away from the bottom of the term
aka, scroll locking. Allows you to scroll back through logs without new
log data dragging the scroll back down to the next entries as they come
in.
2016-11-01 11:44:29 +01:00
Simon Howe
487635cb62 Adds terminal resizing on hosts.
Adds terminal resizing on popped out windows
2016-10-31 18:11:10 +01:00
Simon Howe
305bf7680a Resizing working w/ containers! 2016-10-31 15:29:53 +01:00
Jordan Pellizzari
ca49cfdfe6 Changed term.js lib to xterm.js 2016-10-27 15:23:02 -07:00
Simon Howe
c56fcaccee Change terminal aesthetic so it appears to float below details panel 2016-10-24 16:45:17 +02:00
Simon Howe
83d4fad5b4 Animate terminal appearance, slide in from details panel.
- Terminal shadow has been lost.
2016-10-05 10:05:39 +02:00
Simon Howe
288dff86bc Working nicely w/ flexbox etc. 2016-10-05 10:05:39 +02:00
Simon Howe
7e0a44efc2 Kinda nice 2016-10-05 10:05:38 +02:00
Simon Howe
024b526ef0 Try out a label rather than icon for open-term-in-new-browser
We call it, POP OUT. And we think you're going to love it.
2016-09-01 18:13:35 +02:00
Simon Howe
cbd8c7aba2 Adds tooltip to terminal-popout button
- Fixes react warning p > div.
- Adds esc to close popped out terminal.
2016-09-01 18:13:34 +02:00
Simon Howe
4b41c8bb23 Fixes terminal wrapping by syncing docker/term.js terminal widths.
Impl. by locking the term.js width to 80 which is what the docker one
is. We need to implement resizing on both the BE and FE to avoid weird
wrapping issues.
2016-07-06 15:06:02 +02:00
David Kaltschmidt
96aae9bc99 Migrate from Flux to Redux
* better state visibility
* pure state changes
* state debug panel (show: crtl-h, move: ctrl-w)
2016-04-27 17:21:46 +02:00
Simon Howe
a90b8f6e71 Adds '?' to shortcuts
- Fixes '?' after using the terminal
- Fixes <kbd> styling, border-radius was behaving strangley w/ transform
  to center the overlay, so opted for more old school methods.
2016-04-11 09:54:26 +02:00
David Kaltschmidt
d8761aada1 Fix terminals (broken since f34146d)
`controlPipe` is now an immutable map, but was not treated that way by
all components.
2016-04-06 17:17:06 +02:00
David Kaltschmidt
e4270f69b7 Upgraded dev deps and linted JS according to latest airbnb rules 2016-03-15 18:09:45 +01:00
Simon Howe
aad6e1fbeb Fixes new browser window size when popping out terminal.
Calculate the size more dynamically based on the size of the terminal
dom element.
2016-01-29 13:19:06 +01:00
Simon Howe
06aff39548 Fixes details cards opening out over the terminal 2016-01-29 13:17:58 +01:00
Simon Howe
a17355e667 Fixes display of unicode characters in the terminal 2015-12-29 09:33:31 +00:00
Simon Howe
a166ecc92c Tidying up a little bit. 2015-12-16 17:32:46 +01:00
Simon Howe
4df1cac033 Set correct size for terminal which fixes text wrapping.
Sometimes it was going off the sides/bottom.
2015-12-16 17:32:45 +01:00
Simon Howe
dbd789317d Also proxy WS to the BE while in dev mode.
WS weren't using the proxy.
2015-12-15 16:39:57 +01:00
David
2c9e0fa60a Merge pull request #763 from weaveworks/748-fix-terminal-keys
Fixes AltGr+3 which is required in some locales (UK).
2015-12-14 15:28:30 +01:00
Simon Howe
08a68aa605 Oops, forgot to remove a log. 2015-12-14 15:23:48 +01:00
Simon Howe
24530a3eed Send ctrl-a through to server rather activate term.js's copy mode. 2015-12-14 14:29:19 +01:00
Simon Howe
437cd737cc Fixes popped out terminal title 2015-12-14 14:02:19 +01:00
Simon Howe
8a6361559c Add terminal setTimeouts as instance properties instead of globals
in case we ever have 2 terminals
2015-12-10 19:59:38 +01:00
Simon Howe
921a7b723f More Terminal-UI and code post review fixes. 2015-12-10 19:43:46 +01:00
Simon Howe
e0ff3e3ddd Cleanup our timeouts. 2015-12-10 19:43:45 +01:00
Simon Howe
50be8c61d2 Try to reconnect immediately giving a nicer ctrl-d diconnect exp. 2015-12-10 14:38:58 +01:00
Simon Howe
fe6e8973c4 UI Review feedback
- Adds more spacing between term and details windows
- Make the terminal status-overlay a bit smaller
- No period at the end of titles.
- Space out terminal button controls.
- Revise some of the terminal status prompts.
- Fixes terminal resizing.
- Flexbox was being very laggy on chrome. We can get away w/ absolute
  positioning in this case easily. Snappier.
2015-12-10 12:53:06 +00:00
Simon Howe
3b2af2ae6c Terminal UI for pipes
- term.js
- Add eslintignore
- Fix color and es2015 after rebase
- Fix JS test, probably deleted during conflict resolution
- Moves terminal close button to top-right of window
- Consitent w/ details window.
- Changes padding of details window close button so both close buttons
  are horizonally aligned.
- Terminal resizes w/ browser window.
- No longer can drag window around.
- Add tiny big of padding between term and node-details.
- Playing w/ terminal placement.  This one's more drawer-like.
- Send DELETE when we close a terminal window.
- Dont lint or bable JS vendor files
- Ignore ctags 'tags' files.
- Adds popping out terminal out into a new browser window.
- Simplify code as now we've just a single terminal window.
- ESC is back to close the terminal, then the details panel.
- Fixes bug w/ slow response to closing the details panel.
- Moving away from "drawer-style" for terminal size and position to a
  simple window.
- Just gotta handle the case for refreshing a popped out terminal.
- Stop terminal text being auto-deselected.
- window resizes will still deselect.
- Adds state.connected to react.scu check.
- Don't delete pipe when browser closes
- To allow for nicer refresh flows
- scope-app will time out pipe after a while.
- Keep terminal-open/closed state in the url.
- shouldComponentUpdate fix to prevent deselection of text has been
  rolled back so gotta come up w/ another way to handle that...
- Fixes terminal text-selection again.
- Make pipes work for non-raw terminals too.
- Move document.title updating somewhere more sensible.
- Pass rawTty prop along to all terminals.
- Don't render react root into doc.body
- Reconnect the websocket if we lose it.
- First, slightly rough, attempt at displaying if pipe has been deleted
- Refactor controlPipe structure in the AppStore/hash.
- Merge controlPipeId, controlPipeRaw, controlPipeStatus into a single object.
- Adds a status bar to the terminal window.
- Error handling in popout working again.
- Don't show terminal cursor when not connected.
- Simplify controlPipe status and error handling.
- Don't keep the status in the hash.
- Use special new action receiveControlPipeFromParams rather than
  adding lots of branching to receiveControlPipe.
- You can reload a terminal but it doesn't exist in history stack.
- Pull out terminal into its own entry point!
- Fixes prod webpack build
- Fixes terminal-app websocket path when running on prod.
- Fixes old terminals appearing when closing a terminal.
- History hacking wasn't working, this is a little simpler.
2015-12-10 12:52:44 +00:00