This repository was archived by the owner on Jul 13, 2024. It is now read-only.

Repository files navigation

riftty

This repo is now read-only and archived, it uses an old Oculus SDK from DK1 era and is unlikely to work on newer HMDs.

Terminal emulator meant for use with the Oculus Rift headseat.

Built with Oculus SDK 0.4.1 for DK2 support.

Download

riftty.zip - For MacOSX 10.9

Configuration

To customize the configuraiton create a .riffty file in your home directory. Each line in the file should be in the form Key=Value.

Here is an example config:

SwapAltAndMetaKeys=true
Columns=80
Rows=25
WinPosX=0
WinPosY=1.7
WinPosZ=-1.0
WinFullscreen=false
WinWidth=2.0
Font=font/SourceCodePro-Regular.ttf
FontSize=64

Font

  • Font (string) file location of a FreeType2 compatible font.
  • FontSize (int) This won't change the size of the letters, but only how crisp they are when viewed up close. Don't use larger then 64 or so. 32 is the default.

Terminal settings

  • Columns (int) number of columns in the terminal. 80 columns is the default.
  • Rows (int) number of rows in the terminal. 24 columns is the default.
  • Term (string) reported in the TERM enviornment variable.

Window positioning

  • WinPosX (float) Used to move terminal window in world space. Negative values will move the terminal to the left, positive to the right. 0 is the default.
  • WinPosY (float) Used to move the terminal window in world space. Positive values will move the terminal up, negative will move it down, Possibly below the floor. 1 is the default.
  • WinPosZ (float) Used to move the position of the terminal window in world space. The view is facing down the negative Z axis, so -1 will be 1 meter from your face, -10 will be 10 meters from your face. -1 is the default. Avoid positive values as they will be behind your head in the starting orientation.
  • WinWidth (float) The width of the terminal in the world. 2 meters is the default
  • WinRotX (float) Tilt the terminal around the x axis in degrees. 0 is the default.
  • WinRotY (float) Tilt the terminal around the y axis in degrees. 0 is the default.
  • WinRotZ (float) Tilt the terminal around the z axis in degrees. 0 is the default.

Misc

  • WinFullscreen (bool) when false the application will run in a window instead of fullscreen. true is the default.
  • SwapAltAndMetaKeys (bool) when true the option and command keys are swapped. The default value is false.

About

Terminal Emulator for the Oculus Rift

Resources

Stars

102 stars

Watchers

1 watching

Forks

Releases

Packages

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
This repository was archived by the owner on Jul 13, 2024. It is now read-only.

Repository files navigation

riftty

This repo is now read-only and archived, it uses an old Oculus SDK from DK1 era and is unlikely to work on newer HMDs.

Terminal emulator meant for use with the Oculus Rift headseat.

Built with Oculus SDK 0.4.1 for DK2 support.

Download

riftty.zip - For MacOSX 10.9

Configuration

To customize the configuraiton create a .riffty file in your home directory. Each line in the file should be in the form Key=Value.

Here is an example config:

SwapAltAndMetaKeys=true
Columns=80
Rows=25
WinPosX=0
WinPosY=1.7
WinPosZ=-1.0
WinFullscreen=false
WinWidth=2.0
Font=font/SourceCodePro-Regular.ttf
FontSize=64

Font

  • Font (string) file location of a FreeType2 compatible font.
  • FontSize (int) This won't change the size of the letters, but only how crisp they are when viewed up close. Don't use larger then 64 or so. 32 is the default.

Terminal settings

  • Columns (int) number of columns in the terminal. 80 columns is the default.
  • Rows (int) number of rows in the terminal. 24 columns is the default.
  • Term (string) reported in the TERM enviornment variable.

Window positioning

  • WinPosX (float) Used to move terminal window in world space. Negative values will move the terminal to the left, positive to the right. 0 is the default.
  • WinPosY (float) Used to move the terminal window in world space. Positive values will move the terminal up, negative will move it down, Possibly below the floor. 1 is the default.
  • WinPosZ (float) Used to move the position of the terminal window in world space. The view is facing down the negative Z axis, so -1 will be 1 meter from your face, -10 will be 10 meters from your face. -1 is the default. Avoid positive values as they will be behind your head in the starting orientation.
  • WinWidth (float) The width of the terminal in the world. 2 meters is the default
  • WinRotX (float) Tilt the terminal around the x axis in degrees. 0 is the default.
  • WinRotY (float) Tilt the terminal around the y axis in degrees. 0 is the default.
  • WinRotZ (float) Tilt the terminal around the z axis in degrees. 0 is the default.

Misc

  • WinFullscreen (bool) when false the application will run in a window instead of fullscreen. true is the default.
  • SwapAltAndMetaKeys (bool) when true the option and command keys are swapped. The default value is false.

About

Terminal Emulator for the Oculus Rift

