Repository files navigation

OctoPiPanel v0.2-dev

OctoPiPanel creates a simple interface on a small screen to control OctoPrint.
OctoPiPanel requires Pygame to be installed. Pygame can be downloaded from http://pygame.org.
OctoPiPanel is developed by Jonas Lorander (jonas@haksberg.net).

https://github.com/jonaslorander/OctoPiPanel

This is a (slow) work in progress.

Simplified BSD-2 License:

Copyright 2014 Jonas Lorander. All rights reserved.

Setup

Requirements

OctoPiPanel can be run on Windows as well to ease development.

Pi TFT Setup

Follow the DIY Installer Script setup at Adafruit to set up the Pi TFT correctly. https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/easy-install

Getting and installing OctoPiPanel

The setup is pretty basic. You'll be needing Python 2.7 which should be installed by default, Git, and pip.

cd ~
sudo apt-get install python-pip git
git clone https://github.com/jonaslorander/OctoPiPanel.git
cd OctoPiPanel
sudo pip install -r requirements.txt

Settings

  • You need to activate the REST API in you OctoPrint settings and get your API-key with Octoprint Versions older then 1.1.1, otherwise you will be fine.
  • Put the URL to you OctoPrint installation in the baseurl-property in the OctoPiPanel.cfg file. For instance http://localhost:5000 or http://192.168.0.111:5000.
  • Put your API-key in the apikey-property in the OctoPiPanel.cfg file.
  • By default the background light och the displays turns off after 30 seconds (30 000 ms). This can be changed by editing the backlightofftime-property in the configuration file. Setting this value to 0 keeps the display from turning off the background light.
  • If you have a display with a different resolution you can change the size of OctoPiPanel window using window_width- and window_height-properties in the configuration file.

Running OctoPiPanel

Start OctoPiPanel by browsing to the folder of the Python-file and execute
sudo python ./OctoPiPanel.py &
In a screen session (auto start scripts will be coming later). Yes, sudo must be used for the time being.

Automatic start up

Make OctoPiPanel.py executable and then copy the script files to their respective folders and make the init script executable:

cd ~/OctoPiPanel
chmod +x OctoPiPanel.py
sudo cp scripts/octopipanel.init /etc/init.d/octopipanel
sudo chmod +x /etc/init.d/octopipanel
sudo cp scripts/octopipanel.default /etc/default/octopipanel

Then add the script to autostart using sudo update-rc.d octopipanel defaults.

This will also allow you to start/stop/restart the OctoPiPanel daemon via

sudo service octopipanel {start|stop|restart}

Update OctoPiPanel

Stop OctoPiPanel and then issue this command to update:

cd ~/OctoPiPanel/
git pull
sudo pip install -r requirements.txt

If you would like to switch branch to devel, do this:

cd ~/OctoPiPanel/
git pull
git checkout devel
sudo pip install -r requirements.txt

Then you can start OctoPiPanel again.

Attributions

PygButton courtesy of Al Sweigart (al@inventwithpython.com)

About

OctoPiPanel creates a simple interface on a small screen to control OctoPrint.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e 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

Repository files navigation

OctoPiPanel v0.2-dev

OctoPiPanel creates a simple interface on a small screen to control OctoPrint.
OctoPiPanel requires Pygame to be installed. Pygame can be downloaded from http://pygame.org.
OctoPiPanel is developed by Jonas Lorander (jonas@haksberg.net).

https://github.com/jonaslorander/OctoPiPanel

This is a (slow) work in progress.

Simplified BSD-2 License:

Copyright 2014 Jonas Lorander. All rights reserved.

Setup

Requirements

OctoPiPanel can be run on Windows as well to ease development.

Pi TFT Setup

Follow the DIY Installer Script setup at Adafruit to set up the Pi TFT correctly. https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/easy-install

Getting and installing OctoPiPanel

The setup is pretty basic. You'll be needing Python 2.7 which should be installed by default, Git, and pip.

cd ~
sudo apt-get install python-pip git
git clone https://github.com/jonaslorander/OctoPiPanel.git
cd OctoPiPanel
sudo pip install -r requirements.txt

