-
Notifications
You must be signed in to change notification settings - Fork 0
/
vx_intro.py
67 lines (59 loc) · 1.57 KB
/
vx_intro.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import vx
import vx.args
import os.path
import math
from sys import argv
import vx.logger
import datetime
import subprocess
vx.logger.info('''----------------
Starting vx
{time}
----------------
'''.format(time=datetime.datetime.now()))
_tick_functions = []
def _register_tick_function(f, front=False):
if front:
_tick_functions.insert(0, f)
else:
_tick_functions.append(f)
def _tick():
for f in _tick_functions:
f()
vx.my_vx = _tick
vx.register_tick_function = _register_tick_function
def _resize():
pass
vx.resize_handler = _resize
def _normal_start():
vx.logger.info('starting normally')
from vx.pane import pane
from vx.filebuffer import filebuffer
from vx.scratchbuffer import scratchbuffer
from vx.pointer import organizer
if len(vx.files) == 0:
sb = scratchbuffer(vx.rows, vx.cols, 0, 0)
win = pane(sb, vx.rows, vx.cols, 0, 0)
organizer.add_pane(win)
organizer.switch_to_pane(win)
else:
d = vx.rows
y = 0
for f in vx.files:
fb = filebuffer(f, d, vx.cols, y, 0)
win = pane(fb, d, vx.cols, y, 0)
organizer.add_pane(win)
organizer.switch_to_pane(win)
def _default_start():
if not os.path.isfile(os.path.expanduser('~/.vx/rc.py')):
import vx.new_user
vx.new_user.start()
else:
_normal_start()
vx.default_start = _default_start
def _resize_handler():
from vx.pointer import panes
for p in panes.all:
p.resize(vx.rows, vx.cols)
vx.resize_handler = _resize_handler
import vx.pointer