Resources

Stars

102 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
This repository was archived by the owner on Jul 13, 2024. It is now read-only.

Repository files navigation

riftty

This repo is now read-only and archived, it uses an old Oculus SDK from DK1 era and is unlikely to work on newer HMDs.

Terminal emulator meant for use with the Oculus Rift headseat.

Built with Oculus SDK 0.4.1 for DK2 support.

Download

riftty.zip - For MacOSX 10.9

Configuration

To customize the configuraiton create a .riffty file in your home directory. Each line in the file should be in the form Key=Value.

Here is an example config:

SwapAltAndMetaKeys=true
Columns=80
Rows=25
WinPosX=0
WinPosY=1.7
WinPosZ=-1.0
WinFullscreen=false
WinWidth=2.0
Font=font/SourceCodePro-Regular.ttf
FontSize=64

Font

  • Font (string) file location of a FreeType2 compatible font.
  • FontSize (int) This won't change the size of the letters, but only how crisp they are when viewed up close. Don't use larger then 64 or so. 32 is the default.

Terminal settings

  • Columns (int) number of columns in the terminal. 80 columns is the default.
  • Rows (int) number of rows in the terminal. 24 columns is the default.
  • Term (string) reported in the TERM enviornment variable.

Window positioning

  • WinPosX (float) Used to move terminal window in world space. Negative values will move the terminal to the left, positive to the right. 0 is the default.
  • WinPosY (float) Used to move the terminal window in world space. Positive values will move the terminal up, negative will move it down, Possibly below the floor. 1 is the default.
  • WinPosZ (float) Used to move the position of the terminal window in world space. The view is facing down the negative Z axis, so -1 will be 1 meter from your face, -10 will be 10 meters from your face. -1 is the default. Avoid positive values as they will be behind your head in the starting orientation.
  • WinWidth (float) The width of the terminal in the world. 2 meters is the default
  • WinRotX (float) Tilt the terminal around the x axis in degrees. 0 is the default.
  • WinRotY (float) Tilt the terminal around the y axis in degrees. 0 is the default.
  • WinRotZ (float) Tilt the terminal around the z axis in degrees. 0 is the default.

Misc

  • WinFullscreen (bool) when false the application will run in a window instead of fullscreen. true is the default.
  • SwapAltAndMetaKeys (bool) when true the option and command keys are swapped. The default value is false.

About

Terminal Emulator for the Oculus Rift

Resources

Stars

102 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 > 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
This repository was archived by the owner on Jul 13, 2024. It is now read-only.

Repository files navigation

riftty

This repo is now read-only and archived, it uses an old Oculus SDK from DK1 era and is unlikely to work on newer HMDs.

Terminal emulator meant for use with the Oculus Rift headseat.

Built with Oculus SDK 0.4.1 for DK2 support.

Download

riftty.zip - For MacOSX 10.9

Configuration

To customize the configuraiton create a .riffty file in your home directory. Each line in the file should be in the form Key=Value.

Here is an example config:

SwapAltAndMetaKeys=true
Columns=80
Rows=25
WinPosX=0
WinPosY=1.7
WinPosZ=-1.0
WinFullscreen=false
WinWidth=2.0
Font=font/SourceCodePro-Regular.ttf
FontSize=64

Font

  • Font (string) file location of a FreeType2 compatible font.
  • FontSize (int) This won't change the size of the letters, but only how crisp they are when viewed up close. Don't use larger then 64 or so. 32 is the default.

Terminal settings

  • Columns (int) number of columns in the terminal. 80 columns is the default.
  • Rows (int) number of rows in the terminal. 24 columns is the default.
  • Term (string) reported in the TERM enviornment variable.

Window positioning

  • WinPosX (float) Used to move terminal window in world space. Negative values will move the terminal to the left, positive to the right. 0 is the default.
  • WinPosY (float) Used to move the terminal window in world space. Positive values will move the terminal up, negative will move it down, Possibly below the floor. 1 is the default.
  • WinPosZ (float) Used to move the position of the terminal window in world space. The view is facing down the negative Z axis, so -1 will be 1 meter from your face, -10 will be 10 meters from your face. -1 is the default. Avoid positive values as they will be behind your head in the starting orientation.
  • WinWidth (float) The width of the terminal in the world. 2 meters is the default
  • WinRotX (float) Tilt the terminal around the x axis in degrees. 0 is the default.
  • WinRotY (float) Tilt the terminal around the y axis in degrees. 0 is the default.
  • WinRotZ (float) Tilt the terminal around the z axis in degrees. 0 is the default.

Misc

  • WinFullscreen (bool) when false the application will run in a window instead of fullscreen. true is the default.
  • SwapAltAndMetaKeys (bool) when true the option and command keys are swapped. The default value is false.

About

Terminal Emulator for the Oculus Rift