Settings

  • You need to activate the REST API in you OctoPrint settings and get your API-key with Octoprint Versions older then 1.1.1, otherwise you will be fine.
  • Put the URL to you OctoPrint installation in the baseurl-property in the OctoPiPanel.cfg file. For instance http://localhost:5000 or http://192.168.0.111:5000.
  • Put your API-key in the apikey-property in the OctoPiPanel.cfg file.
  • By default the background light och the displays turns off after 30 seconds (30 000 ms). This can be changed by editing the backlightofftime-property in the configuration file. Setting this value to 0 keeps the display from turning off the background light.
  • If you have a display with a different resolution you can change the size of OctoPiPanel window using window_width- and window_height-properties in the configuration file.

Running OctoPiPanel

Start OctoPiPanel by browsing to the folder of the Python-file and execute
sudo python ./OctoPiPanel.py &
In a screen session (auto start scripts will be coming later). Yes, sudo must be used for the time being.

Automatic start up

Make OctoPiPanel.py executable and then copy the script files to their respective folders and make the init script executable:

cd ~/OctoPiPanel
chmod +x OctoPiPanel.py
sudo cp scripts/octopipanel.init /etc/init.d/octopipanel
sudo chmod +x /etc/init.d/octopipanel
sudo cp scripts/octopipanel.default /etc/default/octopipanel

Then add the script to autostart using sudo update-rc.d octopipanel defaults.

This will also allow you to start/stop/restart the OctoPiPanel daemon via

sudo service octopipanel {start|stop|restart}

Update OctoPiPanel

Stop OctoPiPanel and then issue this command to update:

cd ~/OctoPiPanel/
git pull
sudo pip install -r requirements.txt

If you would like to switch branch to devel, do this:

cd ~/OctoPiPanel/
git pull
git checkout devel
sudo pip install -r requirements.txt

Then you can start OctoPiPanel again.

Attributions

PygButton courtesy of Al Sweigart (al@inventwithpython.com)

About

OctoPiPanel creates a simple interface on a small screen to control OctoPrint.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

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

Repository files navigation

OctoPiPanel v0.2-dev

OctoPiPanel creates a simple interface on a small screen to control OctoPrint.
OctoPiPanel requires Pygame to be installed. Pygame can be downloaded from http://pygame.org.
OctoPiPanel is developed by Jonas Lorander (jonas@haksberg.net).

https://github.com/jonaslorander/OctoPiPanel

This is a (slow) work in progress.

Simplified BSD-2 License:

Copyright 2014 Jonas Lorander. All rights reserved.

Setup

Requirements

OctoPiPanel can be run on Windows as well to ease development.

Pi TFT Setup

Follow the DIY Installer Script setup at Adafruit to set up the Pi TFT correctly. https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/easy-install

Getting and installing OctoPiPanel

The setup is pretty basic. You'll be needing Python 2.7 which should be installed by default, Git, and pip.

cd ~
sudo apt-get install python-pip git
git clone https://github.com/jonaslorander/OctoPiPanel.git
cd OctoPiPanel
sudo pip install -r requirements.txt

Settings

  • You need to activate the REST API in you OctoPrint settings and get your API-key with Octoprint Versions older then 1.1.1, otherwise you will be fine.
  • Put the URL to you OctoPrint installation in the baseurl-property in the OctoPiPanel.cfg file. For instance http://localhost:5000 or http://192.168.0.111:5000.
  • Put your API-key in the apikey-property in the OctoPiPanel.cfg file.
  • By default the background light och the displays turns off after 30 seconds (30 000 ms). This can be changed by editing the backlightofftime-property in the configuration file. Setting this value to 0 keeps the display from turning off the background light.
  • If you have a display with a different resolution you can change the size of OctoPiPanel window using window_width- and window_height-properties in the configuration file.

Running OctoPiPanel

Start OctoPiPanel by browsing to the folder of the Python-file and execute
sudo python ./OctoPiPanel.py &
In a screen session (auto start scripts will be coming later). Yes, sudo must be used for the time being.

Automatic start up

Make OctoPiPanel.py executable and then copy the script files to their respective folders and make the init script executable:

