Better colors and fonts

This commit is contained in:
Sebastian Morr 2020-09-01 21:25:24 +02:00
parent 590408e54c
commit ca8aae560c
13 changed files with 165 additions and 83 deletions

View file

@ -1,25 +1,29 @@
[gd_scene load_steps=2 format=2] [gd_scene load_steps=3 format=2]
[ext_resource path="res://arrow.gd" type="Script" id=1] [ext_resource path="res://arrow.gd" type="Script" id=1]
[ext_resource path="res://fonts/default.tres" type="DynamicFont" id=2]
[node name="Arrow" type="Node2D"] [node name="Arrow" type="Node2D"]
show_behind_parent = true
z_as_relative = false
script = ExtResource( 1 ) script = ExtResource( 1 )
[node name="Line" type="Line2D" parent="."] [node name="Line" type="Line2D" parent="."]
z_index = -1
points = PoolVector2Array( -0.480499, -0.11055, 158.301, 0.581757 ) points = PoolVector2Array( -0.480499, -0.11055, 158.301, 0.581757 )
default_color = Color( 0.447059, 0.447059, 0.447059, 1 ) default_color = Color( 0.2, 0.2, 0.2, 1 )
[node name="Tip" type="Node2D" parent="."] [node name="Tip" type="Node2D" parent="."]
position = Vector2( 149.835, 0.290878 ) position = Vector2( 149.835, 0.290878 )
z_index = 1
[node name="Polygon" type="Polygon2D" parent="Tip"] [node name="Polygon" type="Polygon2D" parent="Tip"]
position = Vector2( -9.66138, -2.89842 ) position = Vector2( -9.66138, -2.89842 )
z_index = -1 z_index = -1
color = Color( 0.447059, 0.447059, 0.447059, 1 ) color = Color( 0.2, 0.2, 0.2, 1 )
polygon = PoolVector2Array( -19.8744, 17.0372, 47.7551, 11.8845, -10.5351, -21.2861 ) polygon = PoolVector2Array( -19.8744, 17.0372, 47.7551, 11.8845, -10.5351, -21.2861 )
[node name="Label" type="Node2D" parent="."] [node name="Label" type="Node2D" parent="."]
visible = false
position = Vector2( 102, 46 ) position = Vector2( 102, 46 )
[node name="ID" type="Label" parent="Label"] [node name="ID" type="Label" parent="Label"]
@ -27,6 +31,8 @@ margin_left = -19.374
margin_top = -5.93085 margin_top = -5.93085
margin_right = 20.626 margin_right = 20.626
margin_bottom = 8.06915 margin_bottom = 8.06915
custom_fonts/font = ExtResource( 2 )
custom_colors/font_color = Color( 1, 1, 1, 1 )
text = "label" text = "label"
align = 1 align = 1
__meta__ = { __meta__ = {

View file

@ -5,4 +5,4 @@ func _ready():
func pressed(): func pressed():
$"..".send_command(text) $"../..".send_command(text)

7
fonts/default.tres Normal file
View file

@ -0,0 +1,7 @@
[gd_resource type="DynamicFont" load_steps=2 format=2]
[ext_resource path="res://fonts/iosevka-regular.ttf" type="DynamicFontData" id=1]
[resource]
size = 20
font_data = ExtResource( 1 )

BIN
fonts/iosevka-regular.ttf Normal file

Binary file not shown.

View file

@ -0,0 +1,5 @@
echo -e "bread\ntomato\nbread" > sandwich
git add sandwich
git commit -m "Initial sandwich"
echo -e "bread\ntomato\ncucumber\nbread" > sandwich
git commit -am "Add cucumber"

11
main.gd
View file

@ -5,6 +5,9 @@ var dragged = null
var server var server
var client_connection var client_connection
onready var input = $Terminal/Control/Input
onready var output = $Terminal/Control/Output
func _ready(): func _ready():
# Initialize level select. # Initialize level select.
var options = $LevelSelect.get_popup() var options = $LevelSelect.get_popup()
@ -18,7 +21,7 @@ func _ready():
# Load first level. # Load first level.
load_level(0) load_level(0)
$Terminal/Input.grab_focus() input.grab_focus()
func list_levels(): func list_levels():
var levels = [] var levels = []
@ -95,7 +98,7 @@ func _process(delta):
func read_commit_message(): func read_commit_message():
$CommitMessage.show() $CommitMessage.show()
$Terminal/Input.editable = false input.editable = false
$CommitMessage.text = game.read_file($ActiveRepository.path+"/.git/COMMIT_EDITMSG") $CommitMessage.text = game.read_file($ActiveRepository.path+"/.git/COMMIT_EDITMSG")
$CommitMessage.grab_focus() $CommitMessage.grab_focus()
@ -103,7 +106,7 @@ func save_commit_message():
game.write_file($ActiveRepository.path+"/.git/COMMIT_EDITMSG", $CommitMessage.text) game.write_file($ActiveRepository.path+"/.git/COMMIT_EDITMSG", $CommitMessage.text)
print("disconnect") print("disconnect")
client_connection.disconnect_from_host() client_connection.disconnect_from_host()
$Terminal/Input.editable = true input.editable = true
$CommitMessage.text = "" $CommitMessage.text = ""
$CommitMessage.hide() $CommitMessage.hide()
$Terminal/Input.grab_focus() input.grab_focus()

130
main.tscn
View file

@ -1,81 +1,125 @@
[gd_scene load_steps=5 format=2] [gd_scene load_steps=8 format=2]
[ext_resource path="res://terminal.gd" type="Script" id=1] [ext_resource path="res://terminal.gd" type="Script" id=1]
[ext_resource path="res://main.gd" type="Script" id=2] [ext_resource path="res://main.gd" type="Script" id=2]
[ext_resource path="res://repository.tscn" type="PackedScene" id=3] [ext_resource path="res://repository.tscn" type="PackedScene" id=3]
[ext_resource path="res://command_button.tscn" type="PackedScene" id=4] [ext_resource path="res://command_button.tscn" type="PackedScene" id=4]
[ext_resource path="res://fonts/default.tres" type="DynamicFont" id=5]
[sub_resource type="StyleBoxFlat" id=1]
bg_color = Color( 0, 0, 0, 1 )
[sub_resource type="StyleBoxFlat" id=2]
bg_color = Color( 0, 0, 0, 1 )
[node name="Main" type="Node2D"] [node name="Main" type="Node2D"]
script = ExtResource( 2 ) script = ExtResource( 2 )
[node name="Terminal" type="Node2D" parent="."] [node name="Background" type="ColorRect" parent="."]
z_index = 1 margin_right = 1922.0
script = ExtResource( 1 ) margin_bottom = 1081.0
mouse_filter = 2
color = Color( 0.0705882, 0.0705882, 0.0705882, 1 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Output" type="TextEdit" parent="Terminal"] [node name="Terminal" type="Control" parent="."]
margin_left = 1416.0 script = ExtResource( 1 )
margin_top = 4.0 __meta__ = {
margin_right = 1915.0 "_edit_use_anchors_": false
margin_bottom = 737.0 }
[node name="Control" type="VBoxContainer" parent="Terminal"]
anchor_right = 1.0
anchor_bottom = 1.0
margin_left = 1208.0
margin_top = 6.0
margin_right = 1908.0
margin_bottom = 1070.0
custom_constants/separation = 0
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Output" type="TextEdit" parent="Terminal/Control"]
margin_right = 700.0
margin_bottom = 1038.0
size_flags_vertical = 3
custom_styles/read_only = SubResource( 1 )
custom_fonts/font = ExtResource( 5 )
readonly = true readonly = true
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }
[node name="Input" type="LineEdit" parent="Terminal"] [node name="Button" parent="Terminal/Control" instance=ExtResource( 4 )]
margin_left = 1414.0 visible = false
margin_top = 1019.0 margin_left = 0.0
margin_right = 1913.0 margin_top = 852.0
margin_bottom = 1075.0 margin_right = 700.0
margin_bottom = 905.0
align = 0
[node name="Button2" parent="Terminal/Control" instance=ExtResource( 4 )]
visible = false
margin_left = 0.0
margin_top = 905.0
margin_right = 700.0
margin_bottom = 958.0
text = "git switch -c $RANDOM"
align = 0
[node name="Button3" parent="Terminal/Control" instance=ExtResource( 4 )]
visible = false
margin_left = 0.0
margin_top = 958.0
margin_right = 700.0
margin_bottom = 1011.0
text = "git checkout HEAD^"
align = 0
[node name="Input" type="LineEdit" parent="Terminal/Control"]
margin_top = 1038.0
margin_right = 700.0
margin_bottom = 1064.0
custom_styles/normal = SubResource( 2 )
custom_fonts/font = ExtResource( 5 )
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }
[node name="Button" parent="Terminal" instance=ExtResource( 4 )]
[node name="Button2" parent="Terminal" instance=ExtResource( 4 )]
margin_left = 1417.9
margin_top = 801.646
margin_right = 1671.9
margin_bottom = 821.646
text = "git switch -c $RANDOM"
[node name="Button3" parent="Terminal" instance=ExtResource( 4 )]
margin_left = 1417.45
margin_top = 846.547
margin_right = 1671.45
margin_bottom = 866.547
text = "git checkout HEAD^"
[node name="CommitMessage" type="TextEdit" parent="."] [node name="CommitMessage" type="TextEdit" parent="."]
visible = false visible = false
margin_left = 889.832 margin_left = 1209.0
margin_top = 16.4234 margin_top = 6.0
margin_right = 1388.83 margin_right = 1907.0
margin_bottom = 582.423 margin_bottom = 1068.0
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }
[node name="Button" type="Button" parent="CommitMessage"] [node name="SaveButton" type="Button" parent="CommitMessage"]
margin_left = 344.277 margin_left = 537.443
margin_top = 509.45 margin_top = 997.65
margin_right = 493.277 margin_right = 686.443
margin_bottom = 558.45 margin_bottom = 1046.65
text = "SAVE!" text = "Save"
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }
[node name="GoalRepository" parent="." instance=ExtResource( 3 )] [node name="GoalRepository" parent="." instance=ExtResource( 3 )]
visible = false
position = Vector2( 21.5742, 19.4168 ) position = Vector2( 21.5742, 19.4168 )
size = Vector2( 500, 1000 ) size = Vector2( 500, 1000 )
[node name="ActiveRepository" parent="." instance=ExtResource( 3 )] [node name="ActiveRepository" parent="." instance=ExtResource( 3 )]
position = Vector2( 704.399, 17.2594 ) position = Vector2( 356.756, 44.1985 )
size = Vector2( 500, 1000 ) size = Vector2( 500, 1000 )
[node name="LevelSelect" type="MenuButton" parent="."] [node name="LevelSelect" type="MenuButton" parent="."]
visible = false
margin_left = 11.5584 margin_left = 11.5584
margin_top = 11.1303 margin_top = 11.1303
margin_right = 109.558 margin_right = 109.558
@ -85,5 +129,5 @@ flat = false
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }
[connection signal="text_entered" from="Terminal/Input" to="Terminal" method="send_command"] [connection signal="text_entered" from="Terminal/Control/Input" to="Terminal" method="send_command"]
[connection signal="pressed" from="CommitMessage/Button" to="." method="save_commit_message"] [connection signal="pressed" from="CommitMessage/SaveButton" to="." method="save_commit_message"]

