updating to gnome 40
This commit is contained in:
parent
74f3bd305d
commit
8033a0dddd
|
@ -1,4 +1,4 @@
|
|||
calamares
|
||||
calamares-git
|
||||
gsmartcontrol
|
||||
manjaro-live-skel
|
||||
manjaro-live-systemd
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#sonar sonar-release
|
||||
>i686 archlinux32-keyring
|
||||
>multilib gcc-libs-multilib
|
||||
manjaro-release
|
||||
haveged
|
||||
acpi
|
||||
acpid
|
||||
|
|
|
@ -92,6 +92,7 @@ gedit
|
|||
|
||||
feathernotes
|
||||
|
||||
gnome-shell-extension-gnome-ui-tune
|
||||
gtk3
|
||||
gtksourceview-pkgbuild #highlight for PKGBUILD
|
||||
gnome-calculator
|
||||
|
|
|
@ -1,287 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Thiago Bellini <hackedbellini@gmail.com>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* Some parts of this code were forked from message-notifier:
|
||||
* https://extensions.gnome.org/extension/150/message-notifier/
|
||||
* The idea of setting the menu red were inspired by pidgin-persistent-notification:
|
||||
* https://extensions.gnome.org/extension/170/pidgin-peristent-notification
|
||||
*
|
||||
*/
|
||||
|
||||
const { Clutter, St } = imports.gi;
|
||||
const Lang = imports.lang;
|
||||
const Mainloop = imports.mainloop;
|
||||
const Main = imports.ui.main;
|
||||
const MessageTray = imports.ui.messageTray;
|
||||
const GnomeSession = imports.misc.gnomeSession;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Me = ExtensionUtils.getCurrentExtension();
|
||||
const Lib = Me.imports.lib;
|
||||
|
||||
const SETTING_BLINK_RATE = 'blinkrate';
|
||||
const SETTING_USECOLOR = 'usecolor';
|
||||
const SETTING_COLOR = 'color';
|
||||
const SETTING_USEBACKGROUNDCOLOR = 'usebackgroundcolor';
|
||||
const SETTING_BACKGROUNDCOLOR = 'backgroundcolor';
|
||||
const SETTING_CHAT_ONLY = 'chatonly';
|
||||
const SETTING_FORCE = 'force';
|
||||
const SETTING_BLACKLIST = 'application-list';
|
||||
const SETTING_FILTER_TYPE = 'filter';
|
||||
|
||||
let settings, messageStyleHandler;
|
||||
let originalCountUpdated, originalDestroy;
|
||||
|
||||
function _MessageStyleHandler() {
|
||||
|
||||
/*
|
||||
Public API
|
||||
*/
|
||||
|
||||
this.init = function() {
|
||||
this._signals = {};
|
||||
this._statusChangedId = null;
|
||||
this._loopTimeoutId = null;
|
||||
this._oldStyle = null;
|
||||
this._hasStyleAdded = false;
|
||||
|
||||
this._presence = new GnomeSession.Presence(
|
||||
Lang.bind(this, function(proxy, error) {
|
||||
if (error) {
|
||||
logError(error, 'Error while reading gnome-session presence');
|
||||
return;
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
this.enable = function() {
|
||||
this._statusChangedId = this._presence.connectSignal(
|
||||
'StatusChanged', Lang.bind(this, function(proxy, senderName, [status]) {
|
||||
this._presence.status = status;
|
||||
this._onNotificationsSwitchToggled();
|
||||
}));
|
||||
|
||||
// Connect settings change events, so we can update message style
|
||||
// as soon as the user makes the change
|
||||
this._connectSetting(SETTING_USECOLOR);
|
||||
this._connectSetting(SETTING_COLOR);
|
||||
this._connectSetting(SETTING_BACKGROUNDCOLOR);
|
||||
this._connectSetting(SETTING_USEBACKGROUNDCOLOR);
|
||||
this._connectSetting(SETTING_CHAT_ONLY);
|
||||
this._connectSetting(SETTING_FORCE);
|
||||
this._connectSetting(SETTING_BLINK_RATE);
|
||||
|
||||
// Check for existing message counters when extension were
|
||||
// loaded on an already running shell.
|
||||
this.updateMessageStyle();
|
||||
}
|
||||
|
||||
this.disable = function() {
|
||||
this._presence.disconnectSignal(this._statusChangedId);
|
||||
for (let key in this._signals) {
|
||||
settings.disconnect(this._signals[key]);
|
||||
delete this._signals[key];
|
||||
}
|
||||
|
||||
this._removeMessageStyle();
|
||||
}
|
||||
|
||||
this.updateMessageStyle = function() {
|
||||
this.notificationStatus =
|
||||
(this._presence.status != GnomeSession.PresenceStatus.BUSY);
|
||||
let sources = Main.messageTray.getSources();
|
||||
|
||||
if (settings.get_boolean(SETTING_FORCE) || this.notificationStatus) {
|
||||
let chatOnly = settings.get_boolean(SETTING_CHAT_ONLY);
|
||||
let filter = settings.get_int(SETTING_FILTER_TYPE);
|
||||
let currentItems = settings.get_strv(SETTING_BLACKLIST);
|
||||
currentItems = Lib.getAppNamesFromAppInfos(currentItems);
|
||||
|
||||
for (let i = 0; i < sources.length; i++) {
|
||||
let source = sources[i];
|
||||
|
||||
if (chatOnly && !source.isChat) {
|
||||
// The user choose to only be alerted by real chat notifications
|
||||
continue;
|
||||
}
|
||||
if (source.isMuted) {
|
||||
// Do not alert for muted notifications
|
||||
continue;
|
||||
}
|
||||
if((filter == 0) && (currentItems.indexOf(source.title) != -1)) {
|
||||
// Blacklist
|
||||
continue;
|
||||
}
|
||||
if((filter == 1) && (currentItems.indexOf(source.title) == -1)) {
|
||||
// Whitelist
|
||||
continue;
|
||||
}
|
||||
if (this._hasNotifications(source)) {
|
||||
this._addMessageStyle();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
// If for above ended without adding the style, that means there's
|
||||
// no counter and we need to remove the message style.
|
||||
this._removeMessageStyle();
|
||||
}
|
||||
|
||||
/*
|
||||
Private
|
||||
*/
|
||||
|
||||
this._connectSetting = function(setting) {
|
||||
this._signals[setting] = settings.connect(
|
||||
"changed::" + setting, Lang.bind(this, this._onSettingsChanged));
|
||||
}
|
||||
|
||||
this._hasNotifications = function(source) {
|
||||
if (source.countVisible) {
|
||||
return true;
|
||||
}
|
||||
for (let n = 0; n < source.notifications.length; n++) {
|
||||
if (!source.notifications[n].resident) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
this._toggleStyle = function() {
|
||||
if (!this._hasStyleAdded) {
|
||||
// Notifications may have been cleared since loop timer was added,
|
||||
// return false to stop the timeout. Just a precaution, should not happen
|
||||
return false;
|
||||
}
|
||||
|
||||
let dateMenu = Main.panel.statusArea.dateMenu;
|
||||
let actor = dateMenu instanceof Clutter.Actor ? dateMenu : dateMenu.actor;
|
||||
let actualStyle = (actor.style) ? actor.style : "";
|
||||
|
||||
let userStyle = "";
|
||||
if (settings.get_boolean(SETTING_USECOLOR)) {
|
||||
userStyle += "color: " + settings.get_string(SETTING_COLOR) + ";";
|
||||
}
|
||||
if (settings.get_boolean(SETTING_USEBACKGROUNDCOLOR)) {
|
||||
userStyle += "background-color: " + settings.get_string(SETTING_BACKGROUNDCOLOR) + ";";
|
||||
}
|
||||
|
||||
actor.style = (actor.style == this._oldStyle) ? actualStyle.concat(userStyle) : this._oldStyle;
|
||||
|
||||
// keep looping
|
||||
return true;
|
||||
}
|
||||
|
||||
this._addMessageStyle = function() {
|
||||
if (this._hasStyleAdded) {
|
||||
this._removeMessageStyle();
|
||||
}
|
||||
|
||||
let dateMenu = Main.panel.statusArea.dateMenu;
|
||||
let loopDelay = settings.get_int(SETTING_BLINK_RATE);
|
||||
|
||||
let actor = dateMenu instanceof Clutter.Actor ? dateMenu : dateMenu.actor;
|
||||
this._oldStyle = actor.style;
|
||||
this._hasStyleAdded = true;
|
||||
|
||||
if (loopDelay > 0) {
|
||||
this._loopTimeoutId = Mainloop.timeout_add(
|
||||
loopDelay, Lang.bind(this, this._toggleStyle))
|
||||
} else {
|
||||
this._toggleStyle();
|
||||
}
|
||||
}
|
||||
|
||||
this._removeMessageStyle = function() {
|
||||
if (!this._hasStyleAdded) {
|
||||
return;
|
||||
}
|
||||
|
||||
this._hasStyleAdded = false;
|
||||
if (this._loopTimeoutId != null) {
|
||||
// Stop the looping
|
||||
Mainloop.source_remove(this._loopTimeoutId);
|
||||
this._loopTimeoutId = null;
|
||||
}
|
||||
|
||||
let dateMenu = Main.panel.statusArea.dateMenu;
|
||||
let actor = dateMenu instanceof Clutter.Actor ? dateMenu : dateMenu.actor;
|
||||
actor.style = this._oldStyle;
|
||||
this._oldStyle = null;
|
||||
}
|
||||
|
||||
/*
|
||||
Callbacks
|
||||
*/
|
||||
|
||||
this._onSettingsChanged = function() {
|
||||
this.updateMessageStyle();
|
||||
}
|
||||
|
||||
this._onNotificationsSwitchToggled = function() {
|
||||
this.updateMessageStyle();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Monkey-patchs for MessageTray.Source
|
||||
*/
|
||||
|
||||
function _countUpdated() {
|
||||
originalCountUpdated.call(this);
|
||||
|
||||
messageStyleHandler.updateMessageStyle();
|
||||
}
|
||||
|
||||
function _destroy() {
|
||||
originalDestroy.call(this);
|
||||
|
||||
messageStyleHandler.updateMessageStyle();
|
||||
}
|
||||
|
||||
/*
|
||||
Shell-extensions handlers
|
||||
*/
|
||||
|
||||
function init() {
|
||||
Lib.initTranslations(Me);
|
||||
settings = Lib.getSettings(Me);
|
||||
|
||||
messageStyleHandler = new _MessageStyleHandler();
|
||||
messageStyleHandler.init();
|
||||
}
|
||||
|
||||
function enable() {
|
||||
if (MessageTray.Source.prototype.countUpdated == _countUpdated) {
|
||||
return;
|
||||
}
|
||||
originalCountUpdated = MessageTray.Source.prototype.countUpdated;
|
||||
originalDestroy = MessageTray.Source.prototype.destroy;
|
||||
|
||||
MessageTray.Source.prototype.countUpdated = _countUpdated;
|
||||
MessageTray.Source.prototype.destroy = _destroy;
|
||||
|
||||
messageStyleHandler.enable();
|
||||
}
|
||||
|
||||
function disable() {
|
||||
MessageTray.Source.prototype.countUpdated = originalCountUpdated;
|
||||
MessageTray.Source.prototype.destroy = originalDestroy;
|
||||
|
||||
messageStyleHandler.disable();
|
||||
}
|
|
@ -1,131 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Thiago Bellini <hackedbellini@gmail.com>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* Most of this code was forked from gnome-shell-extensions convenience.js:
|
||||
* http://git.gnome.org/browse/gnome-shell-extensions/tree/lib/convenience.js
|
||||
*
|
||||
*/
|
||||
|
||||
const Gettext = imports.gettext;
|
||||
const Gdk = imports.gi.Gdk;
|
||||
const Gio = imports.gi.Gio;
|
||||
|
||||
const Config = imports.misc.config;
|
||||
|
||||
/*
|
||||
Extension utils
|
||||
*/
|
||||
|
||||
function initTranslations(extension) {
|
||||
// This is the same as UUID from metadata.json
|
||||
let domain = 'gnome-shell-notifications-alert';
|
||||
|
||||
// check if this extension was built with "make zip-file", and thus
|
||||
// has the locale files in a subfolder
|
||||
// otherwise assume that extension has been installed in the
|
||||
// same prefix as gnome-shell
|
||||
let localeDir = extension.dir.get_child('locale');
|
||||
if (localeDir.query_exists(null)) {
|
||||
Gettext.bindtextdomain(domain, localeDir.get_path());
|
||||
} else {
|
||||
Gettext.bindtextdomain(domain, Config.LOCALEDIR);
|
||||
}
|
||||
}
|
||||
|
||||
function getSettings(extension) {
|
||||
let schema = 'org.gnome.shell.extensions.notifications-alert';
|
||||
|
||||
const GioSSS = Gio.SettingsSchemaSource;
|
||||
|
||||
// check if this extension was built with "make zip-file", and thus
|
||||
// has the schema files in a subfolder
|
||||
// otherwise assume that extension has been installed in the
|
||||
// same prefix as gnome-shell (and therefore schemas are available
|
||||
// in the standard folders)
|
||||
let schemaDir = extension.dir.get_child('schemas');
|
||||
let schemaSource;
|
||||
if (schemaDir.query_exists(null)) {
|
||||
schemaSource = GioSSS.new_from_directory(schemaDir.get_path(),
|
||||
GioSSS.get_default(),
|
||||
false);
|
||||
} else {
|
||||
schemaSource = GioSSS.get_default();
|
||||
}
|
||||
|
||||
let schemaObj = schemaSource.lookup(schema, true);
|
||||
if (!schemaObj) {
|
||||
throw new Error('Schema ' + schema + ' could not be found for extension ' +
|
||||
extension.metadata.uuid + '. Please check your installation.');
|
||||
}
|
||||
|
||||
return new Gio.Settings({settings_schema: schemaObj});
|
||||
}
|
||||
|
||||
/*
|
||||
Color utils
|
||||
*/
|
||||
|
||||
function _scaleRound(value) {
|
||||
// Based on gtk/gtkcoloreditor.c
|
||||
value = Math.floor((value / 255) + 0.5);
|
||||
value = Math.max(value, 0);
|
||||
value = Math.min(value, 255);
|
||||
return value;
|
||||
}
|
||||
|
||||
function _dec2Hex(value) {
|
||||
value = value.toString(16);
|
||||
|
||||
while (value.length < 2) {
|
||||
value = '0' + value;
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
function getColorByHexadecimal(hex) {
|
||||
let colorArray = Gdk.Color.parse(hex);
|
||||
let color = null;
|
||||
|
||||
if (colorArray[0]) {
|
||||
color = colorArray[1];
|
||||
} else {
|
||||
// On any error, default to red
|
||||
color = new Gdk.Color({red: 65535});
|
||||
}
|
||||
|
||||
return color;
|
||||
}
|
||||
|
||||
function getHexadecimalByColor(color) {
|
||||
let red = _scaleRound(color.red);
|
||||
let green = _scaleRound(color.green);
|
||||
let blue = _scaleRound(color.blue);
|
||||
return "#" + _dec2Hex(red) + _dec2Hex(green) + _dec2Hex(blue);
|
||||
}
|
||||
|
||||
function getAppNamesFromAppInfos(list) {
|
||||
let appNames = [ ];
|
||||
for (let i = 0; i < list.length; i++) {
|
||||
let id = list[i];
|
||||
let appInfo = Gio.DesktopAppInfo.new(id);
|
||||
if (!appInfo)
|
||||
continue;
|
||||
appNames.push(appInfo.get_name());
|
||||
}
|
||||
return appNames;
|
||||
}
|
|
@ -1,117 +0,0 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-12-09 21:12-0300\n"
|
||||
"PO-Revision-Date: 2020-02-23 10:15+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: cs_CZ\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 2.0.1\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
|
||||
#: src/prefs.js:276
|
||||
msgid "Add"
|
||||
msgstr "Přidat"
|
||||
|
||||
#: src/prefs.js:257
|
||||
msgid "Add Rule"
|
||||
msgstr "Přidat pravidlo"
|
||||
|
||||
#: src/prefs.js:177
|
||||
msgid "Alert background color"
|
||||
msgstr "Barva pozadí výstrahy"
|
||||
|
||||
#: src/prefs.js:207
|
||||
msgid "Alert even if you set notifications to OFF on user menu (default: OFF)"
|
||||
msgstr ""
|
||||
"Výstrahy i když je zobrazování upozorňování v uživatelské nabídce vypnuto"
|
||||
"(výchozí: vypnuto)"
|
||||
|
||||
#: src/prefs.js:173
|
||||
msgid "Alert font color"
|
||||
msgstr "Barva písma výstrahy"
|
||||
|
||||
#: src/prefs.js:241
|
||||
msgid "Application"
|
||||
msgstr "Aplikace"
|
||||
|
||||
#: src/prefs.js:140
|
||||
msgid "Blacklist"
|
||||
msgstr "Seznam vyloučených"
|
||||
|
||||
#: src/prefs.js:271
|
||||
msgid "Blacklist app"
|
||||
msgstr "Zařadit aplikaci na seznam vyloučených"
|
||||
|
||||
#: src/prefs.js:184
|
||||
msgid "Blink rate (in ms)"
|
||||
msgstr "Rychlost blikání (v ms)"
|
||||
|
||||
#: src/prefs.js:281
|
||||
msgid "Choose an application to blacklist:"
|
||||
msgstr "Zvolte aplikaci pro zařazení na seznam vyloučených:"
|
||||
|
||||
#: src/prefs.js:123
|
||||
msgid "Filter List"
|
||||
msgstr "Seznam filtru"
|
||||
|
||||
#: src/prefs.js:133
|
||||
msgid "Filter Type"
|
||||
msgstr "Typ filtru"
|
||||
|
||||
#: src/prefs.js:206
|
||||
msgid "Force alerting even when notifications are set to OFF"
|
||||
msgstr "Zvýrazňovat i pokud jsou upozorňování vypnuta"
|
||||
|
||||
#: src/prefs.js:202
|
||||
msgid "Only alert for chat notifications"
|
||||
msgstr "Zobrazovat výstrahy pouze na zprávy konverzací"
|
||||
|
||||
#: src/prefs.js:203
|
||||
msgid ""
|
||||
"Only chat notifications (like Empathy ones) will get alerted (default: OFF)"
|
||||
msgstr ""
|
||||
"Výstrahy budou zobrazovány pouze pro zprávy konverzací – např. Empathy (výchozí: vypnuto)"
|
||||
|
||||
#: src/prefs.js:178
|
||||
msgid "The background color used to paint the message on user's menu"
|
||||
msgstr "Barva pozadí, kterou je zobrazena zpráva v uživatelské nabídce"
|
||||
|
||||
#: src/prefs.js:174
|
||||
msgid "The color used to paint the message on user's menu"
|
||||
msgstr "Barva, kterou je zobrazena zpráva v uživatelské nabídce"
|
||||
|
||||
#: src/prefs.js:185
|
||||
msgid "The rate that the alert blinks, in ms. 0 means no blink (default: 800)"
|
||||
msgstr ""
|
||||
"Určuje, jakou rychlostí má problikávat zvýrazňující a výchozí barva "
|
||||
"(800=výchozí hodnota, méně=rychleji, více=pomaleji, 0=žádné blikání)"
|
||||
|
||||
#: src/prefs.js:198
|
||||
msgid "Use alert background color"
|
||||
msgstr "Použít barvu pozadí výstrahy"
|
||||
|
||||
#: src/prefs.js:194
|
||||
msgid "Use alert font color"
|
||||
msgstr "Použít barvu písma výstrahy"
|
||||
|
||||
#: src/prefs.js:199
|
||||
msgid "Use the alert background color for alert blinks (default: OFF)"
|
||||
msgstr "Blikat barvou jakou má pozadí výstrahy (výchozí: vypnuto)"
|
||||
|
||||
#: src/prefs.js:195
|
||||
msgid "Use the alert font color for alert blinks (default: ON)"
|
||||
msgstr "Blikat barvou jakou má písmo výstrahy (výchozí: zapnuto)"
|
||||
|
||||
#: src/prefs.js:141
|
||||
msgid "Whitelist"
|
||||
msgstr "Seznam povolených"
|
Binary file not shown.
|
@ -1,126 +0,0 @@
|
|||
# German translations for gnome-shell-notifications-alert package.
|
||||
# Copyright (C) 2013 Jonatan Zeidler
|
||||
# This file is distributed under the same license as the gnome-shell-notifications-alert package.
|
||||
# Jonatan Zeidler <jonatan_zeidler@gmx.de>, 2013.
|
||||
# Onno Giesmann <nutzer3105@gmail.com>, 2019.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-notifications-alert\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-12-09 21:12-0300\n"
|
||||
"PO-Revision-Date: 2019-12-29 21:14+0100\n"
|
||||
"Last-Translator: Onno Giesmann <nutzer3105@gmail.com>\n"
|
||||
"Language-Team: German <--->\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 2.2.4\n"
|
||||
|
||||
#: src/prefs.js:276
|
||||
msgid "Add"
|
||||
msgstr "Hinzufügen"
|
||||
|
||||
#: src/prefs.js:257
|
||||
msgid "Add Rule"
|
||||
msgstr "Regel hinzufügen"
|
||||
|
||||
#: src/prefs.js:177
|
||||
msgid "Alert background color"
|
||||
msgstr "Hintergrundfarbe bei Benachrichtigung"
|
||||
|
||||
#: src/prefs.js:207
|
||||
msgid "Alert even if you set notifications to OFF on user menu (default: OFF)"
|
||||
msgstr ""
|
||||
"Benachrichtigungen auch dann anzeigen, wenn sie im Nutzermenü ausgeschaltet "
|
||||
"sind (Vorgabe: AUS)"
|
||||
|
||||
#: src/prefs.js:173
|
||||
msgid "Alert font color"
|
||||
msgstr "Schriftfarbe bei Benachrichtigung"
|
||||
|
||||
#: src/prefs.js:241
|
||||
msgid "Application"
|
||||
msgstr "Anwendung"
|
||||
|
||||
#: src/prefs.js:140
|
||||
msgid "Blacklist"
|
||||
msgstr "Schwarze Liste"
|
||||
|
||||
#: src/prefs.js:271
|
||||
msgid "Blacklist app"
|
||||
msgstr "Anwendung für schwarze Liste"
|
||||
|
||||
#: src/prefs.js:184
|
||||
msgid "Blink rate (in ms)"
|
||||
msgstr "Blinkgeschwindigkeit (in ms)"
|
||||
|
||||
#: src/prefs.js:281
|
||||
msgid "Choose an application to blacklist:"
|
||||
msgstr "Anwendung für schwarze Liste auswählen:"
|
||||
|
||||
#: src/prefs.js:123
|
||||
msgid "Filter List"
|
||||
msgstr "Filterliste"
|
||||
|
||||
#: src/prefs.js:133
|
||||
msgid "Filter Type"
|
||||
msgstr "Filtertyp"
|
||||
|
||||
#: src/prefs.js:206
|
||||
msgid "Force alerting even when notifications are set to OFF"
|
||||
msgstr "Auch benachrichtigen, wenn sie allgemein auf AUS gestellt sind"
|
||||
|
||||
#: src/prefs.js:202
|
||||
msgid "Only alert for chat notifications"
|
||||
msgstr "Nur bei Chat-Benachrichtigungen aktivieren"
|
||||
|
||||
#: src/prefs.js:203
|
||||
msgid ""
|
||||
"Only chat notifications (like Empathy ones) will get alerted (default: OFF)"
|
||||
msgstr ""
|
||||
"Benachrichtigt nur bei Chat-Meldungen (z.B. von Empathy) (Vorgabe: AUS)"
|
||||
|
||||
#: src/prefs.js:178
|
||||
msgid "The background color used to paint the message on user's menu"
|
||||
msgstr ""
|
||||
"Diese Farbe wird verwendet, um den Hintergrund vom Nutzermenü bei "
|
||||
"Benachrichtigungen entsprechend einzufärben"
|
||||
|
||||
#: src/prefs.js:174
|
||||
msgid "The color used to paint the message on user's menu"
|
||||
msgstr ""
|
||||
"Diese Farbe wird verwendet, um die Schrift im Nutzermenü bei "
|
||||
"Benachrichtigungen entsprechend einzufärben"
|
||||
|
||||
#: src/prefs.js:185
|
||||
msgid "The rate that the alert blinks, in ms. 0 means no blink (default: 800)"
|
||||
msgstr ""
|
||||
"Gibt an, mit welcher Geschwindigkeit der Alarm blinkt (in ms). Wert 0 "
|
||||
"bedeutet kein Blinken (Vorgabe: 800)"
|
||||
|
||||
#: src/prefs.js:198
|
||||
msgid "Use alert background color"
|
||||
msgstr "Hintergrundfarbe bei Benachrichtigung anwenden"
|
||||
|
||||
#: src/prefs.js:194
|
||||
msgid "Use alert font color"
|
||||
msgstr "Schriftfarbe bei Benachrichtigung anwenden"
|
||||
|
||||
#: src/prefs.js:199
|
||||
msgid "Use the alert background color for alert blinks (default: OFF)"
|
||||
msgstr ""
|
||||
"Bei Benachrichtigungen wird der Hintergrund entsprechend dem eingestellten "
|
||||
"Wert eingefärbt (Vorgabe: AUS)"
|
||||
|
||||
#: src/prefs.js:195
|
||||
msgid "Use the alert font color for alert blinks (default: ON)"
|
||||
msgstr ""
|
||||
"Bei Benachrichtigungen wird die Schrift entsprechend dem eingestellten Wert "
|
||||
"eingefärbt (Vorgabe: AN)"
|
||||
|
||||
#: src/prefs.js:141
|
||||
msgid "Whitelist"
|
||||
msgstr "Weiße Liste"
|
Binary file not shown.
|
@ -1,111 +0,0 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-12-09 21:12-0300\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: src/prefs.js:276
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:257
|
||||
msgid "Add Rule"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:177
|
||||
msgid "Alert background color"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:207
|
||||
msgid "Alert even if you set notifications to OFF on user menu (default: OFF)"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:173
|
||||
msgid "Alert font color"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:241
|
||||
msgid "Application"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:140
|
||||
msgid "Blacklist"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:271
|
||||
msgid "Blacklist app"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:184
|
||||
msgid "Blink rate (in ms)"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:281
|
||||
msgid "Choose an application to blacklist:"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:123
|
||||
msgid "Filter List"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:133
|
||||
msgid "Filter Type"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:206
|
||||
msgid "Force alerting even when notifications are set to OFF"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:202
|
||||
msgid "Only alert for chat notifications"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:203
|
||||
msgid ""
|
||||
"Only chat notifications (like Empathy ones) will get alerted (default: OFF)"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:178
|
||||
msgid "The background color used to paint the message on user's menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:174
|
||||
msgid "The color used to paint the message on user's menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:185
|
||||
msgid "The rate that the alert blinks, in ms. 0 means no blink (default: 800)"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:198
|
||||
msgid "Use alert background color"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:194
|
||||
msgid "Use alert font color"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:199
|
||||
msgid "Use the alert background color for alert blinks (default: OFF)"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:195
|
||||
msgid "Use the alert font color for alert blinks (default: ON)"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:141
|
||||
msgid "Whitelist"
|
||||
msgstr ""
|
|
@ -1,123 +0,0 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-12-09 21:12-0300\n"
|
||||
"PO-Revision-Date: 2019-08-06 12:16+0200\n"
|
||||
"Last-Translator: Heimen Stoffels <vistausss@outlook.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: nl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: src/prefs.js:276
|
||||
msgid "Add"
|
||||
msgstr "Toevoegen"
|
||||
|
||||
#: src/prefs.js:257
|
||||
msgid "Add Rule"
|
||||
msgstr "Regel toevoegen"
|
||||
|
||||
#: src/prefs.js:177
|
||||
#, fuzzy
|
||||
msgid "Alert background color"
|
||||
msgstr "Meldingskleur"
|
||||
|
||||
#: src/prefs.js:207
|
||||
msgid "Alert even if you set notifications to OFF on user menu (default: OFF)"
|
||||
msgstr ""
|
||||
"Ook knipperen bij nieuwe meldingen als meldingen zijn uitgeschakeld "
|
||||
"(standaard: UIT)"
|
||||
|
||||
#: src/prefs.js:173
|
||||
#, fuzzy
|
||||
msgid "Alert font color"
|
||||
msgstr "Meldingskleur"
|
||||
|
||||
#: src/prefs.js:241
|
||||
msgid "Application"
|
||||
msgstr "Toepassing"
|
||||
|
||||
#: src/prefs.js:140
|
||||
msgid "Blacklist"
|
||||
msgstr "Zwarte lijst"
|
||||
|
||||
#: src/prefs.js:271
|
||||
msgid "Blacklist app"
|
||||
msgstr "Toev. aan zwarte lijst"
|
||||
|
||||
#: src/prefs.js:184
|
||||
msgid "Blink rate (in ms)"
|
||||
msgstr "Knippersnelheid (in ms)"
|
||||
|
||||
#: src/prefs.js:281
|
||||
msgid "Choose an application to blacklist:"
|
||||
msgstr "Kies een toepassing voor de zwarte lijst:"
|
||||
|
||||
#: src/prefs.js:123
|
||||
msgid "Filter List"
|
||||
msgstr "Filterlijst"
|
||||
|
||||
#: src/prefs.js:133
|
||||
msgid "Filter Type"
|
||||
msgstr "Soort filter"
|
||||
|
||||
#: src/prefs.js:206
|
||||
msgid "Force alerting even when notifications are set to OFF"
|
||||
msgstr ""
|
||||
"Knipperen bij nieuwe meldingen afdwingen als meldingen zijn uitgeschakeld"
|
||||
|
||||
#: src/prefs.js:202
|
||||
msgid "Only alert for chat notifications"
|
||||
msgstr "Alleen knipperen bij chatmeldingen"
|
||||
|
||||
#: src/prefs.js:203
|
||||
msgid ""
|
||||
"Only chat notifications (like Empathy ones) will get alerted (default: OFF)"
|
||||
msgstr ""
|
||||
"Alleen knipperen bij chatmeldingen (zoals bijv. die van Empathy - standaard: "
|
||||
"UIT)"
|
||||
|
||||
#: src/prefs.js:178
|
||||
#, fuzzy
|
||||
msgid "The background color used to paint the message on user's menu"
|
||||
msgstr "De kleur van het knipperpatroon"
|
||||
|
||||
#: src/prefs.js:174
|
||||
msgid "The color used to paint the message on user's menu"
|
||||
msgstr "De kleur van het knipperpatroon"
|
||||
|
||||
#: src/prefs.js:185
|
||||
msgid "The rate that the alert blinks, in ms. 0 means no blink (default: 800)"
|
||||
msgstr ""
|
||||
"De snelheid waarmee wordt geknipperd, in ms. 0 = niet knipperen (standaard: "
|
||||
"800)"
|
||||
|
||||
#: src/prefs.js:198
|
||||
msgid "Use alert background color"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:194
|
||||
#, fuzzy
|
||||
msgid "Use alert font color"
|
||||
msgstr "Meldingskleur"
|
||||
|
||||
#: src/prefs.js:199
|
||||
msgid "Use the alert background color for alert blinks (default: OFF)"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:195
|
||||
msgid "Use the alert font color for alert blinks (default: ON)"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.js:141
|
||||
msgid "Whitelist"
|
||||
msgstr "Witte lijst"
|
Binary file not shown.
|
@ -1,116 +0,0 @@
|
|||
# Brazilian Portuguese translations for gnome-shell-notifications-alert package.
|
||||
# Copyright (C) 2013 THE gnome-shell-notifications-alert's COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the gnome-shell-notifications-alert package.
|
||||
# Thiago Bellini <hackedbellini@gmail.com>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-notifications-alert\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-12-09 21:12-0300\n"
|
||||
"PO-Revision-Date: 2013-02-02 17:09-0200\n"
|
||||
"Last-Translator: Thiago Bellini <hackedbellini@gmail.com>\n"
|
||||
"Language-Team: Brazilian Portuguese\n"
|
||||
"Language: pt_BR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: src/prefs.js:276
|
||||
msgid "Add"
|
||||
msgstr "Adicionar"
|
||||
|
||||
#: src/prefs.js:257
|
||||
msgid "Add Rule"
|
||||
msgstr "Adicionar Regra"
|
||||
|
||||
#: src/prefs.js:177
|
||||
msgid "Alert background color"
|
||||
msgstr "Cor de fundo do alerta"
|
||||
|
||||
#: src/prefs.js:207
|
||||
msgid "Alert even if you set notifications to OFF on user menu (default: OFF)"
|
||||
msgstr ""
|
||||
"Alertar mesmo se as suas notificações estão desligadas no menu do usuário "
|
||||
"(padrão: Desligado)"
|
||||
|
||||
#: src/prefs.js:173
|
||||
msgid "Alert font color"
|
||||
msgstr "Cor da fonte do alerta"
|
||||
|
||||
#: src/prefs.js:241
|
||||
msgid "Application"
|
||||
msgstr "Aplicativo"
|
||||
|
||||
#: src/prefs.js:140
|
||||
msgid "Blacklist"
|
||||
msgstr "Lista negra"
|
||||
|
||||
#: src/prefs.js:271
|
||||
msgid "Blacklist app"
|
||||
msgstr "Aplicativos na lista negra"
|
||||
|
||||
#: src/prefs.js:184
|
||||
msgid "Blink rate (in ms)"
|
||||
msgstr "Taxa de intermitência (em ms)"
|
||||
|
||||
#: src/prefs.js:281
|
||||
msgid "Choose an application to blacklist:"
|
||||
msgstr "Escolha um aplicativo para adicionar na lista negra:"
|
||||
|
||||
#: src/prefs.js:123
|
||||
msgid "Filter List"
|
||||
msgstr "Lista do filtro"
|
||||
|
||||
#: src/prefs.js:133
|
||||
msgid "Filter Type"
|
||||
msgstr "Tipo do filtro"
|
||||
|
||||
#: src/prefs.js:206
|
||||
msgid "Force alerting even when notifications are set to OFF"
|
||||
msgstr "Alerta forçado mesmo quando as notificações estão desligadas"
|
||||
|
||||
#: src/prefs.js:202
|
||||
msgid "Only alert for chat notifications"
|
||||
msgstr "Alertar apenas para notificações de bate-papo"
|
||||
|
||||
#: src/prefs.js:203
|
||||
msgid ""
|
||||
"Only chat notifications (like Empathy ones) will get alerted (default: OFF)"
|
||||
msgstr ""
|
||||
"Apenas notificações de bate-papo (como as do Empathy) serão alertadas "
|
||||
"(padrão: Desligado)"
|
||||
|
||||
#: src/prefs.js:178
|
||||
msgid "The background color used to paint the message on user's menu"
|
||||
msgstr "A cor utilizada para pintar o fundo da mensagem no menu do usuário"
|
||||
|
||||
#: src/prefs.js:174
|
||||
msgid "The color used to paint the message on user's menu"
|
||||
msgstr "A cor utilizada para pintar a mensagem no menu do usuário"
|
||||
|
||||
#: src/prefs.js:185
|
||||
msgid "The rate that the alert blinks, in ms. 0 means no blink (default: 800)"
|
||||
msgstr ""
|
||||
"A taxa em que o alerta pisca, em ms. 0 significa não piscar (padrão: 800)"
|
||||
|
||||
#: src/prefs.js:198
|
||||
msgid "Use alert background color"
|
||||
msgstr "Usar cor de fundo do alerta"
|
||||
|
||||
#: src/prefs.js:194
|
||||
msgid "Use alert font color"
|
||||
msgstr "Cor da fonte do alerta"
|
||||
|
||||
#: src/prefs.js:199
|
||||
msgid "Use the alert background color for alert blinks (default: OFF)"
|
||||
msgstr "Usar a cor de fundo do alerta ao piscar (padrão: Desligado)"
|
||||
|
||||
#: src/prefs.js:195
|
||||
msgid "Use the alert font color for alert blinks (default: ON)"
|
||||
msgstr "Usar a cor da fonte do alerta ao piscar (padrão: Ligado)"
|
||||
|
||||
#: src/prefs.js:141
|
||||
msgid "Whitelist"
|
||||
msgstr "Lista branca"
|
Binary file not shown.
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"_generated": "Generated by SweetTooth, do not edit",
|
||||
"description": "Whenever there is an unread notification (e.g. chat messages), blinks the message in the user's menu with a color chosen by the user.\n\nNow configurable (3.4+ only)!! Alert color and blink rate can be changed on settings ;)\n\nIf you have any question, be sure to take a look at the FAQ:\nhttp://goo.gl/lmwtW\n\nCredits: The idea of painting the message on user's menu was borrowed from 'Pidgin Persistent Notification' extension by nemo. The code itself has some parts forked from 'Message Notifier' extension by barisione, 'Media player indicator' extension by eon and convenience.js from git.gnome.org/gnome-shell-extensions. The blink idea and it's initial code was written by hossman. The initial gnome 3.10 support was done by Anthony25. The filtering support was done by ilgarmehmetali",
|
||||
"name": "Notifications Alert",
|
||||
"original-authors": [
|
||||
"Thiago Bellini"
|
||||
],
|
||||
"shell-version": [
|
||||
"3.16",
|
||||
"3.18",
|
||||
"3.20",
|
||||
"3.22",
|
||||
"3.24",
|
||||
"3.26",
|
||||
"3.28",
|
||||
"3.30",
|
||||
"3.34",
|
||||
"3.32"
|
||||
],
|
||||
"url": "https://github.com/bellini666/gnome-shell-notifications-alert",
|
||||
"uuid": "notifications-alert-on-user-menu@hackedbellini.gmail.com",
|
||||
"version": 44
|
||||
}
|
|
@ -1,415 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2012 Thiago Bellini <hackedbellini@gmail.com>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* Most of this code was forked from media-player-indicator:
|
||||
* https://extensions.gnome.org/extension/55/media-player-indicator/
|
||||
*
|
||||
*/
|
||||
|
||||
const GObject = imports.gi.GObject;
|
||||
const Gio = imports.gi.Gio;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
const Lang = imports.lang;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-notifications-alert');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Me = ExtensionUtils.getCurrentExtension();
|
||||
const Lib = Me.imports.lib;
|
||||
|
||||
const SETTING_BLACKLIST = 'application-list';
|
||||
const SETTING_FILTER_TYPE = 'filter';
|
||||
|
||||
const Columns = {
|
||||
APPINFO: 0,
|
||||
DISPLAY_NAME: 1,
|
||||
ICON: 2,
|
||||
};
|
||||
|
||||
let settings;
|
||||
let boolSettings;
|
||||
let intSettings;
|
||||
let colorSettings;
|
||||
|
||||
function _createBoolSetting(setting) {
|
||||
let hbox = new Gtk.Box({orientation: Gtk.Orientation.HORIZONTAL});
|
||||
|
||||
let settingLabel = new Gtk.Label({label: boolSettings[setting].label,
|
||||
xalign: 0});
|
||||
|
||||
let settingSwitch = new Gtk.Switch({active: settings.get_boolean(setting)});
|
||||
settingSwitch.connect('notify::active', function(button) {
|
||||
settings.set_boolean(setting, button.active);
|
||||
});
|
||||
|
||||
if (boolSettings[setting].help) {
|
||||
settingLabel.set_tooltip_text(boolSettings[setting].help);
|
||||
settingSwitch.set_tooltip_text(boolSettings[setting].help);
|
||||
}
|
||||
|
||||
hbox.pack_start(settingLabel, true, true, 0);
|
||||
hbox.add(settingSwitch);
|
||||
|
||||
return hbox;
|
||||
}
|
||||
|
||||
function _createIntSetting(setting) {
|
||||
let hbox = new Gtk.Box({orientation: Gtk.Orientation.HORIZONTAL});
|
||||
|
||||
let settingLabel = new Gtk.Label({label: intSettings[setting].label,
|
||||
xalign: 0});
|
||||
|
||||
let spinButton = Gtk.SpinButton.new_with_range(
|
||||
intSettings[setting].min,
|
||||
intSettings[setting].max,
|
||||
intSettings[setting].step)
|
||||
spinButton.set_value(settings.get_int(setting));
|
||||
spinButton.connect('notify::value', function(spin) {
|
||||
settings.set_int(setting, spin.get_value_as_int());
|
||||
});
|
||||
|
||||
if (intSettings[setting].help) {
|
||||
settingLabel.set_tooltip_text(intSettings[setting].help);
|
||||
spinButton.set_tooltip_text(intSettings[setting].help);
|
||||
}
|
||||
|
||||
hbox.pack_start(settingLabel, true, true, 0);
|
||||
hbox.add(spinButton);
|
||||
|
||||
return hbox;
|
||||
}
|
||||
|
||||
function _createColorSetting(setting) {
|
||||
let hbox = new Gtk.Box({orientation: Gtk.Orientation.HORIZONTAL});
|
||||
|
||||
let settingLabel = new Gtk.Label({label: colorSettings[setting].label,
|
||||
xalign: 0});
|
||||
|
||||
let color = Lib.getColorByHexadecimal(settings.get_string(setting));
|
||||
let colorButton = new Gtk.ColorButton();
|
||||
colorButton.set_color(color);
|
||||
colorButton.connect('notify::color', function(button) {
|
||||
let hex = Lib.getHexadecimalByColor(button.get_color());
|
||||
settings.set_string(setting, hex);
|
||||
});
|
||||
|
||||
if (colorSettings[setting].help) {
|
||||
settingLabel.set_tooltip_text(colorSettings[setting].help);
|
||||
colorButton.set_tooltip_text(colorSettings[setting].help);
|
||||
}
|
||||
|
||||
hbox.pack_start(settingLabel, true, true, 0);
|
||||
hbox.add(colorButton);
|
||||
|
||||
return hbox;
|
||||
}
|
||||
|
||||
function _createFilterListSetting() {
|
||||
let settingLabel = new Gtk.Label({label: _("Filter List"), xalign: 0});
|
||||
let widget = new Widget();
|
||||
let blbox = new Gtk.Grid({column_spacing: 5, row_spacing: 5, margin: 0});
|
||||
blbox.attach(settingLabel,0,0,1,1);
|
||||
blbox.attach(widget,0,1,1,1);
|
||||
return blbox;
|
||||
}
|
||||
|
||||
function _createFilterTypeSetting() {
|
||||
let hbox = new Gtk.Box({orientation: Gtk.Orientation.HORIZONTAL});
|
||||
let settingLabel = new Gtk.Label({label: _("Filter Type"), xalign: 0});
|
||||
|
||||
let listStore = new Gtk.ListStore();
|
||||
listStore.set_column_types ([
|
||||
GObject.TYPE_STRING,
|
||||
GObject.TYPE_STRING]);
|
||||
|
||||
listStore.insert_with_valuesv (-1, [0, 1], [0, _("Blacklist")]);
|
||||
listStore.insert_with_valuesv (-1, [0, 1], [1, _("Whitelist")]);
|
||||
|
||||
let filterComboBox = new Gtk.ComboBox({ model: listStore });
|
||||
filterComboBox.set_active (settings.get_int(SETTING_FILTER_TYPE));
|
||||
filterComboBox.set_id_column(0);
|
||||
|
||||
let rendererText = new Gtk.CellRendererText();
|
||||
filterComboBox.pack_start (rendererText, false);
|
||||
filterComboBox.add_attribute (rendererText, "text", 1);
|
||||
|
||||
filterComboBox.connect('changed', function(entry) {
|
||||
let id = filterComboBox.get_active_id();
|
||||
if (id == null)
|
||||
return;
|
||||
settings.set_int(SETTING_FILTER_TYPE, id);
|
||||
});
|
||||
|
||||
hbox.pack_start(settingLabel, true, true, 0);
|
||||
hbox.add(filterComboBox);
|
||||
return hbox;
|
||||
}
|
||||
|
||||
/*
|
||||
Shell-extensions handlers
|
||||
*/
|
||||
|
||||
function init() {
|
||||
Lib.initTranslations(Me);
|
||||
settings = Lib.getSettings(Me);
|
||||
|
||||
colorSettings = {
|
||||
color: {
|
||||
label: _("Alert font color"),
|
||||
help: _("The color used to paint the message on user's menu")
|
||||
},
|
||||
backgroundcolor: {
|
||||
label: _("Alert background color"),
|
||||
help: _("The background color used to paint the message on user's menu")
|
||||
},
|
||||
};
|
||||
|
||||
intSettings = {
|
||||
blinkrate: {
|
||||
label: _("Blink rate (in ms)"),
|
||||
help: _("The rate that the alert blinks, in ms. 0 means no blink (default: 800)"),
|
||||
min: 0,
|
||||
max: 10000,
|
||||
step: 1
|
||||
},
|
||||
};
|
||||
|
||||
boolSettings = {
|
||||
usecolor: {
|
||||
label: _("Use alert font color"),
|
||||
help: _("Use the alert font color for alert blinks (default: ON)")
|
||||
},
|
||||
usebackgroundcolor: {
|
||||
label: _("Use alert background color"),
|
||||
help: _("Use the alert background color for alert blinks (default: OFF)")
|
||||
},
|
||||
chatonly: {
|
||||
label: _("Only alert for chat notifications"),
|
||||
help: _("Only chat notifications (like Empathy ones) will get alerted (default: OFF)")
|
||||
},
|
||||
force: {
|
||||
label: _("Force alerting even when notifications are set to OFF"),
|
||||
help: _("Alert even if you set notifications to OFF on user menu (default: OFF)")
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Blacklist widget
|
||||
*/
|
||||
const Widget = new GObject.Class({
|
||||
Name: 'NotificationsAlert.Prefs.BlackListWidget',
|
||||
GTypeName: 'NotificationsAlertBlackListPrefsWidget',
|
||||
Extends: Gtk.Grid,
|
||||
|
||||
_init: function(params) {
|
||||
this.parent(params);
|
||||
this.set_orientation(Gtk.Orientation.VERTICAL);
|
||||
|
||||
Lib.initTranslations(Me);
|
||||
this._settings = Lib.getSettings(Me);
|
||||
|
||||
this._store = new Gtk.ListStore();
|
||||
this._store.set_column_types([Gio.AppInfo, GObject.TYPE_STRING, Gio.Icon]);
|
||||
|
||||
let scrolled = new Gtk.ScrolledWindow({ shadow_type: Gtk.ShadowType.IN});
|
||||
scrolled.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
|
||||
scrolled.set_min_content_height(150);
|
||||
this.add(scrolled);
|
||||
|
||||
this._treeView = new Gtk.TreeView({ model: this._store,
|
||||
hexpand: true, vexpand: true });
|
||||
this._treeView.get_selection().set_mode(Gtk.SelectionMode.SINGLE);
|
||||
|
||||
let appColumn = new Gtk.TreeViewColumn({ expand: true, sort_column_id: Columns.DISPLAY_NAME,
|
||||
title: _("Application") });
|
||||
let iconRenderer = new Gtk.CellRendererPixbuf;
|
||||
appColumn.pack_start(iconRenderer, false);
|
||||
appColumn.add_attribute(iconRenderer, "gicon", Columns.ICON);
|
||||
let nameRenderer = new Gtk.CellRendererText;
|
||||
appColumn.pack_start(nameRenderer, true);
|
||||
appColumn.add_attribute(nameRenderer, "text", Columns.DISPLAY_NAME);
|
||||
this._treeView.append_column(appColumn);
|
||||
|
||||
scrolled.add(this._treeView);
|
||||
|
||||
let toolbar = new Gtk.Toolbar({ icon_size: Gtk.IconSize.SMALL_TOOLBAR });
|
||||
toolbar.get_style_context().add_class(Gtk.STYLE_CLASS_INLINE_TOOLBAR);
|
||||
this.add(toolbar);
|
||||
|
||||
let newButton = new Gtk.ToolButton({ icon_name: 'bookmark-new-symbolic',
|
||||
label: _("Add Rule"),
|
||||
is_important: true });
|
||||
newButton.connect('clicked', Lang.bind(this, this._createNew));
|
||||
toolbar.add(newButton);
|
||||
|
||||
let delButton = new Gtk.ToolButton({ icon_name: 'edit-delete-symbolic' });
|
||||
delButton.connect('clicked', Lang.bind(this, this._deleteSelected));
|
||||
toolbar.add(delButton);
|
||||
|
||||
this._changedPermitted = true;
|
||||
this._refresh();
|
||||
},
|
||||
|
||||
_createNew: function() {
|
||||
let dialog = new Gtk.Dialog({ title: _("Blacklist app"),
|
||||
transient_for: this.get_toplevel(),
|
||||
use_header_bar: true,
|
||||
modal: true });
|
||||
dialog.add_button(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL);
|
||||
let addButton = dialog.add_button(_("Add"), Gtk.ResponseType.OK);
|
||||
dialog.set_default_response(Gtk.ResponseType.OK);
|
||||
|
||||
dialog._appChooser = new Gtk.AppChooserWidget({ show_all: true });
|
||||
|
||||
let lbl = new Gtk.Label({label: _("Choose an application to blacklist:"),
|
||||
xalign: 0.5});
|
||||
let hbox = new Gtk.Box({orientation: Gtk.Orientation.VERTICAL,
|
||||
margin: 5});
|
||||
hbox.pack_start(lbl, false, true, 0);
|
||||
hbox.pack_start(dialog._appChooser, true, true, 0);
|
||||
dialog.get_content_area().pack_start(hbox, true, true, 0);
|
||||
|
||||
dialog.connect('response', Lang.bind(this, function(dialog, id) {
|
||||
if (id != Gtk.ResponseType.OK) {
|
||||
dialog.destroy();
|
||||
return;
|
||||
}
|
||||
|
||||
let appInfo = dialog._appChooser.get_app_info();
|
||||
if (!appInfo) return;
|
||||
|
||||
if (this._checkId( appInfo.get_id())){
|
||||
dialog.destroy();
|
||||
return;
|
||||
}
|
||||
|
||||
this._changedPermitted = false;
|
||||
this._appendItem(appInfo.get_id());
|
||||
this._changedPermitted = true;
|
||||
|
||||
let iter = this._store.append();
|
||||
|
||||
this._store.set(iter,
|
||||
[Columns.APPINFO, Columns.ICON, Columns.DISPLAY_NAME],
|
||||
[appInfo, appInfo.get_icon(), appInfo.get_display_name()]);
|
||||
|
||||
dialog.destroy();
|
||||
}));
|
||||
|
||||
dialog.show_all();
|
||||
},
|
||||
|
||||
_deleteSelected: function() {
|
||||
let [any, model, iter] = this._treeView.get_selection().get_selected();
|
||||
|
||||
if (any) {
|
||||
let appInfo = this._store.get_value(iter, Columns.APPINFO);
|
||||
|
||||
this._changedPermitted = false;
|
||||
this._removeItem(appInfo.get_id());
|
||||
this._changedPermitted = true;
|
||||
this._store.remove(iter);
|
||||
}
|
||||
},
|
||||
|
||||
_refresh: function() {
|
||||
if (!this._changedPermitted)
|
||||
// Ignore this notification, model is being modified outside
|
||||
return;
|
||||
|
||||
this._store.clear();
|
||||
|
||||
let currentItems = this._settings.get_strv(SETTING_BLACKLIST);
|
||||
let validItems = [ ];
|
||||
for (let i = 0; i < currentItems.length; i++) {
|
||||
let id = currentItems[i];
|
||||
let appInfo = Gio.DesktopAppInfo.new(id);
|
||||
if (!appInfo)
|
||||
continue;
|
||||
validItems.push(currentItems[i]);
|
||||
|
||||
let iter = this._store.append();
|
||||
this._store.set(iter,
|
||||
[Columns.APPINFO, Columns.ICON, Columns.DISPLAY_NAME],
|
||||
[appInfo, appInfo.get_icon(), appInfo.get_display_name()]);
|
||||
}
|
||||
|
||||
if (validItems.length != currentItems.length) // some items were filtered out
|
||||
this._settings.set_strv(SETTING_BLACKLIST, validItems);
|
||||
},
|
||||
|
||||
_checkId: function(id) {
|
||||
let items = this._settings.get_strv(SETTING_BLACKLIST);
|
||||
return (items.indexOf(id) != -1);
|
||||
},
|
||||
|
||||
_appendItem: function(id) {
|
||||
let currentItems = this._settings.get_strv(SETTING_BLACKLIST);
|
||||
currentItems.push(id);
|
||||
this._settings.set_strv(SETTING_BLACKLIST, currentItems);
|
||||
},
|
||||
|
||||
_removeItem: function(id) {
|
||||
let currentItems = this._settings.get_strv(SETTING_BLACKLIST);
|
||||
let index = currentItems.indexOf(id);
|
||||
|
||||
if (index < 0)
|
||||
return;
|
||||
currentItems.splice(index, 1);
|
||||
this._settings.set_strv(SETTING_BLACKLIST, currentItems);
|
||||
}
|
||||
});
|
||||
|
||||
function buildPrefsWidget() {
|
||||
let frame = new Gtk.Box({orientation: Gtk.Orientation.VERTICAL,
|
||||
border_width: 10});
|
||||
let vbox = new Gtk.Box({orientation: Gtk.Orientation.VERTICAL,
|
||||
margin: 20, margin_top: 10, spacing: 5});
|
||||
let setting;
|
||||
|
||||
// Add all color settings
|
||||
for (setting in colorSettings) {
|
||||
let hbox = _createColorSetting(setting);
|
||||
vbox.add(hbox);
|
||||
}
|
||||
// Add all bool settings
|
||||
for (setting in boolSettings) {
|
||||
let hbox = _createBoolSetting(setting);
|
||||
vbox.add(hbox);
|
||||
}
|
||||
// Add all int settings
|
||||
for (setting in intSettings) {
|
||||
let hbox = _createIntSetting(setting);
|
||||
vbox.add(hbox);
|
||||
}
|
||||
|
||||
// Add filter type setting
|
||||
let filterType = _createFilterTypeSetting();
|
||||
vbox.add(filterType);
|
||||
|
||||
// Add filter list
|
||||
let blbox = _createFilterListSetting();
|
||||
vbox.add(blbox);
|
||||
|
||||
frame.add(vbox);
|
||||
frame.show_all();
|
||||
|
||||
return frame;
|
||||
}
|
Binary file not shown.
|
@ -1,50 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<schemalist gettext-domain="gnome-shell-notifications-alert">
|
||||
<schema path="/org/gnome/shell/extensions/notifications-alert/" id="org.gnome.shell.extensions.notifications-alert">
|
||||
<key name="force" type="b">
|
||||
<default>false</default>
|
||||
<summary>Force alerting even when notifications are set to OFF</summary>
|
||||
<description>Alert even if you set notifications to OFF on user menu</description>
|
||||
</key>
|
||||
<key name="chatonly" type="b">
|
||||
<default>false</default>
|
||||
<summary>Only alert for chat notifications</summary>
|
||||
<description>Only chat notifications (like Empathy ones) will get alerted</description>
|
||||
</key>
|
||||
<key name="blinkrate" type="i">
|
||||
<default>800</default>
|
||||
<summary>Blink rate</summary>
|
||||
<description>The rate that the alert blinks, in ms. 0 means no blink</description>
|
||||
</key>
|
||||
<key name="usecolor" type="b">
|
||||
<default>true</default>
|
||||
<summary>Use alert font color</summary>
|
||||
<description>Use the alert fontcolor for alert blinks</description>
|
||||
</key>
|
||||
<key name="color" type="s">
|
||||
<default>'#ff0000'</default>
|
||||
<summary>Alert font color</summary>
|
||||
<description>The color used to paint the message on user's menu</description>
|
||||
</key>
|
||||
<key name="usebackgroundcolor" type="b">
|
||||
<default>false</default>
|
||||
<summary>Use alert background color</summary>
|
||||
<description>Use the alert background color for alert blinks</description>
|
||||
</key>
|
||||
<key name="backgroundcolor" type="s">
|
||||
<default>'#ff0000'</default>
|
||||
<summary>Alert background color</summary>
|
||||
<description>The background color used to paint the message on user's menu</description>
|
||||
</key>
|
||||
<key name="application-list" type="as">
|
||||
<default>[ ]</default>
|
||||
<summary>Blacklist</summary>
|
||||
<description>A list of strings, each containing an application id (desktop file name), followed by a colon</description>
|
||||
</key>
|
||||
<key name="filter" type="i">
|
||||
<default>0</default>
|
||||
<summary>Filter type</summary>
|
||||
<description>Filter type to use. 0 mean Blacklist, 1 means Whitelist</description>
|
||||
</key>
|
||||
</schema>
|
||||
</schemalist>
|
Binary file not shown.
|
@ -1,15 +1,78 @@
|
|||
3.38.2
|
||||
======
|
||||
* window-list: Honor changes in skip-taskbar property [Sergio; !130]
|
||||
* window-list, workspace-indicator: Improve previews in workspace thumbs
|
||||
[Florian; #260, !142]
|
||||
* window-list, workspace-indicator: Adjust to 3.38 changes [Florian; !133]
|
||||
* auto-move: Improve behavior on multi-monitor setups [Florian; !135]
|
||||
* windowNavigator: Adjust to 3.38 changes [Thun; #259]
|
||||
* Misc. bug fixes [Ray; !145]
|
||||
40.1
|
||||
====
|
||||
* Disable welcome dialog in classic session [Florian; !169]
|
||||
* windowsNavigator: Adjust to a late gnome-shell change [Florian; !170]
|
||||
|
||||
Contributors:
|
||||
Sergio Costas, Florian Müllner, Thun Pin, Ray Strode
|
||||
Florian Müllner
|
||||
|
||||
Translators:
|
||||
Ngọc Quân Trần [vi], Anders Jonsson [sv], Carmen Bianca BAKKER [eo],
|
||||
Pawan Chitrakar [ne], Quentin PAGÈS [oc]
|
||||
|
||||
40.0
|
||||
====
|
||||
|
||||
Translators:
|
||||
Jiri Grönroos [fi]
|
||||
|
||||
40.rc
|
||||
=====
|
||||
* native-window-placement: Adjust to gnome-shell changes [Florian; !164]
|
||||
* windows-navigator: Adjust to gnome-shell changes [Florian; !163]
|
||||
* window-list, workspace-indicator: Only show previews for up to six workspaces
|
||||
[Florian; !165]
|
||||
* window-list, workspace-indicator: Improve workspace preview appearance
|
||||
[Florian; !166]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
Translators:
|
||||
Fran Dieguez [gl]
|
||||
|
||||
40.beta
|
||||
=======
|
||||
* Add tooltips to workspace thumbnails [Florian; !155]
|
||||
* Drop arrows from top bar menus [Florian; !156]
|
||||
* drive-menu: Mark mounts that can be unmounted as removable [Michael; !152]
|
||||
* Remove horizontal-workspaces extension [Florian; !158]
|
||||
* Adjust to shell overview changes [Florian; !159, !160]
|
||||
* Fix crashes [Daniel; !157]
|
||||
* Misc. bug fixes and cleanups [Florian; !154, !161]
|
||||
|
||||
Contributors:
|
||||
Michael Lawton, Florian Müllner, Daniel van Vugt
|
||||
|
||||
Translators:
|
||||
Аляксей [be], A S Alam [pa]
|
||||
|
||||
40.alpha.1
|
||||
==========
|
||||
* Don't depend on sassc when building from tarball [Florian; !150]
|
||||
* Port extensions preferences to GTK4 [Florian; !148]
|
||||
* Misc. bug fixes and cleanups [Florian, Jonas; !149, !151, !153]
|
||||
|
||||
Contributors:
|
||||
Jonas Dreßler, Florian Müllner
|
||||
|
||||
40.alpha
|
||||
========
|
||||
* window-list: Honor changes in skip-taskbar property [Sergio; !130]
|
||||
* window-list, workspace-indicator: Adjust to 3.38 changes [Florian; !133]
|
||||
* window-list, workspace-indicator: Improve previews in workspace thumbs
|
||||
[Florian; #260, !142]
|
||||
* auto-move: Improve behavior on multi-monitor setups [Florian; !135]
|
||||
* windowNavigator: Adjust to 3.38 changes [Thun; #259]
|
||||
* Misc. bug fixes and cleanups [Florian, Jonas Å, Jordan, Ray; !131, !136,
|
||||
!137, !140, !141, !144, !146, !145]
|
||||
|
||||
Contributors:
|
||||
Sergio Costas, Florian Müllner, Jordan Petridis, Thun Pin, Ray Strode,
|
||||
Jonas Ådahl
|
||||
|
||||
Translators:
|
||||
Fabio Tomat [fur], Jordi Mas [ca]
|
||||
|
||||
3.38.1
|
||||
======
|
||||
|
|
|
@ -9,9 +9,9 @@
|
|||
],
|
||||
"settings-schema": "org.gnome.shell.extensions.user-theme",
|
||||
"shell-version": [
|
||||
"3.38"
|
||||
"40"
|
||||
],
|
||||
"url": "https://gitlab.gnome.org/GNOME/gnome-shell-extensions",
|
||||
"uuid": "user-theme@gnome-shell-extensions.gcampax.github.com",
|
||||
"version": 42
|
||||
"version": 46
|
||||
}
|
|
@ -26,18 +26,21 @@ class UserThemePrefsWidget extends Gtk.ScrolledWindow {
|
|||
});
|
||||
|
||||
const box = new Gtk.Box();
|
||||
this.add(box);
|
||||
this.set_child(box);
|
||||
|
||||
this._list = new Gtk.ListBox({
|
||||
selection_mode: Gtk.SelectionMode.NONE,
|
||||
show_separators: true,
|
||||
halign: Gtk.Align.CENTER,
|
||||
valign: Gtk.Align.START,
|
||||
hexpand: true,
|
||||
margin: 60,
|
||||
margin_start: 60,
|
||||
margin_end: 60,
|
||||
margin_top: 60,
|
||||
margin_bottom: 60,
|
||||
});
|
||||
this._list.get_style_context().add_class('frame');
|
||||
this._list.set_header_func(this._updateHeader.bind(this));
|
||||
box.add(this._list);
|
||||
box.append(this._list);
|
||||
|
||||
this._actionGroup = new Gio.SimpleActionGroup();
|
||||
this._list.insert_action_group('theme', this._actionGroup);
|
||||
|
@ -90,11 +93,10 @@ class UserThemePrefsWidget extends Gtk.ScrolledWindow {
|
|||
}
|
||||
|
||||
_addTheme(name) {
|
||||
const row = new ThemeRow(name);
|
||||
const row = new ThemeRow(name, this._settings);
|
||||
this._rows.set(name, row);
|
||||
|
||||
this._list.add(row);
|
||||
row.show_all();
|
||||
this._list.append(row);
|
||||
}
|
||||
|
||||
async _enumerateDir(dir) {
|
||||
|
@ -121,31 +123,28 @@ class UserThemePrefsWidget extends Gtk.ScrolledWindow {
|
|||
|
||||
return fileInfos.map(info => info.get_name());
|
||||
}
|
||||
|
||||
_updateHeader(row, before) {
|
||||
if (!before || row.get_header())
|
||||
return;
|
||||
row.set_header(new Gtk.Separator());
|
||||
}
|
||||
});
|
||||
|
||||
const ThemeRow = GObject.registerClass(
|
||||
class ThemeRow extends Gtk.ListBoxRow {
|
||||
_init(name) {
|
||||
this._name = new GLib.Variant('s', name);
|
||||
|
||||
super._init({
|
||||
action_name: 'theme.name',
|
||||
action_target: this._name,
|
||||
});
|
||||
_init(name, settings) {
|
||||
this._name = name;
|
||||
this._settings = settings;
|
||||
|
||||
const box = new Gtk.Box({
|
||||
spacing: 12,
|
||||
margin: 12,
|
||||
margin_start: 12,
|
||||
margin_end: 12,
|
||||
margin_top: 12,
|
||||
margin_bottom: 12,
|
||||
});
|
||||
super._init({
|
||||
action_name: 'theme.name',
|
||||
action_target: new GLib.Variant('s', name),
|
||||
child: box,
|
||||
});
|
||||
this.add(box);
|
||||
|
||||
box.add(new Gtk.Label({
|
||||
box.append(new Gtk.Label({
|
||||
label: name || 'Default',
|
||||
hexpand: true,
|
||||
xalign: 0,
|
||||
|
@ -157,24 +156,21 @@ class ThemeRow extends Gtk.ListBoxRow {
|
|||
icon_name: 'emblem-ok-symbolic',
|
||||
pixel_size: 16,
|
||||
});
|
||||
box.add(this._checkmark);
|
||||
box.append(this._checkmark);
|
||||
|
||||
box.show_all();
|
||||
const id = this._settings.connect('changed::name',
|
||||
this._syncCheckmark.bind(this));
|
||||
this._syncCheckmark();
|
||||
|
||||
const id = this.connect('parent-set', () => {
|
||||
this.disconnect(id);
|
||||
|
||||
const actionGroup = this.get_action_group('theme');
|
||||
actionGroup.connect('action-state-changed::name',
|
||||
this._syncCheckmark.bind(this));
|
||||
this._syncCheckmark();
|
||||
this.connect('destroy', () => {
|
||||
this._settings.disconnect(id);
|
||||
this._settings = null;
|
||||
});
|
||||
}
|
||||
|
||||
_syncCheckmark() {
|
||||
const actionGroup = this.get_action_group('theme');
|
||||
const state = actionGroup.get_action_state('name');
|
||||
this._checkmark.opacity = this._name.equal(state);
|
||||
const visible = this._name === this._settings.get_string('name');
|
||||
this._checkmark.opacity = visible ? 1. : 0;
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -182,8 +178,5 @@ function init() {
|
|||
}
|
||||
|
||||
function buildPrefsWidget() {
|
||||
let widget = new UserThemePrefsWidget();
|
||||
widget.show_all();
|
||||
|
||||
return widget;
|
||||
return new UserThemePrefsWidget();
|
||||
}
|
||||
|
|
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -1 +1 @@
|
|||
{"version":1,"listeners":{"remote-settings/monitor_changes":{"version":"\"1623229070533\"","sourceInfo":{"moduleURI":"resource://services-settings/remote-settings.js","symbolName":"remoteSettingsBroadcastHandler"}}}}
|
||||
{"version":1,"listeners":{"remote-settings/monitor_changes":{"version":"\"1626209888341\"","sourceInfo":{"moduleURI":"resource://services-settings/remote-settings.js","symbolName":"remoteSettingsBroadcastHandler"}}}}
|
|
@ -1,5 +1,5 @@
|
|||
[Compatibility]
|
||||
LastVersion=89.0_20210531160138/20210531160138
|
||||
LastVersion=89.0.2_20210623174607/20210623174607
|
||||
LastOSABI=Linux_x86_64-gcc3
|
||||
LastPlatformDir=/usr/lib/firefox
|
||||
LastAppDir=/usr/lib/firefox/browser
|
||||
|
|
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -21,16 +21,16 @@ user_pref("app.normandy.startupRolloutPrefs.network.http.http3.enabled", true);
|
|||
user_pref("app.normandy.startupRolloutPrefs.services.sync.bookmarks.buffer.enabled", true);
|
||||
user_pref("app.normandy.user_id", "f6151ad0-fece-4d81-9d5c-67449843ccf0");
|
||||
user_pref("app.shield.optoutstudies.enabled", false);
|
||||
user_pref("app.update.lastUpdateTime.addon-background-update-timer", 1623205116);
|
||||
user_pref("app.update.lastUpdateTime.addon-background-update-timer", 1626193127);
|
||||
user_pref("app.update.lastUpdateTime.blocklist-background-update-timer", 1588540518);
|
||||
user_pref("app.update.lastUpdateTime.browser-cleanup-thumbnails", 1623247836);
|
||||
user_pref("app.update.lastUpdateTime.recipe-client-addon-run", 1623248076);
|
||||
user_pref("app.update.lastUpdateTime.region-update-timer", 1623205356);
|
||||
user_pref("app.update.lastUpdateTime.browser-cleanup-thumbnails", 1626211533);
|
||||
user_pref("app.update.lastUpdateTime.recipe-client-addon-run", 1626192534);
|
||||
user_pref("app.update.lastUpdateTime.region-update-timer", 1626193367);
|
||||
user_pref("app.update.lastUpdateTime.rs-experiment-loader-timer", 1608565076);
|
||||
user_pref("app.update.lastUpdateTime.search-engine-update-timer", 1623247956);
|
||||
user_pref("app.update.lastUpdateTime.services-settings-poll-changes", 1623204996);
|
||||
user_pref("app.update.lastUpdateTime.search-engine-update-timer", 1626192748);
|
||||
user_pref("app.update.lastUpdateTime.services-settings-poll-changes", 1626193007);
|
||||
user_pref("app.update.lastUpdateTime.telemetry_modules_ping", 1573002408);
|
||||
user_pref("app.update.lastUpdateTime.xpi-signature-verification", 1623205236);
|
||||
user_pref("app.update.lastUpdateTime.xpi-signature-verification", 1626193247);
|
||||
user_pref("browser.bookmarks.defaultLocation", "unfiled");
|
||||
user_pref("browser.bookmarks.restore_default_bookmarks", false);
|
||||
user_pref("browser.cache.disk.amount_written", 1754406);
|
||||
|
@ -53,6 +53,10 @@ user_pref("browser.messaging-system.whatsNewPanel.enabled", false);
|
|||
user_pref("browser.migration.version", 109);
|
||||
user_pref("browser.newtab.extensionControlled", true);
|
||||
user_pref("browser.newtab.privateAllowed", true);
|
||||
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
|
||||
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
|
||||
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
|
||||
user_pref("browser.newtabpage.activity-stream.feeds.topsites", false);
|
||||
user_pref("browser.newtabpage.activity-stream.impressionId", "{7b66b9fa-c166-4db7-9cd2-1f61e10923fd}");
|
||||
user_pref("browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.havePinned", "google,amazon");
|
||||
user_pref("browser.newtabpage.activity-stream.migrationExpired", true);
|
||||
|
@ -63,25 +67,25 @@ user_pref("browser.newtabpage.storageVersion", 1);
|
|||
user_pref("browser.pageActions.persistedActions", "{\"version\":1,\"ids\":[\"bookmark\"],\"idsInUrlbar\":[\"bookmark\"],\"idsInUrlbarPreProton\":[\"bookmark\"]}");
|
||||
user_pref("browser.pagethumbnails.storage_version", 3);
|
||||
user_pref("browser.proton.toolbar.version", 3);
|
||||
user_pref("browser.region.update.updated", 1623205357);
|
||||
user_pref("browser.region.update.updated", 1626193368);
|
||||
user_pref("browser.rights.3.shown", true);
|
||||
user_pref("browser.safebrowsing.provider.google4.lastupdatetime", "1623247818068");
|
||||
user_pref("browser.safebrowsing.provider.google4.nextupdatetime", "1623249639068");
|
||||
user_pref("browser.safebrowsing.provider.mozilla.lastupdatetime", "1623247820209");
|
||||
user_pref("browser.safebrowsing.provider.mozilla.nextupdatetime", "1623269420209");
|
||||
user_pref("browser.safebrowsing.provider.google4.lastupdatetime", "1626211508461");
|
||||
user_pref("browser.safebrowsing.provider.google4.nextupdatetime", "1626213287461");
|
||||
user_pref("browser.safebrowsing.provider.mozilla.lastupdatetime", "1626192543217");
|
||||
user_pref("browser.safebrowsing.provider.mozilla.nextupdatetime", "1626214143217");
|
||||
user_pref("browser.search.region", "GB");
|
||||
user_pref("browser.sessionstore.upgradeBackup.latestBuildID", "20210531160138");
|
||||
user_pref("browser.sessionstore.upgradeBackup.latestBuildID", "20210623174607");
|
||||
user_pref("browser.shell.checkDefaultBrowser", true);
|
||||
user_pref("browser.shell.didSkipDefaultBrowserCheckOnFirstRun", true);
|
||||
user_pref("browser.shell.mostRecentDateSetAsDefault", "1623248212");
|
||||
user_pref("browser.shell.mostRecentDateSetAsDefault", "1626211505");
|
||||
user_pref("browser.slowStartup.averageTime", 1565);
|
||||
user_pref("browser.slowStartup.samples", 1);
|
||||
user_pref("browser.startup.homepage", "moz-extension://f393b4c4-359a-4d1e-b377-fd4b41112e16/index.html");
|
||||
user_pref("browser.startup.homepage_override.buildID", "20210531160138");
|
||||
user_pref("browser.startup.homepage_override.buildID", "20210623174607");
|
||||
user_pref("browser.startup.homepage_override.extensionControlled", true);
|
||||
user_pref("browser.startup.homepage_override.mstone", "89.0");
|
||||
user_pref("browser.startup.homepage_override.mstone", "89.0.2");
|
||||
user_pref("browser.startup.homepage_override.privateAllowed", true);
|
||||
user_pref("browser.startup.lastColdStartupCheck", 1623248211);
|
||||
user_pref("browser.startup.lastColdStartupCheck", 1626211504);
|
||||
user_pref("browser.startup.page", 3);
|
||||
user_pref("browser.tabs.drawInTitlebar", false);
|
||||
user_pref("browser.tabs.extraDragSpace", true);
|
||||
|
@ -104,7 +108,7 @@ user_pref("devtools.toolsidebar-width.inspector.splitsidebar", 350);
|
|||
user_pref("devtools.webextensions.https-everywhere@eff.org.enabled", true);
|
||||
user_pref("distribution.Manjaro.bookmarksProcessed", true);
|
||||
user_pref("distribution.archlinux.bookmarksProcessed", true);
|
||||
user_pref("distribution.iniFile.exists.appversion", "89.0");
|
||||
user_pref("distribution.iniFile.exists.appversion", "89.0.2");
|
||||
user_pref("distribution.iniFile.exists.value", true);
|
||||
user_pref("distribution.manjaro.bookmarksProcessed", true);
|
||||
user_pref("doh-rollout.balrog-migration-done", true);
|
||||
|
@ -112,7 +116,7 @@ user_pref("doh-rollout.doneFirstRun", true);
|
|||
user_pref("doh-rollout.doorhanger-decision", "UIOk");
|
||||
user_pref("doh-rollout.mode", 2);
|
||||
user_pref("doh-rollout.self-enabled", true);
|
||||
user_pref("dom.push.userAgentID", "3dbc7bc986c9493cb7eea97954991b15");
|
||||
user_pref("dom.push.userAgentID", "ce13d9558dac4cab8dff17b5d4505b45");
|
||||
user_pref("dom.security.https_only_mode", true);
|
||||
user_pref("dom.security.https_only_mode_ever_enabled", true);
|
||||
user_pref("extensions.activeThemeID", "default-theme@mozilla.org");
|
||||
|
@ -120,20 +124,21 @@ user_pref("extensions.blocklist.lastModified", "Sat, 09 Nov 2019 17:49:50 GMT");
|
|||
user_pref("extensions.blocklist.pingCountTotal", 34);
|
||||
user_pref("extensions.blocklist.pingCountVersion", -1);
|
||||
user_pref("extensions.databaseSchema", 33);
|
||||
user_pref("extensions.getAddons.cache.lastUpdate", 1623205117);
|
||||
user_pref("extensions.getAddons.cache.lastUpdate", 1626193128);
|
||||
user_pref("extensions.getAddons.databaseSchema", 6);
|
||||
user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
|
||||
user_pref("extensions.incognito.migrated", true);
|
||||
user_pref("extensions.lastAppBuildId", "20210531160138");
|
||||
user_pref("extensions.lastAppVersion", "89.0");
|
||||
user_pref("extensions.lastPlatformVersion", "89.0");
|
||||
user_pref("extensions.lastAppBuildId", "20210623174607");
|
||||
user_pref("extensions.lastAppVersion", "89.0.2");
|
||||
user_pref("extensions.lastPlatformVersion", "89.0.2");
|
||||
user_pref("extensions.pendingOperations", false);
|
||||
user_pref("extensions.pictureinpicture.enable_picture_in_picture_overrides", true);
|
||||
user_pref("extensions.pocket.enabled", false);
|
||||
user_pref("extensions.pocket.settings.test.panelSignUp", "control");
|
||||
user_pref("extensions.reset_default_search.runonce.1", true);
|
||||
user_pref("extensions.reset_default_search.runonce.3", false);
|
||||
user_pref("extensions.systemAddonSet", "{\"schema\":1,\"addons\":{}}");
|
||||
user_pref("extensions.reset_default_search.runonce.3", true);
|
||||
user_pref("extensions.reset_default_search.runonce.reason", "previousRun");
|
||||
user_pref("extensions.systemAddonSet", "{\"schema\":1,\"directory\":\"{ca14a817-0875-4da5-bb2b-ee350585920c}\",\"addons\":{\"reset-search-defaults@mozilla.com\":{\"version\":\"2.0.0\"}}}");
|
||||
user_pref("extensions.ui.dictionary.hidden", true);
|
||||
user_pref("extensions.ui.extension.hidden", false);
|
||||
user_pref("extensions.ui.lastCategory", "addons://list/extension");
|
||||
|
@ -165,15 +170,15 @@ user_pref("gfx.blacklist.layers.opengl", 4);
|
|||
user_pref("gfx.blacklist.layers.opengl.failureid", "FEATURE_FAILURE_SOFTWARE_GL");
|
||||
user_pref("identity.fxaccounts.enabled", false);
|
||||
user_pref("identity.fxaccounts.toolbar.accessed", true);
|
||||
user_pref("idle.lastDailyNotification", 1623204767);
|
||||
user_pref("idle.lastDailyNotification", 1626193260);
|
||||
user_pref("lightweightThemes.usedThemes", "[]");
|
||||
user_pref("media.benchmark.vp9.fps", 102);
|
||||
user_pref("media.benchmark.vp9.versioncheck", 5);
|
||||
user_pref("media.gmp-gmpopenh264.abi", "x86_64-gcc3");
|
||||
user_pref("media.gmp-gmpopenh264.lastUpdate", 1572996640);
|
||||
user_pref("media.gmp-gmpopenh264.version", "1.8.1.1");
|
||||
user_pref("media.gmp-manager.buildID", "20210531160138");
|
||||
user_pref("media.gmp-manager.lastCheck", 1623204706);
|
||||
user_pref("media.gmp-manager.buildID", "20210623174607");
|
||||
user_pref("media.gmp-manager.lastCheck", 1626193195);
|
||||
user_pref("media.gmp.storage.version.observed", 1);
|
||||
user_pref("network.cookie.cookieBehavior", 5);
|
||||
user_pref("network.dns.disablePrefetch", true);
|
||||
|
@ -186,60 +191,60 @@ user_pref("pdfjs.enabledCache.state", true);
|
|||
user_pref("pdfjs.migrationVersion", 2);
|
||||
user_pref("pdfjs.previousHandler.alwaysAskBeforeHandling", true);
|
||||
user_pref("pdfjs.previousHandler.preferredAction", 4);
|
||||
user_pref("places.database.lastMaintenance", 1623204767);
|
||||
user_pref("places.database.lastMaintenance", 1626193261);
|
||||
user_pref("places.history.expiration.transient_current_max_pages", 112348);
|
||||
user_pref("plugin.disable_full_page_plugin_for_types", "application/pdf");
|
||||
user_pref("privacy.annotate_channels.strict_list.enabled", true);
|
||||
user_pref("privacy.cpd.offlineApps", true);
|
||||
user_pref("privacy.cpd.siteSettings", true);
|
||||
user_pref("privacy.purge_trackers.date_in_cookie_database", "0");
|
||||
user_pref("privacy.purge_trackers.last_purge", "1623204767015");
|
||||
user_pref("privacy.purge_trackers.last_purge", "1626193260882");
|
||||
user_pref("privacy.sanitize.pending", "[]");
|
||||
user_pref("privacy.sanitize.timeSpan", 0);
|
||||
user_pref("privacy.trackingprotection.enabled", true);
|
||||
user_pref("privacy.trackingprotection.socialtracking.enabled", true);
|
||||
user_pref("security.remote_settings.crlite_filters.checked", 1623229525);
|
||||
user_pref("security.remote_settings.intermediates.checked", 1623207911);
|
||||
user_pref("security.remote_settings.crlite_filters.checked", 1626193581);
|
||||
user_pref("security.remote_settings.intermediates.checked", 1626193581);
|
||||
user_pref("security.sandbox.content.tempDirSuffix", "62ec57d4-3516-41bf-957e-19cd307d5b61");
|
||||
user_pref("security.sandbox.plugin.tempDirSuffix", "851284ee-3855-4de7-86af-976adc3a2c11");
|
||||
user_pref("services.blocklist.addons-mlbf.checked", 1623204996);
|
||||
user_pref("services.blocklist.addons-mlbf.checked", 1626211506);
|
||||
user_pref("services.blocklist.addons.checked", 1598664411);
|
||||
user_pref("services.blocklist.gfx.checked", 1623204996);
|
||||
user_pref("services.blocklist.gfx.checked", 1626211506);
|
||||
user_pref("services.blocklist.onecrl.checked", 1565793602);
|
||||
user_pref("services.blocklist.pinning.checked", 1623204996);
|
||||
user_pref("services.blocklist.pinning.checked", 1626193581);
|
||||
user_pref("services.blocklist.plugins.checked", 1618001769);
|
||||
user_pref("services.settings.clock_skew_seconds", 0);
|
||||
user_pref("services.settings.last_etag", "\"1623229070533\"");
|
||||
user_pref("services.settings.last_update_seconds", 1623229525);
|
||||
user_pref("services.settings.main.anti-tracking-url-decoration.last_check", 1623204996);
|
||||
user_pref("services.settings.main.cfr-fxa.last_check", 1623204996);
|
||||
user_pref("services.settings.main.cfr.last_check", 1623204996);
|
||||
user_pref("services.settings.main.fxmonitor-breaches.last_check", 1623204996);
|
||||
user_pref("services.settings.main.hijack-blocklists.last_check", 1623204996);
|
||||
user_pref("services.settings.main.language-dictionaries.last_check", 1623204996);
|
||||
user_pref("services.settings.main.message-groups.last_check", 1623204996);
|
||||
user_pref("services.settings.last_etag", "\"1626209888341\"");
|
||||
user_pref("services.settings.last_update_seconds", 1626211506);
|
||||
user_pref("services.settings.main.anti-tracking-url-decoration.last_check", 1626211506);
|
||||
user_pref("services.settings.main.cfr-fxa.last_check", 1626211506);
|
||||
user_pref("services.settings.main.cfr.last_check", 1626211506);
|
||||
user_pref("services.settings.main.fxmonitor-breaches.last_check", 1626211506);
|
||||
user_pref("services.settings.main.hijack-blocklists.last_check", 1626211506);
|
||||
user_pref("services.settings.main.language-dictionaries.last_check", 1626211506);
|
||||
user_pref("services.settings.main.message-groups.last_check", 1626211506);
|
||||
user_pref("services.settings.main.messaging-experiments.last_check", 1604995344);
|
||||
user_pref("services.settings.main.nimbus-desktop-experiments.last_check", 1623204996);
|
||||
user_pref("services.settings.main.normandy-recipes-capabilities.last_check", 1623204996);
|
||||
user_pref("services.settings.main.nimbus-desktop-experiments.last_check", 1626211506);
|
||||
user_pref("services.settings.main.normandy-recipes-capabilities.last_check", 1626211506);
|
||||
user_pref("services.settings.main.normandy-recipes.last_check", 1573409021);
|
||||
user_pref("services.settings.main.onboarding.last_check", 1565793602);
|
||||
user_pref("services.settings.main.partitioning-exempt-urls.last_check", 1623204996);
|
||||
user_pref("services.settings.main.password-recipes.last_check", 1623204996);
|
||||
user_pref("services.settings.main.personality-provider-models.last_check", 1623204996);
|
||||
user_pref("services.settings.main.personality-provider-recipe.last_check", 1623204996);
|
||||
user_pref("services.settings.main.pioneer-study-addons-v1.last_check", 1623204996);
|
||||
user_pref("services.settings.main.pioneer-study-addons.last_check", 1623204996);
|
||||
user_pref("services.settings.main.public-suffix-list.last_check", 1623204996);
|
||||
user_pref("services.settings.main.search-config.last_check", 1623204996);
|
||||
user_pref("services.settings.main.search-default-override-allowlist.last_check", 1623204996);
|
||||
user_pref("services.settings.main.search-telemetry.last_check", 1623204996);
|
||||
user_pref("services.settings.main.sites-classification.last_check", 1623204996);
|
||||
user_pref("services.settings.main.tippytop.last_check", 1623204996);
|
||||
user_pref("services.settings.main.top-sites.last_check", 1623204996);
|
||||
user_pref("services.settings.main.url-classifier-skip-urls.last_check", 1623204996);
|
||||
user_pref("services.settings.main.websites-with-shared-credential-backends.last_check", 1623204996);
|
||||
user_pref("services.settings.main.whats-new-panel.last_check", 1623204996);
|
||||
user_pref("services.settings.security.onecrl.checked", 1623204996);
|
||||
user_pref("services.settings.main.partitioning-exempt-urls.last_check", 1626211506);
|
||||
user_pref("services.settings.main.password-recipes.last_check", 1626211506);
|
||||
user_pref("services.settings.main.personality-provider-models.last_check", 1626211506);
|
||||
user_pref("services.settings.main.personality-provider-recipe.last_check", 1626211506);
|
||||
user_pref("services.settings.main.pioneer-study-addons-v1.last_check", 1626211506);
|
||||
user_pref("services.settings.main.pioneer-study-addons.last_check", 1626211506);
|
||||
user_pref("services.settings.main.public-suffix-list.last_check", 1626211506);
|
||||
user_pref("services.settings.main.search-config.last_check", 1626211506);
|
||||
user_pref("services.settings.main.search-default-override-allowlist.last_check", 1626211506);
|
||||
user_pref("services.settings.main.search-telemetry.last_check", 1626211506);
|
||||
user_pref("services.settings.main.sites-classification.last_check", 1626211506);
|
||||
user_pref("services.settings.main.tippytop.last_check", 1626211506);
|
||||
user_pref("services.settings.main.top-sites.last_check", 1626211506);
|
||||
user_pref("services.settings.main.url-classifier-skip-urls.last_check", 1626211506);
|
||||
user_pref("services.settings.main.websites-with-shared-credential-backends.last_check", 1626211506);
|
||||
user_pref("services.settings.main.whats-new-panel.last_check", 1626211506);
|
||||
user_pref("services.settings.security.onecrl.checked", 1626193581);
|
||||
user_pref("services.sync.clients.lastSync", "0");
|
||||
user_pref("services.sync.declinedEngines", "");
|
||||
user_pref("services.sync.globalScore", 0);
|
||||
|
@ -248,8 +253,8 @@ user_pref("services.sync.tabs.lastSync", "0");
|
|||
user_pref("signon.importedFromSqlite", true);
|
||||
user_pref("signon.usage.hasEntry", false);
|
||||
user_pref("storage.vacuum.last.index", 0);
|
||||
user_pref("storage.vacuum.last.places.sqlite", 1623204767);
|
||||
user_pref("toolkit.startup.last_success", 1623248209);
|
||||
user_pref("storage.vacuum.last.places.sqlite", 1626193260);
|
||||
user_pref("toolkit.startup.last_success", 1626211502);
|
||||
user_pref("toolkit.telemetry.archive.enabled", false);
|
||||
user_pref("toolkit.telemetry.bhrPing.enabled", false);
|
||||
user_pref("toolkit.telemetry.cachedClientID", "c0ffeec0-ffee-c0ff-eec0-ffeec0ffeec0");
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user