cd ~/OctoPiPanel
chmod +x OctoPiPanel.py
sudo cp scripts/octopipanel.init /etc/init.d/octopipanel
sudo chmod +x /etc/init.d/octopipanel
sudo cp scripts/octopipanel.default /etc/default/octopipanel

Then add the script to autostart using sudo update-rc.d octopipanel defaults.

This will also allow you to start/stop/restart the OctoPiPanel daemon via

sudo service octopipanel {start|stop|restart}

Update OctoPiPanel

Stop OctoPiPanel and then issue this command to update:

cd ~/OctoPiPanel/
git pull
sudo pip install -r requirements.txt

If you would like to switch branch to devel, do this:

cd ~/OctoPiPanel/
git pull
git checkout devel
sudo pip install -r requirements.txt

Then you can start OctoPiPanel again.

Attributions

PygButton courtesy of Al Sweigart (al@inventwithpython.com)

About

OctoPiPanel creates a simple interface on a small screen to control OctoPrint.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

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 \u003e 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

Repository files navigation

OctoPiPanel v0.2-dev

OctoPiPanel creates a simple interface on a small screen to control OctoPrint.
OctoPiPanel requires Pygame to be installed. Pygame can be downloaded from http://pygame.org.
OctoPiPanel is developed by Jonas Lorander (jonas@haksberg.net).

https://github.com/jonaslorander/OctoPiPanel

This is a (slow) work in progress.

Simplified BSD-2 License:

Copyright 2014 Jonas Lorander. All rights reserved.

Setup

Requirements

OctoPiPanel can be run on Windows as well to ease development.

Pi TFT Setup

Follow the DIY Installer Script setup at Adafruit to set up the Pi TFT correctly. https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/easy-install

Getting and installing OctoPiPanel

The setup is pretty basic. You'll be needing Python 2.7 which should be installed by default, Git, and pip.

cd ~
sudo apt-get install python-pip git
git clone https://github.com/jonaslorander/OctoPiPanel.git
cd OctoPiPanel
sudo pip install -r requirements.txt

Settings

  • You need to activate the REST API in you OctoPrint settings and get your API-key with Octoprint Versions older then 1.1.1, otherwise you will be fine.
  • Put the URL to you OctoPrint installation in the baseurl-property in the OctoPiPanel.cfg file. For instance http://localhost:5000 or http://192.168.0.111:5000.
  • Put your API-key in the apikey-property in the OctoPiPanel.cfg file.
  • By default the background light och the displays turns off after 30 seconds (30 000 ms). This can be changed by editing the backlightofftime-property in the configuration file. Setting this value to 0 keeps the display from turning off the background light.
  • If you have a display with a different resolution you can change the size of OctoPiPanel window using window_width- and window_height-properties in the configuration file.

Running OctoPiPanel

Start OctoPiPanel by browsing to the folder of the Python-file and execute
sudo python ./OctoPiPanel.py &
In a screen session (auto start scripts will be coming later). Yes, sudo must be used for the time being.

Automatic start up

Make OctoPiPanel.py executable and then copy the script files to their respective folders and make the init script executable:

cd ~/OctoPiPanel
chmod +x OctoPiPanel.py
sudo cp scripts/octopipanel.init /etc/init.d/octopipanel
sudo chmod +x /etc/init.d/octopipanel
sudo cp scripts/octopipanel.default /etc/default/octopipanel

Then add the script to autostart using sudo update-rc.d octopipanel defaults.

This will also allow you to start/stop/restart the OctoPiPanel daemon via

sudo service octopipanel {start|stop|restart}

Update OctoPiPanel

Stop OctoPiPanel and then issue this command to update:

cd ~/OctoPiPanel/
git pull
sudo pip install -r requirements.txt

If you would like to switch branch to devel, do this:

cd ~/OctoPiPanel/
git pull
git checkout devel
sudo pip install -r requirements.txt

Then you can start OctoPiPanel again.

Attributions

PygButton courtesy of Al Sweigart (al@inventwithpython.com)

About

OctoPiPanel creates a simple interface on a small screen to control OctoPrint.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

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

