Git Product home page Git Product logo

tool-bar's Introduction

Atom Tool Bar

CI apm Chat

This package provides extensible tool bar for Atom.

Note: this package by itself adds an empty toolbar. To propagate it with icons you can install plugins.

Horizontal

Vertical

Different Sizes

Light Theme

Configuration

Position

On which edge of the editor should the tool bar appear. Possible options:

  • Top
  • Right
  • Bottom
  • Left

Icon size

  • Infinitesimal (12px)
  • Tiny (14px)
  • Very Small (16px)
  • Small: (18px)
  • Medium: (21px)
  • Big (24px)
  • Very Big (28px)
  • Huge (32px)

Visibility

  • Visible
  • Hidden

Full Width (available in Atom >= 1.7)

When on top/bottom, expand to full window width.

Use TouchBar

If your computer is equipped with a TouchBar (only Apple MacBook Pro series currently) it can display up to seven tool bar buttons there.

Plugins

Packages using tool-bar

Integrating instructions

By itself this package shows an empty tool bar. To add buttons and spacers to the tool bar, follow the instructions below.

Package.json

Make sure the following properties are part of your package.json.

"consumedServices": {
  "tool-bar": {
    "versions": {
      "^0 || ^1": "consumeToolBar"
    }
  }
}

We recommend using Atom-Package-Deps in your package for installing dependency packages like this package.

Main package file

In your main package file, add the following methods and replace your-package-name with your package name.

let toolBar;

export function consumeToolBar(getToolBar) {
  toolBar = getToolBar('your-package-name');
  // Add buttons and spacers here...
}

export function deactivate() {
  if (toolBar) {
    toolBar.removeItems();
    toolBar = null;
  }
}

Example

let toolBar;

export function consumeToolBar(getToolBar) {
  toolBar = getToolBar('your-package-name');

  // Adding button
  toolBar.addButton({
    icon: 'octoface',
    callback: 'application:about',
    tooltip: 'About Atom'
  });

  // Adding spacer
  toolBar.addSpacer();

  // Using custom icon set (Ionicons)
  const button = toolBar.addButton({
    // For Material style icons, use md- prefix instead
    icon: 'ios-gear-a',
    callback: 'application:show-settings',
    tooltip: 'Show Settings',
    iconset: 'ion'
  });

  // Disable button
  button.setEnabled(false);

  // Function with data in callback
  toolBar.addButton({
    icon: 'alert',
    callback(data) {
      alert(data);
    },
    tooltip: 'Show Alert',
    data: 'foo'
  });

  // Callback with modifiers
  toolBar.addButton({
    icon: 'octoface',
    callback: {
      '': 'application:cmd-1',      // Without modifiers is default action
      'alt': 'application:cmd-2',
      'ctrl': 'application:cmd-3',  // With function callback
      'shift'(data) {
        console.log(data);
      },
      'alt+shift': 'application:cmd-5',       // Multiple modifiers
      'alt+ctrl+shift': 'application:cmd-6'   // All modifiers
    },
    data: 'foo'
  });

  // Calling multiple callbacks at once
  toolBar.addButton({
    icon: 'octoface',
    callback: ['application:cmd-1', 'application:cmd-2']
  });  

  // Adding spacer and button at the beginning of the tool bar
  toolBar.addSpacer({priority: 10});
  toolBar.addButton({
    icon: 'octoface',
    callback: 'application:about',
    priority: 10
  });

  // Adding text button
  toolBar.addButton({
    text: 'hello',
    callback: 'application:about'
  });

  // Text buttons can also have an icon
  toolBar.addButton({
    icon: 'octoface',
    text: 'hello',
    callback: 'application:about'
  });

  // Text buttons can be html
  toolBar.addButton({
    icon: 'octoface',
    text: '<b>BIG</b> button',
    html: true,
    callback: 'application:about'
  });

  // Text buttons can be colored
  toolBar.addButton({
    icon: 'octoface',
    callback: 'application:about',
    tooltip: 'About Atom',
    color: 'red' // color of the text or icon
    background: 'black' // color of the background
  });

  // Buttons can be styled with arbitrary CSS through classes.
  // An example of how the class can be used is show below.
  toolBar.addButton({
    icon: 'octoface',
    callback: 'application:about',
    class: 'my-awesome-class'
  });
  toolBar.addButton({
    icon: 'octoface',
    callback: 'application:about',
    class: ['multiple', 'classes', 'also', 'works']
  });

  // Cleaning up when tool bar is deactivated
  toolBar.onDidDestroy(() => {
    this.toolBar = null;
    // Teardown any stateful code that depends on tool bar ...
  });
}
/*
Follow the instructions at:
https://flight-manual.atom.io/using-atom/sections/basic-customization/#style-tweaks
to define your classes.
*/
.my-awesome-class {
  background-image: url(data:image/svg+xml;base64,...);
  background-repeat: no-repeat;
  background-position: center;
}