13
node.gd
View file

@ -6,6 +6,7 @@ var type setget type_set
var repository: Node2D var repository: Node2D
var children = {} setget children_set var children = {} setget children_set
var id_always_visible = false
var arrow = preload("res://arrow.tscn") var arrow = preload("res://arrow.tscn")
@ -18,7 +19,7 @@ func _process(delta):
var other = get_node("..").objects[c] var other = get_node("..").objects[c]
var d = other.position.distance_to(position) var d = other.position.distance_to(position)
var dir = (other.position - position).normalized() var dir = (other.position - position).normalized()
var f = (d*0.05) var f = (d*0.01)
position += dir*f position += dir*f
other.position -= dir*f other.position -= dir*f
@ -36,17 +37,22 @@ func type_set(new_type):
$ID.text = $ID.text.substr(0,8) $ID.text = $ID.text.substr(0,8)
match new_type: match new_type:
"blob": "blob":
$Rect.color = Color.gray $Rect.color = Color("#333333")
"tree": "tree":
$Rect.color = Color.darkgreen $Rect.color = Color.darkgreen
"commit": "commit":
$Rect.color = Color.orange $Rect.color = Color.orange
"tag": "tag":
$Rect.color = Color.blue $Rect.color = Color.blue
id_always_visible = true
"ref": "ref":
$Rect.color = Color("#6680ff") $Rect.color = Color("#6680ff")
id_always_visible = true
"head": "head":
$Rect.color = Color.red $Rect.color = Color.red
id_always_visible = true
if id_always_visible:
$ID.show()
func children_set(new_children): func children_set(new_children):
for c in $Arrows.get_children(): for c in $Arrows.get_children():
@ -63,7 +69,10 @@ func children_set(new_children):
func _on_hover(): func _on_hover():
$Content.visible = true $Content.visible = true
$ID.visible = true
func _on_unhover(): func _on_unhover():
if not id_always_visible:
$Content.visible = false $Content.visible = false
$ID.visible = false

