mssh-terminal.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. int started;
  21. } MSSHTerminal;
  22. typedef struct
  23. {
  24. VteTerminalClass parent_class;
  25. guint session_closed_signal;
  26. guint session_focused_signal;
  27. void (*session_closed)(MSSHTerminal *terminal);
  28. void (*session_focused)(MSSHTerminal *terminal);
  29. } MSSHTerminalClass;
  30. GType mssh_terminal_get_type(void) G_GNUC_CONST;
  31. GtkWidget* mssh_terminal_new(void);
  32. void mssh_terminal_destroy(MSSHTerminal *terminal);
  33. gboolean mssh_terminal_isactive(MSSHTerminal *terminal);
  34. void mssh_terminal_init_session(MSSHTerminal *terminal, char *hostname);
  35. void mssh_terminal_start_session(MSSHTerminal *terminal, char **env);
  36. void mssh_terminal_send_host(MSSHTerminal *terminal);
  37. void mssh_terminal_send_data(MSSHTerminal *terminal, GdkEventKey *event);
  38. G_END_DECLS
  39. #endif /* __MSSH_TERMINAL_H__ */