Skip to content

Instantly share code, notes, and snippets.

@smmr0
Last active July 23, 2023 19:01
Show Gist options
  • Save smmr0/2463f83c858f7af7ba018a19e8fa07df to your computer and use it in GitHub Desktop.
Save smmr0/2463f83c858f7af7ba018a19e8fa07df to your computer and use it in GitHub Desktop.
Firefox Developer Edition/Betterbird: Desktop friendlier
#!/usr/bin/env sh
# Prerequisites:
# - flatpak override --filesystem=~/.thunderbird eu.betterbird.Betterbird
# - flatpak override --filesystem=~/.local/bin/betterbird:ro --share=network com.ulduzsoft.Birdtray
unset $(env | cut -d '=' -f 1 | grep -E '^SNAP(_|$)')
if command -v flatpak-spawn > /dev/null 2>&1; then
exec /usr/bin/flatpak-spawn --host "$0" "$@"
else
# en_CA somewhat closely resembles ISO 8601 in Firefox:
# https://hg.mozilla.org/mozilla-central/file/e4780e5614f3e3dd1b0961f31ab59c1dac92a372/intl/icu/source/data/locales/en_CA.txt
export LC_TIME='en_CA.UTF-8'
exec /usr/bin/flatpak run --command=betterbird eu.betterbird.Betterbird "$@"
fi
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
#!/usr/bin/env sh
unset $(env | cut -d '=' -f 1 | grep -E '^SNAP(_|$)')
export TMPDIR="$HOME/tmp/firefox-dev"
mkdir -p "$TMPDIR"
# en_CA somewhat closely resembles ISO 8601 in Firefox:
# https://hg.mozilla.org/mozilla-central/file/e4780e5614f3e3dd1b0961f31ab59c1dac92a372/intl/icu/source/data/locales/en_CA.txt
export LC_TIME='en_CA.UTF-8'
for final_arg; do :; done
if case "$final_arg" in -*) false; esac; then
# Final arg does not start with `-`, meaning it's likely a URL
if command -v xdotool > /dev/null 2>&1; then
desktop="$(xdotool get_desktop)"
window="$(xdotool search --desktop "$desktop" --class '^firefox-aurora$' | tail -1)"
if [ -n "$window" ]; then
xdotool windowactivate "$window"
else
set -- --new-window "$@"
fi
fi
fi
exec "$(dirname "$0")/../opt/firefox-dev/firefox" "$@"
# https://hg.mozilla.org/mozilla-central/file/e9a891b833ca8747ffb9fcc7791d00eab87db7d2/browser/components/shell/search-provider-files/firefox.desktop
[Desktop Entry]
Version=1.0
Name=Firefox Developer Edition
GenericName=Web Browser
GenericName[ca]=Navegador web
GenericName[cs]=Webový prohlížeč
GenericName[es]=Navegador web
GenericName[fa]=مرورگر اینترنتی
GenericName[fi]=WWW-selain
GenericName[fr]=Navigateur Web
GenericName[hu]=Webböngésző
GenericName[it]=Browser Web
GenericName[ja]=ウェブ・ブラウザ
GenericName[ko]=웹 브라우저
GenericName[nb]=Nettleser
GenericName[nl]=Webbrowser
GenericName[nn]=Nettlesar
GenericName[no]=Nettleser
GenericName[pl]=Przeglądarka WWW
GenericName[pt]=Navegador Web
GenericName[pt_BR]=Navegador Web
GenericName[sk]=Internetový prehliadač
GenericName[sv]=Webbläsare
Comment=Browse the Web
Comment[ca]=Navegueu per el web
Comment[cs]=Prohlížení stránek World Wide Webu
Comment[de]=Im Internet surfen
Comment[es]=Navegue por la web
Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
Comment[fi]=Selaa Internetin WWW-sivuja
Comment[fr]=Navigue sur Internet
Comment[hu]=A világháló böngészése
Comment[it]=Esplora il web
Comment[ja]=ウェブを閲覧します
Comment[ko]=웹을 돌아 다닙니다
Comment[nb]=Surf på nettet
Comment[nl]=Verken het internet
Comment[nn]=Surf på nettet
Comment[no]=Surf på nettet
Comment[pl]=Przeglądanie stron WWW
Comment[pt]=Navegue na Internet
Comment[pt_BR]=Navegue na Internet
Comment[sk]=Prehliadanie internetu
Comment[sv]=Surfa på webben
Exec=sh -e -c "exec \\"\\$(dirname \\"\\$0\\")/../../bin/firefox-dev\\" \\"$@\\"" %k %u
# for f in /path/to/firefox-dev/browser/chrome/icons/default/default*.png; do dir="/path/to/icons/hicolor/$(basename "$f" | sed -E 's/^default([[:digit:]]+)\.png/\1x\1/')/apps"; mkdir -p "$dir"; ln -s "$f" "$dir/firefox-dev.png"; done
# (see $XDG_DATA_DIRS)
Icon=firefox-dev
Terminal=false
Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
StartupNotify=true
Categories=Network;WebBrowser;
Keywords=web;browser;internet;
Actions=new-window;new-private-window;
StartupWMClass=firefox-aurora
X-Desktop-File-Install-Version=0.24
[Desktop Action new-window]
Name=Open a New Window
Name[ach]=Dirica manyen
Name[af]=Nuwe venster
Name[an]=Nueva finestra
Name[ar]=نافذة جديدة
Name[as]=নতুন উইন্ডো
Name[ast]=Ventana nueva
Name[az]=Yeni Pəncərə
Name[be]=Новае акно
Name[bg]=Нов прозорец
Name[bn_BD]=নতুন উইন্ডো (N)
Name[bn_IN]=নতুন উইন্ডো
Name[br]=Prenestr nevez
Name[brx]=गोदान उइन्ड'(N)
Name[bs]=Novi prozor
Name[ca]=Finestra nova
Name[cak]=K'ak'a' tzuwäch
Name[cs]=Nové okno
Name[cy]=Ffenestr Newydd
Name[da]=Nyt vindue
Name[de]=Neues Fenster
Name[dsb]=Nowe wokno
Name[el]=Νέο παράθυρο
Name[en_GB]=New Window
Name[en_US]=New Window
Name[en_ZA]=New Window
Name[eo]=Nova fenestro
Name[es_AR]=Nueva ventana
Name[es_CL]=Nueva ventana
Name[es_ES]=Nueva ventana
Name[es_MX]=Nueva ventana
Name[et]=Uus aken
Name[eu]=Leiho berria
Name[fa]=پنجره جدید‌
Name[ff]=Henorde Hesere
Name[fi]=Uusi ikkuna
Name[fr]=Nouvelle fenêtre
Name[fy_NL]=Nij finster
Name[ga_IE]=Fuinneog Nua
Name[gd]=Uinneag ùr
Name[gl]=Nova xanela
Name[gn]=Ovetã pyahu
Name[gu_IN]=નવી વિન્ડો
Name[he]=חלון חדש
Name[hi_IN]=नया विंडो
Name[hr]=Novi prozor
Name[hsb]=Nowe wokno
Name[hu]=Új ablak
Name[hy_AM]=Նոր Պատուհան
Name[id]=Jendela Baru
Name[is]=Nýr gluggi
Name[it]=Nuova finestra
Name[ja]=新しいウィンドウ
Name[ja_JP-mac]=新規ウインドウ
Name[ka]=ახალი ფანჯარა
Name[kk]=Жаңа терезе
Name[km]=បង្អួច​​​ថ្មី
Name[kn]=ಹೊಸ ಕಿಟಕಿ
Name[ko]=새 창
Name[kok]=नवें जनेल
Name[ks]=نئئ وِنڈو
Name[lij]=Neuvo barcon
Name[lo]=ຫນ້າຕ່າງໃຫມ່
Name[lt]=Naujas langas
Name[ltg]=Jauns lūgs
Name[lv]=Jauns logs
Name[mai]=नव विंडो
Name[mk]=Нов прозорец
Name[ml]=പുതിയ ജാലകം
Name[mr]=नवीन पटल
Name[ms]=Tetingkap Baru
Name[my]=ဝင်းဒိုးအသစ်
Name[nb_NO]=Nytt vindu
Name[ne_NP]=नयाँ सञ्झ्याल
Name[nl]=Nieuw venster
Name[nn_NO]=Nytt vindauge
Name[or]=ନୂତନ ୱିଣ୍ଡୋ
Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ
Name[pl]=Nowe okno
Name[pt_BR]=Nova janela
Name[pt_PT]=Nova janela
Name[rm]=Nova fanestra
Name[ro]=Fereastră nouă
Name[ru]=Новое окно
Name[sat]=नावा विंडो (N)
Name[si]=නව කවුළුවක්
Name[sk]=Nové okno
Name[sl]=Novo okno
Name[son]=Zanfun taaga
Name[sq]=Dritare e Re
Name[sr]=Нови прозор
Name[sv_SE]=Nytt fönster
Name[ta]=புதிய சாளரம்
Name[te]=కొత్త విండో
Name[th]=หน้าต่างใหม่
Name[tr]=Yeni pencere
Name[tsz]=Eraatarakua jimpani
Name[uk]=Нове вікно
Name[ur]=نیا دریچہ
Name[uz]=Yangi oyna
Name[vi]=Cửa sổ mới
Name[wo]=Palanteer bu bees
Name[xh]=Ifestile entsha
Name[zh_CN]=新建窗口
Name[zh_TW]=開新視窗
Exec=sh -e -c "exec \\"\\$(dirname \\"\\$0\\")/../../bin/firefox-dev\\" --new-window \\"$@\\"" %k %u
[Desktop Action new-private-window]
Name=Open a New Private Window
Name[ach]=Dirica manyen me mung
Name[af]=Nuwe privaatvenster
Name[an]=Nueva finestra privada
Name[ar]=نافذة خاصة جديدة
Name[as]=নতুন ব্যক্তিগত উইন্ডো
Name[ast]=Ventana privada nueva
Name[az]=Yeni Məxfi Pəncərə
Name[be]=Новае акно адасаблення
Name[bg]=Нов прозорец за поверително сърфиране
Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো
Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো
Name[br]=Prenestr merdeiñ prevez nevez
Name[brx]=गोदान प्राइभेट उइन्ड'
Name[bs]=Novi privatni prozor
Name[ca]=Finestra privada nova
Name[cak]=K'ak'a' ichinan tzuwäch
Name[cs]=Nové anonymní okno
Name[cy]=Ffenestr Breifat Newydd
Name[da]=Nyt privat vindue
Name[de]=Neues privates Fenster
Name[dsb]=Nowe priwatne wokno
Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
Name[en_GB]=New Private Window
Name[en_US]=New Private Window
Name[en_ZA]=New Private Window
Name[eo]=Nova privata fenestro
Name[es_AR]=Nueva ventana privada
Name[es_CL]=Nueva ventana privada
Name[es_ES]=Nueva ventana privada
Name[es_MX]=Nueva ventana privada
Name[et]=Uus privaatne aken
Name[eu]=Leiho pribatu berria
Name[fa]=پنجره ناشناس جدید
Name[ff]=Henorde Suturo Hesere
Name[fi]=Uusi yksityinen ikkuna
Name[fr]=Nouvelle fenêtre de navigation privée
Name[fy_NL]=Nij priveefinster
Name[ga_IE]=Fuinneog Nua Phríobháideach
Name[gd]=Uinneag phrìobhaideach ùr
Name[gl]=Nova xanela privada
Name[gn]=Ovetã ñemi pyahu
Name[gu_IN]=નવી ખાનગી વિન્ડો
Name[he]=חלון פרטי חדש
Name[hi_IN]=नयी निजी विंडो
Name[hr]=Novi privatni prozor
Name[hsb]=Nowe priwatne wokno
Name[hu]=Új privát ablak
Name[hy_AM]=Սկսել Գաղտնի դիտարկում
Name[id]=Jendela Mode Pribadi Baru
Name[is]=Nýr huliðsgluggi
Name[it]=Nuova finestra anonima
Name[ja]=新しいプライベートウィンドウ
Name[ja_JP-mac]=新規プライベートウインドウ
Name[ka]=ახალი პირადი ფანჯარა
Name[kk]=Жаңа жекелік терезе
Name[km]=បង្អួច​ឯកជន​ថ្មី
Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ
Name[ko]=새 사생활 보호 모드
Name[kok]=नवो खाजगी विंडो
Name[ks]=نْو پرایوٹ وینڈو&
Name[lij]=Neuvo barcon privou
Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່
Name[lt]=Naujas privataus naršymo langas
Name[ltg]=Jauns privatais lūgs
Name[lv]=Jauns privātais logs
Name[mai]=नया निज विंडो (W)
Name[mk]=Нов приватен прозорец
Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
Name[mr]=नवीन वैयक्तिक पटल
Name[ms]=Tetingkap Persendirian Baharu
Name[my]=New Private Window
Name[nb_NO]=Nytt privat vindu
Name[ne_NP]=नयाँ निजी सञ्झ्याल
Name[nl]=Nieuw privévenster
Name[nn_NO]=Nytt privat vindauge
Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ
Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
Name[pl]=Nowe okno prywatne
Name[pt_BR]=Nova janela privativa
Name[pt_PT]=Nova janela privada
Name[rm]=Nova fanestra privata
Name[ro]=Fereastră privată nouă
Name[ru]=Новое приватное окно
Name[sat]=नावा निजेराक् विंडो (W )
Name[si]=නව පුද්ගලික කවුළුව (W)
Name[sk]=Nové okno v režime Súkromné prehliadanie
Name[sl]=Novo zasebno okno
Name[son]=Sutura zanfun taaga
Name[sq]=Dritare e Re Private
Name[sr]=Нови приватан прозор
Name[sv_SE]=Nytt privat fönster
Name[ta]=புதிய தனிப்பட்ட சாளரம்
Name[te]=కొత్త ఆంతరంగిక విండో
Name[th]=หน้าต่างส่วนตัวใหม่
Name[tr]=Yeni gizli pencere
Name[tsz]=Juchiiti eraatarakua jimpani
Name[uk]=Приватне вікно
Name[ur]=نیا نجی دریچہ
Name[uz]=Yangi maxfiy oyna
Name[vi]=Cửa sổ riêng tư mới
Name[wo]=Panlanteeru biir bu bees
Name[xh]=Ifestile yangasese entsha
Name[zh_CN]=新建隐私浏览窗口
Name[zh_TW]=新增隱私視窗
Exec=sh -e -c "exec \\"\\$(dirname \\"\\$0\\")/../../bin/firefox-dev\\" --private-window \\"$@\\"" %k %u
[Default Applications]
x-scheme-handler/http=firefox-dev.desktop
x-scheme-handler/https=firefox-dev.desktop
x-scheme-handler/about=firefox-dev.desktop
x-scheme-handler/unknown=firefox-dev.desktop
x-scheme-handler/chrome=firefox-dev.desktop
text/html=firefox-dev.desktop
application/x-extension-htm=firefox-dev.desktop
application/x-extension-html=firefox-dev.desktop
application/x-extension-shtml=firefox-dev.desktop
application/xhtml+xml=firefox-dev.desktop
application/x-extension-xhtml=firefox-dev.desktop
application/x-extension-xht=firefox-dev.desktop
x-scheme-handler/mailto=eu.betterbird.Betterbird.desktop
x-scheme-handler/webcal=eu.betterbird.Betterbird.desktop
x-scheme-handler/webcals=eu.betterbird.Betterbird.desktop
text/calendar=eu.betterbird.Betterbird.desktop
text/x-vcalendar=eu.betterbird.Betterbird.desktop
text/x-vcard=eu.betterbird.Betterbird.desktop
application/ics=eu.betterbird.Betterbird.desktop
application/x-extension-ics=eu.betterbird.Betterbird.desktop
[Added Associations]
x-scheme-handler/http=firefox-dev.desktop
x-scheme-handler/https=firefox-dev.desktop
x-scheme-handler/about=firefox-dev.desktop
x-scheme-handler/unknown=firefox-dev.desktop
x-scheme-handler/chrome=firefox-dev.desktop
text/html=firefox-dev.desktop;
application/x-extension-htm=firefox-dev.desktop;
application/x-extension-html=firefox-dev.desktop;
application/x-extension-shtml=firefox-dev.desktop;
application/xhtml+xml=firefox-dev.desktop;
application/x-extension-xhtml=firefox-dev.desktop;
application/x-extension-xht=firefox-dev.desktop;
x-scheme-handler/mailto=eu.betterbird.Betterbird.desktop
x-scheme-handler/webcal=eu.betterbird.Betterbird.desktop
x-scheme-handler/webcals=eu.betterbird.Betterbird.desktop
text/calendar=eu.betterbird.Betterbird.desktop
text/x-vcalendar=eu.betterbird.Betterbird.desktop
text/x-vcard=eu.betterbird.Betterbird.desktop
application/ics=eu.betterbird.Betterbird.desktop
application/x-extension-ics=eu.betterbird.Betterbird.desktop
/* Hide min/max/close titlebar buttons */
.titlebar-buttonbox-container {
display: none !important;
}
/* Hide tab list dropdown */
.tabs-alltabs-button {
display: none !important;
}
/* Float new-tab button to the right */
#tabbrowser-arrowscrollbox-periphery {
margin-left: auto;
}
.titlebar-spacer[type="pre-tabs"],
.titlebar-spacer[type="post-tabs"] {
display: none !important;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment