Skip to content

Instantly share code, notes, and snippets.

View streetturtle's full-sized avatar
:octocat:
Build software people love

streetturtle

:octocat:
Build software people love
View GitHub Profile
@streetturtle
streetturtle / sp
Last active March 29, 2024 08:53 — forked from wandernauta/sp
sp is a command-line client for Spotify's dbus interface. Play, pause, skip and search tracks from the comfort of your command line.
#!/bin/bash
#
# This is sp, the command-line Spotify controller. It talks to a running
# instance of the Spotify Linux client over dbus, providing an interface not
# unlike mpc.
#
# Put differently, it allows you to control Spotify without leaving the comfort
# of your command line, and without a custom client or Premium subscription.
#
function prepareForScreenshot(selector) {
var textElements = document.querySelectorAll(selector);
for (i = 0; i < textElements.length; ++i) {
textElements[i].innerHTML = randomiseString(textElements[i].textContent);
}
var imgElements = document.querySelectorAll('img');
for (i = 0; i < imgElements.length; ++i) {
imgElements[i].style.filter = 'blur(7px)';
}
@streetturtle
streetturtle / pixelate-screenshot.sh
Last active March 9, 2019 01:49
Make screenshot, pixelate, save.
#!/usr/bin/env bash
ffmpeg -loglevel panic\
-f x11grab\
-video_size $(xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/')\
-y -i :0.0\
-vf frei0r=pixeliz0r\
-vframes 1\
/tmp/i3lock.png
@streetturtle
streetturtle / blur-screenshot.sh
Last active March 9, 2019 01:48
Make screenshot, blur it and save - very fast
#!/usr/bin/env bash
ffmpeg -loglevel panic\
-f x11grab\
-video_size $(xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/')\
-y -i :0.0\
-filter_complex "boxblur=9"\
-vframes 1\
/tmp/i3lock.png
#!/bin/bash
LOCKSCREENIMG='/tmp/lockscreen.png'
pgrep i3lock || ffmpeg -loglevel panic -f x11grab -video_size $(xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/') -y -i :0.0+$1,20 -i /opt/lockscreen/uac-removebg.png -filter_complex "boxblur=9,overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" -vframes 1 $LOCKSCREENIMG
i3lock -i $LOCKSCREENIMG
@streetturtle
streetturtle / start-a-meeting
Last active March 3, 2023 20:23
Script to start a Google Meet meeting in a default browser and copy the link to the meeting to the clipboard
#!/bin/bash
# Script to start a new Google Meet meeting and copy the link to the clipboard. Supports Google Chrome and Firefox
#
# Prerequisite
# - xclip
# - browser extension to display url of the currently opened page in the window's title
# - Chrome: https://chrome.google.com/webstore/detail/url-in-title/ignpacbgnbnkaiooknalneoeladjnfgb
# In Extension's Options set following:
# - Tab title format: {title} - {protocol}://{hostname}{port}/{path}
@streetturtle
streetturtle / fade_on_click.lua
Last active October 20, 2020 15:04
Fade effect of text/image widgets
local fade_widget = wibox.widget {
{
id = 'icon',
image = '/usr/share/icons/Yaru/24x24/apps/org.gnome.PowerStats.png',
widget = wibox.widget.imagebox
},
{
id = 'text',
text = 'Click to fade',
widget = wibox.widget.textbox
@streetturtle
streetturtle / print-gh-contrib-graph.sh
Last active September 24, 2020 02:21
Prints contribuion graph in terminal for a given user for a given number of days
#!/bin/sh
## Usage: print-gh-contrib-graph username num_of_days
##
## username GitHub username.
## num_of_days Number of days in the past to print graph for.
##
function print_graph {
if [ "$#" -ne 2 ]; then
echo "Expected 2 arguments: username and a number of days"
@streetturtle
streetturtle / lua-functions.lua
Created October 14, 2020 01:38
Lua helper functions
local function ellipsize(text, length)
return (text:len() > length and length > 0)
and text:sub(0, length - 3) .. '...'
or text
end
--- Converts seconds to "time ago" represenation, like '1 hour ago'
local function to_time_ago(seconds)
local days = seconds / 86400
if days > 1 then