a few changes

This commit is contained in:
Tio 2021-01-20 03:42:26 +01:00
parent 8c0693f810
commit 25ecd01890
225 changed files with 1404 additions and 869 deletions

View File

@ -6,8 +6,9 @@ vimix-kde-git
vimix-gtk-themes-git vimix-gtk-themes-git
kvantum-theme-vimix-git kvantum-theme-vimix-git
imageburner imageburner
feathernotes-git
bitmask bitmask
gnome-fuzzy-app-search-git
openrgb
@ -88,6 +89,9 @@ dconf-editor
dmidecode dmidecode
gdm gdm
gedit gedit
feathernotes
gtksourceview-pkgbuild #highlight for PKGBUILD gtksourceview-pkgbuild #highlight for PKGBUILD
gnome-calculator gnome-calculator
gnome-control-center gnome-control-center
@ -102,7 +106,6 @@ gnome-settings-daemon
gnome-shell gnome-shell
gnome-system-log gnome-system-log
gnome-system-monitor gnome-system-monitor
gnome-terminal
gnome-themes-standard gnome-themes-standard
gnome-user-docs gnome-user-docs
gnome-tweaks gnome-tweaks
@ -130,6 +133,7 @@ inxi
kernel-alive kernel-alive
pacui pacui
mc mc
######## ########
manjaro-alsa manjaro-alsa
manjaro-hotfixes manjaro-hotfixes
@ -165,7 +169,6 @@ avahi
networkmanager networkmanager
ntp ntp
openssh openssh
terminus-font-otb
tracker tracker
tracker-miners tracker-miners
qgnomeplatform qgnomeplatform

View File

@ -4,6 +4,7 @@ autoReplace=false
autoSave=1 autoSave=1
noIndent=false noIndent=false
noWrap=false noWrap=false
openLastFile=true
scrollJumpWorkaround=false scrollJumpWorkaround=false
[window] [window]

View File