Resources

Stars

102 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
This repository was archived by the owner on Jul 13, 2024. It is now read-only.

Repository files navigation

riftty

This repo is now read-only and archived, it uses an old Oculus SDK from DK1 era and is unlikely to work on newer HMDs.

Terminal emulator meant for use with the Oculus Rift headseat.

Built with Oculus SDK 0.4.1 for DK2 support.

Download

riftty.zip - For MacOSX 10.9

Configuration

To customize the configuraiton create a .riffty file in your home directory. Each line in the file should be in the form Key=Value.

Here is an example config:

SwapAltAndMetaKeys=true
Columns=80
Rows=25
WinPosX=0
WinPosY=1.7
WinPosZ=-1.0
WinFullscreen=false
WinWidth=2.0
Font=font/SourceCodePro-Regular.ttf
FontSize=64

Font

  • Font (string) file location of a FreeType2 compatible font.
  • FontSize (int) This won't change the size of the letters, but only how crisp they are when viewed up close. Don't use larger then 64 or so. 32 is the default.

Terminal settings

  • Columns (int) number of columns in the terminal. 80 columns is the default.
  • Rows (int) number of rows in the terminal. 24 columns is the default.
  • Term (string) reported in the TERM enviornment variable.

Window positioning

  • WinPosX (float) Used to move terminal window in world space. Negative values will move the terminal to the left, positive to the right. 0 is the default.
  • WinPosY (float) Used to move the terminal window in world space. Positive values will move the terminal up, negative will move it down, Possibly below the floor. 1 is the default.
  • WinPosZ (float) Used to move the position of the terminal window in world space. The view is facing down the negative Z axis, so -1 will be 1 meter from your face, -10 will be 10 meters from your face. -1 is the default. Avoid positive values as they will be behind your head in the starting orientation.
  • WinWidth (float) The width of the terminal in the world. 2 meters is the default
  • WinRotX (float) Tilt the terminal around the x axis in degrees. 0 is the default.
  • WinRotY (float) Tilt the terminal around the y axis in degrees. 0 is the default.
  • WinRotZ (float) Tilt the terminal around the z axis in degrees. 0 is the default.

Misc

  • WinFullscreen (bool) when false the application will run in a window instead of fullscreen. true is the default.
  • SwapAltAndMetaKeys (bool) when true the option and command keys are swapped. The default value is false.

About

Terminal Emulator for the Oculus Rift

Resources

Stars

102 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
This repository was archived by the owner on Jul 13, 2024. It is now read-only.

Repository files navigation

riftty

This repo is now read-only and archived, it uses an old Oculus SDK from DK1 era and is unlikely to work on newer HMDs.

Terminal emulator meant for use with the Oculus Rift headseat.

Built with Oculus SDK 0.4.1 for DK2 support.

Download

riftty.zip - For MacOSX 10.9

Configuration

To customize the configuraiton create a .riffty file in your home directory. Each line in the file should be in the form Key=Value.

Here is an example config:

SwapAltAndMetaKeys=true
Columns=80
Rows=25
WinPosX=0
WinPosY=1.7
WinPosZ=-1.0
WinFullscreen=false
WinWidth=2.0
Font=font/SourceCodePro-Regular.ttf
FontSize=64

Font

  • Font (string) file location of a FreeType2 compatible font.
  • FontSize (int) This won't change the size of the letters, but only how crisp they are when viewed up close. Don't use larger then 64 or so. 32 is the default.

Terminal settings

  • Columns (int) number of columns in the terminal. 80 columns is the default.
  • Rows (int) number of rows in the terminal. 24 columns is the default.
  • Term (string) reported in the TERM enviornment variable.

Window positioning

  • WinPosX (float) Used to move terminal window in world space. Negative values will move the terminal to the left, positive to the right. 0 is the default.
  • WinPosY (float) Used to move the terminal window in world space. Positive values will move the terminal up, negative will move it down, Possibly below the floor. 1 is the default.
  • WinPosZ (float) Used to move the position of the terminal window in world space. The view is facing down the negative Z axis, so -1 will be 1 meter from your face, -10 will be 10 meters from your face. -1 is the default. Avoid positive values as they will be behind your head in the starting orientation.
  • WinWidth (float) The width of the terminal in the world. 2 meters is the default
  • WinRotX (float) Tilt the terminal around the x axis in degrees. 0 is the default.
  • WinRotY (float) Tilt the terminal around the y axis in degrees. 0 is the default.
  • WinRotZ (float) Tilt the terminal around the z axis in degrees. 0 is the default.

Misc

  • WinFullscreen (bool) when false the application will run in a window instead of fullscreen. true is the default.
  • SwapAltAndMetaKeys (bool) when true the option and command keys are swapped. The default value is false.

About

Terminal Emulator for the Oculus Rift

Resources

