Skip to content

Instantly share code, notes, and snippets.

View PlugFox's full-sized avatar
🦊
🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊

Plague Fox PlugFox

🦊
🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊🦊
View GitHub Profile
@PlugFox
PlugFox / main.dart
Created January 30, 2026 14:35
Dart extension type
/*
* Extension type
* https://gist.github.com/PlugFox/5593eafa163371223c7c2068266cc1b7
* https://dartpad.dev?id=5593eafa163371223c7c2068266cc1b7
* Mike Matiunin <[email protected]>, 30 January 2026
*/
import 'dart:convert';
void main() {
@PlugFox
PlugFox / sse.dart
Last active January 30, 2026 13:02
Dart Server-sent events
import 'dart:async';
import 'dart:convert' show Utf8Decoder, JsonDecoder;
import 'dart:math' as math;
import 'package:flutter/foundation.dart' show ValueListenable, ValueNotifier;
import 'package:meta/meta.dart';
import 'api_client.dart';
/// A typedef representing a Server-Sent Event (SSE) event.
@PlugFox
PlugFox / main.dart
Last active January 13, 2026 13:52
Questions example
/*
* Questions example
* https://gist.github.com/PlugFox/66bca21faaaf8613857ade983c78a47b
* https://dartpad.dev?id=66bca21faaaf8613857ade983c78a47b
* Mike Matiunin <[email protected]>, 13 January 2026
*/
// ignore_for_file: curly_braces_in_flow_control_structures, avoid_print
import 'dart:async';
@PlugFox
PlugFox / main.dart
Last active January 13, 2026 13:09
Pop and push demo
/*
* Pop and Push Demo
* https://gist.github.com/PlugFox/52c08d44d4074d37c236528b058eedd7
* https://dartpad.dev?id=52c08d44d4074d37c236528b058eedd7
* Mike Matiunin <[email protected]>, 13 January 2026
*/
import 'dart:async';
import 'package:flutter/material.dart';
@PlugFox
PlugFox / main.dart
Last active January 8, 2026 00:23
Ribbon widget for Flutter
/*
* Ribbon widget for Flutter.
* https://gist.github.com/PlugFox/82ea9e73e60968bb068b4fb104dae262
* https://dartpad.dev?id=82ea9e73e60968bb068b4fb104dae262
* Mike Matiunin <[email protected]>, 07 January 2026
*/
// ignore_for_file: curly_braces_in_flow_control_structures
import 'dart:math' as math;
@PlugFox
PlugFox / main.dart
Last active December 19, 2025 15:28
Show dialogs from unmounted context
/*
* Show dialogs from unmounted context
* https://gist.github.com/PlugFox/f8f63c1ab3a63e49085b356281887435
* https://dartpad.dev?id=f8f63c1ab3a63e49085b356281887435
* Mike Matiunin <[email protected]>, 19 December 2025
*/
import 'dart:async';
import 'package:flutter/material.dart';
@PlugFox
PlugFox / main.dart
Last active December 9, 2025 15:54
Swipeable controller demo.
/*
* Swipeable controller demo.
* https://gist.github.com/PlugFox/39c051d807efb04759498033ce8452dc
* https://dartpad.dev?id=39c051d807efb04759498033ce8452dc
* Mike Matiunin <[email protected]>, 09 December 2025
*/
import 'dart:async';
import 'dart:math' as math;
@PlugFox
PlugFox / overlay.rs
Created December 8, 2025 20:45
Rust Windows Transparent Overlay
#[cfg(target_os = "windows")]
use windows::Win32::Foundation::{COLORREF, HINSTANCE, HWND, LPARAM, LRESULT, RECT, WPARAM};
#[cfg(target_os = "windows")]
use windows::Win32::Graphics::Dwm::DwmFlush;
#[cfg(target_os = "windows")]
use windows::Win32::Graphics::Gdi::HGDIOBJ;
#[cfg(target_os = "windows")]
use windows::Win32::Graphics::Gdi::*;
#[cfg(target_os = "windows")]
use windows::Win32::System::LibraryLoader::GetModuleHandleW;
@PlugFox
PlugFox / main.rs
Created December 8, 2025 20:42
Rust Windows Transparent Overlay
[package]
name = "transparent_overlay"
version = "0.1.1"
edition = "2021"
[dependencies]
windows = { version = "0.58", features = [
"Win32_Foundation",
"Win32_Graphics_Gdi",
"Win32_UI_WindowsAndMessaging",
@PlugFox
PlugFox / main.dart
Last active December 8, 2025 20:30
Dart async generator with StreamController
import 'dart:async';
void main() => gen().take(7).forEach(print);
Stream<String> gen() {
final controller = StreamController<String>();
void onCancel(void Function() fn) {
var temp = controller.onCancel ?? () {};
controller.onCancel = () {