Methods

.addButton({icon, iconset, text, html, callback, priority, tooltip, data, color, background})

The method addButton requires an object with at least the property callback. The callback must be an Atom command string, a custom callback function or an object where the keys are key modifiers (alt, ctrl or shift) and the values are commands or custom functions (see example).

The remaining properties tooltip (default there is no tooltip), text (default there is no text), html (default false), icon (default there is no icon), iconset (defaults to Octicons), data, priority (defaults 50), color, background, and class are optional.

The tooltip option may be a string or an object that is passed to Atom's TooltipManager

The return value of this method shares another method called setEnabled(enabled) to enable or disable the button.

.addSpacer({priority})

The method addSpacer has only one optional property priority (defaults 50).

.addItem({element, priority})

Adds a custom HTML element as an item to the tool-bar. Arguments are:

  • element: pass your HTML element.
  • priority: optional field specifying the position of the item.

.removeItems()

Use the method removeItems to remove the buttons added by your package. This is particular useful in your package deactivate method, but can be used at any time.

.onDidDestroy(callback)

The onDidDestroy method takes a function that will be called when the tool-bar package is destroyed. This is useful if your package needs to do cleanup when the tool-bar is deactivated but your package continues running.

Supported icon sets

Supported commands

  • tool-bar:toggle
  • tool-bar:position-top
  • tool-bar:position-right
  • tool-bar:position-bottom
  • tool-bar:position-left

Authors

Contributors

Issues and pull requests are very welcome. Feel free to write your own packages using this one. For all contributions credits are due:

tool-bar's People

Contributors

aminya avatar bolinfest avatar cakecatz avatar captbaritone avatar dependabot[bot] avatar ericcornelissen avatar gitter-badger avatar gsmcmullin avatar idleberg avatar jamescoyle avatar jerone avatar jrial avatar kankaristo avatar lexcast avatar malnvenshorn avatar paulbrownmagic avatar pbihler avatar pheraph avatar phoenixenero avatar renovate-bot avatar renovate[bot] avatar simurai avatar suda avatar thatcomputerguy0101 avatar uzitech avatar varemenos avatar vjeux avatar vkotovv avatar zertosh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tool-bar's Issues

Show over/under Tree View as well

Currently, the Tool Bar is shown only over/under the editor-portion of the editor.

It would be nicer if it would be shown over and under the tree-view as well (File Browser/Sidebar/whatever).

PS: I was planning to use this as an alternative to the menu-bar but without something this, it's not really good-looking. ๐Ÿ˜…

Left toolbar not most left

Placing the toolbar on the left, won't show it as most left item. The directory treeview is the most left item.

This is the original screenshot:
https://camo.githubusercontent.com/6ca08af4431612d668b274103e9356071756ccd7/687474703a2f2f662e636c2e6c792f6974656d732f3379303431563259316c317833423047306731752f746f6f6c6261722d766572746963616c2e706e67

This is the current situation:
atom

Atom.Object.defineProperty.get is deprecated.

atom.workspaceView is no longer available.
In most cases you will not need the view. See the Workspace docs for
alternatives: https://atom.io/docs/api/latest/Workspace.
If you do need the view, please use atom.views.getView(atom.workspace),
which returns an HTMLElement.

