mssh-terminal.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #ifndef __MSSH_TERMINAL_H__
  2. #define __MSSH_TERMINAL_H__
  3. #include <gtk/gtk.h>
  4. #include <vte/vte.h>
  5. G_BEGIN_DECLS
  6. #define MSSH_TYPE_TERMINAL mssh_terminal_get_type()
  7. #define MSSH_TERMINAL(obj) G_TYPE_CHECK_INSTANCE_CAST(obj, \
  8. MSSH_TYPE_TERMINAL, MSSHTerminal)
  9. #define MSSH_TERMINAL_CLASS(klass) G_TYPE_CHECK_CLASS_CAST(klass, \
  10. MSSH_TERMINAL_TYPE, MSSHTerminalClass)
  11. #define IS_MSSH_TERMINAL(obj) G_TYPE_CHECK_INSTANCE_TYPE(obj, \
  12. MSSH_TYPE_TERMINAL)
  13. #define IS_MSSH_TERMINAL_CLASS(klass) G_TYPE_CHECK_CLASS_TYPE(klass, \
  14. MSSH_TYPE_TERMINAL)
  15. typedef struct
  16. {
  17. VteTerminal vte;
  18. GtkWidget *menu_item;
  19. char *hostname;
  20. } MSSHTerminal;
  21. typedef struct
  22. {
  23. VteTerminalClass parent_class;
  24. guint session_closed_signal;
  25. guint session_focused_signal;
  26. void (*session_closed)(MSSHTerminal *terminal);
  27. void (*session_focused)(MSSHTerminal *terminal);
  28. } MSSHTerminalClass;
  29. GType mssh_terminal_get_type(void) G_GNUC_CONST;
  30. GtkWidget* mssh_terminal_new(void);
  31. void mssh_terminal_destroy(MSSHTerminal *terminal);
  32. gboolean mssh_terminal_isactive(MSSHTerminal *terminal);
  33. void mssh_terminal_start_session(MSSHTerminal *terminal, char *hostnane,
  34. char **env);
  35. void mssh_terminal_send_host(MSSHTerminal *terminal);
  36. void mssh_terminal_send_data(MSSHTerminal *terminal, GdkEventKey *event);
  37. G_END_DECLS
  38. #endif /* __MSSH_TERMINAL_H__ */