Latest commit

History

27,669 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Nextcloud Desktop Client

REUSE status

The Nextcloud Desktop Client is an app to synchronize files from Nextcloud Server with your computer available for Windows, macOS and Linux.

Desktop Client on Windows

Downloads πŸš€

For the latest stable and recommended version, please refer to the official download page.

Help πŸ›Ÿ

You can find the user, administration and developer manuals for the desktop client on our central documentation site.

Contributing 🫴

  • Make sure to follow our guidelines for contributing to this repository.
  • Don't forget to read our Code of Conduct. This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere and to explain how together we can strengthen and support each other.

Join the team πŸ‘ͺ

There are many ways to contribute, of which development is only one! Find out how to get involved, including as a translator, designer, tester, helping others, and much more! 😍

Help testing πŸ”¬

Download and install the client:

Reporting issues πŸ›

If you find any bugs or have any suggestion for improvement, please open an issue in this repository.

Bug fixing and development πŸ› οΈ

Tip

For contributors on macOS, see the macOS development guide.

Note

Find the system requirements and instructions on how to work with KDE Craft in our desktop client blueprints repository.

System requirements

Optional recommendations:

Build

Step by step instructions on how to build the client to contribute.

  1. Clone the Github repository: git clone https://github.com/nextcloud/desktop.git
  2. Create build directory: mkdir <build directory>
  3. Navigate into build directory: cd <build directory>
  4. Compile: cmake -S <cloned desktop repo> -B build -DCMAKE_PREFIX_PATH=<dependencies> -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=. -DNEXTCLOUD_DEV=ON

Tip

The cmake variable NEXTCLOUD_DEV allows you to run your own build of the client while developing in parallel with an installed version of the client.

Then you might continue with these steps:

  1. πŸ› Pick a good first issue
  2. πŸ‘©β€πŸ”§ Create a branch and make your changes. Remember to sign off your commits using git commit -sm "Your commit message"
  3. ⬆ Create a pull request and @mention the people from the issue to eview
  4. πŸ‘ Fix things that come up during a review
  5. πŸŽ‰ Wait for it to get merged!

Test servers

The easiest way to have a local Nextcloud server to develop, debug and test the client against is the Nextcloud Docker image. The following example shows how to deploy a Nextcloud Docker container on the local host which will be removed again as soon as the command is interrupted. Note that this requires Docker to be installed in your developer environment.

docker run \
--rm \
--publish 8080:80 \
--env SQLITE_DATABASE=nextcloud.sqlite \
--env NEXTCLOUD_ADMIN_USER=admin \
--env NEXTCLOUD_ADMIN_PASSWORD=admin \
nextcloud

This simple test server already suffices in the most cases. For more advanced server test deployments we also recommend Nextcloud development environment on Docker Compose.

Get in touch πŸ’¬

You can also get professional support for Nextcloud and the desktop client!

License πŸ“œ

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

27,669 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Nextcloud Desktop Client

REUSE status

The Nextcloud Desktop Client is an app to synchronize files from Nextcloud Server with your computer available for Windows, macOS and Linux.

Desktop Client on Windows

Downloads πŸš€

For the latest stable and recommended version, please refer to the official download page.

Help πŸ›Ÿ

You can find the user, administration and developer manuals for the desktop client on our central documentation site.

Contributing 🫴

  • Make sure to follow our guidelines for contributing to this repository.
  • Don't forget to read our Code of Conduct. This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere and to explain how together we can strengthen and support each other.

Join the team πŸ‘ͺ

There are many ways to contribute, of which development is only one! Find out how to get involved, including as a translator, designer, tester, helping others, and much more! 😍

Help testing πŸ”¬

Download and install the client:

Reporting issues πŸ›

If you find any bugs or have any suggestion for improvement, please open an issue in this repository.

Bug fixing and development πŸ› οΈ

Tip

For contributors on macOS, see the macOS development guide.

Note

Find the system requirements and instructions on how to work with KDE Craft in our desktop client blueprints repository.

System requirements

Optional recommendations:

Build

Step by step instructions on how to build the client to contribute.

  1. Clone the Github repository: git clone https://github.com/nextcloud/desktop.git
  2. Create build directory: mkdir <build directory>
  3. Navigate into build directory: cd <build directory>
  4. Compile: cmake -S <cloned desktop repo> -B build -DCMAKE_PREFIX_PATH=<dependencies> -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=. -DNEXTCLOUD_DEV=ON

Tip

The cmake variable NEXTCLOUD_DEV allows you to run your own build of the client while developing in parallel with an installed version of the client.

