Skip to content

Instantly share code, notes, and snippets.

View acristoffers's full-sized avatar

Álan Crístoffer acristoffers

View GitHub Profile
@acristoffers
acristoffers / icon-symbolic.svg
Created July 11, 2024 18:17
Symbolic SVG with GTK4 in Python
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

GNOME extension with TypeScript (for autocomplete)

One of the downsides of developing GNOME extensions is not having autocomplete in your editor, which makes life really hard when you don't know where to look for documentation and don't know much about GLib and Gnome Shell. To solve that, we can create our project using TypeScript and the types defined in the ts-for-gir project.

But before that, let's talk about expectations. I'm not going to show how to configure any specific editor. This setup is editor-agnostic and if you have a

@acristoffers
acristoffers / README.org
Created December 4, 2022 08:55
Overview of (some) french conjugation and sounds.

Conjugaison

TenseStemEnding
ImparfaitNous, présentais, ais, ait, ions, iez, aient
Futur simpleImperative, or nous-présent if présent has more than one stemai, as, a, ons, ez, ont
Subjonctive présentIls, présente, es, e, ions, iez, ent
Conditionnel présentFutureimparfait
@acristoffers
acristoffers / remove_dead_links_from_opml.py
Created August 29, 2022 14:51
Removes dead links from OPML file.
@acristoffers
acristoffers / README.md
Created July 26, 2020 00:24
IPython configuration for VIM-like (or EMACS-like) editting
#!/bin/sh
# Copied from https://github.com/jaor/xmobar/issues/239#issuecomment-233206552
# Detects the width of running trayer-srg window (xprop name 'panel')
# and creates an XPM icon of that width, 1px height, and transparent.
# Outputs an <icon>-tag for use in xmobar to display the generated
# XPM icon.
#
# Run script from xmobar:
# `Run Com "/where/ever/trayer-padding-icon.sh" [] "trayerpad" 10`
# and use `%trayerpad%` in your template.
#!/usr/bin/env bash
if hash brew 2>/dev/null; then
brew install fish bash zsh git python@3 node neovim vim curl
elif hash apt-get 2>/dev/null; then
sudo apt-get install fish bash zsh git python3 python3-pip nodejs neovim vim curl
elif hash dnf 2>/dev/null; then
sudo dnf install fish zsh bash python3 nodejs neovim vim curl
elif hash zypper 2>/dev/null; then
sudo zypper install fish zsh bash python3 nodejs neovim vim curl
@acristoffers
acristoffers / .vimrc
Last active July 13, 2020 14:45
(Neo)Vim configuration.
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
""" """
""" Álan's NeoVim configuration """
""" """
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
call plug#begin('~/.vim/plugged')
Plug 'ParamagicDev/vim-medic_chalk'
Plug 'SirVer/ultisnips'
@acristoffers
acristoffers / Profile Generator.md
Last active March 20, 2020 21:17
Linux/macOS Profile Generator

Simply call like

generate_profile.py --debian

or

generate_profile.py --fedora

It will overwrite your ~/.profile and ~/.bashrc, so backup it if you need things in it.