Atom.Object.defineProperty.get (/Applications/Atom.app/Contents/Resources/app/src/atom.js:54:11)
HTMLDivElement.<anonymous> (/Users/pwong/.atom/packages/toolbar/lib/toolbar-button-view.coffee:19:15)

Add buttons to the end of the tool bar

Hi!

I would like to set some of the buttons (and spacers) to appear at the end of the tool bar (e.g. the "settings-related" buttons). By "end" I mean either the right side or the bottom of the tool bar, depending on its orientation.

I believe that this makes sense in order to avoid having all the buttons cluttered at the beginning. Atom's status bar, for instance, has a left and a right side. I imagined something similar for the tool-bar extension.

Thank you for the amazing work so far! ๐Ÿ˜„

Leftover panel elements

When switching toolbar position, leftover panel elements aren't removed (only the toolbar is), cluttering the DOM tree.

Support devicon

Devicon has icons for languages and development tools, it would be very useful for the toolbar.

Package.getStylesheetsPath is deprecated.

Store package style sheets in the styles/ directory instead of stylesheets/ in the toolbar package

Package.getStylesheetsPath (c:\Users\Pierre\AppData\Local\atom\app-0.190.0\resources\app\src\package.js:433:9)
Package.getStylesheetPaths (c:\Users\Pierre\AppData\Local\atom\app-0.190.0\resources\app\src\package.js:444:32)

Shift click for alternative action

Suggestion, make it so shift clicking an item can execute and alternate action.
For example, shift click open would open folder/add project folder, shift click save would save as, and shift click find would find in project.

Add own button

Currently there is no way adding custom button on third party plugin (e.g. Label Button).
So I want method to adding own button view like this.

button = new CustomButtonView()
@toolBar.addCustomButton button

screen shot 2015-06-07 at 11 28 24 pm

Buttons rendering with border around them

There is an awkward border rendering around the buttons/ icons on the toolbar.

It seems to be an issue at the Toolbar level, and not a plugin level, as I tested it out on 3 different toolbars.

  • Toolbar-main
  • Flex Toolbar
  • Toolbar Almighty

It also persists across all icons sizes. I tried with the 16, 24, & 32px variations.

I am using the Atom Light UI theme with Base 16 syntax.

I've attached a screenshot below to show the issue.

screen shot 2015-07-15 at 3 37 48 pm

More than one toolbar

Is it possible or will it be possible to add more than one toolbar?
I'd like to write a couple of tool-bar plugins that create separate tool-bars and are attached in different positions (for example one to the top and one to the right)

Tooltips

In the code I see there's support for tooltips (done by assigning the title attribute), but I never see a tooltip when I hover over a button. I'm expecting the blue tooltip, like the one showing when hovering over document tab. Is this WIP or not working anymore?

Toolbar 0.0.12
Atom 0.191.0
Default themes: One Dark
Windows 7

Object.Object.defineProperty.get is deprecated.

Requiring $$ from atom is no longer supported.
Please require atom-space-pen-views instead:
{$$} = require 'atom-space-pen-views'
Add "atom-space-pen-views": "^2.0.3" to your package dependencies.

Object.Object.defineProperty.get (/Applications/Atom.app/Contents/Resources/app.asar/exports/atom.js:54:11)
Object.activate (/Users/pascal/Documents/code/github-clones/toolbar/lib/toolbar.coffee:14:5)
Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:238:19)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:219:30)
Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:163:15)
Package.activate (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:211:14)

integration of panels

Hey there,

I just tried out VisualStudio Code and absolutely loved the idea of having a side bar which toggles between various panels:

screen shot 2015-09-14 at 21 00 55

So the first one shows the file tree, selecting the second one gives you a search panel:

screen shot 2015-09-14 at 21 06 04

The other ones are the GitHub integration and the debugging tools.

Long story short, I was wondering if this would make sense for Atom. I think it would be great to have something like a panel switcher. I especially love that they can show relevant meta info (e.g. how many files changed) on the icons.

I suppose I just wanted to hear your thoughts on this :)

Atom.Object.defineProperty.get is deprecated.

atom.workspaceView is no longer available.
In most cases you will not need the view. See the Workspace docs for
alternatives: https://atom.io/docs/api/latest/Workspace.
If you do need the view, please use atom.views.getView(atom.workspace),
which returns an HTMLElement.

