Skip to content

Instantly share code, notes, and snippets.

View czottmann's full-sized avatar
💭
Sure.

Carlo Zottmann czottmann

💭
Sure.
View GitHub Profile
@czottmann
czottmann / caps_lock.json
Created January 4, 2024 12:30
Karabiner Elements hyper key modifications
{
"description": "caps_lock: hold for ⌃⌥⇧, tap for ⌘T",
"manipulators": [
{
"from": {
"key_code": "caps_lock",
"modifiers": {
"optional": [
"any"
]
@czottmann
czottmann / . ̸island ̸StoreUsingComponent1.tsx
Last active December 15, 2023 20:41
Deno + Statery example
/** @jsx h */
import { h } from "preact";
import { incrementCount, state } from "../stores/whatever_store.ts";
export default function StoreUsingComponent1() {
const { counter } = state();
return (
<p>
<button onClick={incrementCount}>
@czottmann
czottmann / gist:3402842
Created August 20, 2012 10:11
Bug report template
#### Issue description
#### Steps to reproduce the issue
1.
2.
3.
@czottmann
czottmann / Bundle+TestFlight.swift
Created October 11, 2023 18:29 — forked from lukaskubanek/Bundle+TestFlight.swift
A code snippet for detecting the TestFlight environment for a macOS app at runtime
import Foundation
import Security
extension Bundle {
/// Returns whether the bundle was signed for TestFlight beta distribution by checking
/// the existence of a specific extension (marker OID) on the code signing certificate.
///
/// This routine is inspired by the source code from ProcInfo, the underlying library
/// of the WhatsYourSign code signature checking tool developed by Objective-See. Initially,
#!/bin/sh
set -euo pipefail
# Set the paths to your Old/New Xcodes
OLD_XCODE="/Applications/Xcode-14.3.1.app"
NEW_XCODE="/Applications/Xcode-15.0.0.app" # To get build number
# Get New Xcode build number
OLD_XCODE_BUILD=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" ${OLD_XCODE}/Contents/Info.plist)
@czottmann
czottmann / TransientAppEntity Weirdness Showcase.md
Last active August 9, 2023 09:06
A macOS 13+ `AppIntent` showcasing weird behaviour for list properties containing only a single `TransientAppEntity`

Test setup

Shortcuts app, add new workflow.

  • First action: "TransientAppEntity Weirdness Showcase"
  • Second action: "Get Items from List" with setting "First Item"

Test 1

@czottmann
czottmann / Format current file with swiftformat.scpt
Last active December 30, 2022 19:04
Xcode helper: SwiftFormat the currently focussed doc w/o losing undo history
use AppleScript version "2.4" -- Yosemite (10.10) or later
use scripting additions
-- # This script formats the currently open and focussed Swift file
-- # using SwiftFormat. It does so *without* resetting the editor's
-- # undo history.
-- #
-- # Version 2022-12-30.01
-- #
-- # Author: Carlo Zottmann
@czottmann
czottmann / IRCCloud Hide people.js
Created November 26, 2010 12:17
A few quick'n'dirty IRCCloud-related bookmarklets.
var p = prompt( "People to hide, comma-separated" ),
sel = [],
chng = {
opacity: 0.3,
fontSize: "90%"
};
if ( p ) {
p = $.trim( p ).split( /\s*,\s*/ );
sel = $.map( p, function( name ) {
@czottmann
czottmann / fake-scan-automator.sh
Created September 14, 2022 21:07 — forked from Pezmc/fake-scan-automator.sh
Make a pdf look scanned with macOS automator as a quick action
#!/bin/bash
# This script takes a PDF or list of PDFs and outputs a file(s)
# named <file>_scanned.pdf that looks like it has been scanned
#
# Requires imagemagic and popper to be installed (brew install imagemagick poppler)
#
# Accepts: a list of files
# Usage: ./<scriptfilename> pdf1.pdf pdf2.pdf
#
# To use as a macOS automator quick action you need to:
@czottmann
czottmann / filter-list.txt
Last active September 3, 2022 18:44
Example uBlock Origin filters for hiding reaction videos on youtube.com
# YT grid view
www.youtube.com##ytd-rich-item-renderer:has(yt-formatted-string[aria-label*=" REACTION "])
www.youtube.com##ytd-rich-item-renderer:has(yt-formatted-string[aria-label*=" Reaction "])
www.youtube.com##ytd-rich-item-renderer:has(yt-formatted-string[aria-label*=" REACTS "])
www.youtube.com##ytd-rich-item-renderer:has(yt-formatted-string[aria-label*=" Reacts "])
# YT list/results view
www.youtube.com##ytd-video-renderer:has(yt-formatted-string[aria-label*=" REACTION "])
www.youtube.com##ytd-video-renderer:has(yt-formatted-string[aria-label*=" Reaction "])
www.youtube.com##ytd-video-renderer:has(yt-formatted-string[aria-label*=" REACTS "])