Übersicht widget that displays your GitHub contributions in a style based on the GitHub activity graph.
Download the zip
github-activity.widgetfolder into your Übersicht widgets folder (defaults to
Modify the options to fit your preferences by editing the
src/generate.js. Information about how to configure it is provided in the file's comments.
user: Your GitHub username.
size: The maximum size (not radius), in pixels, of the shapes.
incrAmount: The amount, in pixels, to increase the raw number of contributions when computing the size.
margin: The margin, in pixels, between two max-sized shapes.
vary: Which settings to vary based on contribution count. Valid options are
size, which varies the size of the shape, and
colorwhich varies the color of the shape.
shape: Which shape type to use. Valid options are
theme: Which color theme to use. Defaults included are
green, but any value will be accepted as long as colors are provided in the appropriate sub-object of
colors: Each sub-object is a color theme. There are four sets of colors:
nonefor no contributions,
onefor 1-5 contributions,
twofor 6-10 contributions,
threefor 11-15 contributions, and
maxfor anything beyond that.
overrides: Used to override individual values from the selected color-scheme without modifying it.
red: The default red color theme.
green: The default green color theme, based on GitHub's activity graph
- The shell script (
run.sh) is used to find the location of Node and run the script. Currently, the script only special cases for Node installed via Homebrew and falls back on running node through the shell's normal behavior. The environment the shells script is executed in does not have
.zshrc/anything else loaded. If you have node installed in an unusual location, open an issue and, if it's common enough, I'll add another special case.
- You'll need to change the
incrAmount, and possibly
marginvalues in the options to fit your screen size. The defaults are sized for the largest that can fit on a 1440p screen. A rule of thumb for size/margin is
screenWidth / 53 >= size + margin
- You may need to modify the values used by the
else ifconditions in the
getColorsForPalettefunction, depending on your GitHub contributions. GitHub determines which color "level" to use dynamically, based on your average contributions but this widget does not.