←  Programs

ComputerCraft | Programmable Computers for Minecraft

»

Workspace - Desktop grid multitasking in C...

LDDestroier's Photo LDDestroier 23 Apr 2019

Ever use a Linux desktop and really like the way you could switch between different virtual desktops, or maybe you just don't like clicking through menus when multitasking?

look let's just get this over with I haven't eaten anything all day


INTRODUCING

Workspace

The Spiffiest Task Selector


wget https://github.com/LDDestroier/CC/raw/master/workspace.lua
pastebin get s0ehEQvA workspace.lua
std ld workspace


Workspace is a multitasking wrapper for ComputerCraft that lets you switch tasks by switching between different "virtual desktops" instead of clicking through a menu, as you would with "bg" or most CC operating systems.
Whenever a program exits, the workspace becomes "inactive", taking up no resources at all. Terminate in an inactive workspace to exit.

Push CTRL + SHIFT + ArrowKey to change your workspace.
Push CTRL + SHIFT + TAB + ArrowKey to swap the current workspace with another.
Push CTRL + SHIFT + [W or A or S or D] to add a new workspace relative to the currently focused workspace.
Push CTRL + SHIFT + P to toggle pausing a workspace.
Push CTRL + SHIFT + Q to delete the current workspace.

The grid is 3x3 by default.
Edited by LDDestroier, 21 June 2019 - 04:14 AM.
Quote

EveryOS's Photo EveryOS 02 May 2019

Tried it on my Mimic fork. When typing a command, the switcher will randomly appear. Other than that, it looks cool.
Quote

LDDestroier's Photo LDDestroier 20 Jun 2019

Substantial update! You can now pause each workspace to save on processing power! This also pauses any timer events that are queued by the paused workspace, which was the hardest part to get down, so everything should run smoothly.
Quote

LDDestroier's Photo LDDestroier 04 Sep 2019

Update:
  • Each instance can now have its own palette, which the native terminal will change to depending on the focused instance.
  • Problems with apps like Enchat3 involving several manually queued events (os.queueEvent) have been fixed.
Quote