bin/vedeu_drb_server
#!/usr/bin/env ruby
# frozen_string_literal: true
lib_dir = '/Users/gavinlaking/Source/vedeu/lib/vedeu/distributed/../../../lib'
$LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
require 'vedeu'
# A simple test application for Vedeu.
class VedeuTestApplication
Vedeu.configure do
colour_mode 16_777_216
log Dir.tmpdir + '/vedeu_test_helper.log'
debug!
profile!
drb!
drb_host 'localhost'
drb_port 21_420
drb_width 80
drb_height 25
# terminal_mode :raw
# cooked!
# fake!
# raw!
# run_once!
# interactive!
# standalone!
# System keys can be redefined
# exit_key 'q'
# focus_next_key :tab
# focus_prev_key :shift_tab
# mode_switch_key :escape
# Not used yet
# stdin File.open('/dev/tty', 'r')
# stdout File.open('/dev/tty', 'w')
# stderr File.open(Dir.tmpdir + '/vedeu_error.log', 'w+')
end
Vedeu.bind(:_initialize_) { Vedeu.trigger(:_refresh_) }
Vedeu.border :test_interface do
# Define colour and style of border
colour foreground: '#ffff00', background: '#0000ff'
style 'normal'
# Define visibility of border
show_bottom!
show_left!
show_right!
show_top!
# Define characters used to draw border
bottom_right '+'
bottom_left '+'
horizontal '-'
top_right '+'
top_left '+'
vertical '|'
end
Vedeu.geometry :test_interface do
height 6
width 26
x 4
y 4
end
Vedeu.interface :test_interface do
colour foreground: '#ff0000', background: '#000000'
cursor!
end
Vedeu.keymap :test_interface do
key(:up, 'k') { Vedeu.trigger(:_cursor_up_) }
key(:right, 'l') { Vedeu.trigger(:_cursor_right_) }
key(:down, 'j') { Vedeu.trigger(:_cursor_down_) }
key(:left, 'h') { Vedeu.trigger(:_cursor_left_) }
end
Vedeu.menu :test_interface do
# ...
end
Vedeu.renders do
view :test_interface do
lines do
line 'a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1'
line 'a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2'
line 'a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3'
line 'a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4'
line 'a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5'
line 'a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6'
line 'a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7'
line 'a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8'
end
end
end
def self.start(argv = ARGV,
stdin = STDIN,
stdout = STDOUT,
stderr = STDERR,
kernel = Kernel)
Vedeu::Launcher.execute!(argv, stdin, stdout, stderr, kernel)
end
end
VedeuTestApplication.start(ARGV)