Skip to content

Instantly share code, notes, and snippets.

View Monsterovich's full-sized avatar
🏠
Working from home

Monsterovich

🏠
Working from home
View GitHub Profile
#!/usr/bin/env python3
from gi.repository import GLib
from gi.repository import Gio
import os
import time
def onPrepareForSleep(conn, sender, obj, interface, signal, parameters, data):
if not parameters[0]:
@Monsterovich
Monsterovich / headphone.py
Last active July 17, 2021 06:22
Pipewire headphone jack fix
#!/usr/bin/env python
import os
import sys
from subprocess import Popen, PIPE, STDOUT
import time
HEADPHONE_EVENT = "jack/headphone"
p = Popen(["/usr/bin/acpi_listen"],
stdout=PIPE, stderr=STDOUT, bufsize=1)
@Monsterovich
Monsterovich / cmake_uninstall.py
Last active December 8, 2020 23:15
cmake_uninstall script
#!/usr/bin/python3
import sys
import os
import click
if len(sys.argv) < 2:
exit("Usage: cmake_uninstall <install_manifest.txt>")
if os.geteuid() != 0:
@probonopd
probonopd / Wayland.md
Last active May 2, 2024 12:20
Think twice about Wayland. It breaks everything!

Think twice before abandoning Xorg. Wayland breaks everything!

Hence, if you are interested in existing applications to "just work" without the need for adjustments, then you may be better off avoiding Wayland.

Wayland solves no issues I have but breaks almost everything I need. Even the most basic, most simple things (like xkill) - in this case with no obvious replacement. And usually it stays broken, because the Wayland folks mostly seem to care about Automotive, Gnome, maybe KDE - and alienating everyone else (e.g., people using just an X11 window manager or something like GNUstep) in the process.

Wayland proponents make it seem like Wayland is "the successor" of Xorg, when in fact it is not. It is merely an incompatible alternative, and not even one that has (nor wants to have) feature parity (missing features). And unlike X11 (the X Window System), Wayland protocol designers actively avoid the concept of "windows" (making up incompr

// ==UserScript==
// @name No YouTube Volume Normalization
// @namespace https://gist.github.com/abec2304
// @match https://www.youtube.com/*
// @grant none
// @version 2.1
// @author abec2304
// @description Enjoy YouTube videos at their true volume
// @inject-into content
// @run-at document-start
@Monsterovich
Monsterovich / xorg.conf
Created August 30, 2017 18:06
Dell Vostro 3000 xorg.conf (touchpad & 2 displays)
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Option "TapButton1" "1"
Option "TapButton2" "2"
Option "TapButton3" "3"
EndSection
@Monsterovich
Monsterovich / acsrect.acs
Created July 13, 2017 15:33
ACSRect library
//
// Defines & Variables
//
#define ACSRECTS_NUM_GLOBALS 6
#define ACSRECTS_X 0
#define ACSRECTS_Y 1
#define ACSRECTS_W 2
@Monsterovich
Monsterovich / .asoundrc
Last active June 26, 2018 13:37
Set different volume levels for each app in ALSA (fuck pulseaudio) + you can record sound from soundcard
#
# Defaults
#
# Step 1: Put this file to $HOME
# Step 2: Configure your application http://www.zimagez.com/zimage/2017-03-1121-55-45.php
# Have fun! http://www.zimagez.com/zimage/2017-03-1121-56-31.php
#
# Defaults
#
@Monsterovich
Monsterovich / scgb_launcher.sh
Last active July 8, 2017 15:31
This script runs scgb groups (v4)
#!/bin/bash
scgbdir='/mnt/srvdata/server/scgb-hosts/'
botexe=$scgbdir'main/scgb.py'
config='/config.py'
groupsfile='groups.txt'
time=120
txtpath=$scgbdir''$groupsfile
#!/usr/bin/env bash
# A pop-up dictionary based on translate-shell and notifications
# Bind this script to a hotkey and select a word to get its dictionary entry.
# https://github.com/soimort/translate-shell
# ' and " are removed
text=$(xsel -o | sed "s/[\"']//g")
path=$(dirname "$0")
output=$(sh ${path}/translate --no-ansi ${text})