chabou / hyper-pane Goto Github PK
View Code? Open in Web Editor NEWExtension for Hyper.app to enhance pane navigation.
License: MIT License
Extension for Hyper.app to enhance pane navigation.
License: MIT License
HTR:
sleep 3 && cat /etc/services
in a termThis is a big feature that's keeping me from switching from iTerm.
In iTerm, I can hit option+cmd+i to write commands in all panes, which is super handy when working with multiple repos that need to be in sync. I've seen this feature requested on Hyper's github page, but I thought that this feature would be appropriate to the plugin, as well.
Hi, after trying all kinds of things, I can't get pane switching to work using the keyboard. I have enabled pane-hyper, and switching split panes using the numbers of the panes works, i.e. ctrl+alt+1, ctrl+alt+2 etc works fine, but whatever I try, I can't seem to get crtl+alt+up/down/left/right to work at all.
Hyper 1.3.3, hyper-pane 1.3.0, Dell XPS13 running Ubuntu 16.04. Any help/pointers appreciated, thanks!
This isn't an issue more of a question, sorry I couldn't find where to just ask a questions.
I would prefer to be able to use cmd + arrow_key
but I see your warning that says you have to to cmd + alt
what is this a limitation of that doesn't allow use to just do cmd + arrow_key
or ctrl + arrow_key
I am used to iterm2, where whilst maximized on a pane you can cmd + [
or cmd + ]
to go to the next pane in order. Is there a similar feature here, or is it expected to un-maximize, move, and re-maximize?
When i accidentally hit the maximize key-combination and there is no split-pane yet, Hyper crashes.
Opening a new issue since I can't reopen #5. I updated Hyper in the meantime to the latest version (1.3.1) and also hyper-pane. It still doesn't seem to work:
(re)loading renderer plugins
index.html:35 total init time 311.4649999999999
index.js:31 |HYPER-PANE| updateChildrenFrames: call on 1a5af2f3-eb32-47f9-a0b2-53ad102cddb4
index.js:31 |HYPER-PANE| updateChildrenFrames: no children found, skipping e1f12d3b-a2b3-48f3-be30-11b326a16b0e
index.js:31 |HYPER-PANE| Keep term ref
index.js:31 |HYPER-PANE| Attach mouse handler
index.js:529 Uncaught TypeError: this.term.getTermDocument is not a function
index.js:31 |HYPER-PANE| updateChildrenFrames: call on 1a5af2f3-eb32-47f9-a0b2-53ad102cddb4
index.js:31 |HYPER-PANE| dealing child ca7ab3ca-46cd-4bd0-9f5a-397cbcee8ac1
index.js:31 |HYPER-PANE| Setting frame for Object {uid: "ca7ab3ca-46cd-4bd0-9f5a-397cbcee8ac1", sessionUid: "e1f12d3b-a2b3-48f3-be30-11b326a16b0e", parentUid: "1a5af2f3-eb32-47f9-a0b2-53ad102cddb4", direction: null, sizes: null…} 0 0.5
index.js:31 |HYPER-PANE| updateChildrenFrames: call on ca7ab3ca-46cd-4bd0-9f5a-397cbcee8ac1
index.js:31 |HYPER-PANE| updateChildrenFrames: sessionUid found, skipping e1f12d3b-a2b3-48f3-be30-11b326a16b0e
index.js:31 |HYPER-PANE| dealing child 2e3945f9-1412-4d2a-b5d9-0ce0873dc984
index.js:31 |HYPER-PANE| Setting frame for Object {uid: "2e3945f9-1412-4d2a-b5d9-0ce0873dc984", sessionUid: "0db102f7-589d-49a0-b9d1-c93733b735fd", parentUid: "1a5af2f3-eb32-47f9-a0b2-53ad102cddb4", direction: null, sizes: null…} 0.5 0.5
index.js:31 |HYPER-PANE| updateChildrenFrames: call on 2e3945f9-1412-4d2a-b5d9-0ce0873dc984
index.js:31 |HYPER-PANE| updateChildrenFrames: sessionUid found, skipping 0db102f7-589d-49a0-b9d1-c93733b735fd
index.js:31 |HYPER-PANE| Keep term ref
index.js:31 |HYPER-PANE| Keep term ref
index.js:31 |HYPER-PANE| Attach mouse handler
index.js:529 Uncaught TypeError: this.term.getTermDocument is not a functioncomponentDidMount @ index.js:529notifyAll @ bundle.js:4close @ bundle.js:47closeAll @ bundle.js:1perform @ bundle.js:1perform @ bundle.js:1H @ bundle.js:1closeAll @ bundle.js:1perform @ bundle.js:1batchedUpdates @ bundle.js:47enqueueUpdate @ bundle.js:1enqueueUpdate @ bundle.js:1enqueueSetState @ bundle.js:1ReactComponent.setState @ bundle.js:1Connect.handleChange @ bundle.js:47dispatch @ bundle.js:4N @ bundle.js:4P @ bundle.js:4action @ index.js:314pe @ bundle.js:1(anonymous function) @ bundle.js:1U.a.on.ne @ bundle.js:47emitOne @ events.js:96emit @ events.js:188ipcListener @ bundle.js:47emitTwo @ events.js:106emit @ events.js:191
7bundle.js:41 Uncaught TypeError: Cannot read property 'getPrefs' of undefinedcomponentWillReceiveProps @ bundle.js:41updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1updateChildren @ bundle.js:47_reconcilerUpdateChildren @ bundle.js:47_updateChildren @ bundle.js:47updateChildren @ bundle.js:47_updateDOMChildren @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1updateChildren @ bundle.js:47_reconcilerUpdateChildren @ bundle.js:47_updateChildren @ bundle.js:47updateChildren @ bundle.js:47_updateDOMChildren @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1updateChildren @ bundle.js:47_reconcilerUpdateChildren @ bundle.js:47_updateChildren @ bundle.js:47updateChildren @ bundle.js:47_updateDOMChildren @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1updateChildren @ bundle.js:47_reconcilerUpdateChildren @ bundle.js:47_updateChildren @ bundle.js:47updateChildren @ bundle.js:47_updateDOMChildren @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47performUpdateIfNecessary @ bundle.js:47performUpdateIfNecessary @ bundle.js:1runBatchedUpdates @ bundle.js:1perform @ bundle.js:1perform @ bundle.js:1H @ bundle.js:1closeAll @ bundle.js:1perform @ bundle.js:1batchedUpdates @ bundle.js:47enqueueUpdate @ bundle.js:1enqueueUpdate @ bundle.js:1enqueueSetState @ bundle.js:1ReactComponent.setState @ bundle.js:1Connect.handleChange @ bundle.js:47dispatch @ bundle.js:4N @ bundle.js:4P @ bundle.js:4action @ index.js:314pe @ bundle.js:1(anonymous function) @ bundle.js:1onResize @ bundle.js:41W.onTerminalResize @ bundle.js:5I.Terminal.IO.onTerminalResize_ @ bundle.js:47I.Terminal.realizeSize_ @ bundle.js:47I.Terminal.onResize_ @ bundle.js:47notifyList @ bundle.js:47
bundle.js:5 Uncaught TypeError: Cannot read property 'focusHyperCaret' of undefinedfocus @ bundle.js:5handleFocusActive @ bundle.js:4componentDidUpdate @ bundle.js:4notifyAll @ bundle.js:4close @ bundle.js:47closeAll @ bundle.js:1perform @ bundle.js:1perform @ bundle.js:1H @ bundle.js:1closeAll @ bundle.js:1perform @ bundle.js:1batchedUpdates @ bundle.js:47enqueueUpdate @ bundle.js:1enqueueUpdate @ bundle.js:1enqueueSetState @ bundle.js:1ReactComponent.setState @ bundle.js:1Connect.handleChange @ bundle.js:47dispatch @ bundle.js:4N @ bundle.js:4P @ bundle.js:4action @ index.js:314pe @ bundle.js:1(anonymous function) @ bundle.js:1requestAnimationFrame @ bundle.js:47
bundle.js:41 Uncaught TypeError: Cannot read property 'getPrefs' of undefinedcomponentWillReceiveProps @ bundle.js:41updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1updateChildren @ bundle.js:47_reconcilerUpdateChildren @ bundle.js:47_updateChildren @ bundle.js:47updateChildren @ bundle.js:47_updateDOMChildren @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1updateChildren @ bundle.js:47_reconcilerUpdateChildren @ bundle.js:47_updateChildren @ bundle.js:47updateChildren @ bundle.js:47_updateDOMChildren @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1updateChildren @ bundle.js:47_reconcilerUpdateChildren @ bundle.js:47_updateChildren @ bundle.js:47updateChildren @ bundle.js:47_updateDOMChildren @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1updateChildren @ bundle.js:47_reconcilerUpdateChildren @ bundle.js:47_updateChildren @ bundle.js:47updateChildren @ bundle.js:47_updateDOMChildren @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47receiveComponent @ bundle.js:47receiveComponent @ bundle.js:1_updateRenderedComponent @ bundle.js:47_performComponentUpdate @ bundle.js:47updateComponent @ bundle.js:47performUpdateIfNecessary @ bundle.js:47performUpdateIfNecessary @ bundle.js:1runBatchedUpdates @ bundle.js:1perform @ bundle.js:1perform @ bundle.js:1H @ bundle.js:1closeAll @ bundle.js:1perform @ bundle.js:1batchedUpdates @ bundle.js:47enqueueUpdate @ bundle.js:1enqueueUpdate @ bundle.js:1enqueueSetState @ bundle.js:1ReactComponent.setState @ bundle.js:1Connect.handleChange @ bundle.js:47dispatch @ bundle.js:4N @ bundle.js:4P @ bundle.js:4action @ index.js:314pe @ bundle.js:1V @ bundle.js:1onActive @ bundle.js:41handleMouseUp @ bundle.js:5
Split panes completely stop to work once I enable hyper-pane. Whether showIndicators
is set to true or false doesn't matter.
Hello,
I just upgraded to Hyper 3 and noticed the focus capability stopped working.
Regards.
when maximizing a pane, it could be nice to have an indicator showing that its a maximized pane and that there are more panes.
something like iterm does
Enhancement request: provide a way to highlight active pane similar to
I just installed Hyper (3.0.2) and hyper-pane (2.1.5) on Windows 10. When attempting to navigate to neighbor panes (ctrl+alt+up, for instance), I get this error:
...\Hyper\.hyper_plugins\node_modules\hyper-pane\index.js:170 Uncaught TypeError: Cannot read property 'x' of undefined
at Object.effect (VM123 ...\Hyper\.hyper_plugins\node_modules\hyper-pane\index.js:170)
at bundle.js:1
at bundle.js:1
at bundle.js:1
at bundle.js:1
at action (VM123 ...\Hyper\.hyper_plugins\node_modules\hyper-pane\index.js:341)
at bundle.js:1
at bundle.js:1
at bundle.js:1
at dispatch (bundle.js:1)
Navigating to a specific pane (ctrl+alt+2) works just fine.
Here is my config (note that I'm using Hyper to launch WSL):
// Future versions of Hyper may add additional config options,
// which will not automatically be merged into this file.
// See https://hyper.is#cfg for all currently supported options.
module.exports = {
config: {
// choose either `'stable'` for receiving highly polished,
// or `'canary'` for less polished but more frequent updates
updateChannel: 'stable',
// default font size in pixels for all tabs
fontSize: 14,
// font family with optional fallbacks
fontFamily: '"Fira Mono for Powerline", Menlo, "DejaVu Sans Mono", Consolas, "Lucida Console", monospace',
// default font weight: 'normal' or 'bold'
fontWeight: 'normal',
// font weight for bold characters: 'normal' or 'bold'
fontWeightBold: 'bold',
// line height as a relative unit
lineHeight: 1.1,
// letter spacing as a relative unit
letterSpacing: 0,
// terminal cursor background color and opacity (hex, rgb, hsl, hsv, hwb or cmyk)
cursorColor: 'rgba(248,28,229,0.8)',
// terminal text color under BLOCK cursor
cursorAccentColor: '#000',
// `'BEAM'` for |, `'UNDERLINE'` for _, `'BLOCK'` for █
cursorShape: 'BLOCK',
// set to `true` (without backticks and without quotes) for blinking cursor
cursorBlink: false,
// color of the text
foregroundColor: '#fff',
// terminal background color
// opacity is only supported on macOS
backgroundColor: '#000',
// terminal selection color
selectionColor: 'rgba(248,28,229,0.3)',
// border color (window, tabs)
borderColor: '#333',
// custom CSS to embed in the main window
css: '',
// custom CSS to embed in the terminal window
termCSS: '',
// if you're using a Linux setup which show native menus, set to false
// default: `true` on Linux, `true` on Windows, ignored on macOS
showHamburgerMenu: '',
// set to `false` (without backticks and without quotes) if you want to hide the minimize, maximize and close buttons
// additionally, set to `'left'` if you want them on the left, like in Ubuntu
// default: `true` (without backticks and without quotes) on Windows and Linux, ignored on macOS
showWindowControls: '',
// custom padding (CSS format, i.e.: `top right bottom left`)
padding: '12px 14px',
// the full list. if you're going to provide the full color palette,
// including the 6 x 6 color cubes and the grayscale map, just provide
// an array here instead of a color map object
colors: {
black: '#000000',
red: '#C51E14',
green: '#1DC121',
yellow: '#C7C329',
blue: '#0A2FC4',
magenta: '#C839C5',
cyan: '#20C5C6',
white: '#C7C7C7',
lightBlack: '#686868',
lightRed: '#FD6F6B',
lightGreen: '#67F86F',
lightYellow: '#FFFA72',
lightBlue: '#6A76FB',
lightMagenta: '#FD7CFC',
lightCyan: '#68FDFE',
lightWhite: '#FFFFFF',
},
// the shell to run when spawning a new session (i.e. /usr/local/bin/fish)
// if left empty, your system's login shell will be used by default
//
// Windows
// - Make sure to use a full path if the binary name doesn't work
// - Remove `--login` in shellArgs
//
// Bash on Windows
// - Example: `C:\\Windows\\System32\\bash.exe`
//
// PowerShell on Windows
// - Example: `C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`
shell: 'C:\\Windows\\System32\\bash.exe',
// for setting shell arguments (i.e. for using interactive shellArgs: `['-i']`)
// by default `['--login']` will be used
shellArgs: ['--login'],
// for environment variables
env: {},
// set to `false` for no bell
bell: 'SOUND',
// if `true` (without backticks and without quotes), selected text will automatically be copied to the clipboard
copyOnSelect: false,
// if `true` (without backticks and without quotes), hyper will be set as the default protocol client for SSH
defaultSSHApp: true,
// if `true` (without backticks and without quotes), on right click selected text will be copied or pasted if no
// selection is present (`true` by default on Windows and disables the context menu feature)
quickEdit: false,
// choose either `'vertical'`, if you want the column mode when Option key is hold during selection (Default)
// or `'force'`, if you want to force selection regardless of whether the terminal is in mouse events mode
// (inside tmux or vim with mouse mode enabled for example).
macOptionSelectionMode: 'vertical',
// URL to custom bell
// bellSoundURL: 'http://example.com/bell.mp3',
// Whether to use the WebGL renderer. Set it to false to use canvas-based
// rendering (slower, but supports transparent backgrounds)
webGLRenderer: true,
// for advanced config flags please refer to https://hyper.is/#cfg
paneNavigation: {
debug: true
}
},
// a list of plugins to fetch and install from npm
// format: [@org/]project[#version]
// examples:
// `hyperpower`
// `@company/project`
// `project#1.0.1`
plugins: [//"hyper-dracula"
"hyper-material-theme", "hyper-pane"],
// in development, you can create a directory under
// `~/.hyper_plugins/local/` and include it here
// to load it and avoid it being `npm install`ed
localPlugins: [],
keymaps: {
// Example
// 'window:devtools': 'cmd+alt+o',
},
};
I just tried the plugin with Hyper 1.2.1. It breaks split panes. Here's my config:
paneNavigation: {
debug: true,
hotkeys: {
navigation: {
up: 'shift+up',
down: 'shift+down',
left: 'shift+left',
right: 'shift+right'
},
permutation_modifier: 'ctrl', // Added to jump and navigation hotkeys for pane permutation
},
showIndicators: false,
focusOnMouseHover: false
}
and here's the debug output:
(re)loading renderer plugins
index.html:34 total init time 284.67499999999995
index.js:31 |HYPER-PANE| updateChildrenFrames: call on af684550-816f-448d-ae38-60d7203c6733
index.js:31 |HYPER-PANE| updateChildrenFrames: no children found, skipping 365ef91c-1377-4709-84dc-73e9681ce29d
index.js:524 Uncaught TypeError: Cannot read property 'getTermDocument' of undefined
index.js:31 |HYPER-PANE| updateChildrenFrames: call on af684550-816f-448d-ae38-60d7203c6733
index.js:31 |HYPER-PANE| dealing child 324163d4-c576-416f-96a0-e577632a8e93
index.js:31 |HYPER-PANE| Setting frame for Object 0 0.5
index.js:31 |HYPER-PANE| updateChildrenFrames: call on 324163d4-c576-416f-96a0-e577632a8e93
index.js:31 |HYPER-PANE| updateChildrenFrames: sessionUid found, skipping 365ef91c-1377-4709-84dc-73e9681ce29d
index.js:31 |HYPER-PANE| dealing child 83f72570-eb48-483c-8f82-f77b3c255ce9
index.js:31 |HYPER-PANE| Setting frame for Object 0.5 0.5
index.js:31 |HYPER-PANE| updateChildrenFrames: call on 83f72570-eb48-483c-8f82-f77b3c255ce9
index.js:31 |HYPER-PANE| updateChildrenFrames: sessionUid found, skipping f04d4a8b-10b7-4585-bd22-30f8e5543a57
index.js:524 Uncaught TypeError: Cannot read property 'getTermDocument' of undefined
7bundle.js:39 Uncaught TypeError: Cannot read property 'getPrefs' of undefined
bundle.js:11 Uncaught TypeError: Cannot read property 'focusHyperCaret' of undefined
3bundle.js:39 Uncaught TypeError: Cannot read property 'getPrefs' of undefined
hyper-pane v1.0.0
hyper v1.2.1
bundle.js:1 TypeError: Cannot read property 'sessionUid' of undefined
at updateChildrenFrames (/Users/julien.delean/.hyper_plugins/node_modules/hyper-pane/index.js:259:12)
at exports.reduceTermGroups (/Users/julien.delean/.hyper_plugins/node_modules/hyper-pane/index.js:339:15)
at pe.forEach.be (file:///Users/julien.delean/Applications/Hyper.app/Contents/Resources/app/dist/bundle.js:1:4851)
at Array.forEach (native)
at file:///Users/julien.delean/Applications/Hyper.app/Contents/Resources/app/dist/bundle.js:1:4824
at file:///Users/julien.delean/Applications/Hyper.app/Contents/Resources/app/dist/bundle.js:45:373224
at dispatch (file:///Users/julien.delean/Applications/Hyper.app/Contents/Resources/app/dist/bundle.js:4:46585)
at P (file:///Users/julien.delean/Applications/Hyper.app/Contents/Resources/app/dist/bundle.js:4:761)
at /Users/julien.delean/.hyper_plugins/node_modules/hypercwd/index.js:40:3
at action (/Users/julien.delean/.hyper_plugins/node_modules/hyper-autoprofile/index.js:100:3)
Hello,
can I ask you for adding keybinding for resizing split terminals?
Many thx!
Hyper 1.4.8 (stable)
Plugins:
hyper-pane (1.3.2),
hyper-snazzy (1.2.2)
Created by Guillermo Rauch
Copyright © 2017 Zeit, Inc
unable to maximize ?
Hi, thank u for this plugin. I am finally trying to leave tmux because of it. To keep my workflow consistent, I want to use "ctrl+w h' shortcut for navigation-left. But this uses 'ctrl+w' that is used by hyper. Do u think it can be done?
hi,
how i open a new pane?
Add possibility to adjust pane border thickness (and color ?) ; Can be tricky to see the limit
When I'm using the Canadian French keyboard layout, on Windows 10, I cannot type the '@' symbol, while using this plugin.
I did some light digging through the code and notice that it seems to be related to the onMoveToPane function. For now, I'm disabling the onMoveToPane function, by commenting the map.onMoveToPane line, in the plugin index.js file, and it fixes the issue, but I'm pretty sure this isn't the right way to solve the problem.
exports.mapTermsDispatch = (dispatch, map) => {
//map.onMoveToPane = onMoveToPane(dispatch);
//map.onSwitchWithActiveSession = onSwitchWithActiveSession(dispatch);
map.onMoveToDirectionPane = onMoveToDirectionPane(dispatch);
map.onMaximizePane = onMaximizePane(dispatch);
return map;
};
Keyboard shortcuts aren't working. Running Hyper 1.4.8, hyper-pane 2.0.0-rc3, and OSX 10.13.
Should I submit any other info?
Hi, awesome module, thats exactly what i missed in hyperterm, is it possible to configurate the shortcuts?
If not, how difficult is it to make a fork and install it via the hpm
? (Would be a solution for me which is okay)
And thanks again for this module :) I can finally move from iterm to hyper \o/
It'd be great to be able to make it clearer which pane is active. This is achieved in iTerm by dimming the inactive panes. This would be a good feature for hyper-pane.
Thanks!
readme has a lot of explanation, except instruction on how to create new pane and split pane. It will be helpful for newbies to explain that. Found out that hyper by default supports split pane and it's not a new function by this plugin.
CTRL+SHIFT+E to split horizontally
CTRL+SHIFT+D to split vertically
I'm having trouble modifying the keymaps for pane switching (related vercel/hyper#3171)
OS: Ubuntu 16.04.5 LTS
Version: Hyper 2.1.0-canary.2 (stable)
Plugin: hyper-pane (2.1.3)
My ~/.hyper.js
is as follows:
module.exports = {
config: {
// ...
paneNavigation: {
hotkeys: {
navigation: {
up: 'ctrl+shift+k',
down: 'ctrl+shift+j',
left: 'ctrl+shift+l',
right: 'ctrl+shift+h'
},
jump_prefix: 'ctrl+shift',
permutation_modifier: 'alt',
},
}
}
}
Hi
I tried using Windows Key + Enter to maximize a pane, but it is not working. Can you please let me know if this is supposed to work on Win 10 ?
Thanks in advance.
Opening a new tab in the newest version of Hyper causes an error. The tab is open and the name is visualized correctly but the keymaps do not work.
Hello,
can I ask you for adding keybinding for resizing split terminals?
Example: I split horizontal terminal, but want to have bottom one smaller than upper. After split will be ration in size 50:50. With predefined keybinding I will change this ratio.
Many thx!
HI,
When I'm creating new pane (ctrl+shit+e) the location is always my home directory.
I would except(or at least have a configuration) it to be the same as the root pane I invoked the command from.
Ubuntu 16.04
Hyper 2.0.0
hyper-pane 2.1.3
Thanks!
I set showIndicators: false
and they still show. Also, changing the shortcuts don't seem to work either.
Here's my config:
module.exports = {
config: {
// default font size in pixels for all tabs
fontSize: 12,
// font family with optional fallbacks
fontFamily: 'Menlo, "DejaVu Sans Mono", "Lucida Console", monospace',
// terminal cursor background color and opacity (hex, rgb, hsl, hsv, hwb or cmyk)
cursorColor: 'rgba(248,28,229,0.75)',
// `BEAM` for |, `UNDERLINE` for _, `BLOCK` for █
cursorShape: 'BLOCK',
// color of the text
foregroundColor: '#fff',
// terminal background color
backgroundColor: '#000',
// border color (window, tabs)
borderColor: '#333',
// custom css to embed in the main window
css: '',
// custom css to embed in the terminal window
termCSS: '',
// custom padding (css format, i.e.: `top right bottom left`)
padding: '12px 14px',
// the full list. if you're going to provide the full color palette,
// including the 6 x 6 color cubes and the grayscale map, just provide
// an array here instead of a color map object
colors: {
black: '#000000',
red: '#ff0000',
green: '#33ff00',
yellow: '#ffff00',
blue: '#0066ff',
magenta: '#cc00ff',
cyan: '#00ffff',
white: '#d0d0d0',
lightBlack: '#808080',
lightRed: '#ff0000',
lightGreen: '#33ff00',
lightYellow: '#ffff00',
lightBlue: '#0066ff',
lightMagenta: '#cc00ff',
lightCyan: '#00ffff',
lightWhite: '#ffffff'
},
// the shell to run when spawning a new session (i.e. /usr/local/bin/fish)
// if left empty, your system's login shell will be used by default
shell: '/bin/zsh',
// for advanced config flags please refer to https://hyperterm.org/#cfg
},
hyperTabs: {
tabIconsColored: true,
activityColor: 'salmon'
},
paneNavigation: {
// debug: false,
hotkeys: {
navigation: {
up: 'meta+alt+k',
down: 'meta+alt+j',
left: 'meta+alt+l',
right: 'meta+alt+h'
},
// jump_prefix: 'ctrl+meta', // completed with 1-9 digits
// permutation_modifier: 'shift', // Added to jump and navigation hotkeys for pane permutation
maximize: 'meta+enter'
},
showIndicators: false, // Show pane number
indicatorPrefix: '', // '^⌥', // Will be completed with pane number
indicatorStyle: { // Added to indicator <div>
display: 'none',
position: 'absolute',
top: 0,
left: 0,
fontSize: '10px'
},
},
// a list of plugins to fetch and install from npm
// format: [@org/]project[#version]
// examples:
// `hyperpower`
// `@company/project`
// `project#1.0.1`
plugins: [
"hyper-pane",
"hyperterm-1password",
"hyper-search",
"hyperlinks",
"hypertheme",
"hyperlayout",
"hyperminimal",
"hyper-tabs-enhanced",
"hyper-autohide-tabs",
// "hyper-solarized-dark",
// "hyper-transparent",
"hyperterm-install-devtools",
"hyper-solarized-dark-transparent"
],
// in development, you can create a directory under
// `~/.hyperterm_plugins/local/` and include it here
// to load it and avoid it being `npm install`ed
localPlugins: []
};
HI! And thanks for a super great plugin 🎉 🚀
I like to keep my terminal super clean, and was wondering about an option to not display the number indicators on the top left corners of each pane. I mostly use the arrow nav, so I'll manage without them 😉
Hey there,
I can't live without that awesome extension, but there's something a little annoying: is there a kind of shell script I could create, that would open a new Hyper instance with pre-defined panes and an init command for each?
Use case is: I regularly need to connect on multiple cloned servers and perform some actions simultaneously on them. I can do that with the broadcast extension, but before, I have to manually enter the ssh address of each host (up to 12) before broadcasting.
Thank you!
Ben
Special characters like { [ ² and ³ not working cause of defined shortcut to call pane by number.
Appending configuration to hyper.js and editing shortcut doesn't change anything.
when pressing ctrl+alt+right
or ctrl+alt+left
it also changes tabs which is not the required behavior. is it possible to change that to only cycle between current tab panes? even if its under a flag such as cycleTabs: false
it can be great.
I had 4 panes open (2 top, 2 bottom). I was in the lower right pane, and was able to move left and right. I went to move up, and then all of the panes disappeared. The commands are still running (my build script is still opening the programs), but i have nothing but a blank screen.
I've had several graphical issues with Hyper on this PC for unknown reasons before, so I'm not sure if this is a bug with the add-on, the program itself, or some weird interaction with my PC.
Hi, the config config.paneNavigation.focusOnMouseHover
stopped working on 3.0.0-canary.5
A warning on the console reads:
The underlying terminal engine of Hyper no longer uses iframes with individual `document` objects for each terminal instance. This method call is retained for backwards compatibility reasons. It's ok to attach directlyto the `document` object of the main `window`.
getTermDocument @ bundle.js:1
Hello,
When I add the suggested lines to .hyper.js I get a syntax error on the reload of hyper-pane and all the plugins are missing. Maybe I'm reading something wrong.
Any suggestions?
Hello,
Is it a way to disable the Alt Gr shortcut ? I use an azerty keyboard on Windows. And when the plugin is enable I can't use, for example, the shortcut Alt Gr + 6 to make the "|" char.
Thanks
One thing iTerm offers is the ability to rotate forwards and backwards through all panes without needed to choose to navigate "up" or "down" vs "left" or "right." For example, in the following pane layout:
Pressing the "right" hotkey would go from 1 > 2 > 3 > 4 and then back to 1 when pressed from pane 4. The "down" hotkey would do the same, while "left" or "up" would go in reverse.
I took a stab at this and it appears to be working fine, including with permutation. It introduces a new "rotate" config key that turns it on.
Happy to open a PR if you'd like.
Thanks for you brilliant effort with this plugin.
I use Hyper v1.3.1 and the latest hyper-pane.
I can not seem to be able to overwrite the defaults given the following config:
module.exports = {
config: {
fontSize: 12,
fontFamily: 'Menlo, "DejaVu Sans Mono", Consolas, "Lucida Console", monospace',
cursorColor: 'rgba(248,28,229,0.8)',
cursorShape: 'BLOCK',
cursorBlink: false,
foregroundColor: '#fff',
backgroundColor: '#000',
borderColor: '#333',
css: '',
termCSS: '',
showHamburgerMenu: '',
showWindowControls: '',
padding: '12px 14px',
colors: {
black: '#000000',
red: '#ff0000',
green: '#33ff00',
yellow: '#ffff00',
blue: '#0066ff',
magenta: '#cc00ff',
cyan: '#00ffff',
white: '#d0d0d0',
lightBlack: '#808080',
lightRed: '#ff0000',
lightGreen: '#33ff00',
lightYellow: '#ffff00',
lightBlue: '#0066ff',
lightMagenta: '#cc00ff',
lightCyan: '#00ffff',
lightWhite: '#ffffff'
},
shell: '',
shellArgs: ['--login'],
env: {},
bell: false,
copyOnSelect: false
},
paneNavigation: {
hotkeys: {
navigation: {
up: 'meta+alt+up',
down: 'meta+alt+down',
left: 'meta+alt+left',
right: 'meta+alt+right'
},
},
showIndicators: false,
},
plugins: [
'hyper-pane', // Enhance pane navigation
'hyperlayout', // Layout presets
'hypercwd', // Opens new tabs with the same directory as the current tab
'hyperlinks', // automatically links URLs
'hyperterm-safepaste', // Makes pasting into hyperterm safe
],
localPlugins: [],
};
bundle.js:1 TypeError: Cannot read property 'indexOf' of undefined
at exports.getTermProps (/Users/iamstarkov/.hyper_plugins/node_modules/hyper-pane/index.js:323:36)
at pe.forEach.fe (file:///Applications/Hyper.app/Contents/Resources/app/dist/bundle.js:1:4407)
at Array.forEach (native)
at getProps (file:///Applications/Hyper.app/Contents/Resources/app/dist/bundle.js:1:4350)
at TermGroup_.renderTerm (file:///Applications/Hyper.app/Contents/Resources/app/dist/bundle.js:5:3046)
at D._renderValidatedComponentWithoutOwnerOrContext (file:///Applications/Hyper.app/Contents/Resources/app/dist/bundle.js:47:300622)
at D._renderValidatedComponent (file:///Applications/Hyper.app/Contents/Resources/app/dist/bundle.js:47:300754)
at D._updateRenderedComponent (file:///Applications/Hyper.app/Contents/Resources/app/dist/bundle.js:47:300035)
at D._performComponentUpdate (file:///Applications/Hyper.app/Contents/Resources/app/dist/bundle.js:47:299824)
at D.updateComponent (file:///Applications/Hyper.app/Contents/Resources/app/dist/bundle.js:47:299045)
how do i provide more info?
I'm using Hyper 2.0 and I've tried the default setting of 0.6 for interactivePaneOpacity
as well as a low value like 0.2 and am not seeing any dimming of inactive panes. Is this a known issue or am I doing something wrong? Thanks!
Hey,
I have it installed on my Linux machine (Ubuntu 16.04 with GDM and XFCE) and I ran into a few problems. The shortcuts to change panes with arrows aren't working, even when i modify them od change the system defaults for switching desktops (occupie the hyper-pane ones).
I cant get it working and I have no idea why.
(also I saw that the pane inactivePaneOpacity is not working for me too, not that important, but may hint to the problem)
~BakaHubertus
I have changed navigation keys to Ctrl+hjkl. I also have mappend Ctrl+hjkl to navigate neovim splits in the same way. But now (unsurprisingly) Ctrl+hjkl is intecepted by hyper and no longer works to navigate in neovim. Is there a way to have it navigate intelligently among hyper panes and neovim splits?
For example:
Say I'm in neovim split 3. Ctrl+h should move me into split 2. Ctrl+h again should move me into hyper pane 1.
it could be nice to have some sort of blur on the panes that are not on focus
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.