Repository files navigation

OctoPiPanel v0.2-dev

OctoPiPanel creates a simple interface on a small screen to control OctoPrint.
OctoPiPanel requires Pygame to be installed. Pygame can be downloaded from http://pygame.org.
OctoPiPanel is developed by Jonas Lorander (jonas@haksberg.net).

https://github.com/jonaslorander/OctoPiPanel

This is a (slow) work in progress.

Simplified BSD-2 License:

Copyright 2014 Jonas Lorander. All rights reserved.

Setup

Requirements

OctoPiPanel can be run on Windows as well to ease development.

Pi TFT Setup

Follow the DIY Installer Script setup at Adafruit to set up the Pi TFT correctly. https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/easy-install

Getting and installing OctoPiPanel

The setup is pretty basic. You'll be needing Python 2.7 which should be installed by default, Git, and pip.

cd ~
sudo apt-get install python-pip git
git clone https://github.com/jonaslorander/OctoPiPanel.git
cd OctoPiPanel
sudo pip install -r requirements.txt

Settings

  • You need to activate the REST API in you OctoPrint settings and get your API-key with Octoprint Versions older then 1.1.1, otherwise you will be fine.
  • Put the URL to you OctoPrint installation in the baseurl-property in the OctoPiPanel.cfg file. For instance http://localhost:5000 or http://192.168.0.111:5000.
  • Put your API-key in the apikey-property in the OctoPiPanel.cfg file.
  • By default the background light och the displays turns off after 30 seconds (30 000 ms). This can be changed by editing the backlightofftime-property in the configuration file. Setting this value to 0 keeps the display from turning off the background light.
  • If you have a display with a different resolution you can change the size of OctoPiPanel window using window_width- and window_height-properties in the configuration file.

Running OctoPiPanel

Start OctoPiPanel by browsing to the folder of the Python-file and execute
sudo python ./OctoPiPanel.py &
In a screen session (auto start scripts will be coming later). Yes, sudo must be used for the time being.

Automatic start up

Make OctoPiPanel.py executable and then copy the script files to their respective folders and make the init script executable:

cd ~/OctoPiPanel
chmod +x OctoPiPanel.py
sudo cp scripts/octopipanel.init /etc/init.d/octopipanel
sudo chmod +x /etc/init.d/octopipanel
sudo cp scripts/octopipanel.default /etc/default/octopipanel

Then add the script to autostart using sudo update-rc.d octopipanel defaults.

This will also allow you to start/stop/restart the OctoPiPanel daemon via

sudo service octopipanel {start|stop|restart}

Update OctoPiPanel

Stop OctoPiPanel and then issue this command to update:

cd ~/OctoPiPanel/
git pull
sudo pip install -r requirements.txt

If you would like to switch branch to devel, do this:

cd ~/OctoPiPanel/
git pull
git checkout devel
sudo pip install -r requirements.txt

Then you can start OctoPiPanel again.

Attributions

PygButton courtesy of Al Sweigart (al@inventwithpython.com)

About

OctoPiPanel creates a simple interface on a small screen to control OctoPrint.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

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

Repository files navigation

OctoPiPanel v0.2-dev

OctoPiPanel creates a simple interface on a small screen to control OctoPrint.
OctoPiPanel requires Pygame to be installed. Pygame can be downloaded from http://pygame.org.
OctoPiPanel is developed by Jonas Lorander (jonas@haksberg.net).

https://github.com/jonaslorander/OctoPiPanel

This is a (slow) work in progress.

Simplified BSD-2 License:

Copyright 2014 Jonas Lorander. All rights reserved.

Setup

Requirements

OctoPiPanel can be run on Windows as well to ease development.

Pi TFT Setup

Follow the DIY Installer Script setup at Adafruit to set up the Pi TFT correctly. https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/easy-install

Getting and installing OctoPiPanel

The setup is pretty basic. You'll be needing Python 2.7 which should be installed by default, Git, and pip.

cd ~
sudo apt-get install python-pip git
git clone https://github.com/jonaslorander/OctoPiPanel.git
cd OctoPiPanel
sudo pip install -r requirements.txt

