Blame src/terminal-screen.h.notify-open-title-transparency

Packit 9982d0
/*
Packit 9982d0
 * Copyright © 2001 Havoc Pennington
Packit 9982d0
 * Copyright © 2008, 2010 Christian Persch
Packit 9982d0
 *
Packit 9982d0
 * This program is free software: you can redistribute it and/or modify
Packit 9982d0
 * it under the terms of the GNU General Public License as published by
Packit 9982d0
 * the Free Software Foundation, either version 3 of the License, or
Packit 9982d0
 * (at your option) any later version.
Packit 9982d0
 *
Packit 9982d0
 * This program is distributed in the hope that it will be useful,
Packit 9982d0
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 9982d0
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit 9982d0
 * GNU General Public License for more details.
Packit 9982d0
 *
Packit 9982d0
 * You should have received a copy of the GNU General Public License
Packit 9982d0
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
Packit 9982d0
 */
Packit 9982d0
Packit 9982d0
#ifndef TERMINAL_SCREEN_H
Packit 9982d0
#define TERMINAL_SCREEN_H
Packit 9982d0
Packit 9982d0
#include <glib-object.h>
Packit 9982d0
#include <gio/gio.h>
Packit 9982d0
Packit 9982d0
#include <vte/vte.h>
Packit 9982d0
Packit 9982d0
G_BEGIN_DECLS
Packit 9982d0
Packit 9982d0
typedef enum {
Packit 9982d0
  FLAVOR_AS_IS,
Packit 9982d0
  FLAVOR_DEFAULT_TO_HTTP,
Packit 9982d0
  FLAVOR_VOIP_CALL,
Packit 9982d0
  FLAVOR_EMAIL,
Packit 9982d0
  FLAVOR_NUMBER,
Packit 9982d0
} TerminalURLFlavor;
Packit 9982d0
Packit 9982d0
/* Forward decls */
Packit 9982d0
typedef struct _TerminalScreenPopupInfo TerminalScreenPopupInfo;
Packit 9982d0
typedef struct _TerminalWindow        TerminalWindow;
Packit 9982d0
Packit 9982d0
#define TERMINAL_TYPE_SCREEN              (terminal_screen_get_type ())
Packit 9982d0
#define TERMINAL_SCREEN(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), TERMINAL_TYPE_SCREEN, TerminalScreen))
Packit 9982d0
#define TERMINAL_SCREEN_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), TERMINAL_TYPE_SCREEN, TerminalScreenClass))
Packit 9982d0
#define TERMINAL_IS_SCREEN(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), TERMINAL_TYPE_SCREEN))
Packit 9982d0
#define TERMINAL_IS_SCREEN_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), TERMINAL_TYPE_SCREEN))
Packit 9982d0
#define TERMINAL_SCREEN_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), TERMINAL_TYPE_SCREEN, TerminalScreenClass))
Packit 9982d0
Packit 9982d0
typedef struct _TerminalScreen        TerminalScreen;
Packit 9982d0
typedef struct _TerminalScreenClass   TerminalScreenClass;
Packit 9982d0
typedef struct _TerminalScreenPrivate TerminalScreenPrivate;
Packit 9982d0
Packit 9982d0
struct _TerminalScreen
Packit 9982d0
{
Packit 9982d0
  VteTerminal parent_instance;
Packit 9982d0
Packit 9982d0
  TerminalScreenPrivate *priv;
Packit 9982d0
};
Packit 9982d0
Packit 9982d0
struct _TerminalScreenClass
Packit 9982d0
{
Packit 9982d0
  VteTerminalClass parent_class;
Packit 9982d0
Packit 9982d0
  void (* profile_set)        (TerminalScreen *screen,
Packit 9982d0
                               GSettings *old_profile);
Packit 9982d0
  void (* show_popup_menu)    (TerminalScreen *screen,
Packit 9982d0
                               TerminalScreenPopupInfo *info);
Packit 9982d0
  gboolean (* match_clicked)  (TerminalScreen *screen,
Packit 9982d0
                               const char *url,
Packit 9982d0
                               int flavor,
Packit 9982d0
                               guint state);
Packit 9982d0
  void (* close_screen)       (TerminalScreen *screen);
Packit 9982d0
};
Packit 9982d0
Packit 9982d0
GType terminal_screen_get_type (void) G_GNUC_CONST;
Packit 9982d0
Packit 9982d0
const char *terminal_screen_get_uuid (TerminalScreen *screen);
Packit 9982d0
Packit 9982d0
TerminalScreen *terminal_screen_new (GSettings       *profile,
Packit 9982d0
                                     const char      *charset,
Packit 9982d0
                                     char           **override_command,
Packit 9982d0
                                     const char      *title,
Packit 9982d0
                                     const char      *working_dir,
Packit 9982d0
                                     char           **child_env,
Packit 9982d0
                                     double           zoom);