Then you might continue with these steps:

  1. πŸ› Pick a good first issue
  2. πŸ‘©β€πŸ”§ Create a branch and make your changes. Remember to sign off your commits using git commit -sm "Your commit message"
  3. ⬆ Create a pull request and @mention the people from the issue to eview
  4. πŸ‘ Fix things that come up during a review
  5. πŸŽ‰ Wait for it to get merged!

Test servers

The easiest way to have a local Nextcloud server to develop, debug and test the client against is the Nextcloud Docker image. The following example shows how to deploy a Nextcloud Docker container on the local host which will be removed again as soon as the command is interrupted. Note that this requires Docker to be installed in your developer environment.

docker run \
--rm \
--publish 8080:80 \
--env SQLITE_DATABASE=nextcloud.sqlite \
--env NEXTCLOUD_ADMIN_USER=admin \
--env NEXTCLOUD_ADMIN_PASSWORD=admin \
nextcloud

This simple test server already suffices in the most cases. For more advanced server test deployments we also recommend Nextcloud development environment on Docker Compose.

Get in touch πŸ’¬

You can also get professional support for Nextcloud and the desktop client!

License πŸ“œ

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

27,669 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Nextcloud Desktop Client

REUSE status

The Nextcloud Desktop Client is an app to synchronize files from Nextcloud Server with your computer available for Windows, macOS and Linux.

Desktop Client on Windows

Downloads πŸš€

For the latest stable and recommended version, please refer to the official download page.

Help πŸ›Ÿ

You can find the user, administration and developer manuals for the desktop client on our central documentation site.

Contributing 🫴

  • Make sure to follow our guidelines for contributing to this repository.
  • Don't forget to read our Code of Conduct. This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere and to explain how together we can strengthen and support each other.

Join the team πŸ‘ͺ

There are many ways to contribute, of which development is only one! Find out how to get involved, including as a translator, designer, tester, helping others, and much more! 😍

Help testing πŸ”¬

Download and install the client:

Reporting issues πŸ›

If you find any bugs or have any suggestion for improvement, please open an issue in this repository.

Bug fixing and development πŸ› οΈ

Tip

For contributors on macOS, see the macOS development guide.

Note

Find the system requirements and instructions on how to work with KDE Craft in our desktop client blueprints repository.

System requirements

Optional recommendations:

Build

Step by step instructions on how to build the client to contribute.

  1. Clone the Github repository: git clone https://github.com/nextcloud/desktop.git
  2. Create build directory: mkdir <build directory>
  3. Navigate into build directory: cd <build directory>
  4. Compile: cmake -S <cloned desktop repo> -B build -DCMAKE_PREFIX_PATH=<dependencies> -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=. -DNEXTCLOUD_DEV=ON

Tip

The cmake variable NEXTCLOUD_DEV allows you to run your own build of the client while developing in parallel with an installed version of the client.

Then you might continue with these steps:

  1. πŸ› Pick a good first issue
  2. πŸ‘©β€πŸ”§ Create a branch and make your changes. Remember to sign off your commits using git commit -sm "Your commit message"
  3. ⬆ Create a pull request and @mention the people from the issue to eview
  4. πŸ‘ Fix things that come up during a review
  5. πŸŽ‰ Wait for it to get merged!

Test servers

The easiest way to have a local Nextcloud server to develop, debug and test the client against is the Nextcloud Docker image. The following example shows how to deploy a Nextcloud Docker container on the local host which will be removed again as soon as the command is interrupted. Note that this requires Docker to be installed in your developer environment.

docker run \
--rm \
--publish 8080:80 \
--env SQLITE_DATABASE=nextcloud.sqlite \
--env NEXTCLOUD_ADMIN_USER=admin \
--env NEXTCLOUD_ADMIN_PASSWORD=admin \
nextcloud

This simple test server already suffices in the most cases. For more advanced server test deployments we also recommend Nextcloud development environment on Docker Compose.

Get in touch πŸ’¬

You can also get professional support for Nextcloud and the desktop client!

License πŸ“œ

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

27,669 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Nextcloud Desktop Client

REUSE status

The Nextcloud Desktop Client is an app to synchronize files from Nextcloud Server with your computer available for Windows, macOS and Linux.

Desktop Client on Windows

Downloads πŸš€

For the latest stable and recommended version, please refer to the official download page.

Help πŸ›Ÿ

You can find the user, administration and developer manuals for the desktop client on our central documentation site.

Contributing 🫴

  • Make sure to follow our guidelines for contributing to this repository.
  • Don't forget to read our Code of Conduct. This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere and to explain how together we can strengthen and support each other.

