dugout-> graphics_virtual.dugout
Define virtual graphics variables for your displays. Establish virtual-graphics interfaces, and virtual-graphics workstations. Generic values are present for standard display properties, however - if you wish to have non-standard display values, they will need to be defined by the operator. The smallest size available is 480px. The largest available size is 3840px. The Pixel limits are between 1-1,200,000px. Any defined display must be discoverable through a subsystem discovery tool, such as xrandr or by querying the display directly.
#!/bin/sh
###############################################################################
## COPYRIGHT (C) 2023-2024 NEW ENTITY OPERATIONS INC. ALL RIGHTS RESERVED
## CREATED: 2023/11/19
## INSTANCE: graphics_virtual.dugout
## MODIFIED: 2024/01/03
## OVERVIEW: Define virtual graphics variables for your displays. Establish
## virtual-graphics interfaces and virtual-graphics workstations.
## HISTORY: VERSION 1.3
## -> 2023/10/16 (VERSION 1.0) Development
## -> 2023/12/17 (VERSION 1.1)
## -> 2023/12/20 (VERSION 1.2)
## -> 2024/01/03 (VERSION 1.3) Production
###############################################################################
## Configure a MAIN_monitor
###############################################################################
## Configure additional monitors based off of your xrandr -q setup needs
## MOCKED_monitor: Null monitor used in anchoring X window displays to an
## abstract-custom grid
export MOCKED_monitor="${CONFIGURATION_MOCKED_MONITOR}"
## MAIN_
export MAIN_monitor="${CONFIGURATION_MAIN_MONITOR}"
## SECOND_
export SECOND_monitor="${CONFIGURATION_SECONDARY_MONITOR}"
## THIRD_
export THIRD_monitor="${CONFIGURATION_THIRD_MONITOR}"
## FORTH
export FOURTH_monitor="${CONFIGURATION_FOUTH_MONITOR}"
## FIFTH
export FIFTH_monitor="${CONFIGURATION_FIFTH_MONITOR}"
## SIXTH
export SIXTH_monitor="${CONFIGURATION_SIXTH_MONITOR}"
## SEVENTH
export SEVENTH_monitor="${CONFIGURATION_SEVENTH_MONITOR}"
## X_*
#export *X*_monitor=$CONFIGURATION_*X*_MONITOR
###############################################################################
## scale mode
###############################################################################
## scale
export SCALE_TENTH=.10
export SCALE_QUARTER=.25
export SCALE_HALF=.5
export SCALE_ONE=1
export SCALE_ONE_AND_A_HALF=1.5
export SCALE_TWO=2
export SCALE_THREE=3
export SCALE_FOUR=4
export SCALE_FIVE=5
export SCALE_TEN=10
## scale width
export SCALE_WIDTH_TENTH=0.10x
export SCALE_WIDTH_QUARTER=0.25x
export SCALE_WIDTH_HALF=0.50x
export SCALE_WIDTH_ONE=1.00x
export SCALE_WIDTH_ONE_FIFTY=1.50x
export SCALE_WIDTH_TWO_HUNDRED=2.00x
export SCALE_WIDTH_THREE_HUNRDED=3.00x
export SCALE_WIDTH_FOUR_HUNRDED=4.00x
export SCALE_WIDTH_FIVE_HUNDRED=5.00x
export SCALE_WIDTH_ONE_THOUSAND=10.00x
## scale height
export SCALE_HEIGHT_TENTH=0.10x
export SCALE_HEIGHT_QUARTER=0.25x
export SCALE_HEIGHT_HALF=0.50
export SCALE_HEIGHT_ONE=1.00
export SCALE_HEIGHT_ONE_FIFTY=1.50
export SCALE_HEIGHT_TWO_HUNDRED=2.00
export SCALE_HEIGHT_THREE_HUNRDED=3.00
export SCALE_HEIGHT_FOUR_HUNDRED=4.00
export SCALE_HEIGHT_FIVE_HUNDRED=5.00
export SCALE_HEIGHT_ONE_THOUSAND=10.00
## scale 4k
export SCALE_4K="${SCALE_WIDTH_HALF}${SCALE_WIDTH_HALF}"
## scale primary
export SCALE_PRIMARY="${SCALE_WIDTH_ONE}${SCALE_HEIGHT_ONE}"
## scale secondary
export SCALE_SECONDARY="${SCALE_WIDTH_TWO_HUNDRED}${SCALE_HEIGHT_TWO_HUNDRED}"
## scale third
export SCALE_THIRD="${SCALE_WIDTH_TWO_HUNDRED}${SCALE_HEIGHT_TWO_HUNDRED}"
###############################################################################
## mode table
###############################################################################
## Monitor Widths
export WIDTH_3840=3840x
export WIDTH_2560=2560x
export WIDTH_1920=1920x
export WIDTH_1680=1680x
export WIDTH_1600=1600x
export WIDTH_1440=1440x
export WIDTH_1280=1280x
export WIDTH_1200=1200x
export WIDTH_1050=1050x
export WIDTH_1024=1024x
export WIDTH_900=900x
export WIDTH_800=800x
export WIDTH_768=768x
export WIDTH_720=720x
export WIDTH_640=640x
export WIDTH_480=480x
## Monitor Heights
export HEIGHT_3480=3480
export HEIGHT_2160=2160
export HEIGHT_1920=1920
export HEIGHT_1680=1680
export HEIGHT_1440=1440
export HEIGHT_1280=1280
export HEIGHT_1200=1200
export HEIGHT_1080=1080
export HEIGHT_1050=1050
export HEIGHT_1024=1024
export HEIGHT_900=900
export HEIGHT_800=800
export HEIGHT_768=768
export HEIGHT_720=720
export HEIGHT_600=600
export HEIHT_480=480
###############################################################################
## Rotation tables
###############################################################################
export ROTATION_LEFT=left
export ROTATION_NORMAL=normal
export ROTATION_RIGHT=right
###############################################################################
## Rotation tables
###############################################################################
## Available
export RATE_144=144.00
export RATE_99=99.93
export RATE_84=84.90
export RATE_60=60.00
export RATE_50=50.00
export RATE_30=30.00
## Set
export RATE_MAIN="${RATE_60}"
export RATE_SECONDARY="${RATE_60}"
###############################################################################
## PIN_MARK
###############################################################################
export PIN_MARK_HORIZONTAL=0x
export PIN_MARK_VERTICLE=0
export PIN_MARK_HORIZONTAL_SECONDARY=2160x
export PIN_MARK_VERTICLE_SECONDARY=1202
export STRING_x=x
###############################################################################
## Configurations: Monitor Variables
###############################################################################
export MODE_MAIN_WIDTH="${WIDTH_3840}"
export MODE_MAIN_HEIGHT="${HEIGHT_2160}"
## for 2x scaling, you may have to 2x the WxH depending on your graphics card
export MODE_SECONDARY_WIDTH="${WIDTH_1920}"
export MODE_SECONDARY_HEIGHT="${HEIGHT_1080}"
export STRING_MODE_OUTPUT_MAIN="${MODE_MAIN_WIDTH}${MODE_MAIN_HEIGHT}"
## If you have your monitors regular config, use this
export STRING_MODE_OUTPUT_SECONDARY="${MODE_SECONDARY_WIDTH}${MODE_SECONDARY_HEIGHT}"
###############################################################################
# Configurations: Offset for special displays
###############################################################################
export MODE_SECONDARY_OFFSET_HORIZONTAL=$((3840+1080))
export MODE_SECONDARY_OFFSET_VERTICLE=$((0+0))
export STRING_MODE_SECONDARY_OFFSET_HORIZONTAL="${MODE_SECONDARY_OFFSET_HORIZONTAL}"
export STRING_MODE_SECONDARY_OFFSET_VERTICLE="${MODE_SECONDARY_OFFSET_VERTICLE}"