Atom.Object.defineProperty.get (/Applications/Atom.app/Contents/Resources/app/src/atom.js:54:11)
HTMLDivElement.<anonymous> (/Users/pwong/.atom/packages/toolbar/lib/toolbar-button-view.coffee:19:15)

Object.Object.defineProperty.get is deprecated.

Requiring View from atom is no longer supported.
Please require atom-space-pen-views instead:
{View} = require 'atom-space-pen-views'
Add "atom-space-pen-views": "^2.0.3" to your package dependencies.

Object.Object.defineProperty.get (/Applications/Atom.app/Contents/Resources/app.asar/exports/atom.js:66:11)
Object.<anonymous> (/Users/pascal/Documents/code/github-clones/toolbar/lib/toolbar-button-view.coffee:1:1)
Object.<anonymous> (/Users/pascal/Documents/code/github-clones/toolbar/lib/toolbar-button-view.coffee:60:4)
Module._compile (module.js:452:26)
Object.requireCoffeeScript (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/coffee-cash/lib/coffee-cash.js:85:19)
Module.load (module.js:347:32)

Toolbar theme

In previous versions of Atom, the toolbar looked more better integrated into the standard themes from Atom. With the latest changes to the standard themes I'm wondering if the toolbar still looks good. I did some small improvements to the borders in all positions in a previous PR. But I'm wondering if the toolbar should be more distinctive separate from the background. Something with a different background color and better borders.

Comparison of the old and new themes:
old toolbar

new toolbar

What do you think?

ps. Screenshots needs an update ๐Ÿ˜„

Failed to activate the tool-bar package

[Enter steps to reproduce below:]

  1. Copy tool-bar-master folder into ~/.atom/packages/
  2. Open atom

Atom Version: 1.0.5
System: Ubuntu 15.04
Thrown From: tool-bar package, v0.1.8

Stack Trace

Failed to activate the tool-bar package

At Cannot find module 'space-pen'

Error: Cannot find module 'space-pen'
    at Module._resolveFilename (module.js:328:15)
    at Function.Module._resolveFilename (/usr/share/atom/resources/app.asar/src/module-cache.js:383:52)
    at Function.Module._load (module.js:270:25)
    at Module.require (module.js:357:17)
    at require (module.js:376:17)
    at Object.<anonymous> (/home/nick/.atom/packages/tool-bar-master/lib/tool-bar-view.coffee:9:10)
    at Object.<anonymous> (/home/nick/.atom/packages/tool-bar-master/lib/tool-bar-view.coffee:251:4)
    at Module._compile (module.js:452:26)
    at Object.requireCoffeeScript (/usr/share/atom/resources/app.asar/node_modules/coffee-cash/lib/coffee-cash.js:85:19)
    at Module.load (module.js:347:32)

Commands

Config

{
  "core": {}
}

Installed Packages

# User
No installed packages

# Dev
No dev packages

Package.getStylesheetsPath is deprecated.

Store package style sheets in the styles/ directory instead of stylesheets/ in the toolbar package

Package.getStylesheetsPath (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:460:9)
Package.getStylesheetPaths (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:471:32)
Package.loadStylesheets (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:453:38)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:183:19)
Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:163:15)
Package.load (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:177:12)

Upgrade Font-awesome to 4.4

Hi,

it seems thar font-awesome is still at the version 4.2 of font awesome ... it will be cool if you guys could update it to the latest version :)

Thanks a lot ๐Ÿ‘

Buttons overflow

When exceeding the amount of buttons after the window width, buttons will overflow onto a new row in horizontal mode (see screenshot):

toolbar overflow

Buttons that exceed the window height in vertical mode, even disappear (see screenshot):

toolbar overflow vertical

Atom.Object.defineProperty.get is deprecated.

atom.workspaceView is no longer available.
In most cases you will not need the view. See the Workspace docs for
alternatives: https://atom.io/docs/api/latest/Workspace.
If you do need the view, please use atom.views.getView(atom.workspace),
which returns an HTMLElement.