Join the team πŸ‘ͺ

There are many ways to contribute, of which development is only one! Find out how to get involved, including as a translator, designer, tester, helping others, and much more! 😍

Help testing πŸ”¬

Download and install the client:

Reporting issues πŸ›

If you find any bugs or have any suggestion for improvement, please open an issue in this repository.

Bug fixing and development πŸ› οΈ

Tip

For contributors on macOS, see the macOS development guide.

Note

Find the system requirements and instructions on how to work with KDE Craft in our desktop client blueprints repository.

System requirements

Optional recommendations:

Build

Step by step instructions on how to build the client to contribute.

  1. Clone the Github repository: git clone https://github.com/nextcloud/desktop.git
  2. Create build directory: mkdir <build directory>
  3. Navigate into build directory: cd <build directory>
  4. Compile: cmake -S <cloned desktop repo> -B build -DCMAKE_PREFIX_PATH=<dependencies> -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=. -DNEXTCLOUD_DEV=ON

Tip

The cmake variable NEXTCLOUD_DEV allows you to run your own build of the client while developing in parallel with an installed version of the client.

Then you might continue with these steps:

  1. πŸ› Pick a good first issue
  2. πŸ‘©β€πŸ”§ Create a branch and make your changes. Remember to sign off your commits using git commit -sm "Your commit message"
  3. ⬆ Create a pull request and @mention the people from the issue to eview
  4. πŸ‘ Fix things that come up during a review
  5. πŸŽ‰ Wait for it to get merged!

Test servers

The easiest way to have a local Nextcloud server to develop, debug and test the client against is the Nextcloud Docker image. The following example shows how to deploy a Nextcloud Docker container on the local host which will be removed again as soon as the command is interrupted. Note that this requires Docker to be installed in your developer environment.

docker run \
--rm \
--publish 8080:80 \
--env SQLITE_DATABASE=nextcloud.sqlite \
--env NEXTCLOUD_ADMIN_USER=admin \
--env NEXTCLOUD_ADMIN_PASSWORD=admin \
nextcloud

This simple test server already suffices in the most cases. For more advanced server test deployments we also recommend Nextcloud development environment on Docker Compose.

Get in touch πŸ’¬

You can also get professional support for Nextcloud and the desktop client!

License πŸ“œ

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

27,669 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Nextcloud Desktop Client

REUSE status

The Nextcloud Desktop Client is an app to synchronize files from Nextcloud Server with your computer available for Windows, macOS and Linux.

Desktop Client on Windows

Downloads πŸš€

For the latest stable and recommended version, please refer to the official download page.

Help πŸ›Ÿ

You can find the user, administration and developer manuals for the desktop client on our central documentation site.

Contributing 🫴

  • Make sure to follow our guidelines for contributing to this repository.
  • Don't forget to read our Code of Conduct. This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere and to explain how together we can strengthen and support each other.

Join the team πŸ‘ͺ

There are many ways to contribute, of which development is only one! Find out how to get involved, including as a translator, designer, tester, helping others, and much more! 😍

Help testing πŸ”¬

Download and install the client:

Reporting issues πŸ›

If you find any bugs or have any suggestion for improvement, please open an issue in this repository.

Bug fixing and development πŸ› οΈ

Tip

For contributors on macOS, see the macOS development guide.

Note

Find the system requirements and instructions on how to work with KDE Craft in our desktop client blueprints repository.

System requirements

Optional recommendations:

Build

Step by step instructions on how to build the client to contribute.

  1. Clone the Github repository: git clone https://github.com/nextcloud/desktop.git
  2. Create build directory: mkdir <build directory>
  3. Navigate into build directory: cd <build directory>
  4. Compile: cmake -S <cloned desktop repo> -B build -DCMAKE_PREFIX_PATH=<dependencies> -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=. -DNEXTCLOUD_DEV=ON

Tip

The cmake variable NEXTCLOUD_DEV allows you to run your own build of the client while developing in parallel with an installed version of the client.

Then you might continue with these steps:

  1. πŸ› Pick a good first issue
  2. πŸ‘©β€πŸ”§ Create a branch and make your changes. Remember to sign off your commits using git commit -sm "Your commit message"
  3. ⬆ Create a pull request and @mention the people from the issue to eview
  4. πŸ‘ Fix things that come up during a review
  5. πŸŽ‰ Wait for it to get merged!

Test servers

The easiest way to have a local Nextcloud server to develop, debug and test the client against is the Nextcloud Docker image. The following example shows how to deploy a Nextcloud Docker container on the local host which will be removed again as soon as the command is interrupted. Note that this requires Docker to be installed in your developer environment.

