Code Monkey home page Code Monkey logo

jankyborders's Introduction

JankyBorders

Screenshot

Documentation

JankyBorders is a lightweight tool designed to add colored borders to user windows on macOS 14.0+. It enhances the user experience by visually highlighting the currently focused window without relying on the accessibility API, thereby being faster than comparable tools.


Manual Installation

git clone https://github.com/FelixKratz/JankyBorders
cd JankyBorders
make 

Homebrew Installation

brew tap FelixKratz/formulae
brew install borders

This will automatically make the command borders {args} usable in the terminal.


Regular Usage

To use borders, you can use the command borders {args} to initialize the program.

Bootstrapping with Brew

Another method that you can use is through the brew services method, with the following syntax

brew services start borders
brew services restart borders

Upon startup, if borders is not started with any arguments (or launched as a service by brew), it will search for a file at launch located at ~/.config/borders/bordersrc and will execute it on launch if found.


Basic Configuration

The binary can be started via borders and can take any of the listed arguments in the borders {args} format.

  1. active_color=<color>
  2. inactive_color=<color>
  3. width=<float>
  4. style=<round/square>
  5. hidpi=<off/on>

For certain shells you may need to nest the arguments in quotations.

If a borders process is already running, invoking a new borders instance with any combination of the above arguments will update the properties of the already running instance (just like in yabai and sketchybar).

Configuration File

If the primary borders process is started without any arguments (or launched as a service by brew), it will search for a file at ~/.config/borders/bordersrc and execute it on launch if found.

An example configuration file could look like this: ~/.config/borders/bordersrc

#!/bin/bash

options=(
	style=round
	width=6.0
	hidpi=off
	active_color=0xffe2e2e3
	inactive_color=0xff414550
)

borders "${options[@]}"

Additional Configuration

These configurations are an extension of the default ones, and are available on the MASTER branch. This list will update as more features are added.

The color argument can take special values for gradients:

  • gradient(top_left=0xAARRGGBB,bottom_right=0xAARRGGBB)
  • gradient(top_right=0xAARRGGBB,bottom_left=0xAARRGGBB)

The color argument can take special values for glow:

  • glow(0xAARRGGBB) to the <color> argument

The following functionality is added to blacklist certain applications:

  • borders blacklist="app1, app2"
  • This will make it that the following apps are excluded from being bordered

Documentation

Local documentation is available as man borders.

jankyborders's People

Contributors

felixkratz avatar koekeishiya avatar slano-ls avatar mizlan 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.