Publish Vulpes Preview 15 sources for desktop, Android and Tundra

Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
OverSu 2026-09-30 23:13:03 +02:00
commit b38dea0597
25901 changed files with 9982925 additions and 369 deletions

View file

@ -0,0 +1,134 @@
/**
* Reference these style sheet from Settings app
*/
/******************************************************************************
* Bluetooth devices
*/
.bluetooth-device {
background-repeat: no-repeat;
background-position: right 3rem top 50%; /* same position as for Wi-Fi signal levels */
-moz-padding-end: 2rem;
}
.bluetooth-device:before {
content: "";
width: 3rem;
height: 3rem;
background: url(images/bluetooth_sprite.png) no-repeat 3rem 3rem / 39rem;
position: absolute;
offset-inline-end: 0;
top: 50%;
margin-top: -1.5rem;
}
.bluetooth-device.icon-hidden:before {
display: none;
}
/* device icons */
.bluetooth-type-audio-card:before {
background-position: 0 0;
}
.bluetooth-type-audio-input-microphone:before {
background-position: -3rem 0;
}
.bluetooth-type-battery:before {
background-position: -6rem 0;
}
.bluetooth-type-camera-photo:before {
background-position: -9rem 0;
}
.bluetooth-type-camera-video:before {
background-position: -12rem 0;
}
.bluetooth-type-camera-web:before {
background-position: -15rem 0;
}
.bluetooth-type-computer:before {
background-position: -18rem 0;
}
.bluetooth-type-drive-harddisk:before {
background-position: -21rem 0;
}
.bluetooth-type-drive-optical:before {
background-position: -24rem 0;
}
.bluetooth-type-drive-removable-media:before {
background-position: -27rem 0;
}
.bluetooth-type-input-gaming:before {
background-position: -30rem 0;
}
.bluetooth-type-input-keyboard:before {
background-position: -33rem 0;
}
.bluetooth-type-input-mouse:before {
background-position: -36rem 0;
}
.bluetooth-type-input-tablet:before {
background-position: 0 -3rem;
}
.bluetooth-type-media-flash:before {
background-position: -3rem -3rem;
}
.bluetooth-type-media-floppy:before {
background-position: -6rem -3rem;
}
.bluetooth-type-media-optical:before {
background-position: -9rem -3rem;
}
.bluetooth-type-media-tape:before {
background-position: -12rem -3rem;
}
.bluetooth-type-modem:before {
background-position: -15rem -3rem;
}
.bluetooth-type-multimedia-player:before {
background-position: -18rem -3rem;
}
.bluetooth-type-network-wired:before {
background-position: -21rem -3rem;
}
.bluetooth-type-network-wireless:before {
background-position: -24rem -3rem;
}
.bluetooth-type-pda:before,
.bluetooth-type-phone:before {
background-position: -27rem -3rem;
}
.bluetooth-type-printer:before {
background-position: -30rem -3rem;
}
.bluetooth-type-scanner:before {
background-position: -33rem -3rem;
}
.bluetooth-type-video-display:before {
background-position: -36rem -3rem;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,018 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 622 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 898 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-223 225 64 64" enable-background="new -223 225 64 64" xml:space="preserve">
<g>
<g>
<path fill="#02C5ED" d="M-188,256.9l6.4-6.4c1.4-1.4,1.4-3.7,0-5.1L-193,234l-0.2,17.8l-7.6-7.5c-0.1-0.1-0.1-0.1-0.2-0.2h-0.4
c-0.4,1.2-0.8,2.4-1.1,3.7l9.2,9.2l-9.2,9.1c0.3,1.3,0.7,2.5,1.1,3.7h0.4c0.1-0.1,0.1-0.1,0.2-0.2l7.6-7.5V280l11.6-11.5
c1.4-1.4,1.4-3.7,0-5.1L-188,256.9z M-189.4,242.9l4.2,4.2l0,0c0.5,0.5,0.5,1.2,0,1.7l0,0l-4.3,4.3v-10.2H-189.4z M-185,266.7
l-4.3,4.3v-10.2l4.2,4.2l0,0C-184.6,265.5-184.6,266.2-185,266.7L-185,266.7z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 945 B

View file

@ -0,0 +1,222 @@
/**
* Reference these style sheet from Settings app
*/
/**
* Table View
* line height = 6rem, border included
*/
ul {
margin: 0;
padding: 0;
overflow: hidden;
list-style: none;
}
ul li {
box-sizing: border-box;
position: relative;
margin: 0 1.5rem;
border-top: 0.1rem solid #e6e6e3;
color: #000;
}
ul li:first-child {
border-top: none;
}
ul+ul li:first-child {
border-top: 0.1rem solid #e6e6e3;
}
ul li.sound-setting {
min-height: 7.9rem;
}
ul li label:not([for]) {
background: none;
}
ul li > a,
ul li > span,
ul li > small,
ul li > label > span,
ul li > label > small {
text-decoration: none;
outline: 0;
color: #000;
box-sizing: border-box;
font-size: 1.9rem;
padding: 0 3rem;
margin: 0 -1.5rem;
}
ul li,
ul li > a,
ul li > label {
min-height: 6rem;
display: flex;
flex-direction: column;
justify-content: center;
}
ul li > a,
ul li > label {
min-height: 6rem;
padding-top: 0.5rem;
padding-bottom: 0.5rem;
}
ul li[hidden] {
display: none;
}
ul li > a > span {
pointer-events: none;
}
ul li.active a,
ul li.active span,
ul li:not([aria-disabled="true"]) > small + a:active,
ul li:not([aria-disabled="true"]) > a:active,
ul li:not([aria-disabled="true"]) > small + a:focus,
ul li:not([aria-disabled="true"]) > a:focus {
background-color: #b2f2ff;
color: #222;
}
ul li[aria-disabled="true"] > a {
color: #797e80;
opacity: 0.6;
pointer-events: none;
}
ul > li > progress {
display: inline-block;
margin: 0;
padding: 0;
}
ul > li > progress + span {
display: inline-block;
vertical-align: middle;
margin: 0;
padding: 0;
padding-inline-start: 1rem;
color: #505b5b;
font-size: 1.4rem;
line-height: 6rem;
}
/* Customization style for overlapping .bluetooth-device:before */
ul > li > progress.overlapping-icon {
position: absolute;
right: 3rem;
top: 50%;
margin-top: -1.5rem;
}
ul > li > progress.hidden {
display: none;
}
/* description + value on the same line */
ul li > a span:nth-of-type(2):not(.button) {
position: absolute;
offset-inline-end: 1.5rem;
color: #505859;
line-height: 6rem;
height: 6rem;
top: 0;
}
/* text ellipsis */
ul li > *,
ul li > label > *,
ul li > a > * {
display: block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
/* sublines */
ul li > small,
ul li > label > small,
ul li > a > small {
display: block;
font-size: 1.4rem;
color: #505859;
/* click/tap events should be caught by the <a> element below the <small> */
pointer-events: none;
}
small.multiline > span {
display: block;
}
ul li > label {
font-size: 1.9rem;
line-height: 1.9rem;
font-weight: 400;
margin: 0;
}
ul li > label ~ input {
margin-bottom: 1.5rem;
}
/******************************************************************************
* Boolean buttons
*/
ul li button,
ul li a.bb-button {
display: inline-block;
margin: 1rem 0;
white-space: normal;
}
/******************************************************************************
* Boolean inputs
*/
/* custom styles for boolean inputs (see /shared/style/switches.css) */
ul li label {
text-transform: none;
}
ul li > label:not([for]) {
margin-inline-start: -1.5rem;
margin-inline-end: -1.5rem;
padding-inline-start: 1.5rem;
padding-inline-end: 1.5rem;
width: 100%;
height: calc(100% - 1rem);
min-height: 5rem;
overflow: visible;
display: flex;
}
ul li > label:not([for]) > span {
line-height: normal;
height: auto;
}
/******************************************************************************
* Field inputs
*/
ul li p {
font-size: 1.9rem;
line-height: 1.9rem;
font-weight: 400;
margin: 0;
padding: 1.5rem 1.5rem 1rem;
}
ul li p + label:not([for]) {
top: 2.5rem;
height: calc(100% - 2.5rem);
}

View file

@ -0,0 +1,28 @@
html, body {
margin: 0;
padding: 0;
font-size: 10px;
background-color: #26272c;
}
body {
width: 100%;
height: 100%;
overflow: hidden;
font-family: sans-serif;
color: #fff;
}
/**
* Disable selection by default except for input, text area, and elements with
* "contenteditable".
*/
* {
-moz-user-select: none;
}
input[type="text"],
textarea,
[contenteditable="true"] {
-moz-user-select: text;
}

View file

@ -0,0 +1,78 @@
/**
* Settings > onpair style & layout
*/
html, body {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
font-size: 10px;
overflow: hidden;
}
/**
* Disable selection by default except for input, text area, and elements with
* "contenteditable" .
*/
* {
-moz-user-select: none;
}
input[type="text"],
textarea,
[contenteditable="true"] {
-moz-user-select: text;
}
#pair-view {
padding: 0;
}
#pair-view h2 {
font-size: 1.6rem;
font-weight: 400;
border: none;
margin: 2.2rem 0 1.4rem;
line-height: 1.4rem;
padding: 0 1.5rem;
}
#pair-view > section {
height: 100%;
padding: 0 1.5rem;
}
#label-name {
border-top: 0.1rem solid #696969;
font-size: 2.5rem;
line-height: 5rem;
padding: 0 1.5rem;
word-break: break-all;
}
#pair-description {
margin: 0;
padding: 1rem 1.5rem 0;
border-top-color: #696969;
font-size: 2rem;
line-height: 2.7rem;
font-weight: 300;
}
#passkey {
position: absolute;
bottom: 11rem;
offset-inline-start: 1.5rem;
width: calc(100% - 3rem);
font-size: 3rem;
font-weight: 400;
text-align: center;
}
/* Hide the description area when screen height is too small. */
@media screen and (max-height: 400px) {
#pair-description {
display: none;
}
}