docker run \
--rm \
--publish 8080:80 \
--env SQLITE_DATABASE=nextcloud.sqlite \
--env NEXTCLOUD_ADMIN_USER=admin \
--env NEXTCLOUD_ADMIN_PASSWORD=admin \
nextcloud

This simple test server already suffices in the most cases. For more advanced server test deployments we also recommend Nextcloud development environment on Docker Compose.

Get in touch πŸ’¬

You can also get professional support for Nextcloud and the desktop client!

License πŸ“œ

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

27,669 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Nextcloud Desktop Client

REUSE status

The Nextcloud Desktop Client is an app to synchronize files from Nextcloud Server with your computer available for Windows, macOS and Linux.

Desktop Client on Windows

Downloads πŸš€

For the latest stable and recommended version, please refer to the official download page.

Help πŸ›Ÿ

You can find the user, administration and developer manuals for the desktop client on our central documentation site.

Contributing 🫴

  • Make sure to follow our guidelines for contributing to this repository.
  • Don't forget to read our Code of Conduct. This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere and to explain how together we can strengthen and support each other.

Join the team πŸ‘ͺ

There are many ways to contribute, of which development is only one! Find out how to get involved, including as a translator, designer, tester, helping others, and much more! 😍

Help testing πŸ”¬

Download and install the client:

Reporting issues πŸ›

If you find any bugs or have any suggestion for improvement, please open an issue in this repository.

Bug fixing and development πŸ› οΈ

Tip

For contributors on macOS, see the macOS development guide.

Note

Find the system requirements and instructions on how to work with KDE Craft in our desktop client blueprints repository.

System requirements

Optional recommendations:

Build

Step by step instructions on how to build the client to contribute.

  1. Clone the Github repository: git clone https://github.com/nextcloud/desktop.git
  2. Create build directory: mkdir <build directory>
  3. Navigate into build directory: cd <build directory>
  4. Compile: cmake -S <cloned desktop repo> -B build -DCMAKE_PREFIX_PATH=<dependencies> -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=. -DNEXTCLOUD_DEV=ON

Tip

The cmake variable NEXTCLOUD_DEV allows you to run your own build of the client while developing in parallel with an installed version of the client.

Then you might continue with these steps:

  1. πŸ› Pick a good first issue
  2. πŸ‘©β€πŸ”§ Create a branch and make your changes. Remember to sign off your commits using git commit -sm "Your commit message"
  3. ⬆ Create a pull request and @mention the people from the issue to eview
  4. πŸ‘ Fix things that come up during a review
  5. πŸŽ‰ Wait for it to get merged!

Test servers

The easiest way to have a local Nextcloud server to develop, debug and test the client against is the Nextcloud Docker image. The following example shows how to deploy a Nextcloud Docker container on the local host which will be removed again as soon as the command is interrupted. Note that this requires Docker to be installed in your developer environment.

docker run \
--rm \
--publish 8080:80 \
--env SQLITE_DATABASE=nextcloud.sqlite \
--env NEXTCLOUD_ADMIN_USER=admin \
--env NEXTCLOUD_ADMIN_PASSWORD=admin \
nextcloud

This simple test server already suffices in the most cases. For more advanced server test deployments we also recommend Nextcloud development environment on Docker Compose.

Get in touch πŸ’¬

You can also get professional support for Nextcloud and the desktop client!

License πŸ“œ

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

27,669 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Nextcloud Desktop Client

REUSE status

The Nextcloud Desktop Client is an app to synchronize files from Nextcloud Server with your computer available for Windows, macOS and Linux.

Desktop Client on Windows

Downloads πŸš€

For the latest stable and recommended version, please refer to the official download page.

Help πŸ›Ÿ

You can find the user, administration and developer manuals for the desktop client on our central documentation site.

Contributing 🫴

  • Make sure to follow our guidelines for contributing to this repository.
  • Don't forget to read our Code of Conduct. This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere and to explain how together we can strengthen and support each other.

Join the team πŸ‘ͺ

There are many ways to contribute, of which development is only one! Find out how to get involved, including as a translator, designer, tester, helping others, and much more! 😍

Help testing πŸ”¬

Download and install the client:

Reporting issues πŸ›

If you find any bugs or have any suggestion for improvement, please open an issue in this repository.

Bug fixing and development πŸ› οΈ

Tip

For contributors on macOS, see the macOS development guide.

Note

Find the system requirements and instructions on how to work with KDE Craft in our desktop client blueprints repository.

System requirements

Optional recommendations:

Build

