Giter Club home page Giter Club logo

topframe's Introduction

Topframe

Topframe

Local webpage screen overlay

@progriumHQ on Twitter Project Forum Sponsor Project


Topframe Demo

  • Customize your computing experience with webdev
  • Display information and always-on-top widgets
  • Edit source, hit save, screen will update
  • Extensible with shell scripts in any language
  • Less than 400 lines of Go code, minimal deps
  • Currently alpha, macOS only ...

Getting Started

You can download from Releases or with Homebrew you can:

$ brew install progrium/taps/topframe

If you download a release zip make sure to unzip and put the binary in your PATH (like /usr/local/bin).

$ topframe -h
Usage: topframe <flags>
Topframe is a fullscreen webview overlay agent

Flags:
  -docs       open documentation in browser
  -help       show help
  -plist      generate launch agent plist
  -version    show version

To start it and show the demo webpage overlay, simply run topframe. This will also:

  • create a ~/.topframe directory with a demo index.html used for the overlay
  • watch for file changes in ~/.topframe to trigger a page reload
  • add a menu bar extra (๐Ÿ”ฒ) to control the overlay

If you edit ~/.topframe/index.html and hit save, changes will reflect immediately. If you hate the demo content of the default index.html, change it! Use Show Source from the menu extra to quickly open your topframe directory.

Launching on Startup

Topframe works with launchd to run as a background agent on startup. You can generate an agent plist file with topframe -plist, which you can write to a file in ~/Library/LaunchAgents:

$ topframe -plist > ~/Library/LaunchAgents/com.progrium.Topframe.plist

It's a good idea to view the output before writing to the file, just to make sure paths are correct. If you don't know what is correct, it's probably fine!

Documentation

There is not a whole lot to Topframe! I recommend reading the source as its only a few hundred lines, but otherwise there is a wiki ready to document anything else.

Getting Help

If you're having trouble, be sure to check issues to see if its a known issue. Otherwise, feel free to drop a question into the discussion forum.

Contributing

Ideally, Topframe is kept small. Bug fixes and other small PRs are welcome and should be merged quickly. If you happen to have a large PR that we haven't discussed, you should talk about it in the forum first. In order to keep the project small, some features suggestions may be held back in favor of determining a good extension point to expose instead.

About

Topframe started as a 130 line example for progrium/macdriver.

MIT Licensed

topframe's People

Contributors

progrium 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

topframe's Issues

manage LaunchAgent plist file in app via menu item

I'm not sure why I avoided it, but instead of generating a plist file for the user to place at ~/Library/LaunchAgents/com.progrium.Topframe.plist via command line, there should just be a menu item for "Start at login". We'd check if that plist file exists to "checkmark" that menu item. On click, if not checked, it would write that file. If checked, it would delete the file. I know that would remove any edits made to the file, but I don't know of another simple way to do this. Maybe that's why I wanted the user to manage it in the first place. However, I think the convenience for the common case is worth it.

cross-platform support

This is an issue for people interested in tracking cross-platform support. Topframe currently uses progrium/macdriver for its UI. Once that project is on its way to 1.0, I will start equivalent tuxdriver and windriver projects, but let me know which is higher priority.

sign and notarize using gon

Right now installation is done via go get because it circumvents the security of new binaries by building from source. However, we want to make it easier to install, so we must sign and notarize binaries before we can even build and release them usefully here. Luckily, we have gon to provide a workflow for this. It just needs to be set up.

global shortcut to enable/disable

It would be nice to have a keyboard shortcut to enable/disable topframe. Since the app doesn't let you switch focus to it (and that would be annoying anyway), it would have to be a global shortcut. Open to suggestions on what it should be. I'd rather hardcode it than make it configurable, though I'd be open to environment variable configuration.

not able to launch on startup

i cant seem to run the launch on startup plist command
it says that 'topframe' isnt a command

do i need to install launchd or something? i tried searching for a way to download launchd but i only found a python version. help pls

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.