a few changes
This commit is contained in:
parent
8c0693f810
commit
25ecd01890
|
@ -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
|
||||||
|
|
|
@ -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]
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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!!!"); }
|
||||||
}
|
}
|
||||||
|
|
|
@ -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",
|
"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
|
||||||
}
|
}
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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"/>
|
||||||
|
|
Binary file not shown.
|
@ -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']
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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]
|
[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
|
||||||
|
|
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.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");
|
||||||
|
|
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