Skip to content

Instantly share code, notes, and snippets.

Avatar

Stephan Sokolow ssokolow

View GitHub Profile
@ssokolow
ssokolow / take_screenshot.py
Last active Sep 13, 2022
Proof of concept for automatically taking PySolFC screenshots
View take_screenshot.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""A simple tool for taking consistent screenshots of PySolFC
Requires wmctrl, xprop, and ImageMagic's import command to be installed.
"""
__author__ = "Stephan Sokolow (deitarion/SSokolow)"
__appname__ = "PySolFC Screenshot Helper"
__version__ = "0.0pre0"
@ssokolow
ssokolow / prompt_gentoo_setup.sh
Created Aug 12, 2022
My performance-optimized Zsh prompt
View prompt_gentoo_setup.sh
#!/bin/zsh
# Modified gentoo prompt theme
# customized by Stephan Sokolow for git branch and virtualenv display based on:
# http://www.jukie.net/~bart/blog/20071219221358
# http://www.simplisticcomplexity.com/2008/03/13/show-your-git-branch-name-in-your-prompt/#comment-4166
# https://virtualenvwrapper.readthedocs.io/en/latest/tips.html
#
# See also:
# https://www.topbug.net/blog/2016/10/11/speed-test-check-the-existence-of-a-command-in-bash-and-zsh/
@ssokolow
ssokolow / onelinespelltextedit.py
Last active Jul 22, 2022
QLineEdit replacement with automatic PyEnchant spell-checking (based on QPlainTextEdit because it's easier to implement)
View onelinespelltextedit.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Single-Line QPlainTextEdit With Inline Spell Check mimicking QLineEdit
Original PyQt4 Version:
https://nachtimwald.com/2009/08/22/qplaintextedit-with-in-line-spell-check/
Multi-Line Version:
https://gist.github.com/ssokolow/0e69b9bd9ca442163164c8a9756aa15f
TODO:
@ssokolow
ssokolow / README.md
Last active Apr 26, 2022
Files for making Flatpak builds of lgogdownloader
View README.md

A Flatpak release of LGOGDownloader to provide easy access to up-to-date builds with the optional QtWebEngine dependency enabled.

Note that the included patch for the htmlcxx dependency was submitted to upstream, but the project appears to be unmaintained.

@ssokolow
ssokolow / godot_game.iss
Created Mar 23, 2022
Example Inno Setup script for Godot games
View godot_game.iss
; IMPORTANT: Follow the instructions at
; https://docs.godotengine.org/en/stable/getting_started/workflow/export/changing_application_icon_for_windows.html
; and make sure the "Options > Application > Product Version" field is set
; in Godot's Export dialog before exporting your EXE file. Otherwise,
; Inno Setup will mistake the Godot version for your game's version.
;
; You can check whether you were successful by examining the .EXE file's
; properties dialog on Windows, or by using the `peres -v` command from `pev`
; on Linux.
;
@ssokolow
ssokolow / git-extract-paths-with-history
Last active Jan 8, 2022
Wrapper for git-filter-repo to extract paths into a new clone, preserving history across renames
View git-extract-paths-with-history
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Wrapper for git-filter-repo to extract paths into a new clone, following the
rename history to preserve all revisions of whitelisted paths.
WARNING: There appears to be no way to ask git-filter-repo to exclude stuff
that later takes on a name a renamed file gave up, so this will be
insufficient if you move a/b.py to b/b.py and then create a new a/b.py
and only want to preserve the history of b/b.py without keeping the
unrelated a/b.py.
@ssokolow
ssokolow / update_flatpak_cli.py
Last active Sep 23, 2022
Utility for making Flatpak-installed apps available in the terminal through their normal command names
View update_flatpak_cli.py
#!/usr/bin/env python3
"""Flatpak CLI Shortcut Generator
A simple no-argument tool that generates launchers with traditional non-flatpak
command names for your installed Flatpak applications in ~/.local/bin/flatpak.
Does full collision detection and warns you if you forgot to add its output
directory to your PATH. Also overrules the command-line specified in the
``.desktop`` file if the Flatpak maintainer didn't include support for
command-line arguments.
@ssokolow
ssokolow / strip_emoji.py
Created Mar 17, 2021
Simple script to rename non-BMP Unicode characters out of file and folder names, recursively
View strip_emoji.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Strip emoji and other non-BMP codepoints from paths to make them compatible
with mkisofs/genisoimage"""
# Prevent Python 2.x PyLint from complaining if run on this
from __future__ import (absolute_import, division, print_function,
with_statement, unicode_literals)
__author__ = "Stephan Sokolow (deitarion/SSokolow)"
@ssokolow
ssokolow / trackball.sh
Last active Jun 4, 2022
xinput configuration for an old two-button Logitech Marble Mouse
View trackball.sh
#!/bin/sh
# Setup for comfortable use of an old two-button Logitech Marble Mouse
# via a cheap USB-PS/2 adapter.
#
# Resulting functionality:
# 1. Pointer acceleration is tweaked to be usable on a three-monitor spread
# 2. Press and hold left button for 300ms to get right-click
# 3. Right mouse button is remapped to middle mouse button
# 4. Holding the right button turns the trackball into a scroll wheel
# 5. Both vertical and horizontal scrolling are enabled
@ssokolow
ssokolow / nugar_on_perfect_lionheart.md
Created Sep 21, 2020
A mirror of Nugar's analysis/rant on the author Perfect Lionheart for people who don't want to link to a post in a thread
View nugar_on_perfect_lionheart.md

Nugar said:

Sociopathy and Psychopathy the wikipedia article.

Yes, I know it's wikipedia. I know wikipedia isn't exactly reliable. Still, it's easy and convienient. It also states that there's functionally very little difference between psychopathy and sociopathy. Given the medical definitions and such for each, okay, I'll go along with that.

Now. Lets look at some of this.

They make a superficially good first impression.