View file

@ -1,42 +1,47 @@
[gd_scene load_steps=3 format=2] [gd_scene load_steps=4 format=2]
[ext_resource path="res://node.gd" type="Script" id=1] [ext_resource path="res://node.gd" type="Script" id=1]
[ext_resource path="res://fonts/default.tres" type="DynamicFont" id=2]
[sub_resource type="RectangleShape2D" id=1] [sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 69.1778, 29.9015 ) extents = Vector2( 30.4838, 29.9015 )
[node name="Node" type="Node2D"] [node name="Node" type="Node2D"]
z_index = 1
script = ExtResource( 1 ) script = ExtResource( 1 )
[node name="Rect" type="ColorRect" parent="."] [node name="Rect" type="ColorRect" parent="."]
margin_left = -62.0578 margin_left = -29.0
margin_top = -20.6286 margin_top = -28.0
margin_right = 61.9422 margin_right = 29.0
margin_bottom = 21.3714 margin_bottom = 30.0
mouse_filter = 2 mouse_filter = 2
color = Color( 0.984314, 0, 0, 1 )
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }
[node name="ID" type="Label" parent="."] [node name="ID" type="Label" parent="."]
margin_left = -57.0578 visible = false
margin_top = -7.6286 margin_left = -14.6409
margin_right = 58.9422 margin_top = -12.4902
margin_bottom = 16.3714 margin_right = 134.359
custom_colors/font_color = Color( 0, 0, 0, 1 ) margin_bottom = 40.5098
custom_fonts/font = ExtResource( 2 )
custom_colors/font_color = Color( 1, 1, 1, 1 )
text = "object_id" text = "object_id"
align = 1
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false
} }
[node name="Content" type="Label" parent="."] [node name="Content" type="Label" parent="."]
visible = false visible = false
margin_left = -57.0 margin_left = -12.8299
margin_top = 29.0 margin_top = 39.5639
margin_right = 250.0 margin_right = 294.17
margin_bottom = 238.0 margin_bottom = 248.564
custom_colors/font_color = Color( 0, 0, 0, 1 ) custom_fonts/font = ExtResource( 2 )
custom_colors/font_color = Color( 1, 1, 1, 1 )
text = "content" text = "content"
__meta__ = { __meta__ = {
"_edit_use_anchors_": false "_edit_use_anchors_": false

View file

@ -99,7 +99,7 @@ func apply_forces():
o2.position -= dir*f o2.position -= dir*f
var d = o.position.distance_to(Vector2(size.x/2, size.y/2)) var d = o.position.distance_to(Vector2(size.x/2, size.y/2))
var dir = (o.position - Vector2(size.x/2, size.y/2)).normalized() var dir = (o.position - Vector2(size.x/2, size.y/2)).normalized()
var f = (d+0.00001)*0.02 var f = (d+0.00001)*0.01
o.position -= dir*f o.position -= dir*f
func git(args, splitlines = false): func git(args, splitlines = false):

View file

@ -6,6 +6,7 @@
script = ExtResource( 1 ) script = ExtResource( 1 )
[node name="Index" type="Label" parent="."] [node name="Index" type="Label" parent="."]
visible = false
margin_left = 36.0787 margin_left = 36.0787
margin_top = 120.0 margin_top = 120.0
margin_right = 375.079 margin_right = 375.079
@ -17,6 +18,7 @@ __meta__ = {
} }
[node name="IndexLabel" type="Label" parent="."] [node name="IndexLabel" type="Label" parent="."]
visible = false
margin_left = 38.0 margin_left = 38.0
margin_top = 69.0 margin_top = 69.0
margin_right = 377.0 margin_right = 377.0
@ -27,6 +29,7 @@ __meta__ = {
} }
[node name="Button" type="Button" parent="."] [node name="Button" type="Button" parent="."]
visible = false
margin_left = 36.5602 margin_left = 36.5602
margin_top = 67.9891 margin_top = 67.9891
margin_right = 94.5602 margin_right = 94.5602

