forked from trogdoro/xiki
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cursor.rb
106 lines (95 loc) · 1.99 KB
/
cursor.rb
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
class Cursor
@@remember = {}
def self.menu
%`
> Summary
| Api for changing the cursor
|
- Colors/
@Cursor.red
@Cursor.green
@Cursor.blue
@Cursor.color "#80f"
- Shapes/
@Cursor.bar
@Cursor.underscore
@Cursor.hollow
@Cursor.box
- Colors and Shapes/
@Cursor.red_bar
@Cursor.green_underscore
@Cursor.blue_hollow
@Cursor.black_box
- Remembering and restoring cursor/
@Cursor.remember :a
@Cursor.restore :a
`
end
def self.bar
$el.el4r_lisp_eval "(customize-set-variable 'cursor-type '(bar . 2))"
nil
end
def self.box
$el.customize_set_variable :cursor_type, :box
nil
end
def self.underscore
$el.el4r_lisp_eval "(customize-set-variable 'cursor-type '(hbar . 3))"
nil
end
def self.hollow
$el.customize_set_variable :cursor_type, :hollow
nil
end
def self.color color
$el.set_face_background :cursor, color
nil
end
def self.blue
$el.set_face_background :cursor, "#0099ff"
nil
end
def self.red
$el.set_face_background :cursor, "#ff3300"
nil
end
def self.green
$el.set_face_background :cursor, "#33bb00"
nil
end
def self.black
$el.set_face_background :cursor, "#000000"
nil
end
def self.red_bar
self.red
self.bar
end
def self.blue_hollow
self.blue
self.hollow
end
def self.green_underscore
self.green
self.underscore
end
def self.blue_underscore
self.blue
self.underscore
end
def self.black_box
self.black
self.box
end
def self.remember symbol
# Save is hash for later restoring (only if not there yet)
@@remember[symbol] = [$el.elvar.cursor_type, $el.face_background(:cursor)]
end
def self.restore symbol
before = @@remember[symbol]
return Cursor.black_box unless before # Black if not found
type, color = before
$el.set_face_background :cursor, color
$el.customize_set_variable :cursor_type, type
end
end