a few changes
This commit is contained in:
parent
8c0693f810
commit
25ecd01890
|
@ -6,8 +6,9 @@ vimix-kde-git
|
|||
vimix-gtk-themes-git
|
||||
kvantum-theme-vimix-git
|
||||
imageburner
|
||||
feathernotes-git
|
||||
bitmask
|
||||
gnome-fuzzy-app-search-git
|
||||
openrgb
|
||||
|
||||
|
||||
|
||||
|
@ -88,6 +89,9 @@ dconf-editor
|
|||
dmidecode
|
||||
gdm
|
||||
gedit
|
||||
|
||||
feathernotes
|
||||
|
||||
gtksourceview-pkgbuild #highlight for PKGBUILD
|
||||
gnome-calculator
|
||||
gnome-control-center
|
||||
|
@ -102,7 +106,6 @@ gnome-settings-daemon
|
|||
gnome-shell
|
||||
gnome-system-log
|
||||
gnome-system-monitor
|
||||
gnome-terminal
|
||||
gnome-themes-standard
|
||||
gnome-user-docs
|
||||
gnome-tweaks
|
||||
|
@ -130,6 +133,7 @@ inxi
|
|||
kernel-alive
|
||||
pacui
|
||||
mc
|
||||
|
||||
########
|
||||
manjaro-alsa
|
||||
manjaro-hotfixes
|
||||
|
@ -165,7 +169,6 @@ avahi
|
|||
networkmanager
|
||||
ntp
|
||||
openssh
|
||||
terminus-font-otb
|
||||
tracker
|
||||
tracker-miners
|
||||
qgnomeplatform
|
||||
|
|
|
@ -4,6 +4,7 @@ autoReplace=false
|
|||
autoSave=1
|
||||
noIndent=false
|
||||
noWrap=false
|
||||
openLastFile=true
|
||||
scrollJumpWorkaround=false
|
||||
|
||||
[window]
|
||||
|
|
|
@ -29,6 +29,7 @@ const _d = Lib._log;
|
|||
const Prefs = Me.imports.prefs;
|
||||
const SignalManager = Lib.SignalManager;
|
||||
|
||||
let maxId = -1;
|
||||
|
||||
var SoundDeviceChooserBase = class SoundDeviceChooserBase {
|
||||
|
||||
|
@ -37,6 +38,7 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
|
|||
this.menuItem = new PopupMenu.PopupSubMenuMenuItem('Extension initialising...', true);
|
||||
this.deviceType = deviceType;
|
||||
this._devices = {};
|
||||
this._cards = [];
|
||||
this._availableDevicesIds = {};
|
||||
this._control = VolumeMenu.getMixerControl();
|
||||
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 + "-removed", this._deviceRemoved.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.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._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
|
||||
|
@ -86,9 +91,10 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
|
|||
*/
|
||||
|
||||
let id = 0;
|
||||
let maxId = -1;
|
||||
if (maxId < 0) {
|
||||
let dummyDevice = new Gvc.MixerUIDevice();
|
||||
maxId = dummyDevice.get_id();
|
||||
}
|
||||
_d("Max Id:" + maxId);
|
||||
|
||||
let defaultDevice = this.getDefaultDevice();
|
||||
|
@ -108,8 +114,9 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.activeProfileTimeout = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 1000,
|
||||
//We dont have any way to understand that the profile has changed in the settings
|
||||
//Just an useless workaround and potentially crashes shell
|
||||
this.activeProfileTimeout = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 2000,
|
||||
this._setActiveProfile.bind(this));
|
||||
|
||||
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) {
|
||||
let obj = this._devices[id];
|
||||
let uidevice = null;
|
||||
|
||||
if (!obj) {
|
||||
uidevice = this.lookupDeviceById(id);
|
||||
if(!uidevice) {
|
||||
if (!uidevice || !uidevice.port_name || uidevice.description.match(/Dummy\s+(Output|Input)/gi)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
obj = new Object();
|
||||
obj.id = id;
|
||||
obj.uidevice = uidevice;
|
||||
obj.text = uidevice.description;
|
||||
if (uidevice.origin != "")
|
||||
obj.text += " (" + uidevice.origin + ")";
|
||||
obj.text += " - " + uidevice.origin;
|
||||
|
||||
/*
|
||||
* obj.item = this.menu.addAction( obj.text, function() {
|
||||
|
@ -151,6 +168,7 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
|
|||
let icon_name = this._getIcon(icon);
|
||||
|
||||
obj.item = this.menuItem.menu.addAction(obj.text, function() {
|
||||
_d("Device Change request");
|
||||
this.changeDevice(uidevice);
|
||||
}.bind(this), icon_name);
|
||||
|
||||
|
@ -179,15 +197,21 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
|
|||
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]) {
|
||||
this._availableDevicesIds[id] = 0;
|
||||
}
|
||||
this._availableDevicesIds[id]++;
|
||||
|
||||
obj.active = true;
|
||||
let stream = this._control.get_stream_from_device(uidevice);
|
||||
if (stream) {
|
||||
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) {
|
||||
for (let profile of obj.profiles) {
|
||||
let profileItem = obj.profilesitems[profile.name];
|
||||
|
@ -195,6 +219,11 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
|
|||
let profileName = profile.name;
|
||||
profileItem = this.menuItem.menu.addAction("Profile: " + profile.human_name, function() {
|
||||
_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) {
|
||||
_d("Changing active device to " + uidevice.description + ":" + uidevice.port_name);
|
||||
this.changeDevice(uidevice);
|
||||
|
@ -245,8 +274,9 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
|
|||
|
||||
_deviceRemoved(control, id, dontcheck) {
|
||||
let obj = this._devices[id];
|
||||
//delete this._devices[id];
|
||||
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)) {
|
||||
_d('Device removed, but not hiding as its set to be shown always');
|
||||
return;
|
||||
|
@ -274,6 +304,7 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
|
|||
* activated. So, lets wait for sometime before activating.
|
||||
*/
|
||||
this.deviceRemovedTimout = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 1500, function() {
|
||||
_d("Device Removed timeout");
|
||||
if (obj === this._activeDevice) {
|
||||
for (let id in this._devices) {
|
||||
let device = this._devices[id];
|
||||
|
@ -294,7 +325,7 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
|
|||
_deviceActivated(control, id) {
|
||||
let obj = this._devices[id];
|
||||
if (obj && obj !== this._activeDevice) {
|
||||
_d("Activated: " + id);
|
||||
_d("Activated: " + id + ":" + obj.uidevice.description + ":" + obj.uidevice.port_name + ":" + obj.uidevice.origin);
|
||||
if (this._activeDevice) {
|
||||
this._activeDevice.item.setOrnament(PopupMenu.Ornament.NONE);
|
||||
if (this._activeDevice.item.remove_style_pseudo_class) {
|
||||
|
@ -328,17 +359,23 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
|
|||
}
|
||||
|
||||
_setActiveProfile() {
|
||||
for (let id in this._devices) {
|
||||
//_d("Setting Active Profile");
|
||||
/*for (let id in this._devices) {
|
||||
let device = this._devices[id];
|
||||
if (device.active) {
|
||||
this._setDeviceActiveProfile(device);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
this._setDeviceActiveProfile(this._activeDevice);
|
||||
return true;
|
||||
}
|
||||
|
||||
_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;
|
||||
}
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
case 1:
|
||||
return true;
|
||||
|
@ -442,7 +497,8 @@ var SoundDeviceChooserBase = class SoundDeviceChooserBase{
|
|||
}
|
||||
|
||||
_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) {
|
||||
let device = this._devices[id];
|
||||
let uidevice = device.uidevice;
|
||||
|
|
|
@ -71,8 +71,16 @@ function getSettings(schema) {
|
|||
}
|
||||
|
||||
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());
|
||||
if (stream) {
|
||||
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]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
else {
|
||||
/* Device is not active device, lets try match with port name */
|
||||
refreshCards();
|
||||
for (let id in cards) {
|
||||
let profiles;
|
||||
_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;
|
||||
}
|
||||
}
|
||||
|
@ -126,7 +132,8 @@ function refreshCards() {
|
|||
// if(_settings == null) {getSettings(Prefs.SETTINGS_SCHEMA);}
|
||||
let _settings = getSettings(Prefs.SETTINGS_SCHEMA);
|
||||
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");
|
||||
let pyLocation = Me.dir.get_child('utils/pa_helper.py').get_path();
|
||||
let pythonExec = 'python';
|
||||
|
@ -163,8 +170,8 @@ function refreshCards() {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!_settings.get_boolean(Prefs.NEW_PROFILE_ID) || error){
|
||||
//error = true;
|
||||
if (!newProfLogic || error) {
|
||||
try {
|
||||
let [result, out, err, exit_code] = GLib.spawn_command_line_sync('pactl list cards');
|
||||
if (result && !exit_code) {
|
||||
|
@ -175,9 +182,10 @@ function refreshCards() {
|
|||
_log('ERROR: pactl execution failed. No ports/profiles will be displayed');
|
||||
}
|
||||
}
|
||||
//_log(Array.isArray(cards));
|
||||
//_log(JSON.stringify(cards));
|
||||
//_log(Array.isArray(ports));
|
||||
//_log(JSON.stringify(ports));
|
||||
|
||||
}
|
||||
|
||||
function parseOutput(out) {
|
||||
|
@ -202,6 +210,13 @@ function parseOutput(out) {
|
|||
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:$/)) {
|
||||
parseSection = "PROFILES";
|
||||
}
|
||||
|
@ -210,16 +225,24 @@ function parseOutput(out) {
|
|||
}
|
||||
else if (cards[cardIndex]) {
|
||||
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":
|
||||
if ((matches = /.*?((?:output|input)[^+]*?):\s(.*?)\s\(sinks:/.exec(line))) {
|
||||
cards[cardIndex].profiles.push({ 'name': matches[1], 'human_name': matches[2] });
|
||||
}
|
||||
break;
|
||||
case "PORTS":
|
||||
if((matches = /\t*(.*?):\s(.*?)\s\(priority:/.exec(line))) {
|
||||
port = {'name' : matches[1], 'human_name' : matches[2]};
|
||||
if ((matches = /\t*(.*?):\s(.*?)\s\(.*?priority:/.exec(line))) {
|
||||
port = { 'name': matches[1], 'human_name': matches[2], 'card_name': cards[cardIndex].name, 'card_description' : cards[cardIndex].card_description };
|
||||
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))) {
|
||||
let profileStr = matches[1];
|
||||
|
@ -330,7 +353,7 @@ function dump(obj) {
|
|||
for (var propName in obj) {
|
||||
try {
|
||||
propValue = obj[propName];
|
||||
_log(propName + propValue);
|
||||
_log(propName + "=" + propValue);
|
||||
}
|
||||
catch (e) { _log(propName + "!!!Error!!!"); }
|
||||
}
|
||||
|
|
|
@ -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"
|
|
@ -11,5 +11,5 @@
|
|||
],
|
||||
"url": "https://github.com/kgshank/gse-sound-output-device-chooser",
|
||||
"uuid": "sound-output-device-chooser@kgshank.net",
|
||||
"version": 32
|
||||
"version": 33
|
||||
}
|
|
@ -48,8 +48,56 @@ var ICON_THEME_COLORED = "colored";
|
|||
var ICON_THEME_MONOCHROME = "monochrome";
|
||||
var ICON_THEME_NONE = "none";
|
||||
|
||||
const PORT_SETTINGS_VERSION = 2;
|
||||
|
||||
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({
|
||||
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(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 hideAlwaysToggleRender = builder.get_object("HideAlwaysToggleRender");
|
||||
let showActiveToggleRender = builder.get_object("ShowActiveToggleRender");
|
||||
|
@ -129,9 +177,8 @@ const SDCSettingsWidget = new GObject.Class({
|
|||
|
||||
_populatePorts: function() {
|
||||
let ports = Lib.getPorts(true);
|
||||
for (let port of ports)
|
||||
{
|
||||
this._portsStore.set(this._portsStore.append(),[0,1,2,3,4,5],[port.human_name, false, false, true, port.name,3]);
|
||||
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)]);
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -149,18 +196,22 @@ const SDCSettingsWidget = new GObject.Class({
|
|||
|
||||
_toggleCallback: function(widget, path, activeCol, inactiveCols) {
|
||||
let active = !widget.active;
|
||||
if(!active)
|
||||
{
|
||||
if (!active) {
|
||||
return;
|
||||
}
|
||||
let [success, iter] = this._portsStore.get_iter_from_string(path);
|
||||
if (!success) {
|
||||
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, 5, activeCol);
|
||||
for (let col of inactiveCols)
|
||||
{
|
||||
for (let col of inactiveCols) {
|
||||
this._portsStore.set_value(iter, col, !active);
|
||||
}
|
||||
this._commitSettings();
|
||||
|
@ -175,17 +226,19 @@ const SDCSettingsWidget = new GObject.Class({
|
|||
ports.push({
|
||||
human_name: this._portsStore.get_value(iter, 0),
|
||||
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);
|
||||
}
|
||||
|
||||
this._settings.set_string(PORT_SETTINGS, JSON.stringify(ports));
|
||||
setPortsSettings(ports, this._settings);
|
||||
},
|
||||
|
||||
_restorePortsFromSettings: function() {
|
||||
let ports = JSON.parse(this._settings.get_string(PORT_SETTINGS));
|
||||
let ports = getPortsFromSettings(this._settings);
|
||||
|
||||
let found;
|
||||
for (let port of ports) {
|
||||
|
@ -199,8 +252,9 @@ const SDCSettingsWidget = new GObject.Class({
|
|||
while (iter && success) {
|
||||
let human_name = this._portsStore.get_value(iter, 0);
|
||||
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, port.display_option, true);
|
||||
this._portsStore.set_value(iter, 5, port.display_option);
|
||||
|
@ -212,8 +266,8 @@ const SDCSettingsWidget = new GObject.Class({
|
|||
|
||||
if (!found) {
|
||||
iter = this._portsStore.append();
|
||||
this._portsStore.set(iter, [0,1,2,3,4,5],
|
||||
[port.human_name, false, false, false, port.name,port.display_option]);
|
||||
this._portsStore.set(iter, [0, 1, 2, 3, 4, 5, 6, 7],
|
||||
[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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.22.1 -->
|
||||
<!-- Generated with glade 3.38.2 -->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.16"/>
|
||||
<object class="GtkListStore" id="icon-theme-store">
|
||||
|
@ -38,65 +38,69 @@
|
|||
<column type="gchararray"/>
|
||||
<!-- column-name SelectedColumn -->
|
||||
<column type="gint"/>
|
||||
<!-- column-name CardName -->
|
||||
<column type="gchararray"/>
|
||||
<!-- column-name DisplayName -->
|
||||
<column type="gchararray"/>
|
||||
</columns>
|
||||
</object>
|
||||
<object class="GtkBox" id="main-container">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_left">6</property>
|
||||
<property name="margin_right">6</property>
|
||||
<property name="margin_top">6</property>
|
||||
<property name="margin_bottom">6</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-left">6</property>
|
||||
<property name="margin-right">6</property>
|
||||
<property name="margin-top">6</property>
|
||||
<property name="margin-bottom">6</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">2</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="vexpand">True</property>
|
||||
<property name="homogeneous">True</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_left">12</property>
|
||||
<property name="margin_right">6</property>
|
||||
<property name="margin_top">12</property>
|
||||
<property name="margin_bottom">12</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-left">12</property>
|
||||
<property name="margin-right">6</property>
|
||||
<property name="margin-top">12</property>
|
||||
<property name="margin-bottom">12</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">12</property>
|
||||
<child>
|
||||
<object class="GtkFrame">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label_xalign">0</property>
|
||||
<property name="shadow_type">out</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label-xalign">0</property>
|
||||
<property name="shadow-type">out</property>
|
||||
<child>
|
||||
<object class="GtkAlignment">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</property>
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="selection_mode">none</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="selection-mode">none</property>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="width_request">100</property>
|
||||
<property name="width-request">100</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_top">6</property>
|
||||
<property name="margin_bottom">6</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-top">6</property>
|
||||
<property name="margin-bottom">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</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>
|
||||
</object>
|
||||
<packing>
|
||||
|
@ -108,9 +112,9 @@
|
|||
<child>
|
||||
<object class="GtkSwitch" id="single-device">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="margin_right">5</property>
|
||||
<property name="margin-right">5</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
@ -124,21 +128,21 @@
|
|||
</child>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="width_request">100</property>
|
||||
<property name="width-request">100</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_top">6</property>
|
||||
<property name="margin_bottom">6</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-top">6</property>
|
||||
<property name="margin-bottom">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</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>
|
||||
</object>
|
||||
<packing>
|
||||
|
@ -150,9 +154,9 @@
|
|||
<child>
|
||||
<object class="GtkSwitch" id="show-profile">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="margin_right">5</property>
|
||||
<property name="margin-right">5</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
@ -166,22 +170,22 @@
|
|||
</child>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="width_request">100</property>
|
||||
<property name="width-request">100</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_top">6</property>
|
||||
<property name="margin_bottom">6</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-top">6</property>
|
||||
<property name="margin-bottom">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
<property name="margin_left">5</property>
|
||||
<property name="margin_right">20</property>
|
||||
<property name="margin-left">5</property>
|
||||
<property name="margin-right">20</property>
|
||||
<property name="label" translatable="yes">Extend Volume Menu to fit device names</property>
|
||||
</object>
|
||||
<packing>
|
||||
|
@ -193,9 +197,9 @@
|
|||
<child>
|
||||
<object class="GtkSwitch" id="expand-volume-menu">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="margin_right">5</property>
|
||||
<property name="margin-right">5</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
@ -214,7 +218,7 @@
|
|||
<child type="label">
|
||||
<object class="GtkLabel">
|
||||
<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>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
|
@ -231,35 +235,35 @@
|
|||
<child>
|
||||
<object class="GtkFrame">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label_xalign">0</property>
|
||||
<property name="shadow_type">out</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label-xalign">0</property>
|
||||
<property name="shadow-type">out</property>
|
||||
<child>
|
||||
<object class="GtkAlignment">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</property>
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</property>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="width_request">100</property>
|
||||
<property name="width-request">100</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin_top">6</property>
|
||||
<property name="margin_bottom">6</property>
|
||||
<property name="margin-top">6</property>
|
||||
<property name="margin-bottom">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</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>
|
||||
</object>
|
||||
<packing>
|
||||
|
@ -271,9 +275,9 @@
|
|||
<child>
|
||||
<object class="GtkSwitch" id="show-output-devices">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="margin_right">5</property>
|
||||
<property name="margin-right">5</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
@ -292,7 +296,7 @@
|
|||
<child type="label">
|
||||
<object class="GtkLabel">
|
||||
<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>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
|
@ -309,37 +313,37 @@
|
|||
<child>
|
||||
<object class="GtkFrame">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label_xalign">0</property>
|
||||
<property name="shadow_type">out</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label-xalign">0</property>
|
||||
<property name="shadow-type">out</property>
|
||||
<child>
|
||||
<object class="GtkAlignment">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</property>
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="selection_mode">none</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="selection-mode">none</property>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="width_request">100</property>
|
||||
<property name="width-request">100</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="hexpand">True</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin_top">6</property>
|
||||
<property name="margin_bottom">6</property>
|
||||
<property name="margin-top">6</property>
|
||||
<property name="margin-bottom">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</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>
|
||||
</object>
|
||||
<packing>
|
||||
|
@ -351,9 +355,9 @@
|
|||
<child>
|
||||
<object class="GtkSwitch" id="show-input-devices">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="margin_right">5</property>
|
||||
<property name="margin-right">5</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
@ -367,22 +371,22 @@
|
|||
</child>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="width_request">100</property>
|
||||
<property name="width-request">100</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="valign">center</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_top">6</property>
|
||||
<property name="margin_bottom">6</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-top">6</property>
|
||||
<property name="margin-bottom">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</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>
|
||||
</object>
|
||||
<packing>
|
||||
|
@ -394,9 +398,9 @@
|
|||
<child>
|
||||
<object class="GtkSwitch" id="show-input-slider">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="margin_right">5</property>
|
||||
<property name="margin-right">5</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
@ -415,7 +419,7 @@
|
|||
<child type="label">
|
||||
<object class="GtkLabel">
|
||||
<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>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
|
@ -432,36 +436,36 @@
|
|||
<child>
|
||||
<object class="GtkFrame">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label_xalign">0</property>
|
||||
<property name="shadow_type">in</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label-xalign">0</property>
|
||||
<property name="shadow-type">in</property>
|
||||
<child>
|
||||
<object class="GtkAlignment">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</property>
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="selection_mode">none</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="selection-mode">none</property>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="width_request">100</property>
|
||||
<property name="width-request">100</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="name">6</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_top">6</property>
|
||||
<property name="margin_bottom">6</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-top">6</property>
|
||||
<property name="margin-bottom">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</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>
|
||||
</object>
|
||||
<packing>
|
||||
|
@ -472,12 +476,12 @@
|
|||
</child>
|
||||
<child>
|
||||
<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="can_focus">False</property>
|
||||
<property name="margin_right">5</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-right">5</property>
|
||||
<property name="model">icon-theme-store</property>
|
||||
<property name="id_column">0</property>
|
||||
<property name="id-column">0</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="Text"/>
|
||||
<attributes>
|
||||
|
@ -497,21 +501,21 @@
|
|||
</child>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="width_request">100</property>
|
||||
<property name="width-request">100</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_top">6</property>
|
||||
<property name="margin_bottom">6</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-top">6</property>
|
||||
<property name="margin-bottom">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</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>
|
||||
</object>
|
||||
<packing>
|
||||
|
@ -523,8 +527,8 @@
|
|||
<child>
|
||||
<object class="GtkSwitch" id="hide-menu-icons">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="margin_right">5</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="margin-right">5</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
@ -543,7 +547,7 @@
|
|||
<child type="label">
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label" translatable="yes">Icons</property>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
|
@ -560,36 +564,36 @@
|
|||
<child>
|
||||
<object class="GtkFrame">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label_xalign">0</property>
|
||||
<property name="shadow_type">in</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label-xalign">0</property>
|
||||
<property name="shadow-type">in</property>
|
||||
<child>
|
||||
<object class="GtkAlignment">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</property>
|
||||
<child>
|
||||
<object class="GtkListBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="selection_mode">none</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="selection-mode">none</property>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="width_request">100</property>
|
||||
<property name="width-request">100</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="name">6</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_top">6</property>
|
||||
<property name="margin_bottom">6</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-top">6</property>
|
||||
<property name="margin-bottom">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</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>
|
||||
</object>
|
||||
<packing>
|
||||
|
@ -601,7 +605,7 @@
|
|||
<child>
|
||||
<object class="GtkSwitch" id="enable-log">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
@ -615,21 +619,21 @@
|
|||
</child>
|
||||
<child>
|
||||
<object class="GtkListBoxRow">
|
||||
<property name="width_request">100</property>
|
||||
<property name="width-request">100</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_top">6</property>
|
||||
<property name="margin_bottom">6</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-top">6</property>
|
||||
<property name="margin-bottom">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</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>
|
||||
</object>
|
||||
<packing>
|
||||
|
@ -641,7 +645,7 @@
|
|||
<child>
|
||||
<object class="GtkSwitch" id="new-profile-identification">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="active">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
|
@ -661,7 +665,7 @@
|
|||
<child type="label">
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label" translatable="yes">Miscellaneous</property>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
|
@ -685,41 +689,42 @@
|
|||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_left">6</property>
|
||||
<property name="margin_right">12</property>
|
||||
<property name="margin_top">12</property>
|
||||
<property name="margin_bottom">12</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-left">6</property>
|
||||
<property name="margin-right">12</property>
|
||||
<property name="margin-top">12</property>
|
||||
<property name="margin-bottom">12</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkFrame">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="vexpand">True</property>
|
||||
<property name="label_xalign">0</property>
|
||||
<property name="shadow_type">out</property>
|
||||
<property name="label-xalign">0</property>
|
||||
<property name="shadow-type">out</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_left">4</property>
|
||||
<property name="margin_right">4</property>
|
||||
<property name="margin_bottom">4</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-left">4</property>
|
||||
<property name="margin-right">4</property>
|
||||
<property name="margin-bottom">4</property>
|
||||
<property name="vexpand">True</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkScrolledWindow" id="scrolledwindow1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="opacity">0.99999999865889544</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="opacity">0.9999999986588954</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="vexpand">True</property>
|
||||
<property name="resize_mode">queue</property>
|
||||
<property name="shadow_type">in</property>
|
||||
<property name="resize-mode">queue</property>
|
||||
<property name="shadow-type">in</property>
|
||||
<property name="min-content-width">500</property>
|
||||
<child>
|
||||
<object class="GtkTreeView" id="port-treeview">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="vexpand">True</property>
|
||||
<property name="model">ports-store</property>
|
||||
<child internal-child="selection">
|
||||
|
@ -729,20 +734,21 @@
|
|||
<object class="GtkTreeViewColumn" id="PortNameColumn">
|
||||
<property name="resizable">True</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="expand">True</property>
|
||||
<property name="sort_order">descending</property>
|
||||
<property name="sort-order">descending</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="PortNameRenderer"/>
|
||||
<attributes>
|
||||
<attribute name="text">0</attribute>
|
||||
<attribute name="text">7</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn" id="ShowAlwaysColumn">
|
||||
<property name="visible">False</property>
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">Show</property>
|
||||
<child>
|
||||
|
@ -797,7 +803,7 @@
|
|||
<child type="label">
|
||||
<object class="GtkLabel">
|
||||
<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>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
|
|
Binary file not shown.
|
@ -2,6 +2,7 @@
|
|||
# '/usr/include/pulse/introspect.h' '/usr/include/pulse/mainloop.h' '/usr/include/pulse/context.h'
|
||||
# Refer additional licensing requirements for the files included
|
||||
# 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/context.h'
|
||||
################################################################################
|
||||
|
@ -490,6 +491,16 @@ pa_operation_unref.argtypes = [POINTER_T(struct_pa_operation)]
|
|||
# ('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__ = \
|
||||
['PA_CONTEXT_AUTHORIZING', 'PA_CONTEXT_CONNECTING',
|
||||
'PA_CONTEXT_FAILED', 'PA_CONTEXT_NOAUTOSPAWN',
|
||||
|
@ -534,4 +545,4 @@ __all__ = \
|
|||
'struct_pa_mainloop_api', 'struct_pa_operation',
|
||||
'struct_pa_proplist', 'struct_pa_sample_spec',
|
||||
'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']
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
import libpulse_introspect as pa
|
||||
import sys
|
||||
from ctypes import c_int,byref
|
||||
from ctypes import c_int,byref, c_char_p, cast
|
||||
import time
|
||||
from json import dumps
|
||||
|
||||
|
@ -58,7 +58,7 @@ class PAHelper():
|
|||
|
||||
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))
|
||||
|
||||
try:
|
||||
|
@ -82,6 +82,13 @@ class PAHelper():
|
|||
card_obj['index'] = str(card.index)
|
||||
self._cards[card.index] = card_obj
|
||||
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):
|
||||
if(card.profiles2[k]):
|
||||
profile = card.profiles2[k].contents
|
||||
|
@ -102,6 +109,7 @@ class PAHelper():
|
|||
obj['available'] = port.available
|
||||
obj['n_profiles'] = port.n_profiles
|
||||
obj['profiles'] = []
|
||||
obj['card_name'] = card_obj['name']
|
||||
for j in range(0, port.n_profiles):
|
||||
if(port.profiles2[j]):
|
||||
profile = port.profiles2[j].contents
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
raw.githubusercontent.com:HSTS 0 18617 1640101514058,1,0,2
|
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":"\"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"}}}}
|
|
@ -1,5 +1,5 @@
|
|||
[Compatibility]
|
||||
LastVersion=84.0_20201215210116/20201215210116
|
||||
LastVersion=84.0.2_20210107154745/20210107154745
|
||||
LastOSABI=Linux_x86_64-gcc3
|
||||
LastPlatformDir=/usr/lib/firefox
|
||||
LastAppDir=/usr/lib/firefox/browser
|
||||
|
|
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.
|
@ -14,20 +14,22 @@ user_pref("app.normandy.first_run", false);
|
|||
user_pref("app.normandy.migrationsApplied", 10);
|
||||
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.browser.toolbars.bookmarks.2h2020", true);
|
||||
user_pref("app.normandy.startupRolloutPrefs.doh-rollout.enabled", true);
|
||||
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.user_id", "f6151ad0-fece-4d81-9d5c-67449843ccf0");
|
||||
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.browser-cleanup-thumbnails", 1608565237);
|
||||
user_pref("app.update.lastUpdateTime.recipe-client-addon-run", 1608565211);
|
||||
user_pref("app.update.lastUpdateTime.browser-cleanup-thumbnails", 1611097888);
|
||||
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.search-engine-update-timer", 1608565357);
|
||||
user_pref("app.update.lastUpdateTime.services-settings-poll-changes", 1608565477);
|
||||
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.restore_default_bookmarks", false);
|
||||
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.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.region.update.first-seen", 1608565077);
|
||||
user_pref("browser.region.update.region", "DE");
|
||||
user_pref("browser.rights.3.shown", true);
|
||||
user_pref("browser.safebrowsing.provider.google4.lastupdatetime", "1608565082888");
|
||||
user_pref("browser.safebrowsing.provider.google4.nextupdatetime", "1608566904888");
|
||||
user_pref("browser.safebrowsing.provider.mozilla.lastupdatetime", "1608565088092");
|
||||
user_pref("browser.safebrowsing.provider.mozilla.nextupdatetime", "1608586688092");
|
||||
user_pref("browser.safebrowsing.provider.google4.lastupdatetime", "1611099419825");
|
||||
user_pref("browser.safebrowsing.provider.google4.nextupdatetime", "1611101199825");
|
||||
user_pref("browser.safebrowsing.provider.mozilla.lastupdatetime", "1611097630263");
|
||||
user_pref("browser.safebrowsing.provider.mozilla.nextupdatetime", "1611119230263");
|
||||
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.didSkipDefaultBrowserCheckOnFirstRun", true);
|
||||
user_pref("browser.shell.mostRecentDateSetAsDefault", "1608565208");
|
||||
user_pref("browser.slowStartup.averageTime", 2223);
|
||||
user_pref("browser.slowStartup.samples", 4);
|
||||
user_pref("browser.shell.mostRecentDateSetAsDefault", "1611097620");
|
||||
user_pref("browser.slowStartup.averageTime", 0);
|
||||
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_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.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.lastColdStartupCheck", 1608565208);
|
||||
user_pref("browser.startup.lastColdStartupCheck", 1611097619);
|
||||
user_pref("browser.startup.page", 3);
|
||||
user_pref("browser.tabs.drawInTitlebar", false);
|
||||
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("distribution.Manjaro.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.manjaro.bookmarksProcessed", 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.mode", 2);
|
||||
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_ever_enabled", true);
|
||||
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.pingCountVersion", -1);
|
||||
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.htmlaboutaddons.recommendations.enabled", false);
|
||||
user_pref("extensions.incognito.migrated", true);
|
||||
user_pref("extensions.lastAppBuildId", "20201126174332");
|
||||
user_pref("extensions.lastAppVersion", "84.0");
|
||||
user_pref("extensions.lastPlatformVersion", "84.0");
|
||||
user_pref("extensions.lastAppVersion", "84.0.2");
|
||||
user_pref("extensions.lastPlatformVersion", "84.0.2");
|
||||
user_pref("extensions.pendingOperations", false);
|
||||
user_pref("extensions.pocket.enabled", false);
|
||||
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("identity.fxaccounts.enabled", false);
|
||||
user_pref("identity.fxaccounts.toolbar.accessed", true);
|
||||
user_pref("idle.lastDailyNotification", 1608565394);
|
||||
user_pref("idle.lastDailyNotification", 1611097763);
|
||||
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", "20201215210116");
|
||||
user_pref("media.gmp-manager.lastCheck", 1608565323);
|
||||
user_pref("media.gmp-manager.buildID", "20210107154745");
|
||||
user_pref("media.gmp-manager.lastCheck", 1611097723);
|
||||
user_pref("media.gmp.storage.version.observed", 1);
|
||||
user_pref("network.dns.disablePrefetch", true);
|
||||
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.previousHandler.alwaysAskBeforeHandling", true);
|
||||
user_pref("pdfjs.previousHandler.preferredAction", 4);
|
||||
user_pref("places.database.lastMaintenance", 1608565394);
|
||||
user_pref("places.history.expiration.transient_current_max_pages", 112348);
|
||||
user_pref("places.database.lastMaintenance", 1611097763);
|
||||
user_pref("places.history.expiration.transient_current_max_pages", 84803);
|
||||
user_pref("plugin.disable_full_page_plugin_for_types", "application/pdf");
|
||||
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", "1608565394568");
|
||||
user_pref("privacy.purge_trackers.last_purge", "1611097763522");
|
||||
user_pref("privacy.sanitize.pending", "[]");
|
||||
user_pref("privacy.sanitize.timeSpan", 0);
|
||||
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.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", 1608567143);
|
||||
user_pref("services.blocklist.addons-mlbf.checked", 1611097622);
|
||||
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.pinning.checked", 1608567143);
|
||||
user_pref("services.blocklist.plugins.checked", 1608567143);
|
||||
user_pref("services.settings.clock_skew_seconds", -1666);
|
||||
user_pref("services.settings.last_etag", "\"1608559052107\"");
|
||||
user_pref("services.settings.last_update_seconds", 1608567143);
|
||||
user_pref("services.settings.main.anti-tracking-url-decoration.last_check", 1608567143);
|
||||
user_pref("services.settings.main.cfr-fxa.last_check", 1608567143);
|
||||
user_pref("services.settings.main.cfr.last_check", 1608567143);
|
||||
user_pref("services.settings.main.fxmonitor-breaches.last_check", 1608567143);
|
||||
user_pref("services.settings.main.hijack-blocklists.last_check", 1608567143);
|
||||
user_pref("services.settings.main.language-dictionaries.last_check", 1608567143);
|
||||
user_pref("services.settings.main.message-groups.last_check", 1608567143);
|
||||
user_pref("services.blocklist.plugins.checked", 1611097622);
|
||||
user_pref("services.settings.clock_skew_seconds", -1);
|
||||
user_pref("services.settings.last_etag", "\"1611086252115\"");
|
||||
user_pref("services.settings.last_update_seconds", 1611097622);
|
||||
user_pref("services.settings.main.anti-tracking-url-decoration.last_check", 1611097622);
|
||||
user_pref("services.settings.main.cfr-fxa.last_check", 1611097622);
|
||||
user_pref("services.settings.main.cfr.last_check", 1611097622);
|
||||
user_pref("services.settings.main.fxmonitor-breaches.last_check", 1611097622);
|
||||
user_pref("services.settings.main.hijack-blocklists.last_check", 1611097622);
|
||||
user_pref("services.settings.main.language-dictionaries.last_check", 1611097622);
|
||||
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.nimbus-desktop-experiments.last_check", 1608567143);
|
||||
user_pref("services.settings.main.normandy-recipes-capabilities.last_check", 1608567143);
|
||||
user_pref("services.settings.main.nimbus-desktop-experiments.last_check", 1611097622);
|
||||
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.onboarding.last_check", 1565793602);
|
||||
user_pref("services.settings.main.partitioning-exempt-urls.last_check", 1608567143);
|
||||
user_pref("services.settings.main.password-recipes.last_check", 1608567143);
|
||||
user_pref("services.settings.main.pioneer-study-addons-v1.last_check", 1608567143);
|
||||
user_pref("services.settings.main.pioneer-study-addons.last_check", 1608567143);
|
||||
user_pref("services.settings.main.public-suffix-list.last_check", 1608567143);
|
||||
user_pref("services.settings.main.search-config.last_check", 1608567143);
|
||||
user_pref("services.settings.main.search-default-override-allowlist.last_check", 1608567143);
|
||||
user_pref("services.settings.main.search-telemetry.last_check", 1608567143);
|
||||
user_pref("services.settings.main.sites-classification.last_check", 1608567143);
|
||||
user_pref("services.settings.main.tippytop.last_check", 1608567143);
|
||||
user_pref("services.settings.main.top-sites.last_check", 1608567143);
|
||||
user_pref("services.settings.main.url-classifier-skip-urls.last_check", 1608567143);
|
||||
user_pref("services.settings.main.whats-new-panel.last_check", 1608567143);
|
||||
user_pref("services.settings.main.partitioning-exempt-urls.last_check", 1611097622);
|
||||
user_pref("services.settings.main.password-recipes.last_check", 1611097622);
|
||||
user_pref("services.settings.main.pioneer-study-addons-v1.last_check", 1611097622);
|
||||
user_pref("services.settings.main.pioneer-study-addons.last_check", 1611097622);
|
||||
user_pref("services.settings.main.public-suffix-list.last_check", 1611097622);
|
||||
user_pref("services.settings.main.search-config.last_check", 1611097622);
|
||||
user_pref("services.settings.main.search-default-override-allowlist.last_check", 1611097622);
|
||||
user_pref("services.settings.main.search-telemetry.last_check", 1611097622);
|
||||
user_pref("services.settings.main.sites-classification.last_check", 1611097622);
|
||||
user_pref("services.settings.main.tippytop.last_check", 1611097622);
|
||||
user_pref("services.settings.main.top-sites.last_check", 1611097622);
|
||||
user_pref("services.settings.main.url-classifier-skip-urls.last_check", 1611097622);
|
||||
user_pref("services.settings.main.whats-new-panel.last_check", 1611097622);
|
||||
user_pref("services.settings.security.onecrl.checked", 1608567143);
|
||||
user_pref("services.sync.clients.lastSync", "0");
|
||||
user_pref("services.sync.declinedEngines", "");
|
||||
|
@ -231,9 +231,9 @@ user_pref("services.sync.nextSync", 0);
|
|||
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.index", 1);
|
||||
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.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.
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