Settings

  • You need to activate the REST API in you OctoPrint settings and get your API-key with Octoprint Versions older then 1.1.1, otherwise you will be fine.
  • Put the URL to you OctoPrint installation in the baseurl-property in the OctoPiPanel.cfg file. For instance http://localhost:5000 or http://192.168.0.111:5000.
  • Put your API-key in the apikey-property in the OctoPiPanel.cfg file.
  • By default the background light och the displays turns off after 30 seconds (30 000 ms). This can be changed by editing the backlightofftime-property in the configuration file. Setting this value to 0 keeps the display from turning off the background light.
  • If you have a display with a different resolution you can change the size of OctoPiPanel window using window_width- and window_height-properties in the configuration file.

Running OctoPiPanel

Start OctoPiPanel by browsing to the folder of the Python-file and execute
sudo python ./OctoPiPanel.py &
In a screen session (auto start scripts will be coming later). Yes, sudo must be used for the time being.

Automatic start up

Make OctoPiPanel.py executable and then copy the script files to their respective folders and make the init script executable:

cd ~/OctoPiPanel
chmod +x OctoPiPanel.py
sudo cp scripts/octopipanel.init /etc/init.d/octopipanel
sudo chmod +x /etc/init.d/octopipanel
sudo cp scripts/octopipanel.default /etc/default/octopipanel

Then add the script to autostart using sudo update-rc.d octopipanel defaults.

This will also allow you to start/stop/restart the OctoPiPanel daemon via

sudo service octopipanel {start|stop|restart}

Update OctoPiPanel

Stop OctoPiPanel and then issue this command to update:

cd ~/OctoPiPanel/
git pull
sudo pip install -r requirements.txt

If you would like to switch branch to devel, do this:

cd ~/OctoPiPanel/
git pull
git checkout devel
sudo pip install -r requirements.txt

Then you can start OctoPiPanel again.

Attributions

PygButton courtesy of Al Sweigart (al@inventwithpython.com)

About

OctoPiPanel creates a simple interface on a small screen to control OctoPrint.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

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

Repository files navigation

OctoPiPanel v0.2-dev

OctoPiPanel creates a simple interface on a small screen to control OctoPrint.
OctoPiPanel requires Pygame to be installed. Pygame can be downloaded from http://pygame.org.
OctoPiPanel is developed by Jonas Lorander (jonas@haksberg.net).

https://github.com/jonaslorander/OctoPiPanel

This is a (slow) work in progress.

Simplified BSD-2 License:

Copyright 2014 Jonas Lorander. All rights reserved.

Setup

Requirements

OctoPiPanel can be run on Windows as well to ease development.

Pi TFT Setup

Follow the DIY Installer Script setup at Adafruit to set up the Pi TFT correctly. https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/easy-install

Getting and installing OctoPiPanel

The setup is pretty basic. You'll be needing Python 2.7 which should be installed by default, Git, and pip.

cd ~
sudo apt-get install python-pip git
git clone https://github.com/jonaslorander/OctoPiPanel.git
cd OctoPiPanel
sudo pip install -r requirements.txt

Settings

  • You need to activate the REST API in you OctoPrint settings and get your API-key with Octoprint Versions older then 1.1.1, otherwise you will be fine.
  • Put the URL to you OctoPrint installation in the baseurl-property in the OctoPiPanel.cfg file. For instance http://localhost:5000 or http://192.168.0.111:5000.
  • Put your API-key in the apikey-property in the OctoPiPanel.cfg file.
  • By default the background light och the displays turns off after 30 seconds (30 000 ms). This can be changed by editing the backlightofftime-property in the configuration file. Setting this value to 0 keeps the display from turning off the background light.
  • If you have a display with a different resolution you can change the size of OctoPiPanel window using window_width- and window_height-properties in the configuration file.

Running OctoPiPanel

Start OctoPiPanel by browsing to the folder of the Python-file and execute
sudo python ./OctoPiPanel.py &
In a screen session (auto start scripts will be coming later). Yes, sudo must be used for the time being.

Automatic start up

Make OctoPiPanel.py executable and then copy the script files to their respective folders and make the init script executable:

