sonnyp / Tangram
Programming Languages
Projects that are alternatives of or similar to Tangram
Tangram
Run web apps on your desktop
About
Tangram is a new kind of browser. It is designed to organize and run your Web applications. Each tab is persistent and independent. You can set multiple tabs with different accounts for the same application.
Common use cases:
- Stay up to date with your favorite communities; Mastodon, Twitter, ...
- Merge all these chat applications into one; WhatsApp, Messenger, Telegram, ...
- Group your organization tools under one application; EMail, Calendar, ...
- One-stop for multiple sources of documentation or information
Reporting an issue
Before submitting a compatibility issue with a Website, please try to reproduce it with GNOME Web. If you can, report the issue to WebKitGTK, the Web engine behind Tangram and GNOME Web.
Features
- Setup and manage web applications
- Persistent and independent tabs
- Custom title
- Re-order tabs
- Change tabs position
- Navigation
- Shortcuts
- Smart notifications
- Downloads
- Touchpad/touchscreen gestures
Security
Both Flatpak and non-Flatpak versions of Tangram provide sandboxing for Web applications.
- Flatpak via our restricted permissions
- Non-Flatpak through WebkitGTK Sandboxing (requires WebkitGTK >= 2.26)
In the media
Chris Were Digital - Tangram a browser just for web apps share.tube / youtube.com - 02/2021
addictivetips.com - How to run web apps with ease on Linux - 09/2020
ubunlog.com - Tangram, nueva opción basada en GNOME para agrupar nuestras web-apps - 09/2020
edivaldobrito.com.br - Como instalar o navegador Tangram no Linux via Flatpak - 08/2020
linux-magazine.com - Tangram integrates social media services in a single app - 06/2020
linux-community.de - Tangram integriert Social-Media-Dienste und Messenger in eine App - 02/2020
diolinux.com.br - Tangram, um app para gerenciar Webapps - 09/2019
Development
Install packages
Ubuntu
sudo apt install npm libglib2.0-dev-bin flatpak-builder git
Arch Linux
sudo pacman -S npm glib2 flatpak-builder git
Fedora
sudo dnf install npm glib2-devel flatpak-builder git
Install dependencies
cd Tangram
git submodule init
git submodule update
npm install
Run
cd Tangram
make dev # in one terminal
./run.sh # in an other
make dev
constantly watch for file changes and will rebuild automatically. ./run.sh
runs the application in development
mode. Hit <Ctrl><Shift>Q
to restart the application.
- data files are stored in
./var/data/
instead of$XDG_DATA_HOME/Tangram/
- cache files are stored in
./var/cache/
instead ofXDG_CACHE_HOME/Tangram/
To test desktop notifications you can add https://jhmux.codesandbox.io/
.
Test
make test
Meson
meson --reconfigure --prefix $PWD/install build
ninja -C build install
GSETTINGS_SCHEMA_DIR=./install/share/glib-2.0/schemas/ ./install/bin/re.sonny.Tangram
Flatpak
flatpak-builder --user --force-clean --install-deps-from=flathub flatpak re.sonny.Tangram.json
flatpak-builder --run flatpak re.sonny.Tangram.json re.sonny.Tangram
Flatpak sandboxed
flatpak-builder --user --force-clean --repo=repo --install-deps-from=flathub flatpak re.sonny.Tangram.json
flatpak --user remote-add --no-gpg-verify --if-not-exists Tangram repo
flatpak --user install --reinstall --assumeyes Tangram re.sonny.Tangram
Inspect
gsettings set org.gtk.Settings.Debug enable-inspector-keybinding true
GTK_DEBUG=interactive ./run.sh
Release
git add -f src/main.js
git tag $VERSION
git push origin $VERSION
# send PR to https://github.com/flathub/re.sonny.Tangram/blob/master/re.sonny.Tangram.json
Credits
Icon by Tobias Bernard
Igalia and contributors for the amazing work on WebKitGTK