Packit 9982d0
Packit 9982d0
gboolean terminal_screen_exec (TerminalScreen *screen,
Packit 9982d0
                               char          **argv,
Packit 9982d0
                               char          **envv,
Packit 9982d0
                               gboolean        shell,
Packit 9982d0
                               const char     *cwd,
Packit 9982d0
                               GUnixFDList    *fd_list,
Packit 9982d0
                               GVariant       *fd_array,
Packit 9982d0
                               GError        **error);
Packit 9982d0
Packit 9982d0
void _terminal_screen_launch_child_on_idle (TerminalScreen *screen);
Packit 9982d0
Packit 9982d0
void terminal_screen_set_profile (TerminalScreen *screen,
Packit 9982d0
                                  GSettings      *profile);
Packit 9982d0
GSettings* terminal_screen_get_profile (TerminalScreen *screen);
Packit 9982d0
GSettings* terminal_screen_ref_profile (TerminalScreen *screen);
Packit 9982d0
Packit 9982d0
void         terminal_screen_set_initial_environment (TerminalScreen  *screen,
Packit 9982d0
                                                      char           **argv);
Packit 9982d0
char **      terminal_screen_get_initial_environment (TerminalScreen  *screen);
Packit 9982d0
Packit 9982d0
const char* terminal_screen_get_title          (TerminalScreen *screen);
Packit 9982d0
const char* terminal_screen_get_icon_title     (TerminalScreen *screen);
Packit 9982d0
gboolean    terminal_screen_get_icon_title_set (TerminalScreen *screen);
Packit 9982d0
Packit 9982d0
char *terminal_screen_get_current_dir (TerminalScreen *screen);
Packit 9982d0
Packit 9982d0
void       terminal_screen_get_size (TerminalScreen *screen,
Packit 9982d0
                                     int *width_chars,
Packit 9982d0
                                     int *height_chars);
Packit 9982d0
void       terminal_screen_get_cell_size (TerminalScreen *screen,
Packit 9982d0
                                          int *width_chars,
Packit 9982d0
                                          int *height_chars);
Packit 9982d0
Packit 9982d0
void _terminal_screen_update_scrollbar (TerminalScreen *screen);
Packit 9982d0
Packit 9982d0
void terminal_screen_save_config (TerminalScreen *screen,
Packit 9982d0
                                  GKeyFile *key_file,
Packit 9982d0
                                  const char *group);
Packit 9982d0
Packit 9982d0
gboolean terminal_screen_has_foreground_process (TerminalScreen *screen,
Packit 9982d0
                                                 char           **process_name,
Packit 9982d0
                                                 char           **cmdline);
Packit 9982d0
Packit 9982d0
/* Allow scales a bit smaller and a bit larger than the usual pango ranges */
Packit 9982d0
#define TERMINAL_SCALE_XXX_SMALL   (PANGO_SCALE_XX_SMALL/1.2)
Packit 9982d0
#define TERMINAL_SCALE_XXXX_SMALL  (TERMINAL_SCALE_XXX_SMALL/1.2)
Packit 9982d0
#define TERMINAL_SCALE_XXXXX_SMALL (TERMINAL_SCALE_XXXX_SMALL/1.2)
Packit 9982d0
#define TERMINAL_SCALE_XXX_LARGE   (PANGO_SCALE_XX_LARGE*1.2)
Packit 9982d0
#define TERMINAL_SCALE_XXXX_LARGE  (TERMINAL_SCALE_XXX_LARGE*1.2)
Packit 9982d0
#define TERMINAL_SCALE_XXXXX_LARGE (TERMINAL_SCALE_XXXX_LARGE*1.2)
Packit 9982d0
#define TERMINAL_SCALE_MINIMUM     (TERMINAL_SCALE_XXXXX_SMALL/1.2)
Packit 9982d0
#define TERMINAL_SCALE_MAXIMUM     (TERMINAL_SCALE_XXXXX_LARGE*1.2)
Packit 9982d0
Packit 9982d0
struct _TerminalScreenPopupInfo {
Packit 9982d0
  int ref_count;
Packit 9982d0
  char *url;
Packit 9982d0
  TerminalURLFlavor url_flavor;
Packit 9982d0
  char *hyperlink;
Packit 9982d0
  char *number_info;
Packit 9982d0
  guint button;
Packit 9982d0
  guint state;
Packit 9982d0
  guint32 timestamp;
Packit 9982d0
};
Packit 9982d0
Packit 9982d0
TerminalScreenPopupInfo *terminal_screen_popup_info_ref (TerminalScreenPopupInfo *info);
Packit 9982d0
Packit 9982d0
void terminal_screen_popup_info_unref (TerminalScreenPopupInfo *info);
Packit 9982d0
Packit 9982d0
G_END_DECLS
Packit 9982d0
Packit 9982d0
#endif /* TERMINAL_SCREEN_H */