Step by step instructions on how to build the client to contribute.

  1. Clone the Github repository: git clone https://github.com/nextcloud/desktop.git
  2. Create build directory: mkdir <build directory>
  3. Navigate into build directory: cd <build directory>
  4. Compile: cmake -S <cloned desktop repo> -B build -DCMAKE_PREFIX_PATH=<dependencies> -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=. -DNEXTCLOUD_DEV=ON

Tip

The cmake variable NEXTCLOUD_DEV allows you to run your own build of the client while developing in parallel with an installed version of the client.

Then you might continue with these steps:

  1. πŸ› Pick a good first issue
  2. πŸ‘©β€πŸ”§ Create a branch and make your changes. Remember to sign off your commits using git commit -sm "Your commit message"
  3. ⬆ Create a pull request and @mention the people from the issue to eview
  4. πŸ‘ Fix things that come up during a review
  5. πŸŽ‰ Wait for it to get merged!

Test servers

The easiest way to have a local Nextcloud server to develop, debug and test the client against is the Nextcloud Docker image. The following example shows how to deploy a Nextcloud Docker container on the local host which will be removed again as soon as the command is interrupted. Note that this requires Docker to be installed in your developer environment.

docker run \
--rm \
--publish 8080:80 \
--env SQLITE_DATABASE=nextcloud.sqlite \
--env NEXTCLOUD_ADMIN_USER=admin \
--env NEXTCLOUD_ADMIN_PASSWORD=admin \
nextcloud

This simple test server already suffices in the most cases. For more advanced server test deployments we also recommend Nextcloud development environment on Docker Compose.

Get in touch πŸ’¬

You can also get professional support for Nextcloud and the desktop client!

License πŸ“œ

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

27,669 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Nextcloud Desktop Client

REUSE status

The Nextcloud Desktop Client is an app to synchronize files from Nextcloud Server with your computer available for Windows, macOS and Linux.

Desktop Client on Windows

Downloads πŸš€

For the latest stable and recommended version, please refer to the official download page.

Help πŸ›Ÿ

You can find the user, administration and developer manuals for the desktop client on our central documentation site.

Contributing 🫴

  • Make sure to follow our guidelines for contributing to this repository.
  • Don't forget to read our Code of Conduct. This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere and to explain how together we can strengthen and support each other.

Join the team πŸ‘ͺ

There are many ways to contribute, of which development is only one! Find out how to get involved, including as a translator, designer, tester, helping others, and much more! 😍

Help testing πŸ”¬

Download and install the client:

Reporting issues πŸ›

If you find any bugs or have any suggestion for improvement, please open an issue in this repository.

Bug fixing and development πŸ› οΈ

Tip

For contributors on macOS, see the macOS development guide.

Note

Find the system requirements and instructions on how to work with KDE Craft in our desktop client blueprints repository.

System requirements

Optional recommendations:

Build

Step by step instructions on how to build the client to contribute.

  1. Clone the Github repository: git clone https://github.com/nextcloud/desktop.git
  2. Create build directory: mkdir <build directory>
  3. Navigate into build directory: cd <build directory>
  4. Compile: cmake -S <cloned desktop repo> -B build -DCMAKE_PREFIX_PATH=<dependencies> -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=. -DNEXTCLOUD_DEV=ON

Tip

The cmake variable NEXTCLOUD_DEV allows you to run your own build of the client while developing in parallel with an installed version of the client.

Then you might continue with these steps:

  1. πŸ› Pick a good first issue
  2. πŸ‘©β€πŸ”§ Create a branch and make your changes. Remember to sign off your commits using git commit -sm "Your commit message"
  3. ⬆ Create a pull request and @mention the people from the issue to eview
  4. πŸ‘ Fix things that come up during a review
  5. πŸŽ‰ Wait for it to get merged!

Test servers

The easiest way to have a local Nextcloud server to develop, debug and test the client against is the Nextcloud Docker image. The following example shows how to deploy a Nextcloud Docker container on the local host which will be removed again as soon as the command is interrupted. Note that this requires Docker to be installed in your developer environment.

docker run \
--rm \
--publish 8080:80 \
--env SQLITE_DATABASE=nextcloud.sqlite \
--env NEXTCLOUD_ADMIN_USER=admin \
--env NEXTCLOUD_ADMIN_PASSWORD=admin \
nextcloud

This simple test server already suffices in the most cases. For more advanced server test deployments we also recommend Nextcloud development environment on Docker Compose.

Get in touch πŸ’¬

You can also get professional support for Nextcloud and the desktop client!

License πŸ“œ

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.

Releases

Used by

Contributors

Languages