Skip to content

Instantly share code, notes, and snippets.

@3v1n0
3v1n0 / scanout-monitor.py
Last active September 26, 2026 00:07
Direct-scanout (direct rendering) monitor for Wayland to check if compositor supports and is using direct rendering with zero-copy in real time
#!/usr/bin/env python3
"""Fullscreen direct-scanout (direct rendering) monitor for Wayland.
Maps a fullscreen GBM/DMABUF window and reports, per frame, whether the
compositor directly scans out the window (wp_presentation ZERO_COPY flag)
or composites it. Also tracks the linux-dmabuf feedback "scanout tranche",
which the compositor only advertises while it considers this surface a
scanout candidate: if that tranche disappears while the window is fullscreen,
something is inhibiting unredirection (e.g. Ubuntu Dock autohide).
@3v1n0
3v1n0 / portal-screenshotter.py
Last active June 26, 2026 11:22
Non-interactive script to take screenshots using XDG desktop portals
#!/usr/bin/env python3
#
# SPDX-License-Identifier: GPL-3.0-or-later
import sys
import os
import argparse
from gi.repository import Gio, GioUnix, GLib
@3v1n0
3v1n0 / exiftool-snap-10.30.tar.bz2
Last active October 6, 2025 21:23
exiftool-snap-10.30
This file has been truncated, but you can view the full file.
@3v1n0
3v1n0 / webkit-gtk3-events-inject.py
Last active August 5, 2025 18:48
webkit-gtk3-events-injector
#!/usr/bin/env python3
import os
import sys
import gi
gi.require_version('Gtk', '3.0')
gi.require_version('Gdk', '3.0')
gi.require_version('WebKit2', '4.1')

openpgp4fpr:D4C501DA48EB797A081750939449C2F50996635F

@3v1n0
3v1n0 / proof.md
Last active October 26, 2024 11:09

aspe:keyoxide.org:M7RNSPH6GI4DYOQMX2CHV7GCAI

@3v1n0
3v1n0 / web-snapshts-saver.py
Last active March 6, 2024 16:07
Simple Browser snapshots saver with webkit and python-gtk3
#!/usr/bin/env python3
import gi
import datetime
import os
os.environ['GDK_BACKEND'] = 'x11'
gi.require_version('Gtk', '3.0')
gi.require_version('Gdk', '3.0')
@3v1n0
3v1n0 / sssd-smart-card-pam-auth-configs-tester.sh
Last active August 4, 2026 04:55
A simple interactive tester for sssd PAM configurations
#!/usr/bin/env bash
# Copyright 2023 - Marco Trevisan
# Released under the GPLv3 terms
#
# A simple tool to simulate PAM authentication using SSSD smartcard settings.
#
# To be used with softhsm2 smart cards generators from
# https://gist.github.com/3v1n0/287d02ca8e03936f1c7bba992173d47a
#
# Origin: https://gist.github.com/3v1n0/d7bc0f10cf44a11288648ae9d228430d
@3v1n0
3v1n0 / pam_conv_example.c
Created June 15, 2023 15:45
PAM module conv tests
#include <glib.h>
#include <json-glib/json-glib.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <security/pam_appl.h>
#include <security/pam_modules.h>
/* expected hook */
PAM_EXTERN int
@3v1n0
3v1n0 / sssd-gdm-smartcard-pam-auth-tester.sh
Last active August 4, 2026 04:55
Some crazy automated tests to get Smartcard authentication with SSSD, simiulating various setups via software via softhsm2 and a test tool to verify usage with GDM
#!/usr/bin/env bash
# Copyright 2023 - Marco Trevisan
# Released under the GPLv3 terms
#
# A simple tool to simulate PAM authentication using GDM smartcard settings.
#
# This can also be used in interactive mode to test GDM login from the UI, by
# setting the environment variable `WAIT`, so that the script will restart the
# gdm service and will allow the user to login it using its name and a provided
# `PIN` (123456 by default).