mirror of https://github.com/liamg/aminal.git
commit
1d82f48f8b
|
@ -79,6 +79,10 @@ func (buffer *Buffer) GetURLAtPosition(col uint16, row uint16) string {
|
|||
candidate = fmt.Sprintf("%s%c", candidate, cell.Rune())
|
||||
}
|
||||
|
||||
if candidate == "" || candidate[0] == '/' {
|
||||
return ""
|
||||
}
|
||||
|
||||
// check if url
|
||||
_, err := url.ParseRequestURI(candidate)
|
||||
if err != nil {
|
||||
|
|
66
gui/input.go
66
gui/input.go
|
@ -69,30 +69,84 @@ func (gui *GUI) key(w *glfw.Window, key glfw.Key, scancode int, action glfw.Acti
|
|||
case modsPressed(mods, glfw.ModControl):
|
||||
modStr = "5"
|
||||
switch key {
|
||||
case glfw.KeyA:
|
||||
gui.terminal.Write([]byte{0x1})
|
||||
return
|
||||
case glfw.KeyB:
|
||||
gui.terminal.Write([]byte{0x2})
|
||||
return
|
||||
case glfw.KeyC: // ctrl^c
|
||||
gui.logger.Debugf("Sending CTRL^C")
|
||||
gui.terminal.Write([]byte{0x3}) // send EOT
|
||||
return
|
||||
case glfw.KeyD:
|
||||
gui.logger.Debugf("Sending CTRL^D")
|
||||
gui.terminal.Write([]byte{0x4}) // send EOT
|
||||
return
|
||||
case glfw.KeyE:
|
||||
gui.terminal.Write([]byte{0x5})
|
||||
return
|
||||
case glfw.KeyF:
|
||||
gui.terminal.Write([]byte{0x6})
|
||||
return
|
||||
case glfw.KeyG:
|
||||
gui.terminal.Write([]byte{0x7})
|
||||
return
|
||||
case glfw.KeyH:
|
||||
gui.logger.Debugf("Sending CTRL^H")
|
||||
gui.terminal.Write([]byte{0x08})
|
||||
return
|
||||
case glfw.KeyI:
|
||||
gui.terminal.Write([]byte{0x9})
|
||||
return
|
||||
case glfw.KeyJ:
|
||||
gui.logger.Debugf("Sending CTRL^J")
|
||||
gui.terminal.Write([]byte{0x0a})
|
||||
return
|
||||
case glfw.KeyK:
|
||||
gui.terminal.Write([]byte{0x0b})
|
||||
return
|
||||
case glfw.KeyL:
|
||||
gui.terminal.Write([]byte{0x0c})
|
||||
return
|
||||
case glfw.KeyM:
|
||||
gui.logger.Debugf("Sending CTRL^M")
|
||||
gui.terminal.Write([]byte{0x0d})
|
||||
return
|
||||
case glfw.KeyN:
|
||||
gui.terminal.Write([]byte{0x0e})
|
||||
return
|
||||
case glfw.KeyO:
|
||||
gui.terminal.Write([]byte{0x0f})
|
||||
return
|
||||
case glfw.KeyP:
|
||||
gui.terminal.Write([]byte{0x10})
|
||||
return
|
||||
case glfw.KeyQ:
|
||||
gui.terminal.Write([]byte{0x11})
|
||||
return
|
||||
case glfw.KeyR:
|
||||
gui.terminal.Write([]byte{0x12})
|
||||
return
|
||||
case glfw.KeyS:
|
||||
gui.terminal.Write([]byte{0x13})
|
||||
return
|
||||
case glfw.KeyT:
|
||||
gui.terminal.Write([]byte{0x14})
|
||||
return
|
||||
case glfw.KeyU:
|
||||
gui.terminal.Write([]byte{0x15})
|
||||
return
|
||||
case glfw.KeyV:
|
||||
gui.terminal.Write([]byte{0x16})
|
||||
return
|
||||
case glfw.KeyW:
|
||||
gui.terminal.Write([]byte{0x17})
|
||||
return
|
||||
case glfw.KeyX:
|
||||
gui.logger.Debugf("Sending CTRL^X")
|
||||
gui.terminal.Write([]byte{0x18})
|
||||
return
|
||||
case glfw.KeyY:
|
||||
gui.terminal.Write([]byte{0x19})
|
||||
return
|
||||
case glfw.KeyZ:
|
||||
gui.terminal.Write([]byte{0x1a})
|
||||
return
|
||||
}
|
||||
case modsPressed(mods, glfw.ModAlt, glfw.ModShift):
|
||||
modStr = "4"
|
||||
|
|
Loading…
Reference in New Issue