Skip to content

Instantly share code, notes, and snippets.

@schtibe
schtibe / Webdev Grep
Created June 25, 2015 08:59
Grep for Webdevs (filter all the minified stuff)
#!/bin/bash
grep --exclude=\"*min.js\" --exclude=\"*min.css\" --exclude=\"*map\" --color=always "$@"| awk '{ if (length($0) < 200) print }'
@schtibe
schtibe / gist:1025518
Created June 14, 2011 18:27
MyTypeing in OOPLSS
class A {
def __construct(x: Int) {
self.x = x;
}
def m(): MyType {
return self;
}
def n(): MyType {
return self;
}
@schtibe
schtibe / profile.sh
Last active December 13, 2015 16:49 — forked from ganwell/profile.sh
# 5000 unique bash history lines that are shared between
# sessions on every command. Happy ctrl-r!!
shopt -s histappend
# Well the python code only does 5000 lines
export HISTSIZE=10000
export HISTFILESIZE=10000
export PROMPT_COMMAND="history -a; unique_history.py; history -r; $PROMPT_COMMAND"
@schtibe
schtibe / awesome_battery_widget.sh
Last active December 15, 2015 01:49
Awesome battery widget updater
#!/bin/bash
while true ; do
state=`acpi -b`
percentage=`echo $state | grep -oP '\d+(?=%)'`
color='green'
echo $state | grep 'Discharging' && [[ $percentage -lt 15 ]] && color='red'
echo $state | grep 'Discharging' && [[ $percentage -gt 15 ]] && color='yellow'
#!/usr/bin/env python
import sys
from plumbum.cmd import git
from termcolor import cprint
try:
new_branch = sys.argv[1]
except IndexError:
print("Provide a branch name!", file=sys.stderr)
@schtibe
schtibe / git-fuzzy-co.py
Last active January 3, 2017 10:09 — forked from shashwatblack/git-fuzzy-co.py
Git fuzzy checkout with substring matching and case-insensitivity (and colors!)
#!/usr/bin/env python
"""
git fuzzy-checkout
Same as `git checkout branch`, but with fuzzy matching if checkout fails.
Turns `git checkout barnch` into `git checkout branch`,
assuming `branch` is a branch.
"""
import difflib
import sys
@schtibe
schtibe / _scrn.sh
Last active April 4, 2017 08:35
Screen changer
#!/usr/bin/bash
# LAYOUT SWITCHER
# This script provides following functionality:
# - When detect is given, the
# - When no argument is given, make a dmenu list of the available screen layouts
# Last two options are mostly used by the udev system
BASE_PATH="/home/sh/.screenlayout"
AVAILABLE_LAYOUTS=$(ls -1 $BASE_PATH | awk -F '.' '{ print $1 }')
@schtibe
schtibe / bashrc.sh
Last active July 31, 2017 09:17
Bash function to view a file in $EDITOR at a certain commit
function gshow() {
tmp_dir=$(mktemp -d)
filename=$(basename $2)
tmp_path="$tmp_dir/$filename"
git show $1:$2 > $tmp_path
$EDITOR $tmp_path
rm $tmp_path
rmdir $tmp_dir
}
@schtibe
schtibe / i3shell
Last active November 2, 2017 15:13
Spawn a new terminal in the same directory as the current one is in
#!/bin/bash
# Launch a sakura terminal with the same directory as the terminal
# that has the focus
# based on https://faq.i3wm.org/question/150/how-to-launch-a-terminal-from-here/
ID=$(xdpyinfo | grep focus | cut -f4 -d " ")
PID=$(xprop -id $ID | grep PID | awk ' { print $3 }')
SHELL_PID=$(ps -opid= --ppid $PID | tr -d '[:space:]')
CWD="/proc/$SHELL_PID/cwd"
@schtibe
schtibe / tny
Last active February 20, 2023 12:57 — forked from gbl08ma/tny
Unix shell script to shorten URLs with tny.im URL shortener. wget must be installed for this to work.
#!/bin/sh
if [ -t 0 ]; then
if [ -z "$1" ]; then
echo "usage: tny long_url [custom_keyword]"
echo ""
echo "Shorten URLs with tny.im URL shortener"
echo "This script expects a long URL to shorten either as an argument or passed through STDIN."
echo "When using arguments, an optional second argument can be provided to customize the later part of the short URL (keyword)."
exit 1
fi