PageSourceSearch

https://usebottles.com/

html usebottles.com collected 2026-10-02 04:17:37 UTC 8,749 bytes, 323 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en" class="dark">
3
4<head>
5  <meta charset="UTF-8" />
6  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7  <title>Bottles - Run Windows Software on Linux</title>
8  <link rel="shortcut icon" href="/uploads/bottles.png" type="image/png" />
9  <link rel="icon" type="image/png" href="/uploads/bottles.png" />
10  <link rel="stylesheet" href="https://mastodon.online/custom.css" media="all" />
11  <link href='https://mastodon.online/@usebottles.rss' rel='alternate' type='application/rss+xml'>
12  <link href='https://mastodon.online/users/usebottles' rel='alternate' type='application/activity+json'>
13  <meta content="profile" property="og:type">
14  <meta content='81 Posts, 14 Following, 830 Followers · Run Windows software on Linux with Bottles.'
15    name='description'>
16  <meta content="https://mastodon.online/@usebottles" property="og:url">
17  <meta content="Mastodon" property="og:site_name">
18  <meta content="usebottles (@[email protected])" property="og:title">
19  <meta content="81 Posts, 14 Following, 830 Followers · Run Windows software on Linux with Bottles."
20    property="og:description">
21  <meta content="https://files.mastodon.online/accounts/avatars/108/200/697/004/152/142/original/b30e7d4b6fe0ad6e.png"
22    property="og:image">
23  <meta content="400" property="og:image:width">
24  <meta content="400" property="og:image:height">
25  <meta content="summary" property="twitter:card">
26  <meta content="[email protected]" property="profile:username">
27  
27<script src="https://cdn.tailwindcss.com"></script>
27
28  <link rel="preconnect" href="https://fonts.googleapis.com">
29  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
30  <link
31    href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Merriweather:wght@300;400;700&display=swap"
32    rel="stylesheet">
33  
33<script>
34    tailwind.config = {
35      darkMode: 'class',
36      theme: {
37        extend: {
38          fontFamily: {
39            sans: ['Inter', 'sans-serif'],
40            serif: ['Merriweather', 'serif'],
41          },
42          colors: {
43            background: 'rgb(var(--background) / <alpha-value>)',
44            foreground: 'rgb(var(--foreground) / <alpha-value>)',
45            surface: 'rgb(var(--surface) / <alpha-value>)',
46            border: 'rgb(var(--border) / <alpha-value>)',
47          },
48          backgroundImage: {
49            'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))',
50            'hero-glow': 'conic-gradient(from 180deg at 50% 50%, #2a8af6 0deg, #a853ba 180deg, #e92a67 360deg)',
51          },
52          animation: {
53            'float': 'float 6s ease-in-out infinite',
54          },
55          keyframes: {
56            float: {
57              '0%, 100%': { transform: 'translateY(0)' },
58              '50%': { transform: 'translateY(-20px)' },
59            }
60          }
61        }
62      }
63    }
64  </script>
64
65  <style>
66    :root {
67      --background: 255 255 255;
68      --foreground: 9 9 11;
69      --surface: 244 244 245;
70      --border: 228 228 231;
71      --grid-color: rgba(0, 0, 0, 0.08);
72    }
73
74    .dark {
75      --background: 0 0 0;
76      --foreground: 255 255 255;
77      --surface: 9 9 11;
78      --border: 39 39 42;
79      --grid-color: rgba(255, 255, 255, 0.1);
80    }
81
82    body {
83      background-color: rgb(var(--background));
84      color: rgb(var(--foreground));
85      -webkit-font-smoothing: antialiased;
86      -moz-osx-font-smoothing: grayscale;
87      transition: background-color 0.3s, color 0.3s;
88    }
89
90    .bg-grid {
91      background-size: 40px 40px;
92      background-image: linear-gradient(to right, var(--grid-color) 1px, transparent 1px),
93        linear-gradient(to bottom, var(--grid-color) 1px, transparent 1px);
94      mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
95      -webkit-mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
96    }
97
98    ::-webkit-scrollbar {
99      width: 8px;
100    }
101
102    ::-webkit-scrollbar-track {
103      background: rgb(var(--background));
104    }
105
106    ::-webkit-scrollbar-thumb {
107      background: rgb(var(--border));
108      border-radius: 4px;
109    }
110
111    ::-webkit-scrollbar-thumb:hover {
112      background: #71717a;
113    }
114
115    .prose h1 {
116      font-size: 2.25rem;
117      font-weight: 700;
118      margin-bottom: 1.5rem;
119      color: rgb(var(--foreground));
120      letter-spacing: -0.025em;
121    }
122
123    .prose h2 {
124      font-size: 1.5rem;
125      font-weight: 600;
126      margin-top: 2.5rem;
127      margin-bottom: 1rem;
128      color: rgb(var(--foreground));
129      letter-spacing: -0.025em;
130    }
131
132    .prose h3 {
133      font-size: 1.25rem;
134      font-weight: 600;
135      margin-top: 2rem;
136      margin-bottom: 0.75rem;
137      color: rgb(var(--foreground));
138    }
139
140    .prose p {
141      margin-bottom: 1.25rem;
142      line-height: 1.75;
143      color: #71717a;
144    }
145
146    .prose a {
147      color: rgb(var(--foreground));
148      text-decoration: underline;
149      text-decoration-color: #71717a;
150      text-underline-offset: 4px;
151    }
152
153    .prose a:hover {
154      color: #3b82f6;
155      text-decoration-color: #3b82f6;
156    }
157
158    .prose ul {
159      list-style-type: disc;
160      padding-left: 1.5rem;
161      margin-bottom: 1.25rem;
162      color: #71717a;
163    }
164
165    .prose li {
166      margin-bottom: 0.5rem;
167    }
168
169    .prose strong {
170      color: rgb(var(--foreground));
171      font-weight: 600;
172    }
173
174    .prose blockquote {
175      border-left: 4px solid rgb(var(--border));
176      padding-left: 1rem;
177      font-style: italic;
178      color: #71717a;
179      margin: 1.5rem 0;
180    }
181
182    .prose code {
183      background-color: rgb(var(--surface));
184      padding: 0.2em 0.4em;
185      border-radius: 0.25rem;
186      font-size: 0.875em;
187      color: rgb(var(--foreground));
188      font-family: monospace;
189    }
190
191    .prose pre {
192      margin: 1.75rem 0;
193      padding: 1.25rem 1.5rem;
194      overflow-x: auto;
195      background-color: #18181b;
196      border: 1px solid #3f3f46;
197      border-radius: 0.75rem;
198      color: #f4f4f5;
199      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
200      font-size: 0.875rem;
201      line-height: 1.65;
202      text-align: left;
203      tab-size: 2;
204    }
205
206    .prose pre code {
207      display: block;
208      padding: 0;
209      background: transparent;
210      border-radius: 0;
211      color: inherit;
212      font: inherit;
213      white-space: pre;
214    }
215
216    .dark .prose p {
217      color: #a1a1aa;
218    }
219
220    .dark .prose blockquote {
221      border-color: #27272a;
222    }
223
224    .dark .prose pre {
225      background-color: #09090b;
226      border-color: #27272a;
227    }
228
229    @media print {
230      @page {
231        margin: 2.5cm;
232      }
233
234      body {
235        background-color: white !important;
236        color: black !important;
237      }
238
239      nav,
240      footer,
241      button,
242      .no-print,
243      .fixed {
244        display: none !important;
245      }
246
247      .prose {
248        font-family: 'Merriweather', 'Georgia', serif !important;
249        color: black !important;
250        max-width: 100% !important;
251        font-size: 12pt !important;
252        line-height: 1.6 !important;
253      }
254
255      .prose h1 {
256        color: black !important;
257        font-size: 24pt !important;
258        border-bottom: 2px solid black;
259        padding-bottom: 10px;
260        margin-bottom: 30px;
261        text-align: center;
262      }
263
264      .prose h2,
265      .prose h3,
266      .prose strong {
267        color: black !important;
268      }
269
270      .prose p,
271      .prose ul,
272      .prose li {
273        color: #1a1a1a !important;
274      }
275
276      .prose a {
277        color: black !important;
278        text-decoration: underline !important;
279      }
280
281      .prose a[href^="http"]:after {
282        content: " (" attr(href) ")";
283        font-size: 0.8em;
284        color: #555;
285      }
286
287      .prose code {
288        background-color: #f5f5f5 !important;
289        color: black !important;
290        border: 1px solid #ddd;
291      }
292
293      .prose pre {
294        background-color: #f5f5f5 !important;
295        color: black !important;
296        border: 1px solid #ddd;
297        white-space: pre-wrap;
298      }
299
300      .prose pre code {
301        border: 0;
302        white-space: inherit;
303      }
304
305      .print-only {
306        display: block !important;
307      }
308    }
309
310    .print-only {
311      display: none;
312    }
313  </style>
314
315  
315<script type="module" crossorigin src="/assets/index-OuH8QUto.js"></script>
315
316</head>
317
318<body>
319  <div id="root"></div>
320<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"3b93a55400e349ac8cce5f973e9fb103","r":1,"spa":2}' crossorigin="anonymous"></script>
320
321</body>
322
323</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.