#editor #gtk #format-json #javascript #query-string

app boop-gtk

A scriptable scratchpad for developers Port of @IvanMathy's Boop to GTK

13 releases (stable)

1.6.0 Dec 30, 2020
1.5.0 Oct 27, 2020
1.3.0 Sep 23, 2020
1.1.0 Aug 25, 2020
0.0.1 Jun 30, 2020

#212 in Text editors

MIT license

7MB
9K SLoC

JavaScript 6K SLoC // 0.2% comments Rust 2K SLoC // 0.0% comments Swift 1K SLoC // 0.2% comments Shell 11 SLoC // 0.3% comments


A scriptable scratchpad for developers

Port of @IvanMathy's Boop to GTK

Continuous integration Release Crates.io boop-gtk Flathub

What is Boop-GTK?

Boop is a simple editor that allows you to execute scripts on the buffer. The idea is that you don’t have to paste potentially secret information into shady websites to do some simple transforms, like format json and decoding query strings.

Boop-GTK is a port of Boop to GTK, so users on Linux and Windows can Boop it!

Features

  • 50+ builtin scripts including "Base64 Encode", "Format JSON", "Hex to RGB" and more
  • 100% script compatibility with Boop
  • Completely crossplatform!

Screenshots

Linux Windows
linux windows

There is also a quick demo on youtube.

Get Boop-GTK

Platform Format Link
Linux Binary boop-gtk.linux.amd64
Flatpak boop-gtk.flatpak
Snap boop-gtk.snap
AUR boop-gtk (thanks to qcasey), boop-gtk-bin (thanks to hvksmr1996)
Snap Store Get it from the Snap Store
Flathub Download on Flathub
Windows Installer boop-gtk.windows.msi
MacOS Binary You should really use Boop, but if you really want to: boop-gtk.macos

Usage

More documentation can be found in Boop's docs.

Boop-GTK is easy to use: open it, paste some text, run some scripts, optionally copy the text out.

Additional Scripts

More scripts can be found in the Boop repo.

Building

Linux

sudo apt-get install -y libgtk-3-dev libgtksourceview-3.0-dev
cargo build

Linux Snap

sudo apt-get install snap snapcraft
snapcraft snap
sudo snap install boop-gtk_1.6.0_amd64.snap

Linux Flatpak

sudo add-apt-repository ppa:alexlarsson/flatpak 
sudo apt-get update 
sudo apt-get install flatpak
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
sudo flatpak install -y flathub org.freedesktop.Platform//20.08 org.freedesktop.Sdk//20.08 org.freedesktop.Sdk.Extension.rust-stable//20.08
wget https://github.com/flatpak/flatpak-builder/releases/download/1.0.10/flatpak-builder-1.0.10.tar.xz && tar -xvf flatpak-builder-1.0.10.tar.xz && cd flatpak-builder-1.0.10 && ./configure --disable-documentation && make && sudo make install
sudo apt-get install python3-toml
bash flatpak/gen-sources.sh
flatpak-builder --repo=repo build-dir flatpak/fyi.zoey.Boop-GTK.json
flatpak build-bundle ./repo boop-gtk.flatpak fyi.zoey.Boop-GTK

MacOS

brew install gtk+3 gtksourceview3
cargo build

Windows

I don't really understand why sourceview isn't picked up automatically by system-deps but if you are curious.

git clone https://github.com/wingtk/gvsbuild.git C:\gtk-build\github\gvsbuild
cd C:\gtk-build\github\gvsbuild; python .\build.py build -p=x64 --vs-ver=16 --msys-dir=C:\msys64 -k --enable-gi --py-wheel --py-egg gtk3 gdk-pixbuf gtksourceview3
${Env:GTKSOURCEVIEW_3.0_NO_PKG_CONFIG}=1; ${Env:SYSTEM_DEPS_GTKSOURCEVIEW_3.0_LIB}="gtksourceview-3.0"; cargo build

Windows Installer

# follow build steps above, then:
cargo install cargo-wix 
${Env:GTKSOURCEVIEW_3.0_NO_PKG_CONFIG}=1; ${Env:SYSTEM_DEPS_GTKSOURCEVIEW_3.0_LIB}="gtksourceview-3.0"; cargo wix -v

Dependencies

~79MB
~1.5M SLoC