View file

@ -1,6 +1,3 @@
#!/bin/sh #!/bin/sh
echo Hi, I am commit-hook
echo $*
nc localhost 1234 nc localhost 1234
echo Goodbye

View file

@ -1,20 +1,23 @@
extends Node2D extends Control
var thread var thread
var history = [] var history = []
var history_position = 0 var history_position = 0
onready var input = $Control/Input
onready var output = $Control/Output
func _input(event): func _input(event):
if history.size() > 0: if history.size() > 0:
if event.is_action_pressed("ui_up"): if event.is_action_pressed("ui_up"):
history_position -= 1 history_position -= 1
history_position %= history.size() history_position %= history.size()
$Input.text = history[history_position] input.text = history[history_position]
if event.is_action_pressed("ui_down"): if event.is_action_pressed("ui_down"):
history_position += 1 history_position += 1
history_position %= history.size() history_position %= history.size()
$Input.text = history[history_position] input.text = history[history_position]
func send_command(command): func send_command(command):
history.push_back(command) history.push_back(command)
@ -24,9 +27,9 @@ func send_command(command):
thread.start(self, "run_command_in_a_thread", command) thread.start(self, "run_command_in_a_thread", command)
func run_command_in_a_thread(command): func run_command_in_a_thread(command):
var output = game.sh(command, "/tmp/active") var o = game.sh(command, "/tmp/active")
$Input.text = "" input.text = ""
$Output.text = $Output.text + "$ " + command + "\n" + output output.text = output.text + "$ " + command + "\n" + o
$Output.scroll_vertical = 999999 output.scroll_vertical = 999999
$"../ActiveRepository".update_everything() $"../ActiveRepository".update_everything()