Skip to content

Instantly share code, notes, and snippets.

smailliwcs /
Created Sep 22, 2020
Integer range command-line arguments in Python
import argparse
class IntRangeArg:
def __init__(self, start=None, stop=None):
assert start is None or stop is None or start < stop
self.start = start
self.stop = stop
def __contains__(self, value):
smailliwcs / extension.js
Created Sep 22, 2020
Disabling hot corners in GNOME
View extension.js
const LM = imports.ui.main.layoutManager;
let _updateHotCorners;
function _noop() { }
function _destroyHotCorners() {
LM.hotCorners.forEach(corner => {
if (corner) {
smailliwcs / App.cs
Created Sep 22, 2020
Selecting text on keyboard navigation in WPF
View App.cs
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
public partial class App : Application
protected override void OnStartup(StartupEventArgs e)
smailliwcs / ClearableRadioButton.cs
Created Sep 22, 2020
Clearable WPF radio buttons
View ClearableRadioButton.cs
using System.Windows.Controls;
public class ClearableRadioButton : RadioButton
protected override void OnClick()
bool? wasChecked = IsChecked;
if (wasChecked.GetValueOrDefault())
smailliwcs / MainWindow.xaml
Created Sep 22, 2020
Mutually exclusive WPF checkboxes
View MainWindow.xaml
<Window x:Class="MainWindow"
<CheckBox IsChecked="{Binding A}">
<local:UncheckOnSignalBehavior Signal="{Binding None}" />
Option A
<CheckBox IsChecked="{Binding B}">
View BufferedTraceListener.cs
using System;
using System.Diagnostics;
using System.Text;
using System.Threading;
public class BufferedTraceListener : TraceListener
private SynchronizationContext context;
private StringBuilder buffer;
private object bufferLock;
smailliwcs / LoggingCommand.cs
Created Sep 22, 2020
Logging SQL queries in ADO.NET
View LoggingCommand.cs
using System.Data;
public class LoggingCommand : IDbCommand
private static void Log(string message)
// ...
private IDbCommand @base;
View TwoWayDictionary.cs
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
public class TwoWayDictionary<T1, T2> : ICollection<Tuple<T1, T2>>
private static Tuple<T1, T2> ToTuple(T1 item1, T2 item2)
return Tuple.Create(item1, item2);
View InterlockedBoolean.cs
using System;
using System.Threading;
public class InterlockedBoolean
private int value;
public bool Value
get { return Convert.ToBoolean(value); }
View Base64Extensions.cs
using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
public static class Base64Extensions
private static IFormatter GetFormatter()
return new BinaryFormatter();