Atom.Object.defineProperty.get (C:\Users\Crowleys\AppData\Local\atom\app-0.192.0\resources\app\src\atom.js:55:13)
space-pen-div.<anonymous> (C:\Users\Crowleys\.atom\packages\toolbar\lib\toolbar-button-view.coffee:26:15)

For me, it isn't really the same thing with this issue. If I'm wrong sorry in advance.

Manage third-party buttons

Third party plugins can add any buttons they want if they consume the toolbar service. Users should be able to disallow specific plugins access to the toolbar.

Change tooltip position based on toolbar position

Thanks for a great package, makes Atom feel a lot more like an IDE. :)

However, the tooltips for the buttons appear on top of the buttons (I have my toolbar on the left side).

TooltipManager::add has an option to set the position (placement) of the tooltip.

The tooltip position should ideally be opposite of the toolbar position. So if the toolbar is at the top, the tooltip should be shown below; if the toolbar is on the left, the tooltip should be on the right.

This is what I did in tool-bar-button-view.coffee:

if options.tooltip
  @prop 'title', options.tooltip
  @subscriptions.add atom.tooltips.add(
    this,
    {
      title: options.tooltip
      delay:
        show: 0
        hide: 0
      placement: 'right'  # Opposite of the toolbar's position
    }
  )

(I also set the delay to 0, by personal preference).

Do you think this could be made the default behavior?

Failed to load the toolbar package

I just updated this package to the latest version, and here is what happens :

Atom Version: 0.192.0
System: Microsoft Windows 8.1
Thrown From: toolbar package, v0.0.14

Stack Trace

Failed to load the toolbar package

At variable @ui-tab-height is undefined in C:\Users\Pierre\.atom\packages\toolbar\styles\toolbar.less:22:16

LessError: variable @ui-tab-height is undefined
  at C:\Users\Pierre\.atom\packages\toolbar\styles\toolbar.less:22:16

Failed to activate the tool-bar package

[Enter steps to reproduce below:]

  1. Update tool-bar
  2. Get error message

Atom Version: 1.2.4
System: Ubuntu 14.04.3
Thrown From: tool-bar package, v0.1.10

Stack Trace

Failed to activate the tool-bar package

At Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.

Error: Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.
  at Error (native)
  at ToolBarView.module.exports.ToolBarView.addItem ($HOME/.atom/packages/tool-bar/lib/tool-bar-view.coffee:21:15)
  at ToolBarManager.module.exports.ToolBarManager.addButton ($HOME/.atom/packages/tool-bar/lib/tool-bar-manager.coffee:10:14)
  at Object.consumeToolBar ($HOME/.atom/packages/nuclide-debugger-atom/lib/main.js:230:13)
  at Provider.module.exports.Provider.provide (/usr/share/atom/resources/app.asar/node_modules/service-hub/lib/provider.js:30:52)
  at ServiceHub.module.exports.ServiceHub.provide (/usr/share/atom/resources/app.asar/node_modules/service-hub/lib/service-hub.js:30:20)
  at Package.module.exports.Package.activateServices (/usr/share/atom/resources/app.asar/src/package.js:330:71)
  at Package.module.exports.Package.activateNow (/usr/share/atom/resources/app.asar/src/package.js:173:16)
  at /usr/share/atom/resources/app.asar/src/package.js:150:32
  at Package.module.exports.Package.measure (/usr/share/atom/resources/app.asar/src/package.js:92:15)
  at /usr/share/atom/resources/app.asar/src/package.js:143:26
  at Package.module.exports.Package.activate (/usr/share/atom/resources/app.asar/src/package.js:140:34)
  at PackageManager.module.exports.PackageManager.activatePackage (/usr/share/atom/resources/app.asar/src/package-manager.js:512:21)
  at /usr/share/atom/resources/app.asar/node_modules/settings-view/lib/package-manager.js:385:60
  at exit (/usr/share/atom/resources/app.asar/node_modules/settings-view/lib/package-manager.js:73:16)
  at triggerExitCallback (/usr/share/atom/resources/app.asar/src/buffered-process.js:213:47)
  at /usr/share/atom/resources/app.asar/src/buffered-process.js:227:18
  at Socket.<anonymous> (/usr/share/atom/resources/app.asar/src/buffered-process.js:98:18)
  at emitOne (events.js:82:20)
  at Socket.emit (events.js:169:7)
  at Pipe._onclose (net.js:469:12)

Commands

     -4:14.1.0 nuclide-diff-view:open (atom-pane.pane.active)
     -3:50.3.0 settings-view:check-for-package-updates (atom-workspace.workspace.scrollbars-visible-always.theme-one-dark-syntax.theme-one-dark-ui)

Config

{
  "core": {
    "autoHideMenuBar": true,
    "disabledPackages": [
      "linter",
      "tree-view"
    ]
  }
}

Installed Packages

# User
hyperclick, v0.0.35
language-cuda, v0.1.0
language-glsl, v2.0.1
language-hlsl, v1.2.0
language-latex, v0.6.1
language-lua, v0.9.4
language-opencl, v0.1.1
language-rust, v0.4.5
language-tmux, v0.4.0
latex, v0.28.2
latexer, v0.2.7
linter-clang, v3.3.0
linter-csslint, v1.1.0
linter-gcc, v0.5.11
linter-glsl, v1.0.6
linter-htmlhint, v0.2.2
linter-lua, v1.0.1
linter-luacheck, v1.1.4
linter-rust, v0.3.0
linter-tidy, v1.0.1
minimap, v4.19.0
nuclide-arcanist, v0.0.35
nuclide-blame, v0.0.35
nuclide-blame-provider-hg, v0.0.35
nuclide-blame-ui, v0.0.35
nuclide-buck-files, v0.0.35
nuclide-busy-signal, v0.0.35
nuclide-clang-atom, v0.0.35
nuclide-code-format, v0.0.35
nuclide-code-highlight, v0.0.35
nuclide-debugger-atom, v0.0.35
nuclide-debugger-hhvm, v0.0.35
nuclide-debugger-lldb, v0.0.35
nuclide-diagnostics-store, v0.0.35
nuclide-diagnostics-ui, v0.0.35
nuclide-diff-view, v0.0.35
nuclide-file-tree, v0.0.35
nuclide-file-watcher, v0.0.35
nuclide-find-references, v0.0.35
nuclide-flow, v0.0.35
nuclide-fuzzy-filename-provider, v0.0.35
nuclide-hack, v0.0.35
nuclide-hack-symbol-provider, v0.0.35
nuclide-health, v0.0.35
nuclide-hg-repository, v0.0.35
nuclide-home, v0.0.35
nuclide-installer, v0.0.35
nuclide-language-hack, v0.0.35
nuclide-objc, v0.0.35
nuclide-ocaml, v0.0.35
nuclide-open-filenames-provider, v0.0.35
nuclide-quick-open, v0.0.35
nuclide-recent-files-provider, v0.0.35
nuclide-recent-files-service, v0.0.35
nuclide-remote-projects, v0.0.35
nuclide-test-runner, v0.0.35
nuclide-toolbar, v0.0.35
nuclide-type-hint, v0.0.35
nuclide-url-hyperclick, v0.0.35
pdf-view, v0.38.0
project-manager, v2.6.5
tool-bar, v0.1.10
travis-ci-status, v0.18.0

# Dev
No dev packages

Custom toolbar

I really like this package, but I guess not how it was initially intended. ๐Ÿ˜‰

I don't really want other packages to fill up my toolbar because I might not need/want some of the icons. But what's really great about this package is that I can just configure the icons and actions myself in Menu > Open Your Init Script.

So maybe you could:

  • add a toggle in the settings to block other packages to automatically add icons.
  • mention in the README that it's possible to customize the toolbar in the init script. Maybe it's obvious to other people, but I only discovered it when I tried this package the second time.

Open Folder Button

Is it possible or be a new feature to have an open folder (as opposed to file) button? The open file button is nice, but often I need to open a project/folder and there is no button for that.

Allow custom icons

@MrLoh commented on 25 mei 2015 11:59 CEST:

I think it would be even better, to allow adding custom svg icons. I'd like to add a shortcut to the grunt plugin to my toolbar for example. Not going to find that in any icon font, but a pretty common scenario

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.