Giter Site home page Giter Site logo

hyper-broadcast's Introduction

hyper-broadcast

CI Status NPM version Downloads Conventional Commits

Extension for Hyper.app to broadcast user inputs to multiple terms.

Screenshot

Install

Using hpm

hpm install hyper-broadcast

Manually

To install, edit ~/.hyper.js and add "hyper-broadcast" to plugins:

plugins: [
  "hyper-broadcast",
],

Configuration

Default configuration:

module.exports = {
  config: {
    // other configs...
    broadcast: {
      debug: false,
      hotkeys: {
        selectCurrentPane: "Command+Alt+Shift+B",
        selectCurrentTabPanes: "Command+Alt+B",
        selectAllPanes: "Command+Shift+B",
        toggleCurrentPane: "Command+Alt+Control+Shift+B"
      },
      indicatorStyle: {
        position: "absolute",
        top: 5,
        right: 10,
        borderRadius: "50%",
        width: "10px",
        height: "10px",
        background: "red"
      }
    }
  }
  //...
};

For hotkeys, you can use any Electron Accelerator

Licence

MIT

hyper-broadcast's People

Contributors

chabou avatar dependabot[bot] avatar herrox avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

hyper-broadcast's Issues

Broadcasting on all panes

Hello,

I am using Hyper 3.0.0-canary5 (but also had the issue on the latest stable release) and there is a strange behaviour/issue with Broadcast Input to All Panes in Current Tab where in specific condition it broadcasts on all tabs instead of the current one.

Steps to redproduce:

  • Open hyper
  • Split horizontally (ctrl+shift+e) or vertically (ctrl+shift+d) the current pane
  • Enable Broadcast Input to All Panes in Current Tab
  • Open a second tab (ctrl+shift+t)
  • Write something on this second tab -> it's broadcasting to the first non focus pane

Not sure if a hyper-broadcast or hyper issue but may it be related to how sessionUid are handled?

Regards,
Herrox

Menu items are not displayer on Windows/Linux

Just installed the plugin, but it is not working.
There is no entry menu, the config is missing, no red indicators...
I have added the config manually, but still nothing.

When I change the config, I can see this in the developer console:
|HYPER-BROADCAST| reload renderer config

But thats all, the plugin is completely invisible and the commands do not work.

Hotkeys don't work on Linux

Hi,

Broadcasting itself works, but none of the hotkeys I tried (including the default ones) work. Additionally, the Super modifier seems to be dropped:

image

Get a number per instance somehow

This plugin is probably the single most awesome thing for computing ever. It's saves me a lot of work, Thank you!

Is there any way that I could (somehow) get an id of which pane I'm on?
What I'm doing is opening a few consoles then running a script and each script needs to be a tiny bit different.

./runCommand pcName1
./runCommand pcName2
./runCommand pcName3

So I type out the command once "./runCommand pcName" then enter each pane individually with a mouse click and type an incrementing number.
Mouse Click, "1", Mouse Click, "2", Mouse Click "3"

If I could Ctrl+Shift+something to insert an incrementing number... or automatically enter pane in a different directory... or click a button to type a different number in each pane.. anything like that would be really helpful.

Thanks again!

Not working on Windows

Hey,

I can't get the plugin to work at all on Windows. I tried reloading it several times after adding the configuration but it doesn't work. Here's my config file:

// 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: {
    // default font size in pixels for all tabs
    fontSize: 22,

    // font family with optional fallbacks
    fontFamily: '"Source Code Pro Semibold","Pragmata Pro", Menlo, "DejaVu Sans Mono", Consolas, "Lucida Console", monospace',

    // terminal cursor background color and opacity (hex, rgb, hsl, hsv, hwb or cmyk)
    cursorColor: 'rgba(248,28,229,0.8)',

    // `BEAM` for |, `UNDERLINE` for _, `BLOCK` for โ–ˆ
    cursorShape: 'BEAM',

    // set to true for blinking cursor
    cursorBlink: true,

    // 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: '',

    // set to `true` (without backticks) if you're using a Linux setup that doesn't show native menus
    // default: `false` on Linux, `true` on Windows (ignored on macOS)
    showHamburgerMenu: '',

    // set to `false` 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` 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: '#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
    // make sure to use a full path if the binary name doesn't work
    // (e.g `C:\\Windows\\System32\\bash.exe` instead of just `bash.exe`)
    // if you're using powershell, make sure to remove the `--login` below
    shell: '',

    // 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, selected text will automatically be copied to the clipboard
    copyOnSelect: true,

    // if true, on right click selected text will be copied or pasted if no
    // selection is present (true by default on Windows)
    // quickEdit: true

    // URL to custom bell
    // bellSoundURL: 'http://example.com/bell.mp3',

    // for advanced config flags please refer to https://hyper.is/#cfg
    broadcast: {
      debug: false,
      hotkeys: {
        selectCurrentPane: 'CommandOrControl+Alt+Shift+B',
        selectCurrentTabPanes: 'CommandOrControl+Alt+B',
        selectAllPanes: 'CommandOrControl+Shift+B',
        toggleCurrentPane: 'CommandCommandOrControl+Shift+A'
      },
      indicatorStyle: {
        position: 'absolute',
        top: 5,
        right: 10,
        borderRadius: '50%',
        width: '10px',
        height: '10px',
        background: 'red'
      }
    }
  },

  // a list of plugins to fetch and install from npm
  // format: [@org/]project[#version]
  // examples:
  //   `hyperpower`
  //   `@company/project`
  //   `project#1.0.1`
  plugins: ["hyper-broadcast",],

  //hyperdocs not working

  // 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: []
};

Any ideas on what's going wrong?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.