timolins / hyperlayout Goto Github PK
View Code? Open in Web Editor NEWπ Layout presets for Hyper.app
License: MIT License
π Layout presets for Hyper.app
License: MIT License
Is there any way to load hyperlayout as soon as hyper loads?
Ubuntu 16.04, Hyper 1.0.0.
This works fine:
[[[
["echo 'foo'"],["echo 'bar'", ""],["echo 'baz'", "echo 'foobar'"]
]]]
But when putting a webpage in the layout, all instances (except the webpage - which works fine) becomes unusable.
[[[
["http://foobar/"],["echo 'bar'", ""],["echo 'baz'", "echo 'foobar'"]
]]]
Codebase is kinda hacky at the moment. Things like global variables could be ironed out with classes.
Currently it's only possible to layout tabs & panes.
Okay so i love this package i just have this one error:
My setup:
"hyperlayout": {
"default": [
"npm start",
"cd ./frontend/src && gulp",
"git status"
]
}
It only runs the first command npm start
If i then remove the first so it looks like this:
"hyperlayout": {
"default": [
"cd ./frontend/src && gulp",
"git status"
]
}
it still only runs the first command cd ./frontend/src && gulp
Hyper version: 1.0.0
OS: Linux (elementary OS Loki)
I have the following in my ./.hyperlayout
(a bit verbose, but I intend to add more to it in the future):
{
"p2lab": [
{
"entry": "tab",
"layout": [
"gitsub-dir && cd experimental/p2lab",
{
"entry": "vertical",
"layout": [ "gitsub-dir && cd experimental/p2lab && yarn run watch", "gitsub-dir && cd experimental/p2lab && yarn run serve-dev" ]
}
]
}
],
}
When I run hyperlayout p2lab
, it simply prints out:
[hyperlayout config]:{"config":{"entry":"tab","layout":[{"entry":"tab","layout":["gitsub-dir && cd experimental/p2lab",{"entry":"vertical","layout":["gitsub-dir && cd experimental/p2lab && yarn run watch","gitsub-dir && cd experimental/p2lab && yarn run serve-dev"]}]}]},"cwd":"/home"}
... and does not effect the defined layout. Am I doing something wrong?
The fix is to change
function runCommand(uid, cmd) {
window.rpc.emit('data', {
uid,
data: ` ${cmd}\n`
})
}
To this:
function runCommand(uid, cmd) {
window.rpc.emit('data', {
uid,
data: ` ${cmd}\n\r`
})
}
I'm not sure how it would affect Mac/Linux though, and then do we need to check for current OS environment
At the moment, all commands get forwarded to the first window, no matter where it's called.
I got few layouts with multiple horizontal and vertical panes, but when I have to switch between layouts, it does not reload hyper and creates panes in active pane
I followed the install instructions and created the following package.json
in my test directory:
{
"hyperlayout": {
"default": [
[
"echo 'Hello'",
"echo 'World'"
]
]
}
}
But when I run hyperlayout
, I am seeing the message Can't find hyperlayout plugin in ~/.hyper.js. You can install it with: $ hpm install hyperlayout
Is there a way to configure hyperlayout to apply the default global layout on startup?
Add GIF to the header of the README to explain hyperlayout.
I'm using the most basic .hyperlayout
config:
[
[
"echo 'Hello'",
"echo 'World'"
]
]
If I run hyperlayout
it creates a second pane, runs the echo "Hello"
command in the first pane but nothing in the second one. See this:
Any idea what's wrong here?
Command handling shouldn't be based on the command not found
error. Parameters to support different layout-presets would also be great.
How to automatically run hyperlayout?
I've set up my hyperlayout on ~/.hyperlayout and i would like to run it every time i open hyper
Thanks!
It would be awesome to be able to configure the width and height of panes.
Maybe using percentages?
I don't know if this is possible, I can change the width and heights of panes manually after I ran hyperlayout.
I tried looking into it, but I couldn't find out where to find the documentation for the new event used here: https://github.com/timolins/hyperlayout/blob/master/index.js#L133
Current tab switches to the end of the list when exiting (possibly) the first shell on a split tab. It doesn't always happen as far as I can tell.
Steps to reproduce:
It would be nice if hyperlayout could reuse existing panes if the layout in the current tab matches what was requested.
If i run hyperlayout twice, something I do to have it start a bunch of servers in different panes, it will create all new panes in addition to those that are open, in effect resulting in the wrong layout.
Example:
{
"default": {
"entry": "vertical",
"layout": ["echo Hello", "echo World",]
},
"otherlayout": ["echo Hyper", "echo Term"]
}
If I have left a trailing , in my layout - which i generally do out of habit with json, in case i need to go back and append fields - i don't have to worry about errors of missing commas.
If i include it in layout, it invalidates the layout and hyperlayout won't set up my layout.
It's a minor issue, but I imagine that other people are affected by it too.
If the only available .hyperlayout
file contains invalid JSON, the "Can't find any hyperlayout preset (.hyperlayout, package.json, ~./hyperlayout)" error is shown - we should check for valid JSON first and show an error for this if necessary.
Hey there,
Thanks for your hard work on this project π
I've placed the following in my ~/.hyperlayout
file:
{
"name": "example-2",
"hyperlayout": {
"start": [
[[
"npm run watch",
["npm run serve", "http://localhost:3000"]
]]
],
"helloworld": {
"entry": "horizontal",
"layout": [
"echo 'Hello'",
"echo 'World'"
]
}
}
}
I get the following error: Can't find layout inside config
. I looked through the source and it's looking for config.layout
. Your examples don't reflect that particular JSON object is necessary. Is my JSON incorrect for leaving inside ~/.hyperlayout
? I've tried all of your other basic examples and get the same errors on all of them.
I've got this nested hyperlayout default config which sohuld setup my terminal to my development needs whenever I start it, but nested hyperlayout
calls don't seem to work correctly.
https://gist.github.com/f4ce8415c3d2de274e78c8c7ef1b3255
The first nested call (hyperlayout dotfiles
) redirects the commands into the first tab and the last nested one (hyperlayout heaven
) just prints out the config.
I'd expect this to just run hyperlayout inside the terminal tab and setup properly
It's not a vital request and there may already be a way to do this. Currently, I just have an empty string for a pane that I want to have as empty. A way to truly just open a new section without doing anything at all would be handy though.
Version 0.8.3
macOS Sierra
I currently can't call hyperlayout directly from the command line - for some reason it isn't recognized as an alias or there's no symlink somewhere but I'm forced to call it from within node_modules
inside hyper_plugins
manually.
This packages works flawlessly at home, but at work on my Windows 10 computer, it seems to fail, showing this message: You need to use Hyper.app to run this command
.
Perhaps I am missing an environment variable somehow?
Branch | Build failing π¨ |
---|---|
Dependency | debug |
Current Version | 2.3.3 |
Type | dependency |
This version is covered by your current version range and after updating it in your project the build failed.
As debug is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you itβs very likely also breaking them.
I recommend you give this issue a very high priority. Iβm sure you can resolve this πͺ
The new version differs by 7 commits .
b82d4e6
release 2.4.0
41002f1
Update bower.json (#342)
e58d54b
Node: configurable util.inspect()
options (#327)
00f3046
Node: %O
(big O) pretty-prints the object (#322)
bd9faa1
allow colours in workers (#335)
501521f
Use same color for same namespace. (#338)
e2a1955
Revert "handle regex special characters"
See the full diff.
There is a collection of frequently asked questions and of course you may always ask my humans.
Your Greenkeeper Bot π΄
When I type hyperlayout
all I'm getting is this line: "You need to use Hyper.app to run this command"
I just gave this plugin a shot as it seemed like it may have some features I miss from Tmux. I just used a bare example setup of two horizontal panes (from the README.md). Even though I saved this file to my home directory, I get an error that says the file cannot be found.
I guess I can try the other methods, but shouldn't this work?
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.