cd ~/OctoPiPanel
chmod +x OctoPiPanel.py
sudo cp scripts/octopipanel.init /etc/init.d/octopipanel
sudo chmod +x /etc/init.d/octopipanel
sudo cp scripts/octopipanel.default /etc/default/octopipanel

Then add the script to autostart using sudo update-rc.d octopipanel defaults.

This will also allow you to start/stop/restart the OctoPiPanel daemon via

sudo service octopipanel {start|stop|restart}

Update OctoPiPanel

Stop OctoPiPanel and then issue this command to update:

cd ~/OctoPiPanel/
git pull
sudo pip install -r requirements.txt

If you would like to switch branch to devel, do this:

cd ~/OctoPiPanel/
git pull
git checkout devel
sudo pip install -r requirements.txt

Then you can start OctoPiPanel again.

Attributions

PygButton courtesy of Al Sweigart (al@inventwithpython.com)

About

OctoPiPanel creates a simple interface on a small screen to control OctoPrint.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

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

Repository files navigation

OctoPiPanel v0.2-dev

OctoPiPanel creates a simple interface on a small screen to control OctoPrint.
OctoPiPanel requires Pygame to be installed. Pygame can be downloaded from http://pygame.org.
OctoPiPanel is developed by Jonas Lorander (jonas@haksberg.net).

https://github.com/jonaslorander/OctoPiPanel

This is a (slow) work in progress.

Simplified BSD-2 License:

Copyright 2014 Jonas Lorander. All rights reserved.

Setup

Requirements

OctoPiPanel can be run on Windows as well to ease development.

Pi TFT Setup

Follow the DIY Installer Script setup at Adafruit to set up the Pi TFT correctly. https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/easy-install

Getting and installing OctoPiPanel

The setup is pretty basic. You'll be needing Python 2.7 which should be installed by default, Git, and pip.

cd ~
sudo apt-get install python-pip git
git clone https://github.com/jonaslorander/OctoPiPanel.git
cd OctoPiPanel
sudo pip install -r requirements.txt

Settings

  • You need to activate the REST API in you OctoPrint settings and get your API-key with Octoprint Versions older then 1.1.1, otherwise you will be fine.
  • Put the URL to you OctoPrint installation in the baseurl-property in the OctoPiPanel.cfg file. For instance http://localhost:5000 or http://192.168.0.111:5000.
  • Put your API-key in the apikey-property in the OctoPiPanel.cfg file.
  • By default the background light och the displays turns off after 30 seconds (30 000 ms). This can be changed by editing the backlightofftime-property in the configuration file. Setting this value to 0 keeps the display from turning off the background light.
  • If you have a display with a different resolution you can change the size of OctoPiPanel window using window_width- and window_height-properties in the configuration file.

Running OctoPiPanel

Start OctoPiPanel by browsing to the folder of the Python-file and execute
sudo python ./OctoPiPanel.py &
In a screen session (auto start scripts will be coming later). Yes, sudo must be used for the time being.

Automatic start up

Make OctoPiPanel.py executable and then copy the script files to their respective folders and make the init script executable:

cd ~/OctoPiPanel
chmod +x OctoPiPanel.py
sudo cp scripts/octopipanel.init /etc/init.d/octopipanel
sudo chmod +x /etc/init.d/octopipanel
sudo cp scripts/octopipanel.default /etc/default/octopipanel

Then add the script to autostart using sudo update-rc.d octopipanel defaults.

This will also allow you to start/stop/restart the OctoPiPanel daemon via

sudo service octopipanel {start|stop|restart}

Update OctoPiPanel

Stop OctoPiPanel and then issue this command to update:

cd ~/OctoPiPanel/
git pull
sudo pip install -r requirements.txt

If you would like to switch branch to devel, do this:

cd ~/OctoPiPanel/
git pull
git checkout devel
sudo pip install -r requirements.txt

Then you can start OctoPiPanel again.

Attributions

PygButton courtesy of Al Sweigart (al@inventwithpython.com)

About

OctoPiPanel creates a simple interface on a small screen to control OctoPrint.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages