This howto describes installing the extra kernel modules for the Tomato open-source router firmware. We will install them in the /opt/extras area.
- Router running Shibby's fork of TomatoUSB
- entware installed to a USB stick mounted at /opt
// c++ -o nanoexr nanoexr.cpp && ./nanoexr /tmp/foo.exr | |
#include <cstdio> | |
// writes a tiled OpenEXR file from a float RGB buffer | |
struct Exr { | |
FILE* f; enum{TS=64}; ~Exr() { fclose(f); } | |
void B(unsigned char i) { fputc(i,f); } | |
void I(unsigned int i) { fwrite(&i,1,4,f); } | |
void L(unsigned long long i) { fwrite(&i,1,8,f); } | |
void F(float x) { fwrite(&x,1,4,f); } |
from PyQt4 import QtGui, QtCore | |
class TextEdit(QtGui.QTextEdit): | |
''' | |
QTextEdit extended with a signal 'lineNumbersChanged' which gets triggered when the line-numbers of the visible text change. | |
Such functionality already exists for QPlainTextEdit via firstVisibleBlock().blockNumber() and lastVisibleBlock().blockNumber() | |
However these functions are not accessible using QTextEdit and PyQt. | |
The signal can be used to update custom widgets that compliment the QTextEdit such as lineNumberWidgets or miniMapWidgets. | |
''' | |
On Windows systems using Autodesk Maya, the text input field of the Script Editor doesn't regain focus after having restored focus to the main window. This event handler explicitly restores focus, if it turns out to have been the last active panel at the time of leaving the application.
Place the full contents of the script below into your userSetup.py
and never again lose focus.
#!/bin/bash | |
happened=1 | |
for window in $(recsel_windows.py -l -c 0,0.5,1,0.6) | |
do | |
happened=0 | |
xdotool windowactivate --sync $window key "$1" | |
done | |
if [ $happened -a -n "$2" ];then |
Building Python 3 with PyQt5, QWebEngine, QScintilla, VTK on Windows 64bit | |
Install Visual C++ 2013 (I failed to get MingW working with PyQt5) | |
Install the vs2013 version of Qt5 | |
Install Python 3.4 64bit | |
Get sip (4.17), PyQt5 (5.5.1), and QScintilla sources | |
Add path to qmake to PATH | |
from PyQt5.QtCore import * | |
from PyQt5.QtGui import QDrag | |
from PyQt5.QtWidgets import * | |
class TreeWidget(QTreeWidget): | |
customMimeType = "application/x-customTreeWidgetdata" | |
def mimeTypes(self): | |
mimetypes = QTreeWidget.mimeTypes(self) |
""" | |
Create widget with available icons from qt and based on freedesktop.org | |
https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html | |
""" | |
from PyQt5.QtCore import QSize | |
from PyQt5.QtGui import QIcon | |
from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget, QGridLayout, QStyle, \ | |
QFormLayout, QLabel, QScrollArea, QLineEdit, QTabWidget | |