@ -29,6 +29,7 @@ const _d = Lib._log;
const Prefs = Me.imports.prefs; const Prefs = Me.imports.prefs;
const SignalManager = Lib.SignalManager; const SignalManager = Lib.SignalManager;
let maxId = -1;
var SoundDeviceChooserBase = class SoundDeviceChooserBase { var SoundDeviceChooserBase = class SoundDeviceChooserBase {
@ -37,6 +38,7 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
this.menuItem = new PopupMenu.PopupSubMenuMenuItem('Extension initialising...', true); this.menuItem = new PopupMenu.PopupSubMenuMenuItem('Extension initialising...', true);
this.deviceType = deviceType; this.deviceType = deviceType;
this._devices = {}; this._devices = {};
this._cards = [];
this._availableDevicesIds = {}; this._availableDevicesIds = {};
this._control = VolumeMenu.getMixerControl(); this._control = VolumeMenu.getMixerControl();
this._settings = Lib.getSettings(Prefs.SETTINGS_SCHEMA); this._settings = Lib.getSettings(Prefs.SETTINGS_SCHEMA);
@ -64,6 +66,8 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
this._signalManager.addSignal(this._control, this.deviceType + "-added", this._deviceAdded.bind(this)); this._signalManager.addSignal(this._control, this.deviceType + "-added", this._deviceAdded.bind(this));
this._signalManager.addSignal(this._control, this.deviceType + "-removed", this._deviceRemoved.bind(this)); this._signalManager.addSignal(this._control, this.deviceType + "-removed", this._deviceRemoved.bind(this));
this._signalManager.addSignal(this._control, "active-" + this.deviceType + "-update", this._deviceActivated.bind(this)); this._signalManager.addSignal(this._control, "active-" + this.deviceType + "-update", this._deviceActivated.bind(this));
this._signalManager.addSignal(this._control, "card-removed", this._updateCards.bind(this));
this._signalManager.addSignal(this._control, "card-added", this._updateCards.bind(this));
this._signalManager.addSignal(this._settings, "changed::" + Prefs.HIDE_ON_SINGLE_DEVICE, this._setChooserVisibility.bind(this)); this._signalManager.addSignal(this._settings, "changed::" + Prefs.HIDE_ON_SINGLE_DEVICE, this._setChooserVisibility.bind(this));
this._signalManager.addSignal(this._settings, "changed::" + Prefs.SHOW_PROFILES, this._setProfileVisibility.bind(this)); this._signalManager.addSignal(this._settings, "changed::" + Prefs.SHOW_PROFILES, this._setProfileVisibility.bind(this));
@ -75,7 +79,8 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
this._signalManager.addSignal(this._settings, "changed::" + this._show_device_signal, this._setVisibility.bind(this)); this._signalManager.addSignal(this._settings, "changed::" + this._show_device_signal, this._setVisibility.bind(this));
this._portsSettings = JSON.parse(this._settings.get_string(Prefs.PORT_SETTINGS)); //this._portsSettings = JSON.parse(this._settings.get_string(Prefs.PORT_SETTINGS));
this._portsSettings = Prefs.getPortsFromSettings(this._settings);
/** /**
* There is no direct way to get all the UI devices from * There is no direct way to get all the UI devices from
@ -86,9 +91,10 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
*/ */
let id = 0; let id = 0;
let maxId = -1; if (maxId < 0) {
let dummyDevice = new Gvc.MixerUIDevice(); let dummyDevice = new Gvc.MixerUIDevice();
maxId = dummyDevice.get_id(); maxId = dummyDevice.get_id();
}
_d("Max Id:" + maxId); _d("Max Id:" + maxId);
let defaultDevice = this.getDefaultDevice(); let defaultDevice = this.getDefaultDevice();
@ -108,8 +114,9 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
} }
} }
} }
//We dont have any way to understand that the profile has changed in the settings
this.activeProfileTimeout = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 1000, //Just an useless workaround and potentially crashes shell
this.activeProfileTimeout = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 2000,
this._setActiveProfile.bind(this)); this._setActiveProfile.bind(this));
if (this._controlStateChangeSignal) { if (this._controlStateChangeSignal) {
@ -121,20 +128,30 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
} }
} }
_updateCards(control, cardId) {
this._cards = [];
let cards = this._control.get_cards();
for (let card of cards) {
this._cards.push(card.index);
}
}
_deviceAdded(control, id, dontcheck) { _deviceAdded(control, id, dontcheck) {
let obj = this._devices[id]; let obj = this._devices[id];
let uidevice = null; let uidevice = null;
if (!obj) { if (!obj) {
uidevice = this.lookupDeviceById(id); uidevice = this.lookupDeviceById(id);
if(!uidevice) { if (!uidevice || !uidevice.port_name || uidevice.description.match(/Dummy\s+(Output|Input)/gi)) {
return null; return null;
} }
obj = new Object(); obj = new Object();
obj.id = id;
obj.uidevice = uidevice; obj.uidevice = uidevice;
obj.text = uidevice.description; obj.text = uidevice.description;
if (uidevice.origin != "") if (uidevice.origin != "")
obj.text += " (" + uidevice.origin + ")"; obj.text += " - " + uidevice.origin;
/* /*
* obj.item = this.menu.addAction( obj.text, function() { * obj.item = this.menu.addAction( obj.text, function() {
@ -151,6 +168,7 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
let icon_name = this._getIcon(icon); let icon_name = this._getIcon(icon);
obj.item = this.menuItem.menu.addAction(obj.text, function() { obj.item = this.menuItem.menu.addAction(obj.text, function() {
_d("Device Change request");
this.changeDevice(uidevice); this.changeDevice(uidevice);
}.bind(this), icon_name); }.bind(this), icon_name);
@ -179,15 +197,21 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
return uidevice; return uidevice;
} }
_d("Added: " + id + ":" + uidevice.description + ":" + uidevice.port_name); _d("Added: " + id + ":" + uidevice.description + ":" + uidevice.port_name + ":" + obj.uidevice.origin);
if (!this._availableDevicesIds[id]) { if (!this._availableDevicesIds[id]) {
this._availableDevicesIds[id] = 0; this._availableDevicesIds[id] = 0;
} }
this._availableDevicesIds[id]++; this._availableDevicesIds[id]++;
obj.active = true; obj.active = true;
let stream = this._control.get_stream_from_device(uidevice);
if (stream) {
obj.activeProfile = uidevice.get_active_profile(); obj.activeProfile = uidevice.get_active_profile();
let showProfiles = this._settings.get_boolean(Prefs.SHOW_PROFILES); }
else {
obj.activeProfile = "";
}
//let showProfiles = this._settings.get_boolean(Prefs.SHOW_PROFILES);
if (obj.profiles) { if (obj.profiles) {
for (let profile of obj.profiles) { for (let profile of obj.profiles) {
let profileItem = obj.profilesitems[profile.name]; let profileItem = obj.profilesitems[profile.name];
@ -195,6 +219,11 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
let profileName = profile.name; let profileName = profile.name;
profileItem = this.menuItem.menu.addAction("Profile: " + profile.human_name, function() { profileItem = this.menuItem.menu.addAction("Profile: " + profile.human_name, function() {
_d("i am setting profile, " + profile.human_name + ":" + uidevice.description + ":" + uidevice.port_name); _d("i am setting profile, " + profile.human_name + ":" + uidevice.description + ":" + uidevice.port_name);
let stream = this._control.get_stream_from_device(uidevice);
//No Active stream probably inactive port
if (!stream) {
return;
}
if (this._activeDevice && this._activeDevice.uidevice !== uidevice) { if (this._activeDevice && this._activeDevice.uidevice !== uidevice) {
_d("Changing active device to " + uidevice.description + ":" + uidevice.port_name); _d("Changing active device to " + uidevice.description + ":" + uidevice.port_name);
this.changeDevice(uidevice); this.changeDevice(uidevice);
@ -245,8 +274,9 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
_deviceRemoved(control, id, dontcheck) { _deviceRemoved(control, id, dontcheck) {
let obj = this._devices[id]; let obj = this._devices[id];
//delete this._devices[id];
if (obj && obj.active) { if (obj && obj.active) {
_d("Removed: " + id); _d("Removed: " + id + ":" + obj.uidevice.description + ":" + obj.uidevice.port_name + ":" + obj.uidevice.origin);
if (!dontcheck && this._canShowDevice(obj.uidevice, false)) { if (!dontcheck && this._canShowDevice(obj.uidevice, false)) {
_d('Device removed, but not hiding as its set to be shown always'); _d('Device removed, but not hiding as its set to be shown always');
return; return;
@ -274,6 +304,7 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
* activated. So, lets wait for sometime before activating. * activated. So, lets wait for sometime before activating.
*/ */
this.deviceRemovedTimout = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 1500, function() { this.deviceRemovedTimout = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 1500, function() {
_d("Device Removed timeout");
if (obj === this._activeDevice) { if (obj === this._activeDevice) {
for (let id in this._devices) { for (let id in this._devices) {
let device = this._devices[id]; let device = this._devices[id];
@ -294,7 +325,7 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
_deviceActivated(control, id) { _deviceActivated(control, id) {
let obj = this._devices[id]; let obj = this._devices[id];
if (obj && obj !== this._activeDevice) { if (obj && obj !== this._activeDevice) {
_d("Activated: " + id); _d("Activated: " + id + ":" + obj.uidevice.description + ":" + obj.uidevice.port_name + ":" + obj.uidevice.origin);
if (this._activeDevice) { if (this._activeDevice) {
this._activeDevice.item.setOrnament(PopupMenu.Ornament.NONE); this._activeDevice.item.setOrnament(PopupMenu.Ornament.NONE);
if (this._activeDevice.item.remove_style_pseudo_class) { if (this._activeDevice.item.remove_style_pseudo_class) {
@ -328,17 +359,23 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
} }
_setActiveProfile() { _setActiveProfile() {
for (let id in this._devices) { //_d("Setting Active Profile");
/*for (let id in this._devices) {
let device = this._devices[id]; let device = this._devices[id];
if (device.active) { if (device.active) {
this._setDeviceActiveProfile(device); this._setDeviceActiveProfile(device);
} }
} }*/
this._setDeviceActiveProfile(this._activeDevice);
return true; return true;
} }
_setDeviceActiveProfile(device) { _setDeviceActiveProfile(device) {
if (!device.uidevice.port_name) { if (!device.uidevice.port_name || !this._availableDevicesIds[device.id]) {
return;
}
let stream = this._control.get_stream_from_device(device.uidevice);
if (stream) {
return; return;
} }
let activeProfile = device.uidevice.get_active_profile(); let activeProfile = device.uidevice.get_active_profile();
@ -423,9 +460,27 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
if (!uidevice || !this._portsSettings || uidevice.port_name == null || uidevice.description == null) { if (!uidevice || !this._portsSettings || uidevice.port_name == null || uidevice.description == null) {
return defaultValue; return defaultValue;
} }
let stream = this._control.get_stream_from_device(uidevice);
let cardName = null;
if (stream) {
let cardId = stream.get_card_index();
if (cardId != null) {
_d("Card Index" + cardId);
let _card = Lib.getCard(cardId);
if (_card) {
cardName = _card.name;
}
else {
//card id found, but not available in list
return false;
}
_d("Card Name" + cardName);
}
}
for (let port of this._portsSettings) { for (let port of this._portsSettings) {
if(port && port.name == uidevice.port_name && port.human_name == uidevice.description) { //_d("P" + port.name + "==" + uidevice.port_name + "==" + port.human_name + "==" + uidevice.description + "==" + cardName + "==" + port.card_name)
if (port && port.name == uidevice.port_name && port.human_name == uidevice.description && (!cardName || cardName == port.card_name)) {
switch (port.display_option) { switch (port.display_option) {
case 1: case 1:
return true; return true;
@ -442,7 +497,8 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
} }
_resetDevices() { _resetDevices() {
this._portsSettings = JSON.parse(this._settings.get_string(Prefs.PORT_SETTINGS)); //this._portsSettings = JSON.parse(this._settings.get_string(Prefs.PORT_SETTINGS));
this._portsSettings = Prefs.getPortsFromSettings(this._settings);
for (let id in this._devices) { for (let id in this._devices) {
let device = this._devices[id]; let device = this._devices[id];
let uidevice = device.uidevice; let uidevice = device.uidevice;

View File

@ -71,8 +71,16 @@ function getSettings(schema) {
} }
let cards; let cards;
function getProfiles(control, uidevice)
{ function getCard(card_index) {
if (!cards || Object.keys(cards).length == 0) {
refreshCards();
}
return cards[card_index];
}
function getProfiles(control, uidevice) {
let stream = control.lookup_stream_id(uidevice.get_stream_id()); let stream = control.lookup_stream_id(uidevice.get_stream_id());
if (stream) { if (stream) {
if (!cards || Object.keys(cards).length == 0 || !cards[stream.card_index]) { if (!cards || Object.keys(cards).length == 0 || !cards[stream.card_index]) {
@ -84,15 +92,13 @@ function getProfiles(control, uidevice)
return getProfilesForPort(uidevice.port_name, cards[stream.card_index]); return getProfilesForPort(uidevice.port_name, cards[stream.card_index]);
} }
} }
else else {
{
/* Device is not active device, lets try match with port name */ /* Device is not active device, lets try match with port name */
refreshCards(); refreshCards();
for (let id in cards) { for (let id in cards) {
let profiles; let profiles;
_log("Getting profile from cards " + uidevice.port_name + " for card id " + id); _log("Getting profile from cards " + uidevice.port_name + " for card id " + id);
if((profiles = getProfilesForPort(uidevice.port_name, cards[id]))) if ((profiles = getProfilesForPort(uidevice.port_name, cards[id]))) {
{
return profiles; return profiles;
} }
} }
@ -126,7 +132,8 @@ function refreshCards() {
// if(_settings == null) {getSettings(Prefs.SETTINGS_SCHEMA);} // if(_settings == null) {getSettings(Prefs.SETTINGS_SCHEMA);}
let _settings = getSettings(Prefs.SETTINGS_SCHEMA); let _settings = getSettings(Prefs.SETTINGS_SCHEMA);
let error = false; let error = false;
if(_settings.get_boolean(Prefs.NEW_PROFILE_ID)) { let newProfLogic = _settings.get_boolean(Prefs.NEW_PROFILE_ID);
if (newProfLogic) {
_log("New logic"); _log("New logic");
let pyLocation = Me.dir.get_child('utils/pa_helper.py').get_path(); let pyLocation = Me.dir.get_child('utils/pa_helper.py').get_path();
let pythonExec = 'python'; let pythonExec = 'python';
@ -163,8 +170,8 @@ function refreshCards() {
} }
} }
} }
//error = true;
if(!_settings.get_boolean(Prefs.NEW_PROFILE_ID) || error){ if (!newProfLogic || error) {
try { try {
let [result, out, err, exit_code] = GLib.spawn_command_line_sync('pactl list cards'); let [result, out, err, exit_code] = GLib.spawn_command_line_sync('pactl list cards');
if (result && !exit_code) { if (result && !exit_code) {
@ -175,9 +182,10 @@ function refreshCards() {
_log('ERROR: pactl execution failed. No ports/profiles will be displayed'); _log('ERROR: pactl execution failed. No ports/profiles will be displayed');
} }
} }
//_log(Array.isArray(cards));
//_log(JSON.stringify(cards)); //_log(JSON.stringify(cards));
//_log(Array.isArray(ports));
//_log(JSON.stringify(ports)); //_log(JSON.stringify(ports));
} }
function parseOutput(out) { function parseOutput(out) {
@ -202,6 +210,13 @@ function parseOutput(out) {
cards[cardIndex] = { 'index': cardIndex, 'profiles': [], 'ports': [] }; cards[cardIndex] = { 'index': cardIndex, 'profiles': [], 'ports': [] };
} }
} }
else if ((matches = /^\t*Name:\s+(.*?)$/.exec(line)) && cards[cardIndex]) {
cards[cardIndex].name = matches[1];
parseSection = "CARDS"
}
else if (line.match(/^\tProperties:$/) && parseSection == "CARDS") {
parseSection = "PROPS";
}
else if (line.match(/^\t*Profiles:$/)) { else if (line.match(/^\t*Profiles:$/)) {
parseSection = "PROFILES"; parseSection = "PROFILES";
} }
@ -210,16 +225,24 @@ function parseOutput(out) {
} }
else if (cards[cardIndex]) { else if (cards[cardIndex]) {
switch (parseSection) { switch (parseSection) {
case "PROPS":
if ((matches = /alsa\.card_name\s+=\s+"(.*?)"/.exec(line))) {
cards[cardIndex].alsa_name = matches[1];
}
else if((matches = /device\.description\s+=\s+"(.*?)"/.exec(line))) {
cards[cardIndex].card_description = matches[1];
}
break;
case "PROFILES": case "PROFILES":
if ((matches = /.*?((?:output|input)[^+]*?):\s(.*?)\s\(sinks:/.exec(line))) { if ((matches = /.*?((?:output|input)[^+]*?):\s(.*?)\s\(sinks:/.exec(line))) {
cards[cardIndex].profiles.push({ 'name': matches[1], 'human_name': matches[2] }); cards[cardIndex].profiles.push({ 'name': matches[1], 'human_name': matches[2] });
} }
break; break;
case "PORTS": case "PORTS":
if((matches = /\t*(.*?):\s(.*?)\s\(priority:/.exec(line))) { if ((matches = /\t*(.*?):\s(.*?)\s\(.*?priority:/.exec(line))) {
port = {'name' : matches[1], 'human_name' : matches[2]}; port = { 'name': matches[1], 'human_name': matches[2], 'card_name': cards[cardIndex].name, 'card_description' : cards[cardIndex].card_description };
cards[cardIndex].ports.push(port); cards[cardIndex].ports.push(port);
ports.push({'name' : matches[1], 'human_name' : matches[2]}); ports.push(port);
} }
else if (port && (matches = /\t*Part of profile\(s\):\s(.*)/.exec(line))) { else if (port && (matches = /\t*Part of profile\(s\):\s(.*)/.exec(line))) {
let profileStr = matches[1]; let profileStr = matches[1];
@ -330,7 +353,7 @@ function dump(obj) {
for (var propName in obj) { for (var propName in obj) {
try { try {
propValue = obj[propName]; propValue = obj[propName];
_log(propName + propValue); _log(propName + "=" + propValue);
} }
catch (e) { _log(propName + "!!!Error!!!"); } catch (e) { _log(propName + "!!!Error!!!"); }
} }

View File

@ -0,0 +1,107 @@
# 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-09-24 23:47+0200\n"
"PO-Revision-Date: 2020-09-02 18:22+0200\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.4.1\n"
"Last-Translator: Heimen Stoffels <vistausss@outlook.com>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: nl\n"
#: prefs-dialog.gtkbuilder:15
msgid "Monochrome"
msgstr "Monochroom"
#: prefs-dialog.gtkbuilder:19
msgid "Colored"
msgstr "Gekleurd"
#: prefs-dialog.gtkbuilder:23
msgid "None"
msgstr "Geen"
#: prefs-dialog.gtkbuilder:100
msgid "Hide selector if there's only one device"
msgstr "Keuzemenu verbergen als er slechts één apparaat is"
#: prefs-dialog.gtkbuilder:142
msgid "Display audio profiles for selection"
msgstr "Audioprofielen tonen in keuzemenu"
#: prefs-dialog.gtkbuilder:175
msgid "General Settings"
msgstr "Algemene instellingen"
#: prefs-dialog.gtkbuilder:220
msgid "Show output devices"
msgstr "Uitvoerapparaten tonen"
#: prefs-dialog.gtkbuilder:253
msgid "Output Devices"
msgstr "Uitvoerapparaten"
#: prefs-dialog.gtkbuilder:300
msgid "Show input devices"
msgstr "Invoerapparaten tonen"
#: prefs-dialog.gtkbuilder:343
msgid "Show volume control for default device"
msgstr "Volumebediening van standaardapparaat tonen"
#: prefs-dialog.gtkbuilder:376
msgid "Input Devices"
msgstr "Invoerapparaten"
#: prefs-dialog.gtkbuilder:422
msgid "Icon Theme"
msgstr "Pictogramthema"
#: prefs-dialog.gtkbuilder:472
msgid "Display icons only in selection list"
msgstr "Alleen pictogrammen tonen in keuzelijst"
#: prefs-dialog.gtkbuilder:504
msgid "Icons"
msgstr "Pictogrammen"
#: prefs-dialog.gtkbuilder:549
msgid "Enable Log messages"
msgstr "Logboek bijhouden"
#: prefs-dialog.gtkbuilder:588
msgid "Enable new profile identification "
msgstr "Nieuwe profielidentificatie inschakelen "
#: prefs-dialog.gtkbuilder:620
msgid "Miscellaneous"
msgstr "Overig"
#: prefs-dialog.gtkbuilder:688
msgid "Name"
msgstr "Naam"
#: prefs-dialog.gtkbuilder:702
msgid "Show"
msgstr "Tonen"
#: prefs-dialog.gtkbuilder:716
msgid "Hide"
msgstr "Verbergen"
#: prefs-dialog.gtkbuilder:730
msgid "Default"
msgstr "Standaard"
#: prefs-dialog.gtkbuilder:756
msgid "Port Settings"
msgstr "Poortinstellingen"

View File

@ -11,5 +11,5 @@
], ],
"url": "https://github.com/kgshank/gse-sound-output-device-chooser", "url": "https://github.com/kgshank/gse-sound-output-device-chooser",
"uuid": "sound-output-device-chooser@kgshank.net", "uuid": "sound-output-device-chooser@kgshank.net",
"version": 32 "version": 33
} }

View File

@ -48,8 +48,56 @@ var ICON_THEME_COLORED = "colored";
var ICON_THEME_MONOCHROME = "monochrome"; var ICON_THEME_MONOCHROME = "monochrome";
var ICON_THEME_NONE = "none"; var ICON_THEME_NONE = "none";
const PORT_SETTINGS_VERSION = 2;
function init() { } function init() { }
function getPortsFromSettings(_settings) {
let obj = JSON.parse(_settings.get_string(PORT_SETTINGS));
let currentSettingsVersion = PORT_SETTINGS_VERSION;
if (Array.isArray(obj)) {
currentSettingsVersion = 1;
}
if (currentSettingsVersion < PORT_SETTINGS_VERSION) {
obj = migratePortSettings(currentSettingsVersion, obj, _settings);
}
return obj.ports;
}
function setPortsSettings(ports,_settings) {
let settingsObj = { 'version': PORT_SETTINGS_VERSION };
settingsObj.ports = ports;
_d(JSON.stringify(settingsObj));
_settings.set_string(PORT_SETTINGS, JSON.stringify(settingsObj));
return settingsObj;
}
function getPortDisplayName(port) {
return port.card_description + " - " + port.human_name;
}
function migratePortSettings(currVersion, currSettings, _settings) {
let ports = [];
switch (currVersion) {
case 1:
let _lPorts = Lib.getPorts(true).slice();
for (let port of currSettings) {
for (var i = 0; i < _lPorts.length; i++) {
let _lPort = _lPorts[i];
if (port.human_name == _lPort.human_name && port.name == _lPort.name) {
port.card_name = _lPort.card_name;
port.display_name = getPortDisplayName(_lPort);
_lPorts.splice(i, 1);
ports.push(port);
break;
}
}
}
break;
}
return setPortsSettings(ports,_settings);
}
const SDCSettingsWidget = new GObject.Class({ const SDCSettingsWidget = new GObject.Class({
Name: 'SDC.Prefs.Widget', Name: 'SDC.Prefs.Widget',
@ -111,7 +159,7 @@ const SDCSettingsWidget = new GObject.Class({
this._settings.bind(NEW_PROFILE_ID, newProfileIdSwitch, "active", Gio.SettingsBindFlags.DEFAULT); this._settings.bind(NEW_PROFILE_ID, newProfileIdSwitch, "active", Gio.SettingsBindFlags.DEFAULT);
this._settings.bind(ICON_THEME, iconThemeCombo, "active-id", Gio.SettingsBindFlags.DEFAULT); this._settings.bind(ICON_THEME, iconThemeCombo, "active-id", Gio.SettingsBindFlags.DEFAULT);
//Show always is not working always, hidden in the UI directly
let showAlwaysToggleRender = builder.get_object("ShowAlwaysToggleRender"); let showAlwaysToggleRender = builder.get_object("ShowAlwaysToggleRender");
let hideAlwaysToggleRender = builder.get_object("HideAlwaysToggleRender"); let hideAlwaysToggleRender = builder.get_object("HideAlwaysToggleRender");
let showActiveToggleRender = builder.get_object("ShowActiveToggleRender"); let showActiveToggleRender = builder.get_object("ShowActiveToggleRender");
@ -129,9 +177,8 @@ const SDCSettingsWidget = new GObject.Class({
_populatePorts: function() { _populatePorts: function() {
let ports = Lib.getPorts(true); let ports = Lib.getPorts(true);
for (let port of ports) for (let port of ports) {
{ this._portsStore.set(this._portsStore.append(), [0, 1, 2, 3, 4, 5, 6, 7], [port.human_name, false, false, true, port.name, 3, port.card_name, getPortDisplayName(port)]);
this._portsStore.set(this._portsStore.append(),[0,1,2,3,4,5],[port.human_name, false, false, true, port.name,3]);
} }
}, },
@ -149,18 +196,22 @@ const SDCSettingsWidget = new GObject.Class({
_toggleCallback: function(widget, path, activeCol, inactiveCols) { _toggleCallback: function(widget, path, activeCol, inactiveCols) {
let active = !widget.active; let active = !widget.active;
if(!active) if (!active) {
{
return; return;
} }
let [success, iter] = this._portsStore.get_iter_from_string(path); let [success, iter] = this._portsStore.get_iter_from_string(path);
if (!success) { if (!success) {
return; return;
} }
/*Dont support non-pci cards for show always*/
let card_name = this._portsStore.get_value(iter, 6);
if(!/\.pci-/.exec(card_name) && activeCol == 1){
this._toggleCallback(widget, path, 3, [1, 2]);
return;
}
this._portsStore.set_value(iter, activeCol, active); this._portsStore.set_value(iter, activeCol, active);
this._portsStore.set_value(iter, 5, activeCol); this._portsStore.set_value(iter, 5, activeCol);
for (let col of inactiveCols) for (let col of inactiveCols) {
{
this._portsStore.set_value(iter, col, !active); this._portsStore.set_value(iter, col, !active);
} }
this._commitSettings(); this._commitSettings();
@ -175,17 +226,19 @@ const SDCSettingsWidget = new GObject.Class({
ports.push({ ports.push({
human_name: this._portsStore.get_value(iter, 0), human_name: this._portsStore.get_value(iter, 0),
name: this._portsStore.get_value(iter, 4), name: this._portsStore.get_value(iter, 4),
display_option: this._portsStore.get_value(iter, 5) display_option: this._portsStore.get_value(iter, 5),
card_name: this._portsStore.get_value(iter, 6),
display_name: this._portsStore.get_value(iter, 7)
}); });
} }
success = this._portsStore.iter_next(iter); success = this._portsStore.iter_next(iter);
} }
this._settings.set_string(PORT_SETTINGS, JSON.stringify(ports)); setPortsSettings(ports, this._settings);
}, },
_restorePortsFromSettings: function() { _restorePortsFromSettings: function() {
let ports = JSON.parse(this._settings.get_string(PORT_SETTINGS)); let ports = getPortsFromSettings(this._settings);
let found; let found;
for (let port of ports) { for (let port of ports) {
@ -199,8 +252,9 @@ const SDCSettingsWidget = new GObject.Class({
while (iter && success) { while (iter && success) {
let human_name = this._portsStore.get_value(iter, 0); let human_name = this._portsStore.get_value(iter, 0);
let name = this._portsStore.get_value(iter, 4); let name = this._portsStore.get_value(iter, 4);
let card_name = this._portsStore.get_value(iter, 6);
if(port.name == name && port.human_name == human_name) { if (port.name == name && port.human_name == human_name && port.card_name == card_name) {
this._portsStore.set_value(iter, 3, false); this._portsStore.set_value(iter, 3, false);
this._portsStore.set_value(iter, port.display_option, true); this._portsStore.set_value(iter, port.display_option, true);
this._portsStore.set_value(iter, 5, port.display_option); this._portsStore.set_value(iter, 5, port.display_option);
@ -212,8 +266,8 @@ const SDCSettingsWidget = new GObject.Class({
if (!found) { if (!found) {
iter = this._portsStore.append(); iter = this._portsStore.append();
this._portsStore.set(iter, [0,1,2,3,4,5], this._portsStore.set(iter, [0, 1, 2, 3, 4, 5, 6, 7],
[port.human_name, false, false, false, port.name,port.display_option]); [port.human_name, false, false, false, port.name, port.display_option, port.card_name, port.display_name]);
this._portsStore.set_value(iter, port.display_option, true); this._portsStore.set_value(iter, port.display_option, true);
} }
} }

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.1 --> <!-- Generated with glade 3.38.2 -->
<interface> <interface>
<requires lib="gtk+" version="3.16"/> <requires lib="gtk+" version="3.16"/>
<object class="GtkListStore" id="icon-theme-store"> <object class="GtkListStore" id="icon-theme-store">
@ -38,65 +38,69 @@
<column type="gchararray"/> <column type="gchararray"/>
<!-- column-name SelectedColumn --> <!-- column-name SelectedColumn -->
<column type="gint"/> <column type="gint"/>
<!-- column-name CardName -->
<column type="gchararray"/>
<!-- column-name DisplayName -->
<column type="gchararray"/>
</columns> </columns>
</object> </object>
<object class="GtkBox" id="main-container"> <object class="GtkBox" id="main-container">
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="margin_left">6</property> <property name="margin-left">6</property>
<property name="margin_right">6</property> <property name="margin-right">6</property>
<property name="margin_top">6</property> <property name="margin-top">6</property>
<property name="margin_bottom">6</property> <property name="margin-bottom">6</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="spacing">2</property> <property name="spacing">2</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="hexpand">True</property> <property name="hexpand">True</property>
<property name="vexpand">True</property> <property name="vexpand">True</property>
<property name="homogeneous">True</property> <property name="homogeneous">True</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="margin_left">12</property> <property name="margin-left">12</property>
<property name="margin_right">6</property> <property name="margin-right">6</property>
<property name="margin_top">12</property> <property name="margin-top">12</property>
<property name="margin_bottom">12</property> <property name="margin-bottom">12</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="spacing">12</property> <property name="spacing">12</property>
<child> <child>
<object class="GtkFrame"> <object class="GtkFrame">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="label_xalign">0</property> <property name="label-xalign">0</property>
<property name="shadow_type">out</property> <property name="shadow-type">out</property>
<child> <child>
<object class="GtkAlignment"> <object class="GtkAlignment">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<child> <child>
<object class="GtkListBox"> <object class="GtkListBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="selection_mode">none</property> <property name="selection-mode">none</property>
<child> <child>
<object class="GtkListBoxRow"> <object class="GtkListBoxRow">
<property name="width_request">100</property> <property name="width-request">100</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="margin_top">6</property> <property name="margin-top">6</property>
<property name="margin_bottom">6</property> <property name="margin-bottom">6</property>
<child> <child>
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="halign">start</property> <property name="halign">start</property>
<property name="margin_left">5</property> <property name="margin-left">5</property>
<property name="label" translatable="yes">Hide selector if there's only one device</property> <property name="label" translatable="yes">Hide selector if there's only one device</property>
</object> </object>
<packing> <packing>
@ -108,9 +112,9 @@
<child> <child>
<object class="GtkSwitch" id="single-device"> <object class="GtkSwitch" id="single-device">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="halign">end</property> <property name="halign">end</property>
<property name="margin_right">5</property> <property name="margin-right">5</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -124,21 +128,21 @@
</child> </child>
<child> <child>
<object class="GtkListBoxRow"> <object class="GtkListBoxRow">
<property name="width_request">100</property> <property name="width-request">100</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="margin_top">6</property> <property name="margin-top">6</property>
<property name="margin_bottom">6</property> <property name="margin-bottom">6</property>
<child> <child>
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="halign">start</property> <property name="halign">start</property>
<property name="margin_left">5</property> <property name="margin-left">5</property>
<property name="label" translatable="yes">Display audio profiles for selection</property> <property name="label" translatable="yes">Display audio profiles for selection</property>
</object> </object>
<packing> <packing>
@ -150,9 +154,9 @@
<child> <child>
<object class="GtkSwitch" id="show-profile"> <object class="GtkSwitch" id="show-profile">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="halign">end</property> <property name="halign">end</property>
<property name="margin_right">5</property> <property name="margin-right">5</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -166,22 +170,22 @@
</child> </child>
<child> <child>
<object class="GtkListBoxRow"> <object class="GtkListBoxRow">
<property name="width_request">100</property> <property name="width-request">100</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="margin_top">6</property> <property name="margin-top">6</property>
<property name="margin_bottom">6</property> <property name="margin-bottom">6</property>
<child> <child>
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="halign">start</property> <property name="halign">start</property>
<property name="margin_left">5</property> <property name="margin-left">5</property>
<property name="margin_right">20</property> <property name="margin-right">20</property>
<property name="label" translatable="yes">Extend Volume Menu to fit device names</property> <property name="label" translatable="yes">Extend Volume Menu to fit device names</property>
</object> </object>
<packing> <packing>
@ -193,9 +197,9 @@
<child> <child>
<object class="GtkSwitch" id="expand-volume-menu"> <object class="GtkSwitch" id="expand-volume-menu">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="halign">end</property> <property name="halign">end</property>
<property name="margin_right">5</property> <property name="margin-right">5</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -214,7 +218,7 @@
<child type="label"> <child type="label">
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">General Settings</property> <property name="label" translatable="yes">General Settings</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
@ -231,35 +235,35 @@
<child> <child>
<object class="GtkFrame"> <object class="GtkFrame">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="label_xalign">0</property> <property name="label-xalign">0</property>
<property name="shadow_type">out</property> <property name="shadow-type">out</property>
<child> <child>
<object class="GtkAlignment"> <object class="GtkAlignment">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<child> <child>
<object class="GtkListBox"> <object class="GtkListBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<child> <child>
<object class="GtkListBoxRow"> <object class="GtkListBoxRow">
<property name="width_request">100</property> <property name="width-request">100</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="valign">center</property> <property name="valign">center</property>
<property name="margin_top">6</property> <property name="margin-top">6</property>
<property name="margin_bottom">6</property> <property name="margin-bottom">6</property>
<child> <child>
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="halign">start</property> <property name="halign">start</property>
<property name="margin_left">5</property> <property name="margin-left">5</property>
<property name="label" translatable="yes">Show output devices</property> <property name="label" translatable="yes">Show output devices</property>
</object> </object>
<packing> <packing>
@ -271,9 +275,9 @@
<child> <child>
<object class="GtkSwitch" id="show-output-devices"> <object class="GtkSwitch" id="show-output-devices">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="halign">end</property> <property name="halign">end</property>
<property name="margin_right">5</property> <property name="margin-right">5</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -292,7 +296,7 @@
<child type="label"> <child type="label">
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">Output Devices</property> <property name="label" translatable="yes">Output Devices</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
@ -309,37 +313,37 @@
<child> <child>
<object class="GtkFrame"> <object class="GtkFrame">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="label_xalign">0</property> <property name="label-xalign">0</property>
<property name="shadow_type">out</property> <property name="shadow-type">out</property>
<child> <child>
<object class="GtkAlignment"> <object class="GtkAlignment">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<child> <child>
<object class="GtkListBox"> <object class="GtkListBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="selection_mode">none</property> <property name="selection-mode">none</property>
<child> <child>
<object class="GtkListBoxRow"> <object class="GtkListBoxRow">
<property name="width_request">100</property> <property name="width-request">100</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="hexpand">True</property> <property name="hexpand">True</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="valign">center</property> <property name="valign">center</property>
<property name="margin_top">6</property> <property name="margin-top">6</property>
<property name="margin_bottom">6</property> <property name="margin-bottom">6</property>
<child> <child>
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="halign">start</property> <property name="halign">start</property>
<property name="margin_left">5</property> <property name="margin-left">5</property>
<property name="label" translatable="yes">Show input devices</property> <property name="label" translatable="yes">Show input devices</property>
</object> </object>
<packing> <packing>
@ -351,9 +355,9 @@
<child> <child>
<object class="GtkSwitch" id="show-input-devices"> <object class="GtkSwitch" id="show-input-devices">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="halign">end</property> <property name="halign">end</property>
<property name="margin_right">5</property> <property name="margin-right">5</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -367,22 +371,22 @@
</child> </child>
<child> <child>
<object class="GtkListBoxRow"> <object class="GtkListBoxRow">
<property name="width_request">100</property> <property name="width-request">100</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="valign">center</property> <property name="valign">center</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="margin_top">6</property> <property name="margin-top">6</property>
<property name="margin_bottom">6</property> <property name="margin-bottom">6</property>
<child> <child>
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="halign">start</property> <property name="halign">start</property>
<property name="margin_left">5</property> <property name="margin-left">5</property>
<property name="label" translatable="yes">Show volume control for default device</property> <property name="label" translatable="yes">Show volume control for default device</property>
</object> </object>
<packing> <packing>
@ -394,9 +398,9 @@
<child> <child>
<object class="GtkSwitch" id="show-input-slider"> <object class="GtkSwitch" id="show-input-slider">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="halign">end</property> <property name="halign">end</property>
<property name="margin_right">5</property> <property name="margin-right">5</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -415,7 +419,7 @@
<child type="label"> <child type="label">
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">Input Devices</property> <property name="label" translatable="yes">Input Devices</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
@ -432,36 +436,36 @@
<child> <child>
<object class="GtkFrame"> <object class="GtkFrame">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="label_xalign">0</property> <property name="label-xalign">0</property>
<property name="shadow_type">in</property> <property name="shadow-type">in</property>
<child> <child>
<object class="GtkAlignment"> <object class="GtkAlignment">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<child> <child>
<object class="GtkListBox"> <object class="GtkListBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="selection_mode">none</property> <property name="selection-mode">none</property>
<child> <child>
<object class="GtkListBoxRow"> <object class="GtkListBoxRow">
<property name="width_request">100</property> <property name="width-request">100</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="name">6</property> <property name="name">6</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="margin_top">6</property> <property name="margin-top">6</property>
<property name="margin_bottom">6</property> <property name="margin-bottom">6</property>
<child> <child>
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="halign">start</property> <property name="halign">start</property>
<property name="margin_left">5</property> <property name="margin-left">5</property>
<property name="label" translatable="yes">Icon Theme</property> <property name="label" translatable="yes">Icon Theme</property>
</object> </object>
<packing> <packing>
@ -472,12 +476,12 @@
</child> </child>
<child> <child>
<object class="GtkComboBox" id="icon-theme"> <object class="GtkComboBox" id="icon-theme">
<property name="width_request">100</property> <property name="width-request">100</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="margin_right">5</property> <property name="margin-right">5</property>
<property name="model">icon-theme-store</property> <property name="model">icon-theme-store</property>
<property name="id_column">0</property> <property name="id-column">0</property>
<child> <child>
<object class="GtkCellRendererText" id="Text"/> <object class="GtkCellRendererText" id="Text"/>
<attributes> <attributes>
@ -497,21 +501,21 @@
</child> </child>
<child> <child>
<object class="GtkListBoxRow"> <object class="GtkListBoxRow">
<property name="width_request">100</property> <property name="width-request">100</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="margin_top">6</property> <property name="margin-top">6</property>
<property name="margin_bottom">6</property> <property name="margin-bottom">6</property>
<child> <child>
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="halign">start</property> <property name="halign">start</property>
<property name="margin_left">5</property> <property name="margin-left">5</property>
<property name="label" translatable="yes">Display icons only in selection list</property> <property name="label" translatable="yes">Display icons only in selection list</property>
</object> </object>
<packing> <packing>
@ -523,8 +527,8 @@
<child> <child>
<object class="GtkSwitch" id="hide-menu-icons"> <object class="GtkSwitch" id="hide-menu-icons">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="margin_right">5</property> <property name="margin-right">5</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -543,7 +547,7 @@
<child type="label"> <child type="label">
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">Icons</property> <property name="label" translatable="yes">Icons</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
@ -560,36 +564,36 @@
<child> <child>
<object class="GtkFrame"> <object class="GtkFrame">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="label_xalign">0</property> <property name="label-xalign">0</property>
<property name="shadow_type">in</property> <property name="shadow-type">in</property>
<child> <child>
<object class="GtkAlignment"> <object class="GtkAlignment">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<child> <child>
<object class="GtkListBox"> <object class="GtkListBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="selection_mode">none</property> <property name="selection-mode">none</property>
<child> <child>
<object class="GtkListBoxRow"> <object class="GtkListBoxRow">
<property name="width_request">100</property> <property name="width-request">100</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="name">6</property> <property name="name">6</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="margin_top">6</property> <property name="margin-top">6</property>
<property name="margin_bottom">6</property> <property name="margin-bottom">6</property>
<child> <child>
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="halign">start</property> <property name="halign">start</property>
<property name="margin_left">5</property> <property name="margin-left">5</property>
<property name="label" translatable="yes">Enable Log messages</property> <property name="label" translatable="yes">Enable Log messages</property>
</object> </object>
<packing> <packing>
@ -601,7 +605,7 @@
<child> <child>
<object class="GtkSwitch" id="enable-log"> <object class="GtkSwitch" id="enable-log">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
@ -615,21 +619,21 @@
</child> </child>
<child> <child>
<object class="GtkListBoxRow"> <object class="GtkListBoxRow">
<property name="width_request">100</property> <property name="width-request">100</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="margin_top">6</property> <property name="margin-top">6</property>
<property name="margin_bottom">6</property> <property name="margin-bottom">6</property>
<child> <child>
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="halign">start</property> <property name="halign">start</property>
<property name="margin_left">5</property> <property name="margin-left">5</property>
<property name="label" translatable="yes">Enable new profile identification </property> <property name="label" translatable="yes">Enable new profile identification </property>
</object> </object>
<packing> <packing>
@ -641,7 +645,7 @@
<child> <child>
<object class="GtkSwitch" id="new-profile-identification"> <object class="GtkSwitch" id="new-profile-identification">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="active">True</property> <property name="active">True</property>
</object> </object>
<packing> <packing>
@ -661,7 +665,7 @@
<child type="label"> <child type="label">
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">Miscellaneous</property> <property name="label" translatable="yes">Miscellaneous</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>
@ -685,41 +689,42 @@
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="margin_left">6</property> <property name="margin-left">6</property>
<property name="margin_right">12</property> <property name="margin-right">12</property>
<property name="margin_top">12</property> <property name="margin-top">12</property>
<property name="margin_bottom">12</property> <property name="margin-bottom">12</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<child> <child>
<object class="GtkFrame"> <object class="GtkFrame">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="vexpand">True</property> <property name="vexpand">True</property>
<property name="label_xalign">0</property> <property name="label-xalign">0</property>
<property name="shadow_type">out</property> <property name="shadow-type">out</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="margin_left">4</property> <property name="margin-left">4</property>
<property name="margin_right">4</property> <property name="margin-right">4</property>
<property name="margin_bottom">4</property> <property name="margin-bottom">4</property>
<property name="vexpand">True</property> <property name="vexpand">True</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<child> <child>
<object class="GtkScrolledWindow" id="scrolledwindow1"> <object class="GtkScrolledWindow" id="scrolledwindow1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="opacity">0.99999999865889544</property> <property name="opacity">0.9999999986588954</property>
<property name="hexpand">True</property> <property name="hexpand">True</property>
<property name="vexpand">True</property> <property name="vexpand">True</property>
<property name="resize_mode">queue</property> <property name="resize-mode">queue</property>
<property name="shadow_type">in</property> <property name="shadow-type">in</property>
<property name="min-content-width">500</property>
<child> <child>
<object class="GtkTreeView" id="port-treeview"> <object class="GtkTreeView" id="port-treeview">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can-focus">True</property>
<property name="vexpand">True</property> <property name="vexpand">True</property>
<property name="model">ports-store</property> <property name="model">ports-store</property>
<child internal-child="selection"> <child internal-child="selection">
@ -729,20 +734,21 @@
<object class="GtkTreeViewColumn" id="PortNameColumn"> <object class="GtkTreeViewColumn" id="PortNameColumn">
<property name="resizable">True</property> <property name="resizable">True</property>
<property name="sizing">autosize</property> <property name="sizing">autosize</property>
<property name="min_width">100</property> <property name="min-width">100</property>
<property name="title" translatable="yes">Name</property> <property name="title" translatable="yes">Name</property>
<property name="expand">True</property> <property name="expand">True</property>
<property name="sort_order">descending</property> <property name="sort-order">descending</property>
<child> <child>
<object class="GtkCellRendererText" id="PortNameRenderer"/> <object class="GtkCellRendererText" id="PortNameRenderer"/>
<attributes> <attributes>
<attribute name="text">0</attribute> <attribute name="text">7</attribute>
</attributes> </attributes>
</child> </child>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn" id="ShowAlwaysColumn"> <object class="GtkTreeViewColumn" id="ShowAlwaysColumn">
<property name="visible">False</property>
<property name="sizing">autosize</property> <property name="sizing">autosize</property>
<property name="title" translatable="yes">Show</property> <property name="title" translatable="yes">Show</property>
<child> <child>
@ -797,7 +803,7 @@
<child type="label"> <child type="label">
<object class="GtkLabel"> <object class="GtkLabel">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes">Port Settings</property> <property name="label" translatable="yes">Port Settings</property>
<attributes> <attributes>
<attribute name="weight" value="bold"/> <attribute name="weight" value="bold"/>

View File

@ -2,6 +2,7 @@
# '/usr/include/pulse/introspect.h' '/usr/include/pulse/mainloop.h' '/usr/include/pulse/context.h' # '/usr/include/pulse/introspect.h' '/usr/include/pulse/mainloop.h' '/usr/include/pulse/context.h'
# Refer additional licensing requirements for the files included # Refer additional licensing requirements for the files included
# sample commands used # sample commands used
# python3 /usr/bin/clang2py --clang-args="-I/usr/include/clang/6.0/include -I/usr/include/pulse" -l /usr/lib/libpulse.so '/usr/include/pulse/introspect.h' '/usr/include/pulse/mainloop.h' '/usr/include/pulse/proplist.h'
# python3 /usr/local/bin/clang2py --clang-args="-I/usr/include/clang/6.0/include -I/usr/include/pulse" -l /usr/lib/x86_64-linux-gnu/libpulse.so '/usr/include/pulse/introspect.h' '/usr/include/pulse/mainloop.h' # python3 /usr/local/bin/clang2py --clang-args="-I/usr/include/clang/6.0/include -I/usr/include/pulse" -l /usr/lib/x86_64-linux-gnu/libpulse.so '/usr/include/pulse/introspect.h' '/usr/include/pulse/mainloop.h'
# python3 /usr/local/bin/clang2py --clang-args="-I/usr/include/clang/6.0/include -I/usr/include/pulse" -l /usr/lib/x86_64-linux-gnu/libpulse.so '/usr/include/pulse/context.h' # python3 /usr/local/bin/clang2py --clang-args="-I/usr/include/clang/6.0/include -I/usr/include/pulse" -l /usr/lib/x86_64-linux-gnu/libpulse.so '/usr/include/pulse/context.h'
################################################################################ ################################################################################
@ -490,6 +491,16 @@ pa_operation_unref.argtypes = [POINTER_T(struct_pa_operation)]
# ('tv_usec', ctypes.c_int64), # ('tv_usec', ctypes.c_int64),
# ] # ]
pa_proplist_to_string = _libraries['libpulse.so'].pa_proplist_to_string
pa_proplist_to_string.restype = POINTER_T(ctypes.c_char)
pa_proplist_to_string.argtypes = [POINTER_T(struct_pa_proplist)]
pa_proplist_gets = _libraries['libpulse.so'].pa_proplist_gets
pa_proplist_gets.restype = POINTER_T(ctypes.c_char)
pa_proplist_gets.argtypes = [POINTER_T(struct_pa_proplist), POINTER_T(ctypes.c_char)]
__all__ = \ __all__ = \
['PA_CONTEXT_AUTHORIZING', 'PA_CONTEXT_CONNECTING', ['PA_CONTEXT_AUTHORIZING', 'PA_CONTEXT_CONNECTING',
'PA_CONTEXT_FAILED', 'PA_CONTEXT_NOAUTOSPAWN', 'PA_CONTEXT_FAILED', 'PA_CONTEXT_NOAUTOSPAWN',
@ -534,4 +545,4 @@ __all__ = \
'struct_pa_mainloop_api', 'struct_pa_operation', 'struct_pa_mainloop_api', 'struct_pa_operation',
'struct_pa_proplist', 'struct_pa_sample_spec', 'struct_pa_proplist', 'struct_pa_sample_spec',
'struct_pa_spawn_api', 'struct_pa_time_event', 'struct_pollfd', 'struct_pa_spawn_api', 'struct_pa_time_event', 'struct_pollfd',
'struct_timeval', 'uint32_t'] 'struct_timeval', 'uint32_t','pa_proplist_to_string','pa_proplist_gets']

View File

@ -18,7 +18,7 @@
import libpulse_introspect as pa import libpulse_introspect as pa
import sys import sys
from ctypes import c_int,byref from ctypes import c_int,byref, c_char_p, cast
import time import time
from json import dumps from json import dumps
@ -58,7 +58,7 @@ class PAHelper():
pa.pa_mainloop_iterate(self.mainloop, 0, byref(retVal)) pa.pa_mainloop_iterate(self.mainloop, 0, byref(retVal))
# print(dumps(self._ports, indent = 5))
print(dumps({'cards': self._cards, 'ports':self._ports}, indent = 5)) print(dumps({'cards': self._cards, 'ports':self._ports}, indent = 5))
try: try:
@ -82,6 +82,13 @@ class PAHelper():
card_obj['index'] = str(card.index) card_obj['index'] = str(card.index)
self._cards[card.index] = card_obj self._cards[card.index] = card_obj
card_obj['profiles'] = [] card_obj['profiles'] = []
card_name = cast(pa.pa_proplist_gets(card.proplist,c_char_p(b'alsa.card_name')),c_char_p)
card_obj['alsa_name'] = card_name.value.decode('utf8') if card_name else ''
description = cast(pa.pa_proplist_gets(card.proplist,c_char_p(b'device.description')),c_char_p)
card_obj['card_description'] = description.value.decode('utf8') if description else ''
card_obj['name'] = card.name.decode('utf8') if card.name else ''
for k in range(0, card.n_profiles): for k in range(0, card.n_profiles):
if(card.profiles2[k]): if(card.profiles2[k]):
profile = card.profiles2[k].contents profile = card.profiles2[k].contents
@ -102,6 +109,7 @@ class PAHelper():
obj['available'] = port.available obj['available'] = port.available
obj['n_profiles'] = port.n_profiles obj['n_profiles'] = port.n_profiles
obj['profiles'] = [] obj['profiles'] = []
obj['card_name'] = card_obj['name']
for j in range(0, port.n_profiles): for j in range(0, port.n_profiles):
if(port.profiles2[j]): if(port.profiles2[j]):
profile = port.profiles2[j].contents profile = port.profiles2[j].contents

View File

@ -1 +0,0 @@
raw.githubusercontent.com:HSTS 0 18617 1640101514058,1,0,2

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"version":1,"listeners":{"remote-settings/monitor_changes":{"version":"\"1608559052107\"","sourceInfo":{"moduleURI":"resource://services-settings/remote-settings.js","symbolName":"remoteSettingsBroadcastHandler"}}}} {"version":1,"listeners":{"remote-settings/monitor_changes":{"version":"\"1611086252115\"","sourceInfo":{"moduleURI":"resource://services-settings/remote-settings.js","symbolName":"remoteSettingsBroadcastHandler"}}}}

View File

@ -1,5 +1,5 @@
[Compatibility] [Compatibility]
LastVersion=84.0_20201215210116/20201215210116 LastVersion=84.0.2_20210107154745/20210107154745
LastOSABI=Linux_x86_64-gcc3 LastOSABI=Linux_x86_64-gcc3
LastPlatformDir=/usr/lib/firefox LastPlatformDir=/usr/lib/firefox
LastAppDir=/usr/lib/firefox/browser LastAppDir=/usr/lib/firefox/browser

View File

@ -14,20 +14,22 @@ user_pref("app.normandy.first_run", false);
user_pref("app.normandy.migrationsApplied", 10); user_pref("app.normandy.migrationsApplied", 10);
user_pref("app.normandy.startupExperimentPrefs.dom.push.alwaysConnect", true); user_pref("app.normandy.startupExperimentPrefs.dom.push.alwaysConnect", true);
user_pref("app.normandy.startupRolloutPrefs.app.normandy.onsync_skew_sec", 3300); user_pref("app.normandy.startupRolloutPrefs.app.normandy.onsync_skew_sec", 3300);
user_pref("app.normandy.startupRolloutPrefs.browser.toolbars.bookmarks.2h2020", true);
user_pref("app.normandy.startupRolloutPrefs.doh-rollout.enabled", true); user_pref("app.normandy.startupRolloutPrefs.doh-rollout.enabled", true);
user_pref("app.normandy.startupRolloutPrefs.doh-rollout.profileCreationThreshold", "1896163212345"); user_pref("app.normandy.startupRolloutPrefs.doh-rollout.profileCreationThreshold", "1896163212345");
user_pref("app.normandy.startupRolloutPrefs.network.preload", true);
user_pref("app.normandy.startupRolloutPrefs.services.sync.bookmarks.buffer.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.normandy.user_id", "f6151ad0-fece-4d81-9d5c-67449843ccf0");
user_pref("app.shield.optoutstudies.enabled", false); user_pref("app.shield.optoutstudies.enabled", false);
user_pref("app.update.lastUpdateTime.addon-background-update-timer", 1606946507); user_pref("app.update.lastUpdateTime.addon-background-update-timer", 1611097648);
user_pref("app.update.lastUpdateTime.blocklist-background-update-timer", 1588540518); user_pref("app.update.lastUpdateTime.blocklist-background-update-timer", 1588540518);
user_pref("app.update.lastUpdateTime.browser-cleanup-thumbnails", 1608565237); user_pref("app.update.lastUpdateTime.browser-cleanup-thumbnails", 1611097888);
user_pref("app.update.lastUpdateTime.recipe-client-addon-run", 1608565211); user_pref("app.update.lastUpdateTime.recipe-client-addon-run", 1611098008);
user_pref("app.update.lastUpdateTime.rs-experiment-loader-timer", 1608565076); user_pref("app.update.lastUpdateTime.rs-experiment-loader-timer", 1608565076);
user_pref("app.update.lastUpdateTime.search-engine-update-timer", 1608565357); user_pref("app.update.lastUpdateTime.search-engine-update-timer", 1608565357);
user_pref("app.update.lastUpdateTime.services-settings-poll-changes", 1608565477); user_pref("app.update.lastUpdateTime.services-settings-poll-changes", 1608565477);
user_pref("app.update.lastUpdateTime.telemetry_modules_ping", 1573002408); user_pref("app.update.lastUpdateTime.telemetry_modules_ping", 1573002408);
user_pref("app.update.lastUpdateTime.xpi-signature-verification", 1606946627); user_pref("app.update.lastUpdateTime.xpi-signature-verification", 1611097768);
user_pref("browser.bookmarks.defaultLocation", "unfiled"); user_pref("browser.bookmarks.defaultLocation", "unfiled");
user_pref("browser.bookmarks.restore_default_bookmarks", false); user_pref("browser.bookmarks.restore_default_bookmarks", false);
user_pref("browser.cache.disk.amount_written", 1754406); user_pref("browser.cache.disk.amount_written", 1754406);
@ -58,26 +60,24 @@ user_pref("browser.newtabpage.pinned", "[{\"url\":\"https://google.com\",\"label
user_pref("browser.newtabpage.storageVersion", 1); user_pref("browser.newtabpage.storageVersion", 1);
user_pref("browser.pageActions.persistedActions", "{\"version\":1,\"ids\":[\"bookmark\",\"bookmarkSeparator\",\"copyURL\",\"emailLink\",\"addSearchEngine\",\"screenshots_mozilla_org\",\"pinTab\"],\"idsInUrlbar\":[\"bookmark\"]}"); user_pref("browser.pageActions.persistedActions", "{\"version\":1,\"ids\":[\"bookmark\",\"bookmarkSeparator\",\"copyURL\",\"emailLink\",\"addSearchEngine\",\"screenshots_mozilla_org\",\"pinTab\"],\"idsInUrlbar\":[\"bookmark\"]}");
user_pref("browser.pagethumbnails.storage_version", 3); user_pref("browser.pagethumbnails.storage_version", 3);
user_pref("browser.region.update.first-seen", 1608565077);
user_pref("browser.region.update.region", "DE");
user_pref("browser.rights.3.shown", true); user_pref("browser.rights.3.shown", true);
user_pref("browser.safebrowsing.provider.google4.lastupdatetime", "1608565082888"); user_pref("browser.safebrowsing.provider.google4.lastupdatetime", "1611099419825");
user_pref("browser.safebrowsing.provider.google4.nextupdatetime", "1608566904888"); user_pref("browser.safebrowsing.provider.google4.nextupdatetime", "1611101199825");
user_pref("browser.safebrowsing.provider.mozilla.lastupdatetime", "1608565088092"); user_pref("browser.safebrowsing.provider.mozilla.lastupdatetime", "1611097630263");
user_pref("browser.safebrowsing.provider.mozilla.nextupdatetime", "1608586688092"); user_pref("browser.safebrowsing.provider.mozilla.nextupdatetime", "1611119230263");
user_pref("browser.search.region", "ES"); user_pref("browser.search.region", "ES");
user_pref("browser.sessionstore.upgradeBackup.latestBuildID", "20201215210116"); user_pref("browser.sessionstore.upgradeBackup.latestBuildID", "20210107154745");
user_pref("browser.shell.checkDefaultBrowser", true); user_pref("browser.shell.checkDefaultBrowser", true);
user_pref("browser.shell.didSkipDefaultBrowserCheckOnFirstRun", true); user_pref("browser.shell.didSkipDefaultBrowserCheckOnFirstRun", true);
user_pref("browser.shell.mostRecentDateSetAsDefault", "1608565208"); user_pref("browser.shell.mostRecentDateSetAsDefault", "1611097620");
user_pref("browser.slowStartup.averageTime", 2223); user_pref("browser.slowStartup.averageTime", 0);
user_pref("browser.slowStartup.samples", 4); user_pref("browser.slowStartup.samples", 0);
user_pref("browser.startup.homepage", "moz-extension://f393b4c4-359a-4d1e-b377-fd4b41112e16/index.html"); user_pref("browser.startup.homepage", "moz-extension://f393b4c4-359a-4d1e-b377-fd4b41112e16/index.html");
user_pref("browser.startup.homepage_override.buildID", "20201215210116"); user_pref("browser.startup.homepage_override.buildID", "20210107154745");
user_pref("browser.startup.homepage_override.extensionControlled", true); user_pref("browser.startup.homepage_override.extensionControlled", true);
user_pref("browser.startup.homepage_override.mstone", "84.0"); user_pref("browser.startup.homepage_override.mstone", "84.0.2");
user_pref("browser.startup.homepage_override.privateAllowed", true); user_pref("browser.startup.homepage_override.privateAllowed", true);
user_pref("browser.startup.lastColdStartupCheck", 1608565208); user_pref("browser.startup.lastColdStartupCheck", 1611097619);
user_pref("browser.startup.page", 3); user_pref("browser.startup.page", 3);
user_pref("browser.tabs.drawInTitlebar", false); user_pref("browser.tabs.drawInTitlebar", false);
user_pref("browser.tabs.extraDragSpace", true); user_pref("browser.tabs.extraDragSpace", true);
@ -99,7 +99,7 @@ user_pref("devtools.toolsidebar-width.inspector.splitsidebar", 350);
user_pref("devtools.webextensions.https-everywhere@eff.org.enabled", true); user_pref("devtools.webextensions.https-everywhere@eff.org.enabled", true);
user_pref("distribution.Manjaro.bookmarksProcessed", true); user_pref("distribution.Manjaro.bookmarksProcessed", true);
user_pref("distribution.archlinux.bookmarksProcessed", true); user_pref("distribution.archlinux.bookmarksProcessed", true);
user_pref("distribution.iniFile.exists.appversion", "84.0"); user_pref("distribution.iniFile.exists.appversion", "84.0.2");
user_pref("distribution.iniFile.exists.value", true); user_pref("distribution.iniFile.exists.value", true);
user_pref("distribution.manjaro.bookmarksProcessed", true); user_pref("distribution.manjaro.bookmarksProcessed", true);
user_pref("doh-rollout.balrog-migration-done", true); user_pref("doh-rollout.balrog-migration-done", true);
@ -107,7 +107,7 @@ user_pref("doh-rollout.doneFirstRun", true);
user_pref("doh-rollout.doorhanger-decision", "UIOk"); user_pref("doh-rollout.doorhanger-decision", "UIOk");
user_pref("doh-rollout.mode", 2); user_pref("doh-rollout.mode", 2);
user_pref("doh-rollout.self-enabled", true); user_pref("doh-rollout.self-enabled", true);
user_pref("dom.push.userAgentID", "a50879c3826e4b92a407b2c491a9f9b9"); user_pref("dom.push.userAgentID", "f5abd17aff1a4d769a270e8ed28f9a91");
user_pref("dom.security.https_only_mode", true); user_pref("dom.security.https_only_mode", true);
user_pref("dom.security.https_only_mode_ever_enabled", true); user_pref("dom.security.https_only_mode_ever_enabled", true);
user_pref("extensions.activeThemeID", "default-theme@mozilla.org"); user_pref("extensions.activeThemeID", "default-theme@mozilla.org");
@ -115,13 +115,13 @@ user_pref("extensions.blocklist.lastModified", "Sat, 09 Nov 2019 17:49:50 GMT");
user_pref("extensions.blocklist.pingCountTotal", 34); user_pref("extensions.blocklist.pingCountTotal", 34);
user_pref("extensions.blocklist.pingCountVersion", -1); user_pref("extensions.blocklist.pingCountVersion", -1);
user_pref("extensions.databaseSchema", 33); user_pref("extensions.databaseSchema", 33);
user_pref("extensions.getAddons.cache.lastUpdate", 1606946508); user_pref("extensions.getAddons.cache.lastUpdate", 1611097649);
user_pref("extensions.getAddons.databaseSchema", 6); user_pref("extensions.getAddons.databaseSchema", 6);
user_pref("extensions.htmlaboutaddons.recommendations.enabled", false); user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
user_pref("extensions.incognito.migrated", true); user_pref("extensions.incognito.migrated", true);
user_pref("extensions.lastAppBuildId", "20201126174332"); user_pref("extensions.lastAppBuildId", "20201126174332");
user_pref("extensions.lastAppVersion", "84.0"); user_pref("extensions.lastAppVersion", "84.0.2");
user_pref("extensions.lastPlatformVersion", "84.0"); user_pref("extensions.lastPlatformVersion", "84.0.2");
user_pref("extensions.pendingOperations", false); user_pref("extensions.pendingOperations", false);
user_pref("extensions.pocket.enabled", false); user_pref("extensions.pocket.enabled", false);
user_pref("extensions.pocket.settings.test.panelSignUp", "control"); user_pref("extensions.pocket.settings.test.panelSignUp", "control");
@ -154,15 +154,15 @@ user_pref("gfx.blacklist.layers.opengl", 4);
user_pref("gfx.blacklist.layers.opengl.failureid", "FEATURE_FAILURE_SOFTWARE_GL"); user_pref("gfx.blacklist.layers.opengl.failureid", "FEATURE_FAILURE_SOFTWARE_GL");
user_pref("identity.fxaccounts.enabled", false); user_pref("identity.fxaccounts.enabled", false);
user_pref("identity.fxaccounts.toolbar.accessed", true); user_pref("identity.fxaccounts.toolbar.accessed", true);
user_pref("idle.lastDailyNotification", 1608565394); user_pref("idle.lastDailyNotification", 1611097763);
user_pref("lightweightThemes.usedThemes", "[]"); user_pref("lightweightThemes.usedThemes", "[]");
user_pref("media.benchmark.vp9.fps", 102); user_pref("media.benchmark.vp9.fps", 102);
user_pref("media.benchmark.vp9.versioncheck", 5); user_pref("media.benchmark.vp9.versioncheck", 5);
user_pref("media.gmp-gmpopenh264.abi", "x86_64-gcc3"); user_pref("media.gmp-gmpopenh264.abi", "x86_64-gcc3");
user_pref("media.gmp-gmpopenh264.lastUpdate", 1572996640); user_pref("media.gmp-gmpopenh264.lastUpdate", 1572996640);
user_pref("media.gmp-gmpopenh264.version", "1.8.1.1"); user_pref("media.gmp-gmpopenh264.version", "1.8.1.1");
user_pref("media.gmp-manager.buildID", "20201215210116"); user_pref("media.gmp-manager.buildID", "20210107154745");
user_pref("media.gmp-manager.lastCheck", 1608565323); user_pref("media.gmp-manager.lastCheck", 1611097723);
user_pref("media.gmp.storage.version.observed", 1); user_pref("media.gmp.storage.version.observed", 1);
user_pref("network.dns.disablePrefetch", true); user_pref("network.dns.disablePrefetch", true);
user_pref("network.http.speculative-parallel-limit", 0); user_pref("network.http.speculative-parallel-limit", 0);
@ -174,13 +174,13 @@ user_pref("pdfjs.enabledCache.state", true);
user_pref("pdfjs.migrationVersion", 2); user_pref("pdfjs.migrationVersion", 2);
user_pref("pdfjs.previousHandler.alwaysAskBeforeHandling", true); user_pref("pdfjs.previousHandler.alwaysAskBeforeHandling", true);
user_pref("pdfjs.previousHandler.preferredAction", 4); user_pref("pdfjs.previousHandler.preferredAction", 4);
user_pref("places.database.lastMaintenance", 1608565394); user_pref("places.database.lastMaintenance", 1611097763);
user_pref("places.history.expiration.transient_current_max_pages", 112348); user_pref("places.history.expiration.transient_current_max_pages", 84803);
user_pref("plugin.disable_full_page_plugin_for_types", "application/pdf"); user_pref("plugin.disable_full_page_plugin_for_types", "application/pdf");
user_pref("privacy.cpd.offlineApps", true); user_pref("privacy.cpd.offlineApps", true);
user_pref("privacy.cpd.siteSettings", true); user_pref("privacy.cpd.siteSettings", true);
user_pref("privacy.purge_trackers.date_in_cookie_database", "0"); user_pref("privacy.purge_trackers.date_in_cookie_database", "0");
user_pref("privacy.purge_trackers.last_purge", "1608565394568"); user_pref("privacy.purge_trackers.last_purge", "1611097763522");
user_pref("privacy.sanitize.pending", "[]"); user_pref("privacy.sanitize.pending", "[]");
user_pref("privacy.sanitize.timeSpan", 0); user_pref("privacy.sanitize.timeSpan", 0);
user_pref("privacy.trackingprotection.enabled", true); user_pref("privacy.trackingprotection.enabled", true);
@ -189,40 +189,40 @@ user_pref("security.remote_settings.crlite_filters.checked", 1608567143);
user_pref("security.remote_settings.intermediates.checked", 1608567143); user_pref("security.remote_settings.intermediates.checked", 1608567143);
user_pref("security.sandbox.content.tempDirSuffix", "62ec57d4-3516-41bf-957e-19cd307d5b61"); user_pref("security.sandbox.content.tempDirSuffix", "62ec57d4-3516-41bf-957e-19cd307d5b61");
user_pref("security.sandbox.plugin.tempDirSuffix", "851284ee-3855-4de7-86af-976adc3a2c11"); user_pref("security.sandbox.plugin.tempDirSuffix", "851284ee-3855-4de7-86af-976adc3a2c11");
user_pref("services.blocklist.addons-mlbf.checked", 1608567143); user_pref("services.blocklist.addons-mlbf.checked", 1611097622);
user_pref("services.blocklist.addons.checked", 1598664411); user_pref("services.blocklist.addons.checked", 1598664411);
user_pref("services.blocklist.gfx.checked", 1608567143); user_pref("services.blocklist.gfx.checked", 1611097622);
user_pref("services.blocklist.onecrl.checked", 1565793602); user_pref("services.blocklist.onecrl.checked", 1565793602);
user_pref("services.blocklist.pinning.checked", 1608567143); user_pref("services.blocklist.pinning.checked", 1608567143);
user_pref("services.blocklist.plugins.checked", 1608567143); user_pref("services.blocklist.plugins.checked", 1611097622);
user_pref("services.settings.clock_skew_seconds", -1666); user_pref("services.settings.clock_skew_seconds", -1);
user_pref("services.settings.last_etag", "\"1608559052107\""); user_pref("services.settings.last_etag", "\"1611086252115\"");
user_pref("services.settings.last_update_seconds", 1608567143); user_pref("services.settings.last_update_seconds", 1611097622);
user_pref("services.settings.main.anti-tracking-url-decoration.last_check", 1608567143); user_pref("services.settings.main.anti-tracking-url-decoration.last_check", 1611097622);
user_pref("services.settings.main.cfr-fxa.last_check", 1608567143); user_pref("services.settings.main.cfr-fxa.last_check", 1611097622);
user_pref("services.settings.main.cfr.last_check", 1608567143); user_pref("services.settings.main.cfr.last_check", 1611097622);
user_pref("services.settings.main.fxmonitor-breaches.last_check", 1608567143); user_pref("services.settings.main.fxmonitor-breaches.last_check", 1611097622);
user_pref("services.settings.main.hijack-blocklists.last_check", 1608567143); user_pref("services.settings.main.hijack-blocklists.last_check", 1611097622);
user_pref("services.settings.main.language-dictionaries.last_check", 1608567143); user_pref("services.settings.main.language-dictionaries.last_check", 1611097622);
user_pref("services.settings.main.message-groups.last_check", 1608567143); user_pref("services.settings.main.message-groups.last_check", 1611097622);
user_pref("services.settings.main.messaging-experiments.last_check", 1604995344); user_pref("services.settings.main.messaging-experiments.last_check", 1604995344);
user_pref("services.settings.main.nimbus-desktop-experiments.last_check", 1608567143); user_pref("services.settings.main.nimbus-desktop-experiments.last_check", 1611097622);
user_pref("services.settings.main.normandy-recipes-capabilities.last_check", 1608567143); user_pref("services.settings.main.normandy-recipes-capabilities.last_check", 1611097622);
user_pref("services.settings.main.normandy-recipes.last_check", 1573409021); user_pref("services.settings.main.normandy-recipes.last_check", 1573409021);
user_pref("services.settings.main.onboarding.last_check", 1565793602); user_pref("services.settings.main.onboarding.last_check", 1565793602);
user_pref("services.settings.main.partitioning-exempt-urls.last_check", 1608567143); user_pref("services.settings.main.partitioning-exempt-urls.last_check", 1611097622);
user_pref("services.settings.main.password-recipes.last_check", 1608567143); user_pref("services.settings.main.password-recipes.last_check", 1611097622);
user_pref("services.settings.main.pioneer-study-addons-v1.last_check", 1608567143); user_pref("services.settings.main.pioneer-study-addons-v1.last_check", 1611097622);
user_pref("services.settings.main.pioneer-study-addons.last_check", 1608567143); user_pref("services.settings.main.pioneer-study-addons.last_check", 1611097622);
user_pref("services.settings.main.public-suffix-list.last_check", 1608567143); user_pref("services.settings.main.public-suffix-list.last_check", 1611097622);
user_pref("services.settings.main.search-config.last_check", 1608567143); user_pref("services.settings.main.search-config.last_check", 1611097622);
user_pref("services.settings.main.search-default-override-allowlist.last_check", 1608567143); user_pref("services.settings.main.search-default-override-allowlist.last_check", 1611097622);
user_pref("services.settings.main.search-telemetry.last_check", 1608567143); user_pref("services.settings.main.search-telemetry.last_check", 1611097622);
user_pref("services.settings.main.sites-classification.last_check", 1608567143); user_pref("services.settings.main.sites-classification.last_check", 1611097622);
user_pref("services.settings.main.tippytop.last_check", 1608567143); user_pref("services.settings.main.tippytop.last_check", 1611097622);
user_pref("services.settings.main.top-sites.last_check", 1608567143); user_pref("services.settings.main.top-sites.last_check", 1611097622);
user_pref("services.settings.main.url-classifier-skip-urls.last_check", 1608567143); user_pref("services.settings.main.url-classifier-skip-urls.last_check", 1611097622);
user_pref("services.settings.main.whats-new-panel.last_check", 1608567143); user_pref("services.settings.main.whats-new-panel.last_check", 1611097622);
user_pref("services.settings.security.onecrl.checked", 1608567143); user_pref("services.settings.security.onecrl.checked", 1608567143);
user_pref("services.sync.clients.lastSync", "0"); user_pref("services.sync.clients.lastSync", "0");
user_pref("services.sync.declinedEngines", ""); user_pref("services.sync.declinedEngines", "");
@ -231,9 +231,9 @@ user_pref("services.sync.nextSync", 0);
user_pref("services.sync.tabs.lastSync", "0"); user_pref("services.sync.tabs.lastSync", "0");
user_pref("signon.importedFromSqlite", true); user_pref("signon.importedFromSqlite", true);
user_pref("signon.usage.hasEntry", false); user_pref("signon.usage.hasEntry", false);
user_pref("storage.vacuum.last.index", 0); user_pref("storage.vacuum.last.index", 1);
user_pref("storage.vacuum.last.places.sqlite", 1608565394); user_pref("storage.vacuum.last.places.sqlite", 1608565394);
user_pref("toolkit.startup.last_success", 1608565206); user_pref("toolkit.startup.last_success", 1611097615);
user_pref("toolkit.telemetry.archive.enabled", false); user_pref("toolkit.telemetry.archive.enabled", false);
user_pref("toolkit.telemetry.bhrPing.enabled", false); user_pref("toolkit.telemetry.bhrPing.enabled", false);
user_pref("toolkit.telemetry.cachedClientID", "c0ffeec0-ffee-c0ff-eec0-ffeec0ffeec0"); user_pref("toolkit.telemetry.cachedClientID", "c0ffeec0-ffee-c0ff-eec0-ffeec0ffeec0");

Some files were not shown because too many files have changed in this diff Show More