View file

@ -0,0 +1,132 @@
/**
* Reference these style sheet from Settings app
*/
/**
* Settings style & layout
* note: `lists.css' must be loaded before this stylesheet
*/
html, body {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
font-size: 10px;
overflow: hidden;
}
/******************************************************************************
* Setting panels: full-size <section role="region"> blocks
*/
/* Setting panels: full-size <section role="region"> blocks */
section[role="region"] {
position: absolute;
top: 0;
offset-inline-start: 0;
width: 100%;
height: 100%;
border: 0;
background-color: #f4f4f4;
overflow: hidden;
}
/**
* Headers should not scroll with the rest of the page, except for #root.
*/
section[role="region"] > header {
position: absolute;
}
section[role="region"] > div {
position: absolute;
top: 5rem;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: calc(100% - 5rem);
overflow-y: scroll;
will-change: scroll-position;
}
/******************************************************************************
* Explanation texts
*/
.explanation {
padding: 0.5rem 3rem;
font-style: italic;
font-size: 1.4rem;
color: #505859;
}
.description {
font-size: 1.7rem;
line-height: 2.3rem;
white-space: normal;
-moz-hyphens: auto;
}
.description p,
.description a,
.description label {
font-size: 1.7rem;
line-height: 2.3rem;
white-space: normal;
}
.description label {
padding: 0;
}
.description label span {
height: auto;
min-height: 6rem;
padding-top: 1.2rem;
padding-bottom: 1.2rem;
font-size: 1.7rem;
line-height: 2.3rem;
white-space: normal;
}
.description small {
font-size: 1.7rem;
color: #505859;
}
.hint label span {
top: 2.9rem !important;
}
.hint span {
line-height: 6rem;
}
.hint .explanation {
font-style: normal;
position: relative;
margin-top: -2rem;
padding: 0.5rem 4rem 1.3rem;
padding-inline-start: 1.5rem;
white-space: normal;
}
.hint > gaia-switch ~ .explanation,
.hint > label:not([for]) ~ .explanation {
padding-inline-end: 8rem;
}
.hint .explanation[hidden] {
display: none;
}
/******************************************************************************
* Update device name dialog
*/
#update-device-name > section input {
margin: 1rem 0;
}

View file

@ -0,0 +1,32 @@
html, body {
margin: 0;
padding: 0;
font-size: 10px;
background-color: #26272c;
}
body {
width: 100%;
height: 100%;
overflow: hidden;
font-family: sans-serif;
color: #fff;
}
/**
* Disable selection by default except for input, text area, and elements with
* "contenteditable".
*/
* {
-moz-user-select: none;
}
input[type="text"],
textarea,
[contenteditable="true"] {
-moz-user-select: text;
}
#icon {
width: 6.4rem;
}