Giter VIP home page Giter VIP logo

dext's People

Contributors

adnasa avatar akz92 avatar arthur801031 avatar brpaz avatar emyarod avatar gitter-badger avatar greenkeeperio-bot avatar haikyuu avatar hypebeast avatar justinpchang avatar magellol avatar neil1023 avatar pacharanero avatar smddzcy avatar suhasdeshpande avatar tjoosten avatar vutran avatar walkerrandolphsmith 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dext's Issues

rename plugin output to execute to allow for future action commands

Plugins API currently makes a call to output(). This won't make sense going forward should we implement action-based commands. Renaming to execute may fix the issue since it may not be "outputting" anything.

output should be kept and update to route to the new execute method.

Add test/spec for SELECT_ITEM reducer

We need to write a spec for the reducer: app/renderer/src/reducers/selectedIndex.js

Test file: __tests__/app/renderer/src/reducers/selectedIndex.js

UX/DX discussion: Check out possibility to have dev tools in separate window (by default)

I already found it mildly frustrating to try to inspect the application through webkit's devtools

I think you can see why ๐Ÿ˜œ
dev-tools

This also affects my train of thought when checking through the state

with results
good height

without results
without results

We should check out the possibility to:

  • have dev tools open (by default) on a separate window
  • when dext is on dev mode; it is open at all times (even if this requires a configured flag on the electron-build)

Add ability to change the toggle key

Sometimes you already have cmd + space already registered to another app. Allow a way for the user to change their key bindings to another combination.

add alternate plugin execution command

Alfred has the ability to execute alternate command if holding down the alt button.

This will be a new property for each item.

"mods": {
    "alt": {
        "arg": "https://google.com/",
        "subtitle": "Visit Google"
    },
    "cmd": {
        "arg": "https://facebook.com/",
        "subtitle": "Visit Facebook"
    },
}
  • Holding down alt will trigger mods.alt and display the given subtitle
  • Holding down cmd will trigger mods.cmd and display the given subtitle
  • Not holding anything down will trigger the regular action and subtitle

Add support for Alfred themes

Alfred themes doesn't follow CSS specifications. We'll need to provide a layer to map their structure over to our theming API.

Extended Details/Panel

Allow items to open an extended details/panel for displaying rich content similar to Spotlight (reference screenshot below).

May be of use for some plugins such as dext-giphy-plugin to display a quick view of the larger image.

screen shot 2016-09-04 at 1 59 47 pm

debounce queries

Limit the rate of executing queries to prevent multiple child processes from being forked.

Redux connected containers should not be rendered in a component

This makes it difficult to write some snapshot tests.

_Reference:_ <ResultList /> produces children contained of <ResultItemContainer /> which is connected to a redux store.

Will keep this open for discussion on what options are available aside from a single root-level connected container.

correct eslint-errors

Icon.js
  49:11  error  'icon.type' PropType is defined but prop is never used    react/no-unused-prop-types
  50:11  error  'icon.path' PropType is defined but prop is never used    react/no-unused-prop-types
  51:13  error  'icon.letter' PropType is defined but prop is never used  react/no-unused-prop-types

ResultList.js
  54:10  error  'theme' PropType is defined but prop is never used          react/no-unused-prop-types
  55:12  error  'results' PropType is defined but prop is never used        react/no-unused-prop-types
  55:30  error  'results.*' PropType is defined but prop is never used      react/no-unused-prop-types
  56:18  error  'selectedIndex' PropType is defined but prop is never used  react/no-unused-prop-types

Plugin API: renamed execute to search?

A bit going back on my words (#11) but it may make more sense to renamed execute to search.

This would allow us to use execute in the future for executing a specific item.

Example would be something like this:

module.exports = {
  search: q => {
    items: [], // list of ietms
  },
  execute: item => {
    // executes for the selected item...
  },
};

This will be a breaking change but since it's still early, we should migrate and just alias/deprecate execute.

cache queries

Queries can be cached for a short duration to prevent forking of new process too often. Plugins can expect to have their own cache store.

Apply line-clamp to resultTitle

Some titles gets too long using the dext-hackernews-plugin so we need to apply the -webkit-line-clamp css property to the resultTitle class. Refer to resultSubtitle for example.

Build with yarn

Considering adding support for yarn cause this thing is ridiculous fast! We'll need to commit the generated yarn.lock file as well as updating documentations for installing with yarn.

Windows version

I'd like to contribute to getting this working on windows. What do you think the biggest hurdles will be for getting this to work cross platform?

DX: Consider using NODE_PATH

I think that it is time that we start considering setting NODE_PATH to set a specific folder as the source of truth for loading modules, beyond the node_modules folder.

The aim is to the have the following (example)

before

import paths from '../../../utils/paths'

after

import paths from 'core/utils/paths'

Add keyword helper

When typing, display some info on what the user is currently doing. (Example: which plugin filter is it searching, etc.)

Installation Issue

I installed dext with npm install dext -g, and for some reason I can't get it to open. I changed the Spotlight shortcut to Alt+Cmd+Space, and I even tried restarting my mac to see if it would work. Also, I don't have Alfred or any other launcher installed.

Copy to Clipboard Alert

When using the clipboard functionality, it is hard to know if it had actually been executed. We need some sort of indicator that an item has been copied to the clipboard.

Separate dpm

App may not be necessarily targeted for developers in the end so we can move the dext package manager to a separate module. Leaving this open to allow further discussion.

Add new Icon component

  • Retain support for regular file paths and URL's
  • Add support for placeholder letter icon with a background color

core plugins

Provide a core extension to create internal plugins that can return items based on the global query. This will allow us to create a calc by evaluating the full query (eg: 1+1) without a necessary keyword.

Plugin API: 3rd party plugin being queried despite being disabled

Even though I have a plugin disabled (e.g dext-giphy-plugin), I can still query to it because of its existence in .dext/plugins

So this is what my config.json looks:

{
    "theme": "dext-predawn-theme",
    "hotKey": "alt+space",
    "plugins": []
}

Dext should be aware of which plugins are enabled/disabled (not sure if it is already atm) by checking what is in the plugins key of the config

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.