Skip to content

Instantly share code, notes, and snippets.

View ospfranco's full-sized avatar

Oscar Franco ospfranco

View GitHub Profile
@ospfranco
ospfranco / quick-input-widget.js
Created July 20, 2025 19:05
A JS Snippet that allows to apply styles to the VSCode Command Palette/Quick Open
/*
* GNU GENERAL PUBLIC LICENSE
* Version 3, 29 June 2007
*
* Copyright (C) [2023] [Captain Vincent]
* Original Source: https://gist.github.com/CaptainVincent/74a15cd9d9c450e961b867f69008ee6e
*
* Everyone is permitted to copy and distribute verbatim copies of this license document,
* but changing it is not allowed.
*
{
"name": "quack"
}
@ospfranco
ospfranco / build-openssl.sh
Last active August 8, 2025 11:57
Cross-compile OpenSSL 3.X for Android
#!/bin/bash
# This script builds openSSL from source for the Android platform
# while patching some hand-written assembly that fails on Android
# It's useful when trying to use OpenSSL in Rust which tries to
# from the official sources and will therefore fail when launching
# your crate on Android
# Link to the main PR that fixes the sources:
import Cocoa
class _FileIcon: NSView {
let image = NSImageView()
@objc var url: NSString = "" {
didSet {
self.setupView()
}
}
@ospfranco
ospfranco / WebImage.swift
Created January 16, 2022 12:44
React Native macOS Draggable SDWebImage
import Cocoa
import SDWebImage
class InternalWebImage: NSView, NSDraggingSource, NSPasteboardItemDataProvider {
let image = NSImageView()
@objc var url: NSString = "" {
didSet {
self.setupView()
}
const fs = require("fs");
const graph = {};
const file = fs.readFileSync("output2").toString();
file
.split("\n")
.map(l => l.trim())
.map(l => l.split(" -> "))
#!/opt/homebrew/bin/zsh
# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title BodyFast Workspaces
# @raycast.mode compact
# Optional parameters:
# @raycast.icon ♻️
#!/bin/bash
# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title Show WiFi Password
# @raycast.mode silent
# Optional parameters:
# @raycast.icon 📶
# @raycast.packageName Show WiFi Password
@ospfranco
ospfranco / useEventListener.js
Created July 30, 2020 06:32
ReactJS hook for using an event listener
export function useEventListener(eventName: string, handler: () => void) {
let savedHandler = useRef<() => void>()
useEffect(() => {
savedHandler.current = handler
}, [handler])
useEffect(() => {
let eventListener = () => savedHandler.current?.()
[Your event emitter here].addListener(eventName, eventListener)
@ospfranco
ospfranco / useInterval.js
Created July 30, 2020 06:29
ReactJS hook for setting interval
export function useInterval (callback: () => void, delay: number) {
const savedCallback = useRef()
// Remember the latest callback.
useEffect(() => {
savedCallback.current = callback
}, [callback])
// Set up the interval.
useEffect(() => {