Coder Social home page Coder Social logo

xenv's Introduction

XEnv

A set of launchers, controls, and status bars for use with a MacOS tiling window manager, mainly chunkwm.

This is designed for use with chunkwm (or maybe other window managers) with padding around your screen edges, and dock and menu bar set to auto-hide. It gives you a launcher, CPU usage graphs, quick controls for chunkwm, and status for audio, wifi, etc.

I created this for my own use, and there are a lot of hard coded sizes, control layouts, etc.

Screenshot

Todos:

  • Detect screen size changes and automatically reset the view positions
  • Move all of the "widgets" into their own components, and create a way to add any widget to any bar via a configuration file.

Building

Make sure to do a pod install first, then setup your .xenvrc file and build the Xcode project normally.

Launcher configuration

Right now everything is hard coded except for the launcher items. Create a .xenvrc file in your home directory, based on the sample-xenvrc file in the repository.

The .xenvrc file should contain a full path to a .app file, one per line. It will try to pull the icon right from the .app file, but that doesn't always work. If not, you can add a | and then a path to a custom icon.

You can also add new-iterm as an app path, which runs some Applescript to tell the running iterm instance to open a new window.

Usage

You'll want to setup your chunkwm config to add padding around the top, bottom, and sides to line up with the XEnv tools. You may also want to right click on the XEnv dock icon and set it to show on all desktops.

The control bar has the following buttons, from left to right:

Control Buttons

  • Sleep the computer
  • Restart chunkwm (I have to do this when I go from my external to internal display, so I made it easy)
  • Switch to horizontal layout
  • Switch to vertical layout
  • Rotate layout 90 degrees
  • Switch everything to floating mode
  • Switch everything to bsp tiling mode

Click the Apple icon in the upper left to start Activity Monitor.

Click the volume icon to mute the default audio.

Hover over audio, wifi, battery, and time to get some extra info.

xenv's People

Contributors

bensinc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

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.