Stars

102 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
This repository was archived by the owner on Jul 13, 2024. It is now read-only.

Repository files navigation

riftty

This repo is now read-only and archived, it uses an old Oculus SDK from DK1 era and is unlikely to work on newer HMDs.

Terminal emulator meant for use with the Oculus Rift headseat.

Built with Oculus SDK 0.4.1 for DK2 support.

Download

riftty.zip - For MacOSX 10.9

Configuration

To customize the configuraiton create a .riffty file in your home directory. Each line in the file should be in the form Key=Value.

Here is an example config:

SwapAltAndMetaKeys=true
Columns=80
Rows=25
WinPosX=0
WinPosY=1.7
WinPosZ=-1.0
WinFullscreen=false
WinWidth=2.0
Font=font/SourceCodePro-Regular.ttf
FontSize=64

Font

  • Font (string) file location of a FreeType2 compatible font.
  • FontSize (int) This won't change the size of the letters, but only how crisp they are when viewed up close. Don't use larger then 64 or so. 32 is the default.

Terminal settings

  • Columns (int) number of columns in the terminal. 80 columns is the default.
  • Rows (int) number of rows in the terminal. 24 columns is the default.
  • Term (string) reported in the TERM enviornment variable.

Window positioning

  • WinPosX (float) Used to move terminal window in world space. Negative values will move the terminal to the left, positive to the right. 0 is the default.
  • WinPosY (float) Used to move the terminal window in world space. Positive values will move the terminal up, negative will move it down, Possibly below the floor. 1 is the default.
  • WinPosZ (float) Used to move the position of the terminal window in world space. The view is facing down the negative Z axis, so -1 will be 1 meter from your face, -10 will be 10 meters from your face. -1 is the default. Avoid positive values as they will be behind your head in the starting orientation.
  • WinWidth (float) The width of the terminal in the world. 2 meters is the default
  • WinRotX (float) Tilt the terminal around the x axis in degrees. 0 is the default.
  • WinRotY (float) Tilt the terminal around the y axis in degrees. 0 is the default.
  • WinRotZ (float) Tilt the terminal around the z axis in degrees. 0 is the default.

Misc

  • WinFullscreen (bool) when false the application will run in a window instead of fullscreen. true is the default.
  • SwapAltAndMetaKeys (bool) when true the option and command keys are swapped. The default value is false.

About

Terminal Emulator for the Oculus Rift

Resources

Stars

102 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
This repository was archived by the owner on Jul 13, 2024. It is now read-only.

Repository files navigation

riftty

This repo is now read-only and archived, it uses an old Oculus SDK from DK1 era and is unlikely to work on newer HMDs.

Terminal emulator meant for use with the Oculus Rift headseat.

Built with Oculus SDK 0.4.1 for DK2 support.

Download

riftty.zip - For MacOSX 10.9

Configuration

To customize the configuraiton create a .riffty file in your home directory. Each line in the file should be in the form Key=Value.

Here is an example config:

SwapAltAndMetaKeys=true
Columns=80
Rows=25
WinPosX=0
WinPosY=1.7
WinPosZ=-1.0
WinFullscreen=false
WinWidth=2.0
Font=font/SourceCodePro-Regular.ttf
FontSize=64

Font

  • Font (string) file location of a FreeType2 compatible font.
  • FontSize (int) This won't change the size of the letters, but only how crisp they are when viewed up close. Don't use larger then 64 or so. 32 is the default.

Terminal settings

  • Columns (int) number of columns in the terminal. 80 columns is the default.
  • Rows (int) number of rows in the terminal. 24 columns is the default.
  • Term (string) reported in the TERM enviornment variable.

Window positioning

  • WinPosX (float) Used to move terminal window in world space. Negative values will move the terminal to the left, positive to the right. 0 is the default.
  • WinPosY (float) Used to move the terminal window in world space. Positive values will move the terminal up, negative will move it down, Possibly below the floor. 1 is the default.
  • WinPosZ (float) Used to move the position of the terminal window in world space. The view is facing down the negative Z axis, so -1 will be 1 meter from your face, -10 will be 10 meters from your face. -1 is the default. Avoid positive values as they will be behind your head in the starting orientation.
  • WinWidth (float) The width of the terminal in the world. 2 meters is the default
  • WinRotX (float) Tilt the terminal around the x axis in degrees. 0 is the default.
  • WinRotY (float) Tilt the terminal around the y axis in degrees. 0 is the default.
  • WinRotZ (float) Tilt the terminal around the z axis in degrees. 0 is the default.

Misc

  • WinFullscreen (bool) when false the application will run in a window instead of fullscreen. true is the default.
  • SwapAltAndMetaKeys (bool) when true the option and command keys are swapped. The default value is false.

About

Terminal Emulator for the Oculus Rift

Resources

Stars

102 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages