aplicando formato allman
parent
def492f92d
commit
f2a13175e5
|
@ -34,7 +34,8 @@
|
|||
#include <gdk/gdkx.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
struct EggDesktopFile {
|
||||
struct EggDesktopFile
|
||||
{
|
||||
GKeyFile *key_file;
|
||||
char *source;
|
||||
|
||||
|
@ -989,7 +990,8 @@ end_startup_notification (GdkDisplay *display,
|
|||
|
||||
#define EGG_DESKTOP_FILE_SN_TIMEOUT_LENGTH (30 /* seconds */)
|
||||
|
||||
typedef struct {
|
||||
typedef struct
|
||||
{
|
||||
GdkDisplay *display;
|
||||
char *startup_id;
|
||||
} StartupNotificationData;
|
||||
|
@ -1271,7 +1273,7 @@ egg_desktop_file_launchv (EggDesktopFile *desktop_file,
|
|||
}
|
||||
while (docs && current_success);
|
||||
|
||||
out:
|
||||
out:
|
||||
if (env)
|
||||
{
|
||||
g_ptr_array_foreach (env, (GFunc)g_free, NULL);
|
||||
|
@ -1428,7 +1430,8 @@ egg_set_desktop_file_internal (const char *desktop_file_path,
|
|||
g_error_free (error);
|
||||
}
|
||||
|
||||
if (set_defaults && egg_desktop_file != NULL) {
|
||||
if (set_defaults && egg_desktop_file != NULL)
|
||||
{
|
||||
/* Set localized application name and default window icon */
|
||||
if (egg_desktop_file->name)
|
||||
g_set_application_name (egg_desktop_file->name);
|
||||
|
|
|
@ -26,7 +26,8 @@ G_BEGIN_DECLS
|
|||
|
||||
typedef struct EggDesktopFile EggDesktopFile;
|
||||
|
||||
typedef enum {
|
||||
typedef enum
|
||||
{
|
||||
EGG_DESKTOP_FILE_TYPE_UNRECOGNIZED,
|
||||
|
||||
EGG_DESKTOP_FILE_TYPE_APPLICATION,
|
||||
|
@ -71,7 +72,8 @@ gboolean egg_desktop_file_launch (EggDesktopFile *deskto
|
|||
GError **error,
|
||||
...) G_GNUC_NULL_TERMINATED;
|
||||
|
||||
typedef enum {
|
||||
typedef enum
|
||||
{
|
||||
EGG_DESKTOP_FILE_LAUNCH_CLEARENV = 1,
|
||||
EGG_DESKTOP_FILE_LAUNCH_PUTENV,
|
||||
EGG_DESKTOP_FILE_LAUNCH_SCREEN,
|
||||
|
@ -143,7 +145,8 @@ char **egg_desktop_file_get_locale_string_list (EggDesktopFile *desktop_file
|
|||
|
||||
GQuark egg_desktop_file_error_quark (void);
|
||||
|
||||
typedef enum {
|
||||
typedef enum
|
||||
{
|
||||
EGG_DESKTOP_FILE_ERROR_INVALID,
|
||||
EGG_DESKTOP_FILE_ERROR_NOT_LAUNCHABLE,
|
||||
EGG_DESKTOP_FILE_ERROR_UNRECOGNIZED_OPTION
|
||||
|
|
|
@ -60,7 +60,8 @@ egg_shell (const char *shell)
|
|||
#ifndef G_OS_WIN32
|
||||
struct passwd *pw;
|
||||
int i;
|
||||
static const char shells [][14] = {
|
||||
static const char shells [][14] =
|
||||
{
|
||||
/* Note that on some systems shells can also
|
||||
* be installed in /usr/bin */
|
||||
"/bin/bash", "/usr/bin/bash",
|
||||
|
@ -71,23 +72,30 @@ egg_shell (const char *shell)
|
|||
};
|
||||
|
||||
if (geteuid () == getuid () &&
|
||||
getegid () == getgid ()) {
|
||||
getegid () == getgid ())
|
||||
{
|
||||
/* only in non-setuid */
|
||||
if (shell != NULL) {
|
||||
if (access (shell, X_OK) == 0) {
|
||||
if (shell != NULL)
|
||||
{
|
||||
if (access (shell, X_OK) == 0)
|
||||
{
|
||||
return g_strdup (shell);
|
||||
}
|
||||
}
|
||||
}
|
||||
pw = getpwuid(getuid());
|
||||
if (pw && pw->pw_shell) {
|
||||
if (access (pw->pw_shell, X_OK) == 0) {
|
||||
if (pw && pw->pw_shell)
|
||||
{
|
||||
if (access (pw->pw_shell, X_OK) == 0)
|
||||
{
|
||||
return g_strdup (pw->pw_shell);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i != G_N_ELEMENTS (shells); i++) {
|
||||
if (access (shells [i], X_OK) == 0) {
|
||||
for (i = 0; i != G_N_ELEMENTS (shells); i++)
|
||||
{
|
||||
if (access (shells [i], X_OK) == 0)
|
||||
{
|
||||
return g_strdup (shells[i]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,7 +51,8 @@
|
|||
typedef struct _EggSMClientOSX EggSMClientOSX;
|
||||
typedef struct _EggSMClientOSXClass EggSMClientOSXClass;
|
||||
|
||||
struct _EggSMClientOSX {
|
||||
struct _EggSMClientOSX
|
||||
{
|
||||
EggSMClient parent;
|
||||
|
||||
AppleEvent quit_event, quit_reply;
|
||||
|
|
|
@ -66,7 +66,8 @@
|
|||
typedef struct _EggSMClientWin32 EggSMClientWin32;
|
||||
typedef struct _EggSMClientWin32Class EggSMClientWin32Class;
|
||||
|
||||
struct _EggSMClientWin32 {
|
||||
struct _EggSMClientWin32
|
||||
{
|
||||
EggSMClient parent;
|
||||
|
||||
HANDLE message_event, response_event;
|
||||
|
@ -224,7 +225,8 @@ got_message (gpointer smclient)
|
|||
|
||||
/* Windows HANDLE GSource */
|
||||
|
||||
typedef struct {
|
||||
typedef struct
|
||||
{
|
||||
GSource source;
|
||||
GPollFD pollfd;
|
||||
} GWin32HandleSource;
|
||||
|
@ -256,7 +258,8 @@ g_win32_handle_source_finalize (GSource *source)
|
|||
;
|
||||
}
|
||||
|
||||
GSourceFuncs g_win32_handle_source_funcs = {
|
||||
GSourceFuncs g_win32_handle_source_funcs =
|
||||
{
|
||||
g_win32_handle_source_prepare,
|
||||
g_win32_handle_source_check,
|
||||
g_win32_handle_source_dispatch,
|
||||
|
|
|
@ -65,7 +65,8 @@ typedef enum
|
|||
XSMP_STATE_CONNECTION_CLOSED
|
||||
} EggSMClientXSMPState;
|
||||
|
||||
static const char *state_names[] = {
|
||||
static const char *state_names[] =
|
||||
{
|
||||
"idle",
|
||||
"save-yourself",
|
||||
"interact-request",
|
||||
|
@ -584,7 +585,7 @@ idle_do_pending_events (gpointer data)
|
|||
do_save_yourself (xsmp);
|
||||
}
|
||||
|
||||
out:
|
||||
out:
|
||||
gdk_threads_leave ();
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
@ -30,7 +30,8 @@ static void egg_sm_client_debug_handler (const char *log_domain,
|
|||
const char *message,
|
||||
gpointer user_data);
|
||||
|
||||
enum {
|
||||
enum
|
||||
{
|
||||
SAVE_STATE,
|
||||
QUIT_REQUESTED,
|
||||
QUIT_CANCELLED,
|
||||
|
@ -40,7 +41,8 @@ enum {
|
|||
|
||||
static guint signals[LAST_SIGNAL];
|
||||
|
||||
struct _EggSMClientPrivate {
|
||||
struct _EggSMClientPrivate
|
||||
{
|
||||
GKeyFile *state_file;
|
||||
};
|
||||
|
||||
|
@ -219,27 +221,38 @@ sm_client_post_parse_func (GOptionContext *context,
|
|||
GOptionGroup *
|
||||
egg_sm_client_get_option_group (void)
|
||||
{
|
||||
const GOptionEntry entries[] = {
|
||||
{ "sm-client-disable", 0, 0,
|
||||
const GOptionEntry entries[] =
|
||||
{
|
||||
{
|
||||
"sm-client-disable", 0, 0,
|
||||
G_OPTION_ARG_NONE, &sm_client_disable,
|
||||
N_("Disable connection to session manager"), NULL },
|
||||
{ "sm-client-state-file", 0, 0,
|
||||
N_("Disable connection to session manager"), NULL
|
||||
},
|
||||
{
|
||||
"sm-client-state-file", 0, 0,
|
||||
G_OPTION_ARG_FILENAME, &sm_client_state_file,
|
||||
N_("Specify file containing saved configuration"), N_("FILE") },
|
||||
{ "sm-client-id", 0, 0,
|
||||
N_("Specify file containing saved configuration"), N_("FILE")
|
||||
},
|
||||
{
|
||||
"sm-client-id", 0, 0,
|
||||
G_OPTION_ARG_STRING, &sm_client_id,
|
||||
N_("Specify session management ID"), N_("ID") },
|
||||
N_("Specify session management ID"), N_("ID")
|
||||
},
|
||||
/* MateClient compatibility option */
|
||||
{ "sm-disable", 0, G_OPTION_FLAG_HIDDEN,
|
||||
{
|
||||
"sm-disable", 0, G_OPTION_FLAG_HIDDEN,
|
||||
G_OPTION_ARG_NONE, &sm_client_disable,
|
||||
NULL, NULL },
|
||||
NULL, NULL
|
||||
},
|
||||
/* MateClient compatibility option. This is a dummy option that only
|
||||
* exists so that sessions saved by apps with MateClient can be restored
|
||||
* later when they've switched to EggSMClient. See bug #575308.
|
||||
*/
|
||||
{ "sm-config-prefix", 0, G_OPTION_FLAG_HIDDEN,
|
||||
{
|
||||
"sm-config-prefix", 0, G_OPTION_FLAG_HIDDEN,
|
||||
G_OPTION_ARG_STRING, &sm_config_prefix,
|
||||
NULL, NULL },
|
||||
NULL, NULL
|
||||
},
|
||||
{ NULL }
|
||||
};
|
||||
GOptionGroup *group;
|
||||
|
|
|
@ -35,14 +35,16 @@ typedef struct _EggSMClient EggSMClient;
|
|||
typedef struct _EggSMClientClass EggSMClientClass;
|
||||
typedef struct _EggSMClientPrivate EggSMClientPrivate;
|
||||
|
||||
typedef enum {
|
||||
typedef enum
|
||||
{
|
||||
EGG_SM_CLIENT_END_SESSION_DEFAULT,
|
||||
EGG_SM_CLIENT_LOGOUT,
|
||||
EGG_SM_CLIENT_REBOOT,
|
||||
EGG_SM_CLIENT_SHUTDOWN
|
||||
} EggSMClientEndStyle;
|
||||
|
||||
typedef enum {
|
||||
typedef enum
|
||||
{
|
||||
EGG_SM_CLIENT_MODE_DISABLED,
|
||||
EGG_SM_CLIENT_MODE_NO_RESTART,
|
||||
EGG_SM_CLIENT_MODE_NORMAL
|
||||
|
|
|
@ -38,17 +38,28 @@ struct _TerminalColorScheme
|
|||
const GdkColor background;
|
||||
};
|
||||
|
||||
static const TerminalColorScheme color_schemes[] = {
|
||||
{ N_("Black on light yellow"),
|
||||
{ 0, 0x0000, 0x0000, 0x0000 }, { 0, 0xFFFF, 0xFFFF, 0xDDDD } },
|
||||
{ N_("Black on white"),
|
||||
{ 0, 0x0000, 0x0000, 0x0000 }, { 0, 0xFFFF, 0xFFFF, 0xFFFF } },
|
||||
{ N_("Gray on black"),
|
||||
{ 0, 0xAAAA, 0xAAAA, 0xAAAA }, { 0, 0x0000, 0x0000, 0x0000 } },
|
||||
{ N_("Green on black"),
|
||||
{ 0, 0x0000, 0xFFFF, 0x0000 }, { 0, 0x0000, 0x0000, 0x0000 } },
|
||||
{ N_("White on black"),
|
||||
{ 0, 0xFFFF, 0xFFFF, 0xFFFF }, { 0, 0x0000, 0x0000, 0x0000 } }
|
||||
static const TerminalColorScheme color_schemes[] =
|
||||
{
|
||||
{
|
||||
N_("Black on light yellow"),
|
||||
{ 0, 0x0000, 0x0000, 0x0000 }, { 0, 0xFFFF, 0xFFFF, 0xDDDD }
|
||||
},
|
||||
{
|
||||
N_("Black on white"),
|
||||
{ 0, 0x0000, 0x0000, 0x0000 }, { 0, 0xFFFF, 0xFFFF, 0xFFFF }
|
||||
},
|
||||
{
|
||||
N_("Gray on black"),
|
||||
{ 0, 0xAAAA, 0xAAAA, 0xAAAA }, { 0, 0x0000, 0x0000, 0x0000 }
|
||||
},
|
||||
{
|
||||
N_("Green on black"),
|
||||
{ 0, 0x0000, 0xFFFF, 0x0000 }, { 0, 0x0000, 0x0000, 0x0000 }
|
||||
},
|
||||
{
|
||||
N_("White on black"),
|
||||
{ 0, 0xFFFF, 0xFFFF, 0xFFFF }, { 0, 0x0000, 0x0000, 0x0000 }
|
||||
}
|
||||
};
|
||||
|
||||
static void profile_forgotten_cb (TerminalProfile *profile,
|
||||
|
@ -599,18 +610,21 @@ update_image_preview (GtkFileChooser *chooser)
|
|||
image = gtk_file_chooser_get_preview_widget (GTK_FILE_CHOOSER (chooser));
|
||||
file = gtk_file_chooser_get_preview_uri (chooser);
|
||||
|
||||
if (file != NULL) {
|
||||
if (file != NULL)
|
||||
{
|
||||
|
||||
GdkPixbuf *pixbuf = NULL;
|
||||
|
||||
pixbuf = create_preview_pixbuf (file);
|
||||
g_free (file);
|
||||
|
||||
if (pixbuf != NULL) {
|
||||
if (pixbuf != NULL)
|
||||
{
|
||||
gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf);
|
||||
g_object_unref (pixbuf);
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
gtk_image_set_from_stock (GTK_IMAGE (image),
|
||||
"gtk-dialog-question",
|
||||
GTK_ICON_SIZE_DIALOG);
|
||||
|
@ -709,7 +723,8 @@ terminal_profile_editor_focus_widget (GtkWidget *editor,
|
|||
page = page_parent;
|
||||
|
||||
page_parent = gtk_widget_get_parent (page);
|
||||
if (page != NULL && GTK_IS_NOTEBOOK (page_parent)) {
|
||||
if (page != NULL && GTK_IS_NOTEBOOK (page_parent))
|
||||
{
|
||||
GtkNotebook *notebook;
|
||||
|
||||
notebook = GTK_NOTEBOOK (page_parent);
|
||||
|
@ -754,7 +769,8 @@ terminal_profile_edit (TerminalProfile *profile,
|
|||
|
||||
path = g_build_filename (TERM_PKGDATADIR, "profile-preferences.ui", NULL);
|
||||
builder = gtk_builder_new ();
|
||||
if (!gtk_builder_add_from_file (builder, path, &error)) {
|
||||
if (!gtk_builder_add_from_file (builder, path, &error))
|
||||
{
|
||||
g_warning ("Failed to load %s: %s\n", path, error->message);
|
||||
g_error_free (error);
|
||||
g_free (path);
|
||||
|
|
|
@ -30,7 +30,8 @@
|
|||
#define SKEY_PREFIX "s/key "
|
||||
#define OTP_PREFIX "otp-"
|
||||
|
||||
typedef struct {
|
||||
typedef struct
|
||||
{
|
||||
TerminalScreen *screen;
|
||||
char *seed;
|
||||
int seq;
|
||||
|
|
444
src/skey/btoe.c
444
src/skey/btoe.c
|
@ -16,228 +16,228 @@ static guint32 extract (char *s, int start, int length);
|
|||
|
||||
/* Dictionary for integer-word translations */
|
||||
static const char Wp[2048][4] = { "A", "ABE", "ACE", "ACT", "AD", "ADA", "ADD",
|
||||
"AGO", "AID", "AIM", "AIR", "ALL", "ALP", "AM", "AMY", "AN", "ANA",
|
||||
"AND", "ANN", "ANT", "ANY", "APE", "APS", "APT", "ARC", "ARE", "ARK",
|
||||
"ARM", "ART", "AS", "ASH", "ASK", "AT", "ATE", "AUG", "AUK", "AVE",
|
||||
"AWE", "AWK", "AWL", "AWN", "AX", "AYE", "BAD", "BAG", "BAH", "BAM",
|
||||
"BAN", "BAR", "BAT", "BAY", "BE", "BED", "BEE", "BEG", "BEN", "BET",
|
||||
"BEY", "BIB", "BID", "BIG", "BIN", "BIT", "BOB", "BOG", "BON", "BOO",
|
||||
"BOP", "BOW", "BOY", "BUB", "BUD", "BUG", "BUM", "BUN", "BUS", "BUT",
|
||||
"BUY", "BY", "BYE", "CAB", "CAL", "CAM", "CAN", "CAP", "CAR", "CAT",
|
||||
"CAW", "COD", "COG", "COL", "CON", "COO", "COP", "COT", "COW", "COY",
|
||||
"CRY", "CUB", "CUE", "CUP", "CUR", "CUT", "DAB", "DAD", "DAM", "DAN",
|
||||
"DAR", "DAY", "DEE", "DEL", "DEN", "DES", "DEW", "DID", "DIE", "DIG",
|
||||
"DIN", "DIP", "DO", "DOE", "DOG", "DON", "DOT", "DOW", "DRY", "DUB",
|
||||
"DUD", "DUE", "DUG", "DUN", "EAR", "EAT", "ED", "EEL", "EGG", "EGO",
|
||||
"ELI", "ELK", "ELM", "ELY", "EM", "END", "EST", "ETC", "EVA", "EVE",
|
||||
"EWE", "EYE", "FAD", "FAN", "FAR", "FAT", "FAY", "FED", "FEE", "FEW",
|
||||
"FIB", "FIG", "FIN", "FIR", "FIT", "FLO", "FLY", "FOE", "FOG", "FOR",
|
||||
"FRY", "FUM", "FUN", "FUR", "GAB", "GAD", "GAG", "GAL", "GAM", "GAP",
|
||||
"GAS", "GAY", "GEE", "GEL", "GEM", "GET", "GIG", "GIL", "GIN", "GO",
|
||||
"GOT", "GUM", "GUN", "GUS", "GUT", "GUY", "GYM", "GYP", "HA", "HAD",
|
||||
"HAL", "HAM", "HAN", "HAP", "HAS", "HAT", "HAW", "HAY", "HE", "HEM",
|
||||
"HEN", "HER", "HEW", "HEY", "HI", "HID", "HIM", "HIP", "HIS", "HIT",
|
||||
"HO", "HOB", "HOC", "HOE", "HOG", "HOP", "HOT", "HOW", "HUB", "HUE",
|
||||
"HUG", "HUH", "HUM", "HUT", "I", "ICY", "IDA", "IF", "IKE", "ILL",
|
||||
"INK", "INN", "IO", "ION", "IQ", "IRA", "IRE", "IRK", "IS", "IT", "ITS",
|
||||
"IVY", "JAB", "JAG", "JAM", "JAN", "JAR", "JAW", "JAY", "JET", "JIG",
|
||||
"JIM", "JO", "JOB", "JOE", "JOG", "JOT", "JOY", "JUG", "JUT", "KAY",
|
||||
"KEG", "KEN", "KEY", "KID", "KIM", "KIN", "KIT", "LA", "LAB", "LAC",
|
||||
"LAD", "LAG", "LAM", "LAP", "LAW", "LAY", "LEA", "LED", "LEE", "LEG",
|
||||
"LEN", "LEO", "LET", "LEW", "LID", "LIE", "LIN", "LIP", "LIT", "LO",
|
||||
"LOB", "LOG", "LOP", "LOS", "LOT", "LOU", "LOW", "LOY", "LUG", "LYE",
|
||||
"MA", "MAC", "MAD", "MAE", "MAN", "MAO", "MAP", "MAT", "MAW", "MAY",
|
||||
"ME", "MEG", "MEL", "MEN", "MET", "MEW", "MID", "MIN", "MIT", "MOB",
|
||||
"MOD", "MOE", "MOO", "MOP", "MOS", "MOT", "MOW", "MUD", "MUG", "MUM",
|
||||
"MY", "NAB", "NAG", "NAN", "NAP", "NAT", "NAY", "NE", "NED", "NEE",
|
||||
"NET", "NEW", "NIB", "NIL", "NIP", "NIT", "NO", "NOB", "NOD", "NON",
|
||||
"NOR", "NOT", "NOV", "NOW", "NU", "NUN", "NUT", "O", "OAF", "OAK",
|
||||
"OAR", "OAT", "ODD", "ODE", "OF", "OFF", "OFT", "OH", "OIL", "OK",
|
||||
"OLD", "ON", "ONE", "OR", "ORB", "ORE", "ORR", "OS", "OTT", "OUR",
|
||||
"OUT", "OVA", "OW", "OWE", "OWL", "OWN", "OX", "PA", "PAD", "PAL",
|
||||
"PAM", "PAN", "PAP", "PAR", "PAT", "PAW", "PAY", "PEA", "PEG", "PEN",
|
||||
"PEP", "PER", "PET", "PEW", "PHI", "PI", "PIE", "PIN", "PIT", "PLY",
|
||||
"PO", "POD", "POE", "POP", "POT", "POW", "PRO", "PRY", "PUB", "PUG",
|
||||
"PUN", "PUP", "PUT", "QUO", "RAG", "RAM", "RAN", "RAP", "RAT", "RAW",
|
||||
"RAY", "REB", "RED", "REP", "RET", "RIB", "RID", "RIG", "RIM", "RIO",
|
||||
"RIP", "ROB", "ROD", "ROE", "RON", "ROT", "ROW", "ROY", "RUB", "RUE",
|
||||
"RUG", "RUM", "RUN", "RYE", "SAC", "SAD", "SAG", "SAL", "SAM", "SAN",
|
||||
"SAP", "SAT", "SAW", "SAY", "SEA", "SEC", "SEE", "SEN", "SET", "SEW",
|
||||
"SHE", "SHY", "SIN", "SIP", "SIR", "SIS", "SIT", "SKI", "SKY", "SLY",
|
||||
"SO", "SOB", "SOD", "SON", "SOP", "SOW", "SOY", "SPA", "SPY", "SUB",
|
||||
"SUD", "SUE", "SUM", "SUN", "SUP", "TAB", "TAD", "TAG", "TAN", "TAP",
|
||||
"TAR", "TEA", "TED", "TEE", "TEN", "THE", "THY", "TIC", "TIE", "TIM",
|
||||
"TIN", "TIP", "TO", "TOE", "TOG", "TOM", "TON", "TOO", "TOP", "TOW",
|
||||
"TOY", "TRY", "TUB", "TUG", "TUM", "TUN", "TWO", "UN", "UP", "US",
|
||||
"USE", "VAN", "VAT", "VET", "VIE", "WAD", "WAG", "WAR", "WAS", "WAY",
|
||||
"WE", "WEB", "WED", "WEE", "WET", "WHO", "WHY", "WIN", "WIT", "WOK",
|
||||
"WON", "WOO", "WOW", "WRY", "WU", "YAM", "YAP", "YAW", "YE", "YEA",
|
||||
"YES", "YET", "YOU", "ABED", "ABEL", "ABET", "ABLE", "ABUT", "ACHE",
|
||||
"ACID", "ACME", "ACRE", "ACTA", "ACTS", "ADAM", "ADDS", "ADEN", "AFAR",
|
||||
"AFRO", "AGEE", "AHEM", "AHOY", "AIDA", "AIDE", "AIDS", "AIRY", "AJAR",
|
||||
"AKIN", "ALAN", "ALEC", "ALGA", "ALIA", "ALLY", "ALMA", "ALOE", "ALSO",
|
||||
"ALTO", "ALUM", "ALVA", "AMEN", "AMES", "AMID", "AMMO", "AMOK", "AMOS",
|
||||
"AMRA", "ANDY", "ANEW", "ANNA", "ANNE", "ANTE", "ANTI", "AQUA", "ARAB",
|
||||
"ARCH", "AREA", "ARGO", "ARID", "ARMY", "ARTS", "ARTY", "ASIA", "ASKS",
|
||||
"ATOM", "AUNT", "AURA", "AUTO", "AVER", "AVID", "AVIS", "AVON", "AVOW",
|
||||
"AWAY", "AWRY", "BABE", "BABY", "BACH", "BACK", "BADE", "BAIL", "BAIT",
|
||||
"BAKE", "BALD", "BALE", "BALI", "BALK", "BALL", "BALM", "BAND", "BANE",
|
||||
"BANG", "BANK", "BARB", "BARD", "BARE", "BARK", "BARN", "BARR", "BASE",
|
||||
"BASH", "BASK", "BASS", "BATE", "BATH", "BAWD", "BAWL", "BEAD", "BEAK",
|
||||
"BEAM", "BEAN", "BEAR", "BEAT", "BEAU", "BECK", "BEEF", "BEEN", "BEER",
|
||||
"BEET", "BELA", "BELL", "BELT", "BEND", "BENT", "BERG", "BERN", "BERT",
|
||||
"BESS", "BEST", "BETA", "BETH", "BHOY", "BIAS", "BIDE", "BIEN", "BILE",
|
||||
"BILK", "BILL", "BIND", "BING", "BIRD", "BITE", "BITS", "BLAB", "BLAT",
|
||||
"BLED", "BLEW", "BLOB", "BLOC", "BLOT", "BLOW", "BLUE", "BLUM", "BLUR",
|
||||
"BOAR", "BOAT", "BOCA", "BOCK", "BODE", "BODY", "BOGY", "BOHR", "BOIL",
|
||||
"BOLD", "BOLO", "BOLT", "BOMB", "BONA", "BOND", "BONE", "BONG", "BONN",
|
||||
"BONY", "BOOK", "BOOM", "BOON", "BOOT", "BORE", "BORG", "BORN", "BOSE",
|
||||
"BOSS", "BOTH", "BOUT", "BOWL", "BOYD", "BRAD", "BRAE", "BRAG", "BRAN",
|
||||
"BRAY", "BRED", "BREW", "BRIG", "BRIM", "BROW", "BUCK", "BUDD", "BUFF",
|
||||
"BULB", "BULK", "BULL", "BUNK", "BUNT", "BUOY", "BURG", "BURL", "BURN",
|
||||
"BURR", "BURT", "BURY", "BUSH", "BUSS", "BUST", "BUSY", "BYTE", "CADY",
|
||||
"CAFE", "CAGE", "CAIN", "CAKE", "CALF", "CALL", "CALM", "CAME", "CANE",
|
||||
"CANT", "CARD", "CARE", "CARL", "CARR", "CART", "CASE", "CASH", "CASK",
|
||||
"CAST", "CAVE", "CEIL", "CELL", "CENT", "CERN", "CHAD", "CHAR", "CHAT",
|
||||
"CHAW", "CHEF", "CHEN", "CHEW", "CHIC", "CHIN", "CHOU", "CHOW", "CHUB",
|
||||
"CHUG", "CHUM", "CITE", "CITY", "CLAD", "CLAM", "CLAN", "CLAW", "CLAY",
|
||||
"CLOD", "CLOG", "CLOT", "CLUB", "CLUE", "COAL", "COAT", "COCA", "COCK",
|
||||
"COCO", "CODA", "CODE", "CODY", "COED", "COIL", "COIN", "COKE", "COLA",
|
||||
"COLD", "COLT", "COMA", "COMB", "COME", "COOK", "COOL", "COON", "COOT",
|
||||
"CORD", "CORE", "CORK", "CORN", "COST", "COVE", "COWL", "CRAB", "CRAG",
|
||||
"CRAM", "CRAY", "CREW", "CRIB", "CROW", "CRUD", "CUBA", "CUBE", "CUFF",
|
||||
"CULL", "CULT", "CUNY", "CURB", "CURD", "CURE", "CURL", "CURT", "CUTS",
|
||||
"DADE", "DALE", "DAME", "DANA", "DANE", "DANG", "DANK", "DARE", "DARK",
|
||||
"DARN", "DART", "DASH", "DATA", "DATE", "DAVE", "DAVY", "DAWN", "DAYS",
|
||||
"DEAD", "DEAF", "DEAL", "DEAN", "DEAR", "DEBT", "DECK", "DEED", "DEEM",
|
||||
"DEER", "DEFT", "DEFY", "DELL", "DENT", "DENY", "DESK", "DIAL", "DICE",
|
||||
"DIED", "DIET", "DIME", "DINE", "DING", "DINT", "DIRE", "DIRT", "DISC",
|
||||
"DISH", "DISK", "DIVE", "DOCK", "DOES", "DOLE", "DOLL", "DOLT", "DOME",
|
||||
"DONE", "DOOM", "DOOR", "DORA", "DOSE", "DOTE", "DOUG", "DOUR", "DOVE",
|
||||
"DOWN", "DRAB", "DRAG", "DRAM", "DRAW", "DREW", "DRUB", "DRUG", "DRUM",
|
||||
"DUAL", "DUCK", "DUCT", "DUEL", "DUET", "DUKE", "DULL", "DUMB", "DUNE",
|
||||
"DUNK", "DUSK", "DUST", "DUTY", "EACH", "EARL", "EARN", "EASE", "EAST",
|
||||
"EASY", "EBEN", "ECHO", "EDDY", "EDEN", "EDGE", "EDGY", "EDIT", "EDNA",
|
||||
"EGAN", "ELAN", "ELBA", "ELLA", "ELSE", "EMIL", "EMIT", "EMMA", "ENDS",
|
||||
"ERIC", "EROS", "EVEN", "EVER", "EVIL", "EYED", "FACE", "FACT", "FADE",
|
||||
"FAIL", "FAIN", "FAIR", "FAKE", "FALL", "FAME", "FANG", "FARM", "FAST",
|
||||
"FATE", "FAWN", "FEAR", "FEAT", "FEED", "FEEL", "FEET", "FELL", "FELT",
|
||||
"FEND", "FERN", "FEST", "FEUD", "FIEF", "FIGS", "FILE", "FILL", "FILM",
|
||||
"FIND", "FINE", "FINK", "FIRE", "FIRM", "FISH", "FISK", "FIST", "FITS",
|
||||
"FIVE", "FLAG", "FLAK", "FLAM", "FLAT", "FLAW", "FLEA", "FLED", "FLEW",
|
||||
"FLIT", "FLOC", "FLOG", "FLOW", "FLUB", "FLUE", "FOAL", "FOAM", "FOGY",
|
||||
"FOIL", "FOLD", "FOLK", "FOND", "FONT", "FOOD", "FOOL", "FOOT", "FORD",
|
||||
"FORE", "FORK", "FORM", "FORT", "FOSS", "FOUL", "FOUR", "FOWL", "FRAU",
|
||||
"FRAY", "FRED", "FREE", "FRET", "FREY", "FROG", "FROM", "FUEL", "FULL",
|
||||
"FUME", "FUND", "FUNK", "FURY", "FUSE", "FUSS", "GAFF", "GAGE", "GAIL",
|
||||
"GAIN", "GAIT", "GALA", "GALE", "GALL", "GALT", "GAME", "GANG", "GARB",
|
||||
"GARY", "GASH", "GATE", "GAUL", "GAUR", "GAVE", "GAWK", "GEAR", "GELD",
|
||||
"GENE", "GENT", "GERM", "GETS", "GIBE", "GIFT", "GILD", "GILL", "GILT",
|
||||
"GINA", "GIRD", "GIRL", "GIST", "GIVE", "GLAD", "GLEE", "GLEN", "GLIB",
|
||||
"GLOB", "GLOM", "GLOW", "GLUE", "GLUM", "GLUT", "GOAD", "GOAL", "GOAT",
|
||||
"GOER", "GOES", "GOLD", "GOLF", "GONE", "GONG", "GOOD", "GOOF", "GORE",
|
||||
"GORY", "GOSH", "GOUT", "GOWN", "GRAB", "GRAD", "GRAY", "GREG", "GREW",
|
||||
"GREY", "GRID", "GRIM", "GRIN", "GRIT", "GROW", "GRUB", "GULF", "GULL",
|
||||
"GUNK", "GURU", "GUSH", "GUST", "GWEN", "GWYN", "HAAG", "HAAS", "HACK",
|
||||
"HAIL", "HAIR", "HALE", "HALF", "HALL", "HALO", "HALT", "HAND", "HANG",
|
||||
"HANK", "HANS", "HARD", "HARK", "HARM", "HART", "HASH", "HAST", "HATE",
|
||||
"HATH", "HAUL", "HAVE", "HAWK", "HAYS", "HEAD", "HEAL", "HEAR", "HEAT",
|
||||
"HEBE", "HECK", "HEED", "HEEL", "HEFT", "HELD", "HELL", "HELM", "HERB",
|
||||
"HERD", "HERE", "HERO", "HERS", "HESS", "HEWN", "HICK", "HIDE", "HIGH",
|
||||
"HIKE", "HILL", "HILT", "HIND", "HINT", "HIRE", "HISS", "HIVE", "HOBO",
|
||||
"HOCK", "HOFF", "HOLD", "HOLE", "HOLM", "HOLT", "HOME", "HONE", "HONK",
|
||||
"HOOD", "HOOF", "HOOK", "HOOT", "HORN", "HOSE", "HOST", "HOUR", "HOVE",
|
||||
"HOWE", "HOWL", "HOYT", "HUCK", "HUED", "HUFF", "HUGE", "HUGH", "HUGO",
|
||||
"HULK", "HULL", "HUNK", "HUNT", "HURD", "HURL", "HURT", "HUSH", "HYDE",
|
||||
"HYMN", "IBIS", "ICON", "IDEA", "IDLE", "IFFY", "INCA", "INCH", "INTO",
|
||||
"IONS", "IOTA", "IOWA", "IRIS", "IRMA", "IRON", "ISLE", "ITCH", "ITEM",
|
||||
"IVAN", "JACK", "JADE", "JAIL", "JAKE", "JANE", "JAVA", "JEAN", "JEFF",
|
||||
"JERK", "JESS", "JEST", "JIBE", "JILL", "JILT", "JIVE", "JOAN", "JOBS",
|
||||
"JOCK", "JOEL", "JOEY", "JOHN", "JOIN", "JOKE", "JOLT", "JOVE", "JUDD",
|
||||
"JUDE", "JUDO", "JUDY", "JUJU", "JUKE", "JULY", "JUNE", "JUNK", "JUNO",
|
||||
"JURY", "JUST", "JUTE", "KAHN", "KALE", "KANE", "KANT", "KARL", "KATE",
|
||||
"KEEL", "KEEN", "KENO", "KENT", "KERN", "KERR", "KEYS", "KICK", "KILL",
|
||||
"KIND", "KING", "KIRK", "KISS", "KITE", "KLAN", "KNEE", "KNEW", "KNIT",
|
||||
"KNOB", "KNOT", "KNOW", "KOCH", "KONG", "KUDO", "KURD", "KURT", "KYLE",
|
||||
"LACE", "LACK", "LACY", "LADY", "LAID", "LAIN", "LAIR", "LAKE", "LAMB",
|
||||
"LAME", "LAND", "LANE", "LANG", "LARD", "LARK", "LASS", "LAST", "LATE",
|
||||
"LAUD", "LAVA", "LAWN", "LAWS", "LAYS", "LEAD", "LEAF", "LEAK", "LEAN",
|
||||
"LEAR", "LEEK", "LEER", "LEFT", "LEND", "LENS", "LENT", "LEON", "LESK",
|
||||
"LESS", "LEST", "LETS", "LIAR", "LICE", "LICK", "LIED", "LIEN", "LIES",
|
||||
"LIEU", "LIFE", "LIFT", "LIKE", "LILA", "LILT", "LILY", "LIMA", "LIMB",
|
||||
"LIME", "LIND", "LINE", "LINK", "LINT", "LION", "LISA", "LIST", "LIVE",
|
||||
"LOAD", "LOAF", "LOAM", "LOAN", "LOCK", "LOFT", "LOGE", "LOIS", "LOLA",
|
||||
"LONE", "LONG", "LOOK", "LOON", "LOOT", "LORD", "LORE", "LOSE", "LOSS",
|
||||
"LOST", "LOUD", "LOVE", "LOWE", "LUCK", "LUCY", "LUGE", "LUKE", "LULU",
|
||||
"LUND", "LUNG", "LURA", "LURE", "LURK", "LUSH", "LUST", "LYLE", "LYNN",
|
||||
"LYON", "LYRA", "MACE", "MADE", "MAGI", "MAID", "MAIL", "MAIN", "MAKE",
|
||||
"MALE", "MALI", "MALL", "MALT", "MANA", "MANN", "MANY", "MARC", "MARE",
|
||||
"MARK", "MARS", "MART", "MARY", "MASH", "MASK", "MASS", "MAST", "MATE",
|
||||
"MATH", "MAUL", "MAYO", "MEAD", "MEAL", "MEAN", "MEAT", "MEEK", "MEET",
|
||||
"MELD", "MELT", "MEMO", "MEND", "MENU", "MERT", "MESH", "MESS", "MICE",
|
||||
"MIKE", "MILD", "MILE", "MILK", "MILL", "MILT", "MIMI", "MIND", "MINE",
|
||||
"MINI", "MINK", "MINT", "MIRE", "MISS", "MIST", "MITE", "MITT", "MOAN",
|
||||
"MOAT", "MOCK", "MODE", "MOLD", "MOLE", "MOLL", "MOLT", "MONA", "MONK",
|
||||
"MONT", "MOOD", "MOON", "MOOR", "MOOT", "MORE", "MORN", "MORT", "MOSS",
|
||||
"MOST", "MOTH", "MOVE", "MUCH", "MUCK", "MUDD", "MUFF", "MULE", "MULL",
|
||||
"MURK", "MUSH", "MUST", "MUTE", "MUTT", "MYRA", "MYTH", "NAGY", "NAIL",
|
||||
"NAIR", "NAME", "NARY", "NASH", "NAVE", "NAVY", "NEAL", "NEAR", "NEAT",
|
||||
"NECK", "NEED", "NEIL", "NELL", "NEON", "NERO", "NESS", "NEST", "NEWS",
|
||||
"NEWT", "NIBS", "NICE", "NICK", "NILE", "NINA", "NINE", "NOAH", "NODE",
|
||||
"NOEL", "NOLL", "NONE", "NOOK", "NOON", "NORM", "NOSE", "NOTE", "NOUN",
|
||||
"NOVA", "NUDE", "NULL", "NUMB", "OATH", "OBEY", "OBOE", "ODIN", "OHIO",
|
||||
"OILY", "OINT", "OKAY", "OLAF", "OLDY", "OLGA", "OLIN", "OMAN", "OMEN",
|
||||
"OMIT", "ONCE", "ONES", "ONLY", "ONTO", "ONUS", "ORAL", "ORGY", "OSLO",
|
||||
"OTIS", "OTTO", "OUCH", "OUST", "OUTS", "OVAL", "OVEN", "OVER", "OWLY",
|
||||
"OWNS", "QUAD", "QUIT", "QUOD", "RACE", "RACK", "RACY", "RAFT", "RAGE",
|
||||
"RAID", "RAIL", "RAIN", "RAKE", "RANK", "RANT", "RARE", "RASH", "RATE",
|
||||
"RAVE", "RAYS", "READ", "REAL", "REAM", "REAR", "RECK", "REED", "REEF",
|
||||
"REEK", "REEL", "REID", "REIN", "RENA", "REND", "RENT", "REST", "RICE",
|
||||
"RICH", "RICK", "RIDE", "RIFT", "RILL", "RIME", "RING", "RINK", "RISE",
|
||||
"RISK", "RITE", "ROAD", "ROAM", "ROAR", "ROBE", "ROCK", "RODE", "ROIL",
|
||||
"ROLL", "ROME", "ROOD", "ROOF", "ROOK", "ROOM", "ROOT", "ROSA", "ROSE",
|
||||
"ROSS", "ROSY", "ROTH", "ROUT", "ROVE", "ROWE", "ROWS", "RUBE", "RUBY",
|
||||
"RUDE", "RUDY", "RUIN", "RULE", "RUNG", "RUNS", "RUNT", "RUSE", "RUSH",
|
||||
"RUSK", "RUSS", "RUST", "RUTH", "SACK", "SAFE", "SAGE", "SAID", "SAIL",
|
||||
"SALE", "SALK", "SALT", "SAME", "SAND", "SANE", "SANG", "SANK", "SARA",
|
||||
"SAUL", "SAVE", "SAYS", "SCAN", "SCAR", "SCAT", "SCOT", "SEAL", "SEAM",
|
||||
"SEAR", "SEAT", "SEED", "SEEK", "SEEM", "SEEN", "SEES", "SELF", "SELL",
|
||||
"SEND", "SENT", "SETS", "SEWN", "SHAG", "SHAM", "SHAW", "SHAY", "SHED",
|
||||
"SHIM", "SHIN", "SHOD", "SHOE", "SHOT", "SHOW", "SHUN", "SHUT", "SICK",
|
||||
"SIDE", "SIFT", "SIGH", "SIGN", "SILK", "SILL", "SILO", "SILT", "SINE",
|
||||
"SING", "SINK", "SIRE", "SITE", "SITS", "SITU", "SKAT", "SKEW", "SKID",
|
||||
"SKIM", "SKIN", "SKIT", "SLAB", "SLAM", "SLAT", "SLAY", "SLED", "SLEW",
|
||||
"SLID", "SLIM", "SLIT", "SLOB", "SLOG", "SLOT", "SLOW", "SLUG", "SLUM",
|
||||
"SLUR", "SMOG", "SMUG", "SNAG", "SNOB", "SNOW", "SNUB", "SNUG", "SOAK",
|
||||
"SOAR", "SOCK", "SODA", "SOFA", "SOFT", "SOIL", "SOLD", "SOME", "SONG",
|
||||
"SOON", "SOOT", "SORE", "SORT", "SOUL", "SOUR", "SOWN", "STAB", "STAG",
|
||||
"STAN", "STAR", "STAY", "STEM", "STEW", "STIR", "STOW", "STUB", "STUN",
|
||||
"SUCH", "SUDS", "SUIT", "SULK", "SUMS", "SUNG", "SUNK", "SURE", "SURF",
|
||||
"SWAB", "SWAG", "SWAM", "SWAN", "SWAT", "SWAY", "SWIM", "SWUM", "TACK",
|
||||
"TACT", "TAIL", "TAKE", "TALE", "TALK", "TALL", "TANK", "TASK", "TATE",
|
||||
"TAUT", "TEAL", "TEAM", "TEAR", "TECH", "TEEM", "TEEN", "TEET", "TELL",
|
||||
"TEND", "TENT", "TERM", "TERN", "TESS", "TEST", "THAN", "THAT", "THEE",
|
||||
"THEM", "THEN", "THEY", "THIN", "THIS", "THUD", "THUG", "TICK", "TIDE",
|
||||
"TIDY", "TIED", "TIER", "TILE", "TILL", "TILT", "TIME", "TINA", "TINE",
|
||||
"TINT", "TINY", "TIRE", "TOAD", "TOGO", "TOIL", "TOLD", "TOLL", "TONE",
|
||||
"TONG", "TONY", "TOOK", "TOOL", "TOOT", "TORE", "TORN", "TOTE", "TOUR",
|
||||
"TOUT", "TOWN", "TRAG", "TRAM", "TRAY", "TREE", "TREK", "TRIG", "TRIM",
|
||||
"TRIO", "TROD", "TROT", "TROY", "TRUE", "TUBA", "TUBE", "TUCK", "TUFT",
|
||||
"TUNA", "TUNE", "TUNG", "TURF", "TURN", "TUSK", "TWIG", "TWIN", "TWIT",
|
||||
"ULAN", "UNIT", "URGE", "USED", "USER", "USES", "UTAH", "VAIL", "VAIN",
|
||||
"VALE", "VARY", "VASE", "VAST", "VEAL", "VEDA", "VEIL", "VEIN", "VEND",
|
||||
"VENT", "VERB", "VERY", "VETO", "VICE", "VIEW", "VINE", "VISE", "VOID",
|
||||
"VOLT", "VOTE", "WACK", "WADE", "WAGE", "WAIL", "WAIT", "WAKE", "WALE",
|
||||
"WALK", "WALL", "WALT", "WAND", "WANE", "WANG", "WANT", "WARD", "WARM",
|
||||
"WARN", "WART", "WASH", "WAST", "WATS", "WATT", "WAVE", "WAVY", "WAYS",
|
||||
"WEAK", "WEAL", "WEAN", "WEAR", "WEED", "WEEK", "WEIR", "WELD", "WELL",
|
||||
"WELT", "WENT", "WERE", "WERT", "WEST", "WHAM", "WHAT", "WHEE", "WHEN",
|
||||
"WHET", "WHOA", "WHOM", "WICK", "WIFE", "WILD", "WILL", "WIND", "WINE",
|
||||
"WING", "WINK", "WINO", "WIRE", "WISE", "WISH", "WITH", "WOLF", "WONT",
|
||||
"WOOD", "WOOL", "WORD", "WORE", "WORK", "WORM", "WORN", "WOVE", "WRIT",
|
||||
"WYNN", "YALE", "YANG", "YANK", "YARD", "YARN", "YAWL", "YAWN", "YEAH",
|
||||
"YEAR", "YELL", "YOGA", "YOKE"
|
||||
};
|
||||
"AGO", "AID", "AIM", "AIR", "ALL", "ALP", "AM", "AMY", "AN", "ANA",
|
||||
"AND", "ANN", "ANT", "ANY", "APE", "APS", "APT", "ARC", "ARE", "ARK",
|
||||
"ARM", "ART", "AS", "ASH", "ASK", "AT", "ATE", "AUG", "AUK", "AVE",
|
||||
"AWE", "AWK", "AWL", "AWN", "AX", "AYE", "BAD", "BAG", "BAH", "BAM",
|
||||
"BAN", "BAR", "BAT", "BAY", "BE", "BED", "BEE", "BEG", "BEN", "BET",
|
||||
"BEY", "BIB", "BID", "BIG", "BIN", "BIT", "BOB", "BOG", "BON", "BOO",
|
||||
"BOP", "BOW", "BOY", "BUB", "BUD", "BUG", "BUM", "BUN", "BUS", "BUT",
|
||||
"BUY", "BY", "BYE", "CAB", "CAL", "CAM", "CAN", "CAP", "CAR", "CAT",
|
||||
"CAW", "COD", "COG", "COL", "CON", "COO", "COP", "COT", "COW", "COY",
|
||||
"CRY", "CUB", "CUE", "CUP", "CUR", "CUT", "DAB", "DAD", "DAM", "DAN",
|
||||
"DAR", "DAY", "DEE", "DEL", "DEN", "DES", "DEW", "DID", "DIE", "DIG",
|
||||
"DIN", "DIP", "DO", "DOE", "DOG", "DON", "DOT", "DOW", "DRY", "DUB",
|
||||
"DUD", "DUE", "DUG", "DUN", "EAR", "EAT", "ED", "EEL", "EGG", "EGO",
|
||||
"ELI", "ELK", "ELM", "ELY", "EM", "END", "EST", "ETC", "EVA", "EVE",
|
||||
"EWE", "EYE", "FAD", "FAN", "FAR", "FAT", "FAY", "FED", "FEE", "FEW",
|
||||
"FIB", "FIG", "FIN", "FIR", "FIT", "FLO", "FLY", "FOE", "FOG", "FOR",
|
||||
"FRY", "FUM", "FUN", "FUR", "GAB", "GAD", "GAG", "GAL", "GAM", "GAP",
|
||||
"GAS", "GAY", "GEE", "GEL", "GEM", "GET", "GIG", "GIL", "GIN", "GO",
|
||||
"GOT", "GUM", "GUN", "GUS", "GUT", "GUY", "GYM", "GYP", "HA", "HAD",
|
||||
"HAL", "HAM", "HAN", "HAP", "HAS", "HAT", "HAW", "HAY", "HE", "HEM",
|
||||
"HEN", "HER", "HEW", "HEY", "HI", "HID", "HIM", "HIP", "HIS", "HIT",
|
||||
"HO", "HOB", "HOC", "HOE", "HOG", "HOP", "HOT", "HOW", "HUB", "HUE",
|
||||
"HUG", "HUH", "HUM", "HUT", "I", "ICY", "IDA", "IF", "IKE", "ILL",
|
||||
"INK", "INN", "IO", "ION", "IQ", "IRA", "IRE", "IRK", "IS", "IT", "ITS",
|
||||
"IVY", "JAB", "JAG", "JAM", "JAN", "JAR", "JAW", "JAY", "JET", "JIG",
|
||||
"JIM", "JO", "JOB", "JOE", "JOG", "JOT", "JOY", "JUG", "JUT", "KAY",
|
||||
"KEG", "KEN", "KEY", "KID", "KIM", "KIN", "KIT", "LA", "LAB", "LAC",
|
||||
"LAD", "LAG", "LAM", "LAP", "LAW", "LAY", "LEA", "LED", "LEE", "LEG",
|
||||
"LEN", "LEO", "LET", "LEW", "LID", "LIE", "LIN", "LIP", "LIT", "LO",
|
||||
"LOB", "LOG", "LOP", "LOS", "LOT", "LOU", "LOW", "LOY", "LUG", "LYE",
|
||||
"MA", "MAC", "MAD", "MAE", "MAN", "MAO", "MAP", "MAT", "MAW", "MAY",
|
||||
"ME", "MEG", "MEL", "MEN", "MET", "MEW", "MID", "MIN", "MIT", "MOB",
|
||||
"MOD", "MOE", "MOO", "MOP", "MOS", "MOT", "MOW", "MUD", "MUG", "MUM",
|
||||
"MY", "NAB", "NAG", "NAN", "NAP", "NAT", "NAY", "NE", "NED", "NEE",
|
||||
"NET", "NEW", "NIB", "NIL", "NIP", "NIT", "NO", "NOB", "NOD", "NON",
|
||||
"NOR", "NOT", "NOV", "NOW", "NU", "NUN", "NUT", "O", "OAF", "OAK",
|
||||
"OAR", "OAT", "ODD", "ODE", "OF", "OFF", "OFT", "OH", "OIL", "OK",
|
||||
"OLD", "ON", "ONE", "OR", "ORB", "ORE", "ORR", "OS", "OTT", "OUR",
|
||||
"OUT", "OVA", "OW", "OWE", "OWL", "OWN", "OX", "PA", "PAD", "PAL",
|
||||
"PAM", "PAN", "PAP", "PAR", "PAT", "PAW", "PAY", "PEA", "PEG", "PEN",
|
||||
"PEP", "PER", "PET", "PEW", "PHI", "PI", "PIE", "PIN", "PIT", "PLY",
|
||||
"PO", "POD", "POE", "POP", "POT", "POW", "PRO", "PRY", "PUB", "PUG",
|
||||
"PUN", "PUP", "PUT", "QUO", "RAG", "RAM", "RAN", "RAP", "RAT", "RAW",
|
||||
"RAY", "REB", "RED", "REP", "RET", "RIB", "RID", "RIG", "RIM", "RIO",
|
||||
"RIP", "ROB", "ROD", "ROE", "RON", "ROT", "ROW", "ROY", "RUB", "RUE",
|
||||
"RUG", "RUM", "RUN", "RYE", "SAC", "SAD", "SAG", "SAL", "SAM", "SAN",
|
||||
"SAP", "SAT", "SAW", "SAY", "SEA", "SEC", "SEE", "SEN", "SET", "SEW",
|
||||
"SHE", "SHY", "SIN", "SIP", "SIR", "SIS", "SIT", "SKI", "SKY", "SLY",
|
||||
"SO", "SOB", "SOD", "SON", "SOP", "SOW", "SOY", "SPA", "SPY", "SUB",
|
||||
"SUD", "SUE", "SUM", "SUN", "SUP", "TAB", "TAD", "TAG", "TAN", "TAP",
|
||||
"TAR", "TEA", "TED", "TEE", "TEN", "THE", "THY", "TIC", "TIE", "TIM",
|
||||
"TIN", "TIP", "TO", "TOE", "TOG", "TOM", "TON", "TOO", "TOP", "TOW",
|
||||
"TOY", "TRY", "TUB", "TUG", "TUM", "TUN", "TWO", "UN", "UP", "US",
|
||||
"USE", "VAN", "VAT", "VET", "VIE", "WAD", "WAG", "WAR", "WAS", "WAY",
|
||||
"WE", "WEB", "WED", "WEE", "WET", "WHO", "WHY", "WIN", "WIT", "WOK",
|
||||
"WON", "WOO", "WOW", "WRY", "WU", "YAM", "YAP", "YAW", "YE", "YEA",
|
||||
"YES", "YET", "YOU", "ABED", "ABEL", "ABET", "ABLE", "ABUT", "ACHE",
|
||||
"ACID", "ACME", "ACRE", "ACTA", "ACTS", "ADAM", "ADDS", "ADEN", "AFAR",
|
||||
"AFRO", "AGEE", "AHEM", "AHOY", "AIDA", "AIDE", "AIDS", "AIRY", "AJAR",
|
||||
"AKIN", "ALAN", "ALEC", "ALGA", "ALIA", "ALLY", "ALMA", "ALOE", "ALSO",
|
||||
"ALTO", "ALUM", "ALVA", "AMEN", "AMES", "AMID", "AMMO", "AMOK", "AMOS",
|
||||
"AMRA", "ANDY", "ANEW", "ANNA", "ANNE", "ANTE", "ANTI", "AQUA", "ARAB",
|
||||
"ARCH", "AREA", "ARGO", "ARID", "ARMY", "ARTS", "ARTY", "ASIA", "ASKS",
|
||||
"ATOM", "AUNT", "AURA", "AUTO", "AVER", "AVID", "AVIS", "AVON", "AVOW",
|
||||
"AWAY", "AWRY", "BABE", "BABY", "BACH", "BACK", "BADE", "BAIL", "BAIT",
|
||||
"BAKE", "BALD", "BALE", "BALI", "BALK", "BALL", "BALM", "BAND", "BANE",
|
||||
"BANG", "BANK", "BARB", "BARD", "BARE", "BARK", "BARN", "BARR", "BASE",
|
||||
"BASH", "BASK", "BASS", "BATE", "BATH", "BAWD", "BAWL", "BEAD", "BEAK",
|
||||
"BEAM", "BEAN", "BEAR", "BEAT", "BEAU", "BECK", "BEEF", "BEEN", "BEER",
|
||||
"BEET", "BELA", "BELL", "BELT", "BEND", "BENT", "BERG", "BERN", "BERT",
|
||||
"BESS", "BEST", "BETA", "BETH", "BHOY", "BIAS", "BIDE", "BIEN", "BILE",
|
||||
"BILK", "BILL", "BIND", "BING", "BIRD", "BITE", "BITS", "BLAB", "BLAT",
|
||||
"BLED", "BLEW", "BLOB", "BLOC", "BLOT", "BLOW", "BLUE", "BLUM", "BLUR",
|
||||
"BOAR", "BOAT", "BOCA", "BOCK", "BODE", "BODY", "BOGY", "BOHR", "BOIL",
|
||||
"BOLD", "BOLO", "BOLT", "BOMB", "BONA", "BOND", "BONE", "BONG", "BONN",
|
||||
"BONY", "BOOK", "BOOM", "BOON", "BOOT", "BORE", "BORG", "BORN", "BOSE",
|
||||
"BOSS", "BOTH", "BOUT", "BOWL", "BOYD", "BRAD", "BRAE", "BRAG", "BRAN",
|
||||
"BRAY", "BRED", "BREW", "BRIG", "BRIM", "BROW", "BUCK", "BUDD", "BUFF",
|
||||
"BULB", "BULK", "BULL", "BUNK", "BUNT", "BUOY", "BURG", "BURL", "BURN",
|
||||
"BURR", "BURT", "BURY", "BUSH", "BUSS", "BUST", "BUSY", "BYTE", "CADY",
|
||||
"CAFE", "CAGE", "CAIN", "CAKE", "CALF", "CALL", "CALM", "CAME", "CANE",
|
||||
"CANT", "CARD", "CARE", "CARL", "CARR", "CART", "CASE", "CASH", "CASK",
|
||||
"CAST", "CAVE", "CEIL", "CELL", "CENT", "CERN", "CHAD", "CHAR", "CHAT",
|
||||
"CHAW", "CHEF", "CHEN", "CHEW", "CHIC", "CHIN", "CHOU", "CHOW", "CHUB",
|
||||
"CHUG", "CHUM", "CITE", "CITY", "CLAD", "CLAM", "CLAN", "CLAW", "CLAY",
|
||||
"CLOD", "CLOG", "CLOT", "CLUB", "CLUE", "COAL", "COAT", "COCA", "COCK",
|
||||
"COCO", "CODA", "CODE", "CODY", "COED", "COIL", "COIN", "COKE", "COLA",
|
||||
"COLD", "COLT", "COMA", "COMB", "COME", "COOK", "COOL", "COON", "COOT",
|
||||
"CORD", "CORE", "CORK", "CORN", "COST", "COVE", "COWL", "CRAB", "CRAG",
|
||||
"CRAM", "CRAY", "CREW", "CRIB", "CROW", "CRUD", "CUBA", "CUBE", "CUFF",
|
||||
"CULL", "CULT", "CUNY", "CURB", "CURD", "CURE", "CURL", "CURT", "CUTS",
|
||||
"DADE", "DALE", "DAME", "DANA", "DANE", "DANG", "DANK", "DARE", "DARK",
|
||||
"DARN", "DART", "DASH", "DATA", "DATE", "DAVE", "DAVY", "DAWN", "DAYS",
|
||||
"DEAD", "DEAF", "DEAL", "DEAN", "DEAR", "DEBT", "DECK", "DEED", "DEEM",
|
||||
"DEER", "DEFT", "DEFY", "DELL", "DENT", "DENY", "DESK", "DIAL", "DICE",
|
||||
"DIED", "DIET", "DIME", "DINE", "DING", "DINT", "DIRE", "DIRT", "DISC",
|
||||
"DISH", "DISK", "DIVE", "DOCK", "DOES", "DOLE", "DOLL", "DOLT", "DOME",
|
||||
"DONE", "DOOM", "DOOR", "DORA", "DOSE", "DOTE", "DOUG", "DOUR", "DOVE",
|
||||
"DOWN", "DRAB", "DRAG", "DRAM", "DRAW", "DREW", "DRUB", "DRUG", "DRUM",
|
||||
"DUAL", "DUCK", "DUCT", "DUEL", "DUET", "DUKE", "DULL", "DUMB", "DUNE",
|
||||
"DUNK", "DUSK", "DUST", "DUTY", "EACH", "EARL", "EARN", "EASE", "EAST",
|
||||
"EASY", "EBEN", "ECHO", "EDDY", "EDEN", "EDGE", "EDGY", "EDIT", "EDNA",
|
||||
"EGAN", "ELAN", "ELBA", "ELLA", "ELSE", "EMIL", "EMIT", "EMMA", "ENDS",
|
||||
"ERIC", "EROS", "EVEN", "EVER", "EVIL", "EYED", "FACE", "FACT", "FADE",
|
||||
"FAIL", "FAIN", "FAIR", "FAKE", "FALL", "FAME", "FANG", "FARM", "FAST",
|
||||
"FATE", "FAWN", "FEAR", "FEAT", "FEED", "FEEL", "FEET", "FELL", "FELT",
|
||||
"FEND", "FERN", "FEST", "FEUD", "FIEF", "FIGS", "FILE", "FILL", "FILM",
|
||||
"FIND", "FINE", "FINK", "FIRE", "FIRM", "FISH", "FISK", "FIST", "FITS",
|
||||
"FIVE", "FLAG", "FLAK", "FLAM", "FLAT", "FLAW", "FLEA", "FLED", "FLEW",
|
||||
"FLIT", "FLOC", "FLOG", "FLOW", "FLUB", "FLUE", "FOAL", "FOAM", "FOGY",
|
||||
"FOIL", "FOLD", "FOLK", "FOND", "FONT", "FOOD", "FOOL", "FOOT", "FORD",
|
||||
"FORE", "FORK", "FORM", "FORT", "FOSS", "FOUL", "FOUR", "FOWL", "FRAU",
|
||||
"FRAY", "FRED", "FREE", "FRET", "FREY", "FROG", "FROM", "FUEL", "FULL",
|
||||
"FUME", "FUND", "FUNK", "FURY", "FUSE", "FUSS", "GAFF", "GAGE", "GAIL",
|
||||
"GAIN", "GAIT", "GALA", "GALE", "GALL", "GALT", "GAME", "GANG", "GARB",
|
||||
"GARY", "GASH", "GATE", "GAUL", "GAUR", "GAVE", "GAWK", "GEAR", "GELD",
|
||||
"GENE", "GENT", "GERM", "GETS", "GIBE", "GIFT", "GILD", "GILL", "GILT",
|
||||
"GINA", "GIRD", "GIRL", "GIST", "GIVE", "GLAD", "GLEE", "GLEN", "GLIB",
|
||||
"GLOB", "GLOM", "GLOW", "GLUE", "GLUM", "GLUT", "GOAD", "GOAL", "GOAT",
|
||||
"GOER", "GOES", "GOLD", "GOLF", "GONE", "GONG", "GOOD", "GOOF", "GORE",
|
||||
"GORY", "GOSH", "GOUT", "GOWN", "GRAB", "GRAD", "GRAY", "GREG", "GREW",
|
||||
"GREY", "GRID", "GRIM", "GRIN", "GRIT", "GROW", "GRUB", "GULF", "GULL",
|
||||
"GUNK", "GURU", "GUSH", "GUST", "GWEN", "GWYN", "HAAG", "HAAS", "HACK",
|
||||
"HAIL", "HAIR", "HALE", "HALF", "HALL", "HALO", "HALT", "HAND", "HANG",
|
||||
"HANK", "HANS", "HARD", "HARK", "HARM", "HART", "HASH", "HAST", "HATE",
|
||||
"HATH", "HAUL", "HAVE", "HAWK", "HAYS", "HEAD", "HEAL", "HEAR", "HEAT",
|
||||
"HEBE", "HECK", "HEED", "HEEL", "HEFT", "HELD", "HELL", "HELM", "HERB",
|
||||
"HERD", "HERE", "HERO", "HERS", "HESS", "HEWN", "HICK", "HIDE", "HIGH",
|
||||
"HIKE", "HILL", "HILT", "HIND", "HINT", "HIRE", "HISS", "HIVE", "HOBO",
|
||||
"HOCK", "HOFF", "HOLD", "HOLE", "HOLM", "HOLT", "HOME", "HONE", "HONK",
|
||||
"HOOD", "HOOF", "HOOK", "HOOT", "HORN", "HOSE", "HOST", "HOUR", "HOVE",
|
||||
"HOWE", "HOWL", "HOYT", "HUCK", "HUED", "HUFF", "HUGE", "HUGH", "HUGO",
|
||||
"HULK", "HULL", "HUNK", "HUNT", "HURD", "HURL", "HURT", "HUSH", "HYDE",
|
||||
"HYMN", "IBIS", "ICON", "IDEA", "IDLE", "IFFY", "INCA", "INCH", "INTO",
|
||||
"IONS", "IOTA", "IOWA", "IRIS", "IRMA", "IRON", "ISLE", "ITCH", "ITEM",
|
||||
"IVAN", "JACK", "JADE", "JAIL", "JAKE", "JANE", "JAVA", "JEAN", "JEFF",
|
||||
"JERK", "JESS", "JEST", "JIBE", "JILL", "JILT", "JIVE", "JOAN", "JOBS",
|
||||
"JOCK", "JOEL", "JOEY", "JOHN", "JOIN", "JOKE", "JOLT", "JOVE", "JUDD",
|
||||
"JUDE", "JUDO", "JUDY", "JUJU", "JUKE", "JULY", "JUNE", "JUNK", "JUNO",
|
||||
"JURY", "JUST", "JUTE", "KAHN", "KALE", "KANE", "KANT", "KARL", "KATE",
|
||||
"KEEL", "KEEN", "KENO", "KENT", "KERN", "KERR", "KEYS", "KICK", "KILL",
|
||||
"KIND", "KING", "KIRK", "KISS", "KITE", "KLAN", "KNEE", "KNEW", "KNIT",
|
||||
"KNOB", "KNOT", "KNOW", "KOCH", "KONG", "KUDO", "KURD", "KURT", "KYLE",
|
||||
"LACE", "LACK", "LACY", "LADY", "LAID", "LAIN", "LAIR", "LAKE", "LAMB",
|
||||
"LAME", "LAND", "LANE", "LANG", "LARD", "LARK", "LASS", "LAST", "LATE",
|
||||
"LAUD", "LAVA", "LAWN", "LAWS", "LAYS", "LEAD", "LEAF", "LEAK", "LEAN",
|
||||
"LEAR", "LEEK", "LEER", "LEFT", "LEND", "LENS", "LENT", "LEON", "LESK",
|
||||
"LESS", "LEST", "LETS", "LIAR", "LICE", "LICK", "LIED", "LIEN", "LIES",
|
||||
"LIEU", "LIFE", "LIFT", "LIKE", "LILA", "LILT", "LILY", "LIMA", "LIMB",
|
||||
"LIME", "LIND", "LINE", "LINK", "LINT", "LION", "LISA", "LIST", "LIVE",
|
||||
"LOAD", "LOAF", "LOAM", "LOAN", "LOCK", "LOFT", "LOGE", "LOIS", "LOLA",
|
||||
"LONE", "LONG", "LOOK", "LOON", "LOOT", "LORD", "LORE", "LOSE", "LOSS",
|
||||
"LOST", "LOUD", "LOVE", "LOWE", "LUCK", "LUCY", "LUGE", "LUKE", "LULU",
|
||||
"LUND", "LUNG", "LURA", "LURE", "LURK", "LUSH", "LUST", "LYLE", "LYNN",
|
||||
"LYON", "LYRA", "MACE", "MADE", "MAGI", "MAID", "MAIL", "MAIN", "MAKE",
|
||||
"MALE", "MALI", "MALL", "MALT", "MANA", "MANN", "MANY", "MARC", "MARE",
|
||||
"MARK", "MARS", "MART", "MARY", "MASH", "MASK", "MASS", "MAST", "MATE",
|
||||
"MATH", "MAUL", "MAYO", "MEAD", "MEAL", "MEAN", "MEAT", "MEEK", "MEET",
|
||||
"MELD", "MELT", "MEMO", "MEND", "MENU", "MERT", "MESH", "MESS", "MICE",
|
||||
"MIKE", "MILD", "MILE", "MILK", "MILL", "MILT", "MIMI", "MIND", "MINE",
|
||||
"MINI", "MINK", "MINT", "MIRE", "MISS", "MIST", "MITE", "MITT", "MOAN",
|
||||
"MOAT", "MOCK", "MODE", "MOLD", "MOLE", "MOLL", "MOLT", "MONA", "MONK",
|
||||
"MONT", "MOOD", "MOON", "MOOR", "MOOT", "MORE", "MORN", "MORT", "MOSS",
|
||||
"MOST", "MOTH", "MOVE", "MUCH", "MUCK", "MUDD", "MUFF", "MULE", "MULL",
|
||||
"MURK", "MUSH", "MUST", "MUTE", "MUTT", "MYRA", "MYTH", "NAGY", "NAIL",
|
||||
"NAIR", "NAME", "NARY", "NASH", "NAVE", "NAVY", "NEAL", "NEAR", "NEAT",
|
||||
"NECK", "NEED", "NEIL", "NELL", "NEON", "NERO", "NESS", "NEST", "NEWS",
|
||||
"NEWT", "NIBS", "NICE", "NICK", "NILE", "NINA", "NINE", "NOAH", "NODE",
|
||||
"NOEL", "NOLL", "NONE", "NOOK", "NOON", "NORM", "NOSE", "NOTE", "NOUN",
|
||||
"NOVA", "NUDE", "NULL", "NUMB", "OATH", "OBEY", "OBOE", "ODIN", "OHIO",
|
||||
"OILY", "OINT", "OKAY", "OLAF", "OLDY", "OLGA", "OLIN", "OMAN", "OMEN",
|
||||
"OMIT", "ONCE", "ONES", "ONLY", "ONTO", "ONUS", "ORAL", "ORGY", "OSLO",
|
||||
"OTIS", "OTTO", "OUCH", "OUST", "OUTS", "OVAL", "OVEN", "OVER", "OWLY",
|
||||
"OWNS", "QUAD", "QUIT", "QUOD", "RACE", "RACK", "RACY", "RAFT", "RAGE",
|
||||
"RAID", "RAIL", "RAIN", "RAKE", "RANK", "RANT", "RARE", "RASH", "RATE",
|
||||
"RAVE", "RAYS", "READ", "REAL", "REAM", "REAR", "RECK", "REED", "REEF",
|
||||
"REEK", "REEL", "REID", "REIN", "RENA", "REND", "RENT", "REST", "RICE",
|
||||
"RICH", "RICK", "RIDE", "RIFT", "RILL", "RIME", "RING", "RINK", "RISE",
|
||||
"RISK", "RITE", "ROAD", "ROAM", "ROAR", "ROBE", "ROCK", "RODE", "ROIL",
|
||||
"ROLL", "ROME", "ROOD", "ROOF", "ROOK", "ROOM", "ROOT", "ROSA", "ROSE",
|
||||
"ROSS", "ROSY", "ROTH", "ROUT", "ROVE", "ROWE", "ROWS", "RUBE", "RUBY",
|
||||
"RUDE", "RUDY", "RUIN", "RULE", "RUNG", "RUNS", "RUNT", "RUSE", "RUSH",
|
||||
"RUSK", "RUSS", "RUST", "RUTH", "SACK", "SAFE", "SAGE", "SAID", "SAIL",
|
||||
"SALE", "SALK", "SALT", "SAME", "SAND", "SANE", "SANG", "SANK", "SARA",
|
||||
"SAUL", "SAVE", "SAYS", "SCAN", "SCAR", "SCAT", "SCOT", "SEAL", "SEAM",
|
||||
"SEAR", "SEAT", "SEED", "SEEK", "SEEM", "SEEN", "SEES", "SELF", "SELL",
|
||||
"SEND", "SENT", "SETS", "SEWN", "SHAG", "SHAM", "SHAW", "SHAY", "SHED",
|
||||
"SHIM", "SHIN", "SHOD", "SHOE", "SHOT", "SHOW", "SHUN", "SHUT", "SICK",
|
||||
"SIDE", "SIFT", "SIGH", "SIGN", "SILK", "SILL", "SILO", "SILT", "SINE",
|
||||
"SING", "SINK", "SIRE", "SITE", "SITS", "SITU", "SKAT", "SKEW", "SKID",
|
||||
"SKIM", "SKIN", "SKIT", "SLAB", "SLAM", "SLAT", "SLAY", "SLED", "SLEW",
|
||||
"SLID", "SLIM", "SLIT", "SLOB", "SLOG", "SLOT", "SLOW", "SLUG", "SLUM",
|
||||
"SLUR", "SMOG", "SMUG", "SNAG", "SNOB", "SNOW", "SNUB", "SNUG", "SOAK",
|
||||
"SOAR", "SOCK", "SODA", "SOFA", "SOFT", "SOIL", "SOLD", "SOME", "SONG",
|
||||
"SOON", "SOOT", "SORE", "SORT", "SOUL", "SOUR", "SOWN", "STAB", "STAG",
|
||||
"STAN", "STAR", "STAY", "STEM", "STEW", "STIR", "STOW", "STUB", "STUN",
|
||||
"SUCH", "SUDS", "SUIT", "SULK", "SUMS", "SUNG", "SUNK", "SURE", "SURF",
|
||||
"SWAB", "SWAG", "SWAM", "SWAN", "SWAT", "SWAY", "SWIM", "SWUM", "TACK",
|
||||
"TACT", "TAIL", "TAKE", "TALE", "TALK", "TALL", "TANK", "TASK", "TATE",
|
||||
"TAUT", "TEAL", "TEAM", "TEAR", "TECH", "TEEM", "TEEN", "TEET", "TELL",
|
||||
"TEND", "TENT", "TERM", "TERN", "TESS", "TEST", "THAN", "THAT", "THEE",
|
||||
"THEM", "THEN", "THEY", "THIN", "THIS", "THUD", "THUG", "TICK", "TIDE",
|
||||
"TIDY", "TIED", "TIER", "TILE", "TILL", "TILT", "TIME", "TINA", "TINE",
|
||||
"TINT", "TINY", "TIRE", "TOAD", "TOGO", "TOIL", "TOLD", "TOLL", "TONE",
|
||||
"TONG", "TONY", "TOOK", "TOOL", "TOOT", "TORE", "TORN", "TOTE", "TOUR",
|
||||
"TOUT", "TOWN", "TRAG", "TRAM", "TRAY", "TREE", "TREK", "TRIG", "TRIM",
|
||||
"TRIO", "TROD", "TROT", "TROY", "TRUE", "TUBA", "TUBE", "TUCK", "TUFT",
|
||||
"TUNA", "TUNE", "TUNG", "TURF", "TURN", "TUSK", "TWIG", "TWIN", "TWIT",
|
||||
"ULAN", "UNIT", "URGE", "USED", "USER", "USES", "UTAH", "VAIL", "VAIN",
|
||||
"VALE", "VARY", "VASE", "VAST", "VEAL", "VEDA", "VEIL", "VEIN", "VEND",
|
||||
"VENT", "VERB", "VERY", "VETO", "VICE", "VIEW", "VINE", "VISE", "VOID",
|
||||
"VOLT", "VOTE", "WACK", "WADE", "WAGE", "WAIL", "WAIT", "WAKE", "WALE",
|
||||
"WALK", "WALL", "WALT", "WAND", "WANE", "WANG", "WANT", "WARD", "WARM",
|
||||
"WARN", "WART", "WASH", "WAST", "WATS", "WATT", "WAVE", "WAVY", "WAYS",
|
||||
"WEAK", "WEAL", "WEAN", "WEAR", "WEED", "WEEK", "WEIR", "WELD", "WELL",
|
||||
"WELT", "WENT", "WERE", "WERT", "WEST", "WHAM", "WHAT", "WHEE", "WHEN",
|
||||
"WHET", "WHOA", "WHOM", "WICK", "WIFE", "WILD", "WILL", "WIND", "WINE",
|
||||
"WING", "WINK", "WINO", "WIRE", "WISE", "WISH", "WITH", "WOLF", "WONT",
|
||||
"WOOD", "WOOL", "WORD", "WORE", "WORK", "WORM", "WORN", "WOVE", "WRIT",
|
||||
"WYNN", "YALE", "YANG", "YANK", "YARD", "YARN", "YAWL", "YAWN", "YEAH",
|
||||
"YEAR", "YELL", "YOGA", "YOKE"
|
||||
};
|
||||
|
||||
/*
|
||||
* Encode 8 bytes in 'c' as a string of English words.
|
||||
|
|
|
@ -42,12 +42,14 @@ static void byteReverse(unsigned char *buf, unsigned longs);
|
|||
static void byteReverse(unsigned char *buf, unsigned longs)
|
||||
{
|
||||
guint32 t;
|
||||
do {
|
||||
do
|
||||
{
|
||||
t = (guint32) ((unsigned) buf[3] << 8 | buf[2]) << 16 |
|
||||
((unsigned) buf[1] << 8 | buf[0]);
|
||||
*(guint32 *) buf = t;
|
||||
buf += 4;
|
||||
} while (--longs);
|
||||
}
|
||||
while (--longs);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -88,11 +90,13 @@ void MD4Update(MD4_CTX *ctx, unsigned char const *buf,
|
|||
|
||||
/* Handle any leading odd-sized chunks */
|
||||
|
||||
if (t) {
|
||||
if (t)
|
||||
{
|
||||
unsigned char *p = (unsigned char *) ctx->in + t;
|
||||
|
||||
t = 64 - t;
|
||||
if (len < t) {
|
||||
if (len < t)
|
||||
{
|
||||
memcpy(p, buf, len);
|
||||
return;
|
||||
}
|
||||
|
@ -104,7 +108,8 @@ void MD4Update(MD4_CTX *ctx, unsigned char const *buf,
|
|||
}
|
||||
/* Process data in 64-byte chunks */
|
||||
|
||||
while (len >= 64) {
|
||||
while (len >= 64)
|
||||
{
|
||||
memcpy(ctx->in, buf, 64);
|
||||
byteReverse(ctx->in, 16);
|
||||
MD4Transform(ctx->buf, (guint32 *) ctx->in);
|
||||
|
@ -138,7 +143,8 @@ void MD4Final(unsigned char* digest, MD4_CTX *ctx)
|
|||
count = 64 - 1 - count;
|
||||
|
||||
/* Pad out to 56 mod 64 */
|
||||
if (count < 8) {
|
||||
if (count < 8)
|
||||
{
|
||||
/* Two lots of padding: Pad the first block to 64 bytes */
|
||||
memset(p, 0, count);
|
||||
byteReverse(ctx->in, 16);
|
||||
|
@ -146,7 +152,9 @@ void MD4Final(unsigned char* digest, MD4_CTX *ctx)
|
|||
|
||||
/* Now fill the next block with 56 bytes */
|
||||
memset(ctx->in, 0, 56);
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Pad block to 56 bytes */
|
||||
memset(p, 0, count - 8);
|
||||
}
|
||||
|
@ -317,10 +325,12 @@ int main(int argc, char *argv[])
|
|||
|
||||
md4 = (MD4_CTX *)malloc(sizeof(MD4_CTX));
|
||||
MD4Init(md4);
|
||||
do {
|
||||
do
|
||||
{
|
||||
r = read(0, data, sizeof data);
|
||||
MD4Update(md4, data, r);
|
||||
} while (r);
|
||||
}
|
||||
while (r);
|
||||
|
||||
MD4Final(digest, md4);
|
||||
printf("MD4 Digest is: ");
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
|
||||
#include <glib.h>
|
||||
|
||||
typedef struct {
|
||||
typedef struct
|
||||
{
|
||||
guint32 buf[4];
|
||||
guint32 bits[2];
|
||||
unsigned char in[64];
|
||||
|
|
|
@ -28,12 +28,14 @@
|
|||
static void byteReverse(unsigned char *buf, unsigned longs)
|
||||
{
|
||||
guint32 t;
|
||||
do {
|
||||
do
|
||||
{
|
||||
t = (guint32) ((unsigned) buf[3] << 8 | buf[2]) << 16 |
|
||||
((unsigned) buf[1] << 8 | buf[0]);
|
||||
*(guint32 *) buf = t;
|
||||
buf += 4;
|
||||
} while (--longs);
|
||||
}
|
||||
while (--longs);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -11,11 +11,13 @@
|
|||
#include "skey.h"
|
||||
#include "btoe.h"
|
||||
|
||||
struct skey_hash {
|
||||
struct skey_hash
|
||||
{
|
||||
int (*Keycrunch) (char *, const char *, const char *);
|
||||
void (*Skey) (char *);
|
||||
};
|
||||
static struct skey_hash hash_table[] = {
|
||||
static struct skey_hash hash_table[] =
|
||||
{
|
||||
{ MD4Keycrunch, MD4SKey },
|
||||
{ MD5Keycrunch, MD5SKey },
|
||||
{ SHA1Keycrunch, SHA1SKey }
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
typedef enum {
|
||||
typedef enum
|
||||
{
|
||||
MD4,
|
||||
MD5,
|
||||
SHA1
|
||||
|
|
|
@ -8,7 +8,8 @@
|
|||
|
||||
#include "skey.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct
|
||||
{
|
||||
SKeyAlgorithm algorithm;
|
||||
const char *passphrase;
|
||||
const char *seed;
|
||||
|
@ -17,7 +18,8 @@ typedef struct {
|
|||
const char *btoe;
|
||||
} TestEntry;
|
||||
|
||||
static const TestEntry tests[] = {
|
||||
static const TestEntry tests[] =
|
||||
{
|
||||
{ MD4, "This is a test.", "TeSt", 0, "D185 4218 EBBB 0B51", "ROME MUG FRED SCAN LIVE LACE" },
|
||||
{ MD4, "This is a test.", "TeSt", 1, "6347 3EF0 1CD0 B444", "CARD SAD MINI RYE COL KIN" },
|
||||
{ MD4, "This is a test.", "TeSt", 99, "C5E6 1277 6E6C 237A", "NOTE OUT IBIS SINK NAVE MODE" },
|
||||
|
@ -49,7 +51,8 @@ static const TestEntry tests[] = {
|
|||
{ SHA1, "Passphrase", "IiIi", 100, "27F4 01CC 0AC8 5112", "MEG JACK DIET GAD FORK GARY" }
|
||||
};
|
||||
|
||||
static const char *algos[] = {
|
||||
static const char *algos[] =
|
||||
{
|
||||
"MD4",
|
||||
"MD5",
|
||||
"SHA1"
|
||||
|
@ -80,7 +83,8 @@ int main(int argc, char *argv[])
|
|||
g_test_init (&argc, &argv, NULL);
|
||||
g_test_bug_base ("http://bugzilla.mate.org/enter_bug.cgi?product=mate-terminal");
|
||||
|
||||
for (i = 0; i < G_N_ELEMENTS (tests); ++i) {
|
||||
for (i = 0; i < G_N_ELEMENTS (tests); ++i)
|
||||
{
|
||||
const TestEntry *test = &tests[i];
|
||||
char *name;
|
||||
|
||||
|
|
|
@ -132,105 +132,172 @@ typedef struct
|
|||
|
||||
static KeyEntry file_entries[] =
|
||||
{
|
||||
{ N_("New Tab"),
|
||||
KEY_NEW_TAB, ACCEL_PATH_NEW_TAB, GDK_SHIFT_MASK | GDK_CONTROL_MASK, GDK_t, NULL, FALSE, TRUE },
|
||||
{ N_("New Window"),
|
||||
KEY_NEW_WINDOW, ACCEL_PATH_NEW_WINDOW, GDK_SHIFT_MASK | GDK_CONTROL_MASK, GDK_n, NULL, FALSE, TRUE },
|
||||
{ N_("New Profile"),
|
||||
KEY_NEW_PROFILE, ACCEL_PATH_NEW_PROFILE, 0, 0, NULL, FALSE, TRUE },
|
||||
{
|
||||
N_("New Tab"),
|
||||
KEY_NEW_TAB, ACCEL_PATH_NEW_TAB, GDK_SHIFT_MASK | GDK_CONTROL_MASK, GDK_t, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("New Window"),
|
||||
KEY_NEW_WINDOW, ACCEL_PATH_NEW_WINDOW, GDK_SHIFT_MASK | GDK_CONTROL_MASK, GDK_n, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("New Profile"),
|
||||
KEY_NEW_PROFILE, ACCEL_PATH_NEW_PROFILE, 0, 0, NULL, FALSE, TRUE
|
||||
},
|
||||
#ifdef ENABLE_SAVE
|
||||
{ N_("Save Contents"),
|
||||
KEY_SAVE_CONTENTS, ACCEL_PATH_SAVE_CONTENTS, 0, 0, NULL, FALSE, TRUE },
|
||||
{
|
||||
N_("Save Contents"),
|
||||
KEY_SAVE_CONTENTS, ACCEL_PATH_SAVE_CONTENTS, 0, 0, NULL, FALSE, TRUE
|
||||
},
|
||||
#endif
|
||||
{ N_("Close Tab"),
|
||||
KEY_CLOSE_TAB, ACCEL_PATH_CLOSE_TAB, GDK_SHIFT_MASK | GDK_CONTROL_MASK, GDK_w, NULL, FALSE, TRUE },
|
||||
{ N_("Close Window"),
|
||||
KEY_CLOSE_WINDOW, ACCEL_PATH_CLOSE_WINDOW, GDK_SHIFT_MASK | GDK_CONTROL_MASK, GDK_q, NULL, FALSE, TRUE },
|
||||
{
|
||||
N_("Close Tab"),
|
||||
KEY_CLOSE_TAB, ACCEL_PATH_CLOSE_TAB, GDK_SHIFT_MASK | GDK_CONTROL_MASK, GDK_w, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Close Window"),
|
||||
KEY_CLOSE_WINDOW, ACCEL_PATH_CLOSE_WINDOW, GDK_SHIFT_MASK | GDK_CONTROL_MASK, GDK_q, NULL, FALSE, TRUE
|
||||
},
|
||||
};
|
||||
|
||||
static KeyEntry edit_entries[] =
|
||||
{
|
||||
{ N_("Copy"),
|
||||
KEY_COPY, ACCEL_PATH_COPY, GDK_SHIFT_MASK | GDK_CONTROL_MASK, GDK_c, NULL, FALSE, TRUE },
|
||||
{ N_("Paste"),
|
||||
KEY_PASTE, ACCEL_PATH_PASTE, GDK_SHIFT_MASK | GDK_CONTROL_MASK, GDK_v, NULL, FALSE, TRUE },
|
||||
{
|
||||
N_("Copy"),
|
||||
KEY_COPY, ACCEL_PATH_COPY, GDK_SHIFT_MASK | GDK_CONTROL_MASK, GDK_c, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Paste"),
|
||||
KEY_PASTE, ACCEL_PATH_PASTE, GDK_SHIFT_MASK | GDK_CONTROL_MASK, GDK_v, NULL, FALSE, TRUE
|
||||
},
|
||||
};
|
||||
|
||||
static KeyEntry view_entries[] =
|
||||
{
|
||||
{ N_("Hide and Show menubar"),
|
||||
KEY_TOGGLE_MENUBAR, ACCEL_PATH_TOGGLE_MENUBAR, 0, 0, NULL, FALSE, TRUE },
|
||||
{ N_("Full Screen"),
|
||||
KEY_FULL_SCREEN, ACCEL_PATH_FULL_SCREEN, 0, GDK_F11, NULL, FALSE, TRUE },
|
||||
{ N_("Zoom In"),
|
||||
KEY_ZOOM_IN, ACCEL_PATH_ZOOM_IN, GDK_CONTROL_MASK, GDK_plus, NULL, FALSE, TRUE },
|
||||
{ N_("Zoom Out"),
|
||||
KEY_ZOOM_OUT, ACCEL_PATH_ZOOM_OUT, GDK_CONTROL_MASK, GDK_minus, NULL, FALSE, TRUE },
|
||||
{ N_("Normal Size"),
|
||||
KEY_ZOOM_NORMAL, ACCEL_PATH_ZOOM_NORMAL, GDK_CONTROL_MASK, GDK_0, NULL, FALSE, TRUE }
|
||||
{
|
||||
N_("Hide and Show menubar"),
|
||||
KEY_TOGGLE_MENUBAR, ACCEL_PATH_TOGGLE_MENUBAR, 0, 0, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Full Screen"),
|
||||
KEY_FULL_SCREEN, ACCEL_PATH_FULL_SCREEN, 0, GDK_F11, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Zoom In"),
|
||||
KEY_ZOOM_IN, ACCEL_PATH_ZOOM_IN, GDK_CONTROL_MASK, GDK_plus, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Zoom Out"),
|
||||
KEY_ZOOM_OUT, ACCEL_PATH_ZOOM_OUT, GDK_CONTROL_MASK, GDK_minus, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Normal Size"),
|
||||
KEY_ZOOM_NORMAL, ACCEL_PATH_ZOOM_NORMAL, GDK_CONTROL_MASK, GDK_0, NULL, FALSE, TRUE
|
||||
}
|
||||
};
|
||||
|
||||
static KeyEntry terminal_entries[] =
|
||||
{
|
||||
{ N_("Set Title"),
|
||||
KEY_SET_TERMINAL_TITLE, ACCEL_PATH_SET_TERMINAL_TITLE, 0, 0, NULL, FALSE, TRUE },
|
||||
{ N_("Reset"),
|
||||
KEY_RESET, ACCEL_PATH_RESET, 0, 0, NULL, FALSE, TRUE },
|
||||
{ N_("Reset and Clear"),
|
||||
KEY_RESET_AND_CLEAR, ACCEL_PATH_RESET_AND_CLEAR, 0, 0, NULL, FALSE, TRUE },
|
||||
{
|
||||
N_("Set Title"),
|
||||
KEY_SET_TERMINAL_TITLE, ACCEL_PATH_SET_TERMINAL_TITLE, 0, 0, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Reset"),
|
||||
KEY_RESET, ACCEL_PATH_RESET, 0, 0, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Reset and Clear"),
|
||||
KEY_RESET_AND_CLEAR, ACCEL_PATH_RESET_AND_CLEAR, 0, 0, NULL, FALSE, TRUE
|
||||
},
|
||||
};
|
||||
|
||||
static KeyEntry tabs_entries[] =
|
||||
{
|
||||
{ N_("Switch to Previous Tab"),
|
||||
KEY_PREV_TAB, ACCEL_PATH_PREV_TAB, GDK_CONTROL_MASK, GDK_Page_Up, NULL, FALSE, TRUE },
|
||||
{ N_("Switch to Next Tab"),
|
||||
KEY_NEXT_TAB, ACCEL_PATH_NEXT_TAB, GDK_CONTROL_MASK, GDK_Page_Down, NULL, FALSE, TRUE },
|
||||
{ N_("Move Tab to the Left"),
|
||||
KEY_MOVE_TAB_LEFT, ACCEL_PATH_MOVE_TAB_LEFT, GDK_SHIFT_MASK | GDK_CONTROL_MASK, GDK_Page_Up, NULL, FALSE, TRUE },
|
||||
{ N_("Move Tab to the Right"),
|
||||
KEY_MOVE_TAB_RIGHT, ACCEL_PATH_MOVE_TAB_RIGHT, GDK_SHIFT_MASK | GDK_CONTROL_MASK, GDK_Page_Down, NULL, FALSE, TRUE },
|
||||
{ N_("Detach Tab"),
|
||||
KEY_DETACH_TAB, ACCEL_PATH_DETACH_TAB, 0, 0, NULL, FALSE, TRUE },
|
||||
{ N_("Switch to Tab 1"),
|
||||
{
|
||||
N_("Switch to Previous Tab"),
|
||||
KEY_PREV_TAB, ACCEL_PATH_PREV_TAB, GDK_CONTROL_MASK, GDK_Page_Up, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Switch to Next Tab"),
|
||||
KEY_NEXT_TAB, ACCEL_PATH_NEXT_TAB, GDK_CONTROL_MASK, GDK_Page_Down, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Move Tab to the Left"),
|
||||
KEY_MOVE_TAB_LEFT, ACCEL_PATH_MOVE_TAB_LEFT, GDK_SHIFT_MASK | GDK_CONTROL_MASK, GDK_Page_Up, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Move Tab to the Right"),
|
||||
KEY_MOVE_TAB_RIGHT, ACCEL_PATH_MOVE_TAB_RIGHT, GDK_SHIFT_MASK | GDK_CONTROL_MASK, GDK_Page_Down, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Detach Tab"),
|
||||
KEY_DETACH_TAB, ACCEL_PATH_DETACH_TAB, 0, 0, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Switch to Tab 1"),
|
||||
KEY_SWITCH_TAB_PREFIX "1",
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "1", GDK_MOD1_MASK, GDK_1, NULL, FALSE, TRUE },
|
||||
{ N_("Switch to Tab 2"),
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "1", GDK_MOD1_MASK, GDK_1, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Switch to Tab 2"),
|
||||
KEY_SWITCH_TAB_PREFIX "2",
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "2", GDK_MOD1_MASK, GDK_2, NULL, FALSE, TRUE },
|
||||
{ N_("Switch to Tab 3"),
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "2", GDK_MOD1_MASK, GDK_2, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Switch to Tab 3"),
|
||||
KEY_SWITCH_TAB_PREFIX "3",
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "3", GDK_MOD1_MASK, GDK_3, NULL, FALSE, TRUE },
|
||||
{ N_("Switch to Tab 4"),
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "3", GDK_MOD1_MASK, GDK_3, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Switch to Tab 4"),
|
||||
KEY_SWITCH_TAB_PREFIX "4",
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "4", GDK_MOD1_MASK, GDK_4, NULL, FALSE, TRUE },
|
||||
{ N_("Switch to Tab 5"),
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "4", GDK_MOD1_MASK, GDK_4, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Switch to Tab 5"),
|
||||
KEY_SWITCH_TAB_PREFIX "5",
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "5", GDK_MOD1_MASK, GDK_5, NULL, FALSE, TRUE },
|
||||
{ N_("Switch to Tab 6"),
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "5", GDK_MOD1_MASK, GDK_5, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Switch to Tab 6"),
|
||||
KEY_SWITCH_TAB_PREFIX "6",
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "6", GDK_MOD1_MASK, GDK_6, NULL, FALSE, TRUE },
|
||||
{ N_("Switch to Tab 7"),
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "6", GDK_MOD1_MASK, GDK_6, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Switch to Tab 7"),
|
||||
KEY_SWITCH_TAB_PREFIX "7",
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "7", GDK_MOD1_MASK, GDK_7, NULL, FALSE, TRUE },
|
||||
{ N_("Switch to Tab 8"),
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "7", GDK_MOD1_MASK, GDK_7, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Switch to Tab 8"),
|
||||
KEY_SWITCH_TAB_PREFIX "8",
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "8", GDK_MOD1_MASK, GDK_8, NULL, FALSE, TRUE },
|
||||
{ N_("Switch to Tab 9"),
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "8", GDK_MOD1_MASK, GDK_8, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Switch to Tab 9"),
|
||||
KEY_SWITCH_TAB_PREFIX "9",
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "9", GDK_MOD1_MASK, GDK_9, NULL, FALSE, TRUE },
|
||||
{ N_("Switch to Tab 10"),
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "9", GDK_MOD1_MASK, GDK_9, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Switch to Tab 10"),
|
||||
KEY_SWITCH_TAB_PREFIX "10",
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "10", GDK_MOD1_MASK, GDK_0, NULL, FALSE, TRUE },
|
||||
{ N_("Switch to Tab 11"),
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "10", GDK_MOD1_MASK, GDK_0, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Switch to Tab 11"),
|
||||
KEY_SWITCH_TAB_PREFIX "11",
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "11", 0, 0, NULL, FALSE, TRUE },
|
||||
{ N_("Switch to Tab 12"),
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "11", 0, 0, NULL, FALSE, TRUE
|
||||
},
|
||||
{
|
||||
N_("Switch to Tab 12"),
|
||||
KEY_SWITCH_TAB_PREFIX "12",
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "12", 0, 0, NULL, FALSE, TRUE }
|
||||
ACCEL_PATH_SWITCH_TAB_PREFIX "12", 0, 0, NULL, FALSE, TRUE
|
||||
}
|
||||
};
|
||||
|
||||
static KeyEntry help_entries[] = {
|
||||
static KeyEntry help_entries[] =
|
||||
{
|
||||
{ N_("Contents"), KEY_HELP, ACCEL_PATH_HELP, 0, GDK_F1, NULL, FALSE, TRUE }
|
||||
};
|
||||
|
||||
|
@ -739,7 +806,8 @@ accel_edited_callback (GtkCellRendererAccel *cell,
|
|||
if (!path)
|
||||
return;
|
||||
|
||||
if (!gtk_tree_model_get_iter (model, &iter, path)) {
|
||||
if (!gtk_tree_model_get_iter (model, &iter, path))
|
||||
{
|
||||
gtk_tree_path_free (path);
|
||||
return;
|
||||
}
|
||||
|
@ -794,11 +862,14 @@ accel_edited_callback (GtkCellRendererAccel *cell,
|
|||
{
|
||||
GtkAccelKey old_key;
|
||||
|
||||
if (gtk_accel_map_lookup_entry (ke->accel_path, &old_key)) {
|
||||
if (gtk_accel_map_lookup_entry (ke->accel_path, &old_key))
|
||||
{
|
||||
_terminal_debug_print (TERMINAL_DEBUG_ACCELS,
|
||||
" Old entry of path %s is keyval %s mask %x\n",
|
||||
ke->accel_path, gdk_keyval_name (old_key.accel_key), old_key.accel_mods);
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
_terminal_debug_print (TERMINAL_DEBUG_ACCELS,
|
||||
" Failed to look up the old entry of path %s\n",
|
||||
ke->accel_path);
|
||||
|
@ -833,7 +904,8 @@ accel_cleared_callback (GtkCellRendererAccel *cell,
|
|||
if (!path)
|
||||
return;
|
||||
|
||||
if (!gtk_tree_model_get_iter (model, &iter, path)) {
|
||||
if (!gtk_tree_model_get_iter (model, &iter, path))
|
||||
{
|
||||
gtk_tree_path_free (path);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -72,7 +72,8 @@
|
|||
*
|
||||
*/
|
||||
|
||||
struct _TerminalAppClass {
|
||||
struct _TerminalAppClass
|
||||
{
|
||||
GObjectClass parent_class;
|
||||
|
||||
void (* quit) (TerminalApp *app);
|
||||
|
@ -1133,7 +1134,7 @@ new_profile_response_cb (GtkWidget *new_profile_dialog,
|
|||
|
||||
terminal_profile_edit (new_profile, transient_parent, NULL);
|
||||
|
||||
cleanup:
|
||||
cleanup:
|
||||
g_free (name);
|
||||
}
|
||||
|
||||
|
@ -1463,7 +1464,7 @@ terminal_app_init (TerminalApp *app)
|
|||
terminal_accels_init ();
|
||||
|
||||
#ifdef WITH_SMCLIENT
|
||||
{
|
||||
{
|
||||
EggSMClient *sm_client;
|
||||
#ifdef GDK_WINDOWING_X11
|
||||
char *desktop_file;
|
||||
|
@ -1481,7 +1482,7 @@ terminal_app_init (TerminalApp *app)
|
|||
G_CALLBACK (terminal_app_save_state_cb), app);
|
||||
g_signal_connect (sm_client, "quit",
|
||||
G_CALLBACK (terminal_app_client_quit_cb), app);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -1667,7 +1668,8 @@ terminal_app_class_init (TerminalAppClass *klass)
|
|||
TerminalApp*
|
||||
terminal_app_get (void)
|
||||
{
|
||||
if (global_app == NULL) {
|
||||
if (global_app == NULL)
|
||||
{
|
||||
g_object_new (TERMINAL_TYPE_APP, NULL);
|
||||
g_assert (global_app != NULL);
|
||||
}
|
||||
|
@ -1738,7 +1740,7 @@ terminal_app_handle_options (TerminalApp *app,
|
|||
}
|
||||
|
||||
#ifdef WITH_SMCLIENT
|
||||
{
|
||||
{
|
||||
EggSMClient *sm_client;
|
||||
|
||||
sm_client = egg_sm_client_get ();
|
||||
|
@ -1752,7 +1754,7 @@ terminal_app_handle_options (TerminalApp *app,
|
|||
!terminal_options_merge_config (options, key_file, SOURCE_SESSION, error))
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Make sure we open at least one window */
|
||||
|
|
|
@ -28,7 +28,8 @@ void
|
|||
_terminal_debug_init(void)
|
||||
{
|
||||
#ifdef MATE_ENABLE_DEBUG
|
||||
const GDebugKey keys[] = {
|
||||
const GDebugKey keys[] =
|
||||
{
|
||||
{ "accels", TERMINAL_DEBUG_ACCELS },
|
||||
{ "encodings", TERMINAL_DEBUG_ENCODINGS },
|
||||
{ "factory", TERMINAL_DEBUG_FACTORY },
|
||||
|
|
|
@ -25,7 +25,8 @@
|
|||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef enum {
|
||||
typedef enum
|
||||
{
|
||||
TERMINAL_DEBUG_ACCELS = 1 << 0,
|
||||
TERMINAL_DEBUG_ENCODINGS = 1 << 1,
|
||||
TERMINAL_DEBUG_FACTORY = 1 << 2,
|
||||
|
@ -60,7 +61,8 @@ _terminal_debug_on (TerminalDebugFlags flags)
|
|||
#include <glib/gstdio.h>
|
||||
static void _terminal_debug_print (guint flags, const char *fmt, ...)
|
||||
{
|
||||
if (_terminal_debug_on (flags)) {
|
||||
if (_terminal_debug_on (flags))
|
||||
{
|
||||
va_list ap;
|
||||
va_start (ap, fmt);
|
||||
g_vfprintf (stderr, fmt, ap);
|
||||
|
|
|
@ -44,10 +44,12 @@
|
|||
* labeled "user defined" but still appears in the menu.
|
||||
*/
|
||||
|
||||
static const struct {
|
||||
static const struct
|
||||
{
|
||||
const char *charset;
|
||||
const char *name;
|
||||
} encodings[] = {
|
||||
} encodings[] =
|
||||
{
|
||||
{ "ISO-8859-1", N_("Western") },
|
||||
{ "ISO-8859-2", N_("Central European") },
|
||||
{ "ISO-8859-3", N_("South European") },
|
||||
|
@ -128,7 +130,8 @@ static const struct {
|
|||
#endif
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
typedef struct
|
||||
{
|
||||
GtkWidget *dialog;
|
||||
GtkListStore *base_store;
|
||||
GtkTreeView *available_tree_view;
|
||||
|
@ -271,7 +274,8 @@ terminal_encoding_get_type (void)
|
|||
{
|
||||
static GType type = 0;
|
||||
|
||||
if (G_UNLIKELY (type == 0)) {
|
||||
if (G_UNLIKELY (type == 0))
|
||||
{
|
||||
type = g_boxed_type_register_static (I_("TerminalEncoding"),
|
||||
(GBoxedCopyFunc) terminal_encoding_ref,
|
||||
(GBoxedFreeFunc) terminal_encoding_unref);
|
||||
|
|
|
@ -75,7 +75,8 @@ terminal_info_bar_new (GtkMessageType type,
|
|||
NULL);
|
||||
|
||||
va_start (args, first_button_text);
|
||||
while (first_button_text != NULL) {
|
||||
while (first_button_text != NULL)
|
||||
{
|
||||
int response_id;
|
||||
|
||||
response_id = va_arg (args, int);
|
||||
|
|
|
@ -862,7 +862,7 @@ terminal_options_merge_config (TerminalOptions *options,
|
|||
|
||||
iw->tabs = g_list_append (iw->tabs, it);
|
||||
|
||||
/* it->width = g_key_file_get_integer (key_file, tab_group, TERMINAL_CONFIG_TERMINAL_PROP_WIDTH, NULL);
|
||||
/* it->width = g_key_file_get_integer (key_file, tab_group, TERMINAL_CONFIG_TERMINAL_PROP_WIDTH, NULL);
|
||||
it->height = g_key_file_get_integer (key_file, tab_group, TERMINAL_CONFIG_TERMINAL_PROP_HEIGHT, NULL);*/
|
||||
it->working_dir = terminal_util_key_file_get_string_unescape (key_file, tab_group, TERMINAL_CONFIG_TERMINAL_PROP_WORKING_DIRECTORY, NULL);
|
||||
it->title = g_key_file_get_string (key_file, tab_group, TERMINAL_CONFIG_TERMINAL_PROP_TITLE, NULL);
|
||||
|
@ -937,7 +937,8 @@ terminal_options_free (TerminalOptions *options)
|
|||
static GOptionContext *
|
||||
get_goption_context (TerminalOptions *options)
|
||||
{
|
||||
const GOptionEntry global_unique_goptions[] = {
|
||||
const GOptionEntry global_unique_goptions[] =
|
||||
{
|
||||
{
|
||||
"disable-factory",
|
||||
0,
|
||||
|
@ -969,7 +970,8 @@ get_goption_context (TerminalOptions *options)
|
|||
{ NULL, 0, 0, 0, NULL, NULL, NULL }
|
||||
};
|
||||
|
||||
const GOptionEntry global_multiple_goptions[] = {
|
||||
const GOptionEntry global_multiple_goptions[] =
|
||||
{
|
||||
{
|
||||
"window",
|
||||
0,
|
||||
|
@ -991,7 +993,8 @@ get_goption_context (TerminalOptions *options)
|
|||
{ NULL, 0, 0, 0, NULL, NULL, NULL }
|
||||
};
|
||||
|
||||
const GOptionEntry window_goptions[] = {
|
||||
const GOptionEntry window_goptions[] =
|
||||
{
|
||||
{
|
||||
"show-menubar",
|
||||
0,
|
||||
|
@ -1058,7 +1061,8 @@ get_goption_context (TerminalOptions *options)
|
|||
{ NULL, 0, 0, 0, NULL, NULL, NULL }
|
||||
};
|
||||
|
||||
const GOptionEntry terminal_goptions[] = {
|
||||
const GOptionEntry terminal_goptions[] =
|
||||
{
|
||||
{
|
||||
"command",
|
||||
'e',
|
||||
|
@ -1107,7 +1111,8 @@ get_goption_context (TerminalOptions *options)
|
|||
{ NULL, 0, 0, 0, NULL, NULL, NULL }
|
||||
};
|
||||
|
||||
const GOptionEntry internal_goptions[] = {
|
||||
const GOptionEntry internal_goptions[] =
|
||||
{
|
||||
{
|
||||
"profile-id",
|
||||
0,
|
||||
|
|
|
@ -86,7 +86,8 @@ typedef struct
|
|||
|
||||
#define TERMINAL_OPTION_ERROR (g_quark_from_static_string ("terminal-option-error"))
|
||||
|
||||
typedef enum {
|
||||
typedef enum
|
||||
{
|
||||
TERMINAL_OPTION_ERROR_NOT_IN_FACTORY,
|
||||
TERMINAL_OPTION_ERROR_EXCLUSIVE_OPTIONS,
|
||||
TERMINAL_OPTION_ERROR_INVALID_CONFIG_FILE,
|
||||
|
|
|
@ -189,7 +189,8 @@ struct _TerminalProfilePrivate
|
|||
/* We have to continue to use these since they're unfortunately different
|
||||
* from the value nicks of the vte_terminal_erase_binding_get_type() enum type.
|
||||
*/
|
||||
static const MateConfEnumStringPair erase_bindings[] = {
|
||||
static const MateConfEnumStringPair erase_bindings[] =
|
||||
{
|
||||
{ VTE_ERASE_AUTO, "auto" },
|
||||
{ VTE_ERASE_ASCII_BACKSPACE, "control-h" },
|
||||
{ VTE_ERASE_ASCII_DELETE, "ascii-del" },
|
||||
|
@ -1110,7 +1111,8 @@ terminal_profile_set_property (GObject *object,
|
|||
switch (prop_id)
|
||||
{
|
||||
#if 0
|
||||
case PROP_FONT: {
|
||||
case PROP_FONT:
|
||||
{
|
||||
PangoFontDescription *font_desc, *new_font_desc;
|
||||
|
||||
font_desc = g_value_get_boxed (prop_value);
|
||||
|
@ -1135,7 +1137,8 @@ terminal_profile_set_property (GObject *object,
|
|||
/* Postprocessing */
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_NAME: {
|
||||
case PROP_NAME:
|
||||
{
|
||||
const char *name = g_value_get_string (value);
|
||||
|
||||
g_assert (name != NULL);
|
||||
|
@ -1263,7 +1266,7 @@ terminal_profile_class_init (TerminalProfileClass *klass)
|
|||
G_PARAM_READWRITE | TERMINAL_PROFILE_PSPEC_STATIC),\
|
||||
propMateConf)
|
||||
|
||||
/* these are all read-only */
|
||||
/* these are all read-only */
|
||||
#define TERMINAL_PROFILE_PROPERTY_OBJECT(prop, propType, propMateConf)\
|
||||
TERMINAL_PROFILE_PROPERTY (PROP_##prop,\
|
||||
g_param_spec_object (TERMINAL_PROFILE_##prop, NULL, NULL,\
|
||||
|
|
|
@ -65,7 +65,8 @@ terminal_screen_container_set_placement_internal (TerminalScreenContainer *conta
|
|||
#ifdef USE_SCROLLED_WINDOW
|
||||
gtk_scrolled_window_set_placement (GTK_SCROLLED_WINDOW (priv->scrolled_window), corner);
|
||||
#else
|
||||
switch (corner) {
|
||||
switch (corner)
|
||||
{
|
||||
case GTK_CORNER_TOP_LEFT:
|
||||
case GTK_CORNER_BOTTOM_LEFT:
|
||||
gtk_box_reorder_child (GTK_BOX (priv->hbox), priv->vscrollbar, 1);
|
||||
|
@ -185,7 +186,8 @@ terminal_screen_container_get_property (GObject *object,
|
|||
TerminalScreenContainer *container = TERMINAL_SCREEN_CONTAINER (object);
|
||||
TerminalScreenContainerPrivate *priv = container->priv;
|
||||
|
||||
switch (prop_id) {
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_SCREEN:
|
||||
break;
|
||||
case PROP_HSCROLLBAR_POLICY:
|
||||
|
@ -215,7 +217,8 @@ terminal_screen_container_set_property (GObject *object,
|
|||
TerminalScreenContainer *container = TERMINAL_SCREEN_CONTAINER (object);
|
||||
TerminalScreenContainerPrivate *priv = container->priv;
|
||||
|
||||
switch (prop_id) {
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_SCREEN:
|
||||
priv->screen = g_value_get_object (value);
|
||||
break;
|
||||
|
@ -363,11 +366,13 @@ terminal_screen_container_set_policy (TerminalScreenContainer *container,
|
|||
|
||||
g_object_freeze_notify (object);
|
||||
|
||||
if (priv->hscrollbar_policy != hpolicy) {
|
||||
if (priv->hscrollbar_policy != hpolicy)
|
||||
{
|
||||
priv->hscrollbar_policy = hpolicy;
|
||||
g_object_notify (object, "hscrollbar-policy");
|
||||
}
|
||||
if (priv->vscrollbar_policy != vpolicy) {
|
||||
if (priv->vscrollbar_policy != vpolicy)
|
||||
{
|
||||
priv->vscrollbar_policy = vpolicy;
|
||||
g_object_notify (object, "vscrollbar-policy");
|
||||
}
|
||||
|
@ -375,7 +380,8 @@ terminal_screen_container_set_policy (TerminalScreenContainer *container,
|
|||
#ifdef USE_SCROLLED_WINDOW
|
||||
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), hpolicy, vpolicy);
|
||||
#else
|
||||
switch (vpolicy) {
|
||||
switch (vpolicy)
|
||||
{
|
||||
case GTK_POLICY_NEVER:
|
||||
gtk_widget_hide (priv->vscrollbar);
|
||||
break;
|
||||
|
|
|
@ -81,7 +81,8 @@ enum
|
|||
LAST_SIGNAL
|
||||
};
|
||||
|
||||
enum {
|
||||
enum
|
||||
{
|
||||
PROP_0,
|
||||
PROP_PROFILE,
|
||||
PROP_ICON_TITLE,
|
||||
|
@ -151,13 +152,15 @@ static guint signals[LAST_SIGNAL];
|
|||
#define USERPASS USERCHARS_CLASS "+(?:" PASSCHARS_CLASS "+)?"
|
||||
#define URLPATH "(?:(/"PATHCHARS_CLASS"+(?:[(]"PATHCHARS_CLASS"*[)])*"PATHCHARS_CLASS"*)*"PATHTERM_CLASS")?"
|
||||
|
||||
typedef struct {
|
||||
typedef struct
|
||||
{
|
||||
const char *pattern;
|
||||
TerminalURLFlavour flavor;
|
||||
GRegexCompileFlags flags;
|
||||
} TerminalRegexPattern;
|
||||
|
||||
static const TerminalRegexPattern url_regex_patterns[] = {
|
||||
static const TerminalRegexPattern url_regex_patterns[] =
|
||||
{
|
||||
{ SCHEME "//(?:" USERPASS "\\@)?" HOST PORT URLPATH, FLAVOR_AS_IS, G_REGEX_CASELESS },
|
||||
{ "(?:www|ftp)" HOSTCHARS_CLASS "*\\." HOST PORT URLPATH , FLAVOR_DEFAULT_TO_HTTP, G_REGEX_CASELESS },
|
||||
{ "(?:callto:|h323:|sip:)" USERCHARS_CLASS "[" USERCHARS ".]*(?:" PORT "/[a-z0-9]+)?\\@" HOST, FLAVOR_VOIP_CALL, G_REGEX_CASELESS },
|
||||
|
@ -170,7 +173,8 @@ static TerminalURLFlavour *url_regex_flavors;
|
|||
static guint n_url_regexes;
|
||||
|
||||
#ifdef ENABLE_SKEY
|
||||
static const TerminalRegexPattern skey_regex_patterns[] = {
|
||||
static const TerminalRegexPattern skey_regex_patterns[] =
|
||||
{
|
||||
{ "s/key [[:digit:]]* [-[:alnum:]]*", FLAVOR_AS_IS },
|
||||
{ "otp-[a-z0-9]* [[:digit:]]* [-[:alnum:]]*", FLAVOR_AS_IS },
|
||||
};
|
||||
|
@ -186,7 +190,8 @@ G_DEFINE_TYPE (TerminalScreen, terminal_screen, VTE_TYPE_TERMINAL)
|
|||
static char *
|
||||
cwd_of_pid (int pid)
|
||||
{
|
||||
static const char patterns[][18] = {
|
||||
static const char patterns[][18] =
|
||||
{
|
||||
"/proc/%d/cwd", /* Linux */
|
||||
"/proc/%d/path/cwd", /* Solaris >= 10 */
|
||||
};
|
||||
|
@ -346,7 +351,8 @@ size_allocate (GtkWidget *widget,
|
|||
static void
|
||||
terminal_screen_init (TerminalScreen *screen)
|
||||
{
|
||||
const GtkTargetEntry target_table[] = {
|
||||
const GtkTargetEntry target_table[] =
|
||||
{
|
||||
{ "GTK_NOTEBOOK_TAB", GTK_TARGET_SAME_APP, TARGET_TAB },
|
||||
{ "application/x-color", 0, TARGET_COLOR },
|
||||
{ "property/bgimage", 0, TARGET_BGIMAGE },
|
||||
|
@ -466,7 +472,8 @@ terminal_screen_set_property (GObject *object,
|
|||
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_PROFILE: {
|
||||
case PROP_PROFILE:
|
||||
{
|
||||
TerminalProfile *profile;
|
||||
|
||||
profile = g_value_get_object (value);
|
||||
|
@ -708,7 +715,8 @@ terminal_screen_new (TerminalProfile *profile,
|
|||
|
||||
terminal_screen_set_profile (screen, profile);
|
||||
|
||||
if (terminal_profile_get_property_boolean (profile, TERMINAL_PROFILE_USE_CUSTOM_DEFAULT_SIZE)) {
|
||||
if (terminal_profile_get_property_boolean (profile, TERMINAL_PROFILE_USE_CUSTOM_DEFAULT_SIZE))
|
||||
{
|
||||
vte_terminal_set_size (VTE_TERMINAL (screen),
|
||||
terminal_profile_get_property_int (profile, TERMINAL_PROFILE_DEFAULT_SIZE_COLUMNS),
|
||||
terminal_profile_get_property_int (profile, TERMINAL_PROFILE_DEFAULT_SIZE_ROWS));
|
||||
|
@ -791,7 +799,8 @@ static const char *
|
|||
terminal_screen_get_title_format (TerminalScreen *screen)
|
||||
{
|
||||
TerminalScreenPrivate *priv = screen->priv;
|
||||
static const char *formats[] = {
|
||||
static const char *formats[] =
|
||||
{
|
||||
"%A" /* TERMINAL_TITLE_REPLACE */,
|
||||
"%D%-%S" /* TERMINAL_TITLE_BEFORE */,
|
||||
"%S%-%D" /* TERMINAL_TITLE_AFTER */,
|
||||
|
@ -1405,7 +1414,8 @@ get_child_environment (TerminalScreen *screen,
|
|||
return (char **) g_ptr_array_free (retval, FALSE);
|
||||
}
|
||||
|
||||
enum {
|
||||
enum
|
||||
{
|
||||
RESPONSE_RELAUNCH,
|
||||
RESPONSE_EDIT_PROFILE
|
||||
};
|
||||
|
@ -1417,7 +1427,8 @@ info_bar_response_cb (GtkWidget *info_bar,
|
|||
{
|
||||
gtk_widget_grab_focus (GTK_WIDGET (screen));
|
||||
|
||||
switch (response) {
|
||||
switch (response)
|
||||
{
|
||||
case GTK_RESPONSE_CANCEL:
|
||||
gtk_widget_destroy (info_bar);
|
||||
g_signal_emit (screen, signals[CLOSE_SCREEN], 0);
|
||||
|
@ -1481,7 +1492,8 @@ terminal_screen_launch_child_cb (TerminalScreen *screen)
|
|||
spawn_flags,
|
||||
NULL, NULL,
|
||||
&pid,
|
||||
&err)) {
|
||||
&err))
|
||||
{
|
||||
GtkWidget *info_bar;
|
||||
|
||||
info_bar = terminal_info_bar_new (GTK_MESSAGE_ERROR,
|
||||
|
@ -1753,7 +1765,8 @@ terminal_screen_get_current_dir (TerminalScreen *screen)
|
|||
TerminalScreenPrivate *priv = screen->priv;
|
||||
char *cwd;
|
||||
|
||||
if (priv->pty_fd != -1) {
|
||||
if (priv->pty_fd != -1)
|
||||
{
|
||||
#if 0
|
||||
/* Get the foreground process ID */
|
||||
cwd = cwd_of_pid (tcgetpgrp (priv->pty_fd));
|
||||
|
@ -1866,7 +1879,8 @@ terminal_screen_child_exited (VteTerminal *terminal)
|
|||
case TERMINAL_EXIT_RESTART:
|
||||
terminal_screen_launch_child_on_idle (screen);
|
||||
break;
|
||||
case TERMINAL_EXIT_HOLD: {
|
||||
case TERMINAL_EXIT_HOLD:
|
||||
{
|
||||
GtkWidget *info_bar;
|
||||
int status;
|
||||
|
||||
|
@ -1875,13 +1889,18 @@ terminal_screen_child_exited (VteTerminal *terminal)
|
|||
info_bar = terminal_info_bar_new (GTK_MESSAGE_INFO,
|
||||
_("_Relaunch"), RESPONSE_RELAUNCH,
|
||||
NULL);
|
||||
if (WIFEXITED (status)) {
|
||||
if (WIFEXITED (status))
|
||||
{
|
||||
terminal_info_bar_format_text (TERMINAL_INFO_BAR (info_bar),
|
||||
_("The child process exited normally with status %d."), WEXITSTATUS (status));
|
||||
} else if (WIFSIGNALED (status)) {
|
||||
}
|
||||
else if (WIFSIGNALED (status))
|
||||
{
|
||||
terminal_info_bar_format_text (TERMINAL_INFO_BAR (info_bar),
|
||||
_("The child process was terminated by signal %d."), WTERMSIG (status));
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
terminal_info_bar_format_text (TERMINAL_INFO_BAR (info_bar),
|
||||
_("The child process was terminated."));
|
||||
}
|
||||
|
|
|
@ -27,7 +27,8 @@
|
|||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef enum {
|
||||
typedef enum
|
||||
{
|
||||
FLAVOR_AS_IS,
|
||||
FLAVOR_DEFAULT_TO_HTTP,
|
||||
FLAVOR_VOIP_CALL,
|
||||
|
@ -140,7 +141,8 @@ gboolean terminal_screen_has_foreground_process (TerminalScreen *screen);
|
|||
#define TERMINAL_SCALE_MINIMUM (TERMINAL_SCALE_XXXXX_SMALL/1.2)
|
||||
#define TERMINAL_SCALE_MAXIMUM (TERMINAL_SCALE_XXXXX_LARGE*1.2)
|
||||
|
||||
struct _TerminalScreenPopupInfo {
|
||||
struct _TerminalScreenPopupInfo
|
||||
{
|
||||
int ref_count;
|
||||
TerminalWindow *window;
|
||||
TerminalScreen *screen;
|
||||
|
|
|
@ -169,7 +169,8 @@ update_sensitivity (void *unused, GtkWidget *dialog)
|
|||
const gchar *search_string;
|
||||
gboolean valid;
|
||||
|
||||
if (priv->regex) {
|
||||
if (priv->regex)
|
||||
{
|
||||
g_regex_unref (priv->regex);
|
||||
priv->regex = NULL;
|
||||
}
|
||||
|
@ -179,7 +180,8 @@ update_sensitivity (void *unused, GtkWidget *dialog)
|
|||
|
||||
valid = *search_string != '\0';
|
||||
|
||||
if (valid && GET_FLAG (regex_checkbutton)) {
|
||||
if (valid && GET_FLAG (regex_checkbutton))
|
||||
{
|
||||
/* Check that the regex is valid */
|
||||
valid = NULL != terminal_search_dialog_get_regex (dialog);
|
||||
/* TODO show the error message somewhere */
|
||||
|
@ -199,19 +201,22 @@ remove_item (GtkListStore *store,
|
|||
if (!gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter))
|
||||
return FALSE;
|
||||
|
||||
do {
|
||||
do
|
||||
{
|
||||
gchar *item_text;
|
||||
|
||||
gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, 0, &item_text, -1);
|
||||
|
||||
if (item_text != NULL && strcmp (item_text, text) == 0) {
|
||||
if (item_text != NULL && strcmp (item_text, text) == 0)
|
||||
{
|
||||
gtk_list_store_remove (store, &iter);
|
||||
g_free (item_text);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
g_free (item_text);
|
||||
} while (gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter));
|
||||
}
|
||||
while (gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter));
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -265,7 +270,8 @@ response_handler (GtkWidget *dialog,
|
|||
TerminalSearchDialogPrivate *priv;
|
||||
const gchar *str;
|
||||
|
||||
if (response_id != GTK_RESPONSE_ACCEPT) {
|
||||
if (response_id != GTK_RESPONSE_ACCEPT)
|
||||
{
|
||||
gtk_widget_hide (dialog);
|
||||
return;
|
||||
}
|
||||
|
@ -354,14 +360,16 @@ terminal_search_dialog_get_regex (GtkWidget *dialog)
|
|||
else
|
||||
pattern = g_regex_escape_string (text, -1);
|
||||
|
||||
if (GET_FLAG (entire_word_checkbutton)) {
|
||||
if (GET_FLAG (entire_word_checkbutton))
|
||||
{
|
||||
const char *old_pattern = pattern;
|
||||
pattern = g_strdup_printf ("\\b%s\\b", pattern);
|
||||
if (old_pattern != text)
|
||||
g_free ((char *) old_pattern);
|
||||
}
|
||||
|
||||
if (!priv->regex || priv->regex_compile_flags != compile_flags) {
|
||||
if (!priv->regex || priv->regex_compile_flags != compile_flags)
|
||||
{
|
||||
priv->regex_compile_flags = compile_flags;
|
||||
if (priv->regex)
|
||||
g_regex_unref (priv->regex);
|
||||
|
|
|
@ -25,7 +25,8 @@
|
|||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef enum _TerminalSearchFlags {
|
||||
typedef enum _TerminalSearchFlags
|
||||
{
|
||||
TERMINAL_SEARCH_FLAG_BACKWARDS = 1 << 0,
|
||||
TERMINAL_SEARCH_FLAG_WRAP_AROUND = 1 << 1
|
||||
} TerminalSearchFlags;
|
||||
|
@ -41,7 +42,7 @@ void terminal_search_dialog_set_search_text (GtkWidget *dialog,
|
|||
const gchar *terminal_search_dialog_get_search_text (GtkWidget *dialog);
|
||||
|
||||
TerminalSearchFlags
|
||||
terminal_search_dialog_get_search_flags(GtkWidget *dialog);
|
||||
terminal_search_dialog_get_search_flags(GtkWidget *dialog);
|
||||
GRegex *terminal_search_dialog_get_regex (GtkWidget *dialog);
|
||||
|
||||
G_END_DECLS
|
||||
|
|
|
@ -183,7 +183,8 @@ terminal_tab_label_set_property (GObject *object,
|
|||
TerminalTabLabel *tab_label = TERMINAL_TAB_LABEL (object);
|
||||
TerminalTabLabelPrivate *priv = tab_label->priv;
|
||||
|
||||
switch (prop_id) {
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_SCREEN:
|
||||
priv->screen = g_value_get_object (value);
|
||||
break;
|
||||
|
@ -266,7 +267,8 @@ terminal_tab_label_set_bold (TerminalTabLabel *tab_label,
|
|||
priv->bold = bold;
|
||||
|
||||
attr_list = gtk_label_get_attributes (GTK_LABEL (priv->label));
|
||||
if (!attr_list) {
|
||||
if (!attr_list)
|
||||
{
|
||||
attr_list = pango_attr_list_new ();
|
||||
free_list = TRUE;
|
||||
}
|
||||
|
|
|
@ -151,9 +151,11 @@ terminal_util_show_help (const char *topic,
|
|||
guint i;
|
||||
|
||||
const char * const * langs = g_get_language_names ();
|
||||
for (i = 0; langs[i]; i++) {
|
||||
for (i = 0; langs[i]; i++)
|
||||
{
|
||||
lang = langs[i];
|
||||
if (strchr (lang, '.')) {
|
||||
if (strchr (lang, '.'))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -163,7 +165,8 @@ terminal_util_show_help (const char *topic,
|
|||
"mate-terminal.xml",
|
||||
NULL);
|
||||
|
||||
if (g_file_test (uri, G_FILE_TEST_EXISTS)) {
|
||||
if (g_file_test (uri, G_FILE_TEST_EXISTS))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -174,9 +177,12 @@ terminal_util_show_help (const char *topic,
|
|||
if (!uri)
|
||||
return;
|
||||
|
||||
if (topic) {
|
||||
if (topic)
|
||||
{
|
||||
url = g_strdup_printf ("ghelp://%s?%s", uri, topic);
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
url = g_strdup_printf ("ghelp://%s", uri);
|
||||
}
|
||||
|
||||
|
@ -362,7 +368,8 @@ terminal_util_concat_uris (char **uris,
|
|||
char *
|
||||
terminal_util_get_licence_text (void)
|
||||
{
|
||||
const gchar *license[] = {
|
||||
const gchar *license[] =
|
||||
{
|
||||
N_("MATE Terminal is free software; you can redistribute it and/or modify "
|
||||
"it under the terms of the GNU General Public License as published by "
|
||||
"the Free Software Foundation; either version 3 of the License, or "
|
||||
|
@ -391,7 +398,8 @@ terminal_util_load_builder_file (const char *filename,
|
|||
|
||||
path = g_build_filename (TERM_PKGDATADIR, filename, NULL);
|
||||
builder = gtk_builder_new ();
|
||||
if (!gtk_builder_add_from_file (builder, path, &error)) {
|
||||
if (!gtk_builder_add_from_file (builder, path, &error))
|
||||
{
|
||||
g_warning ("Failed to load %s: %s\n", filename, error->message);
|
||||
g_error_free (error);
|
||||
g_free (path);
|
||||
|
@ -402,12 +410,14 @@ terminal_util_load_builder_file (const char *filename,
|
|||
|
||||
va_start (args, object_name);
|
||||
|
||||
while (object_name) {
|
||||
while (object_name)
|
||||
{
|
||||
GObject **objectptr;
|
||||
|
||||
objectptr = va_arg (args, GObject**);
|
||||
*objectptr = gtk_builder_get_object (builder, object_name);
|
||||
if (!*objectptr) {
|
||||
if (!*objectptr)
|
||||
{
|
||||
g_warning ("Failed to fetch object \"%s\"\n", object_name);
|
||||
break;
|
||||
}
|
||||
|
@ -748,7 +758,8 @@ terminal_util_add_proxy_env (GHashTable *env_table)
|
|||
|
||||
/* Bidirectional object/widget binding */
|
||||
|
||||
typedef struct {
|
||||
typedef struct
|
||||
{
|
||||
GObject *object;
|
||||
const char *object_prop;
|
||||
GtkWidget *widget;
|
||||
|
|
|
@ -89,7 +89,8 @@ char **terminal_util_key_file_get_argv (GKeyFile *key_file,
|
|||
|
||||
void terminal_util_add_proxy_env (GHashTable *env_table);
|
||||
|
||||
typedef enum {
|
||||
typedef enum
|
||||
{
|
||||
FLAG_INVERT_BOOL = 1 << 0,
|
||||
} PropertyChangeFlags;
|
||||
|
||||
|
|
|
@ -899,10 +899,12 @@ terminal_size_to_cb (GtkAction *action,
|
|||
static void
|
||||
terminal_window_update_size_to_menu (TerminalWindow *window)
|
||||
{
|
||||
static const struct {
|
||||
static const struct
|
||||
{
|
||||
guint grid_width;
|
||||
guint grid_height;
|
||||
} predefined_sizes[] = {
|
||||
} predefined_sizes[] =
|
||||
{
|
||||
{ 80, 24 },
|
||||
{ 80, 43 },
|
||||
{ 132, 24 },
|
||||
|
@ -1801,182 +1803,280 @@ terminal_window_init (TerminalWindow *window)
|
|||
{ "NotebookPopup", NULL, "" },
|
||||
|
||||
/* File menu */
|
||||
{ "FileNewWindow", STOCK_NEW_WINDOW, N_("Open _Terminal"), "<shift><control>N",
|
||||
{
|
||||
"FileNewWindow", STOCK_NEW_WINDOW, N_("Open _Terminal"), "<shift><control>N",
|
||||
NULL,
|
||||
G_CALLBACK (file_new_window_callback) },
|
||||
{ "FileNewTab", STOCK_NEW_TAB, N_("Open Ta_b"), "<shift><control>T",
|
||||
G_CALLBACK (file_new_window_callback)
|
||||
},
|
||||
{
|
||||
"FileNewTab", STOCK_NEW_TAB, N_("Open Ta_b"), "<shift><control>T",
|
||||
NULL,
|
||||
G_CALLBACK (file_new_tab_callback) },
|
||||
{ "FileNewProfile", GTK_STOCK_OPEN, N_("New _Profile…"), "",
|
||||
G_CALLBACK (file_new_tab_callback)
|
||||
},
|
||||
{
|
||||
"FileNewProfile", GTK_STOCK_OPEN, N_("New _Profile…"), "",
|
||||
NULL,
|
||||
G_CALLBACK (file_new_profile_callback) },
|
||||
{ "FileSaveContents", GTK_STOCK_SAVE, N_("_Save Contents"), "",
|
||||
G_CALLBACK (file_new_profile_callback)
|
||||
},
|
||||
{
|
||||
"FileSaveContents", GTK_STOCK_SAVE, N_("_Save Contents"), "",
|
||||
NULL,
|
||||
G_CALLBACK (file_save_contents_callback) },
|
||||
{ "FileCloseTab", GTK_STOCK_CLOSE, N_("C_lose Tab"), "<shift><control>W",
|
||||
G_CALLBACK (file_save_contents_callback)
|
||||
},
|
||||
{
|
||||
"FileCloseTab", GTK_STOCK_CLOSE, N_("C_lose Tab"), "<shift><control>W",
|
||||
NULL,
|
||||
G_CALLBACK (file_close_tab_callback) },
|
||||
{ "FileCloseWindow", GTK_STOCK_CLOSE, N_("_Close Window"), "<shift><control>Q",
|
||||
G_CALLBACK (file_close_tab_callback)
|
||||
},
|
||||
{
|
||||
"FileCloseWindow", GTK_STOCK_CLOSE, N_("_Close Window"), "<shift><control>Q",
|
||||
NULL,
|
||||
G_CALLBACK (file_close_window_callback) },
|
||||
G_CALLBACK (file_close_window_callback)
|
||||
},
|
||||
|
||||
/* Edit menu */
|
||||
{ "EditCopy", GTK_STOCK_COPY, NULL, "<shift><control>C",
|
||||
{
|
||||
"EditCopy", GTK_STOCK_COPY, NULL, "<shift><control>C",
|
||||
NULL,
|
||||
G_CALLBACK (edit_copy_callback) },
|
||||
{ "EditPaste", GTK_STOCK_PASTE, NULL, "<shift><control>V",
|
||||
G_CALLBACK (edit_copy_callback)
|
||||
},
|
||||
{
|
||||
"EditPaste", GTK_STOCK_PASTE, NULL, "<shift><control>V",
|
||||
NULL,
|
||||
G_CALLBACK (edit_paste_callback) },
|
||||
{ "EditPasteURIPaths", GTK_STOCK_PASTE, N_("Paste _Filenames"), "",
|
||||
G_CALLBACK (edit_paste_callback)
|
||||
},
|
||||
{
|
||||
"EditPasteURIPaths", GTK_STOCK_PASTE, N_("Paste _Filenames"), "",
|
||||
NULL,
|
||||
G_CALLBACK (edit_paste_callback) },
|
||||
{ "EditSelectAll", GTK_STOCK_SELECT_ALL, NULL, NULL,
|
||||
G_CALLBACK (edit_paste_callback)
|
||||
},
|
||||
{
|
||||
"EditSelectAll", GTK_STOCK_SELECT_ALL, NULL, NULL,
|
||||
NULL,
|
||||
G_CALLBACK (edit_select_all_callback) },
|
||||
{ "EditProfiles", NULL, N_("P_rofiles…"), NULL,
|
||||
G_CALLBACK (edit_select_all_callback)
|
||||
},
|
||||
{
|
||||
"EditProfiles", NULL, N_("P_rofiles…"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (edit_profiles_callback) },
|
||||
{ "EditKeybindings", NULL, N_("_Keyboard Shortcuts…"), NULL,
|
||||
G_CALLBACK (edit_profiles_callback)
|
||||
},
|
||||
{
|
||||
"EditKeybindings", NULL, N_("_Keyboard Shortcuts…"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (edit_keybindings_callback) },
|
||||
{ "EditCurrentProfile", NULL, N_("Pr_ofile Preferences"), NULL,
|
||||
G_CALLBACK (edit_keybindings_callback)
|
||||
},
|
||||
{
|
||||
"EditCurrentProfile", NULL, N_("Pr_ofile Preferences"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (edit_current_profile_callback) },
|
||||
G_CALLBACK (edit_current_profile_callback)
|
||||
},
|
||||
|
||||
/* View menu */
|
||||
{ "ViewZoomIn", GTK_STOCK_ZOOM_IN, NULL, "<control>plus",
|
||||
{
|
||||
"ViewZoomIn", GTK_STOCK_ZOOM_IN, NULL, "<control>plus",
|
||||
NULL,
|
||||
G_CALLBACK (view_zoom_in_callback) },
|
||||
{ "ViewZoomOut", GTK_STOCK_ZOOM_OUT, NULL, "<control>minus",
|
||||
G_CALLBACK (view_zoom_in_callback)
|
||||
},
|
||||
{
|
||||
"ViewZoomOut", GTK_STOCK_ZOOM_OUT, NULL, "<control>minus",
|
||||
NULL,
|
||||
G_CALLBACK (view_zoom_out_callback) },
|
||||
{ "ViewZoom100", GTK_STOCK_ZOOM_100, NULL, "<control>0",
|
||||
G_CALLBACK (view_zoom_out_callback)
|
||||
},
|
||||
{
|
||||
"ViewZoom100", GTK_STOCK_ZOOM_100, NULL, "<control>0",
|
||||
NULL,
|
||||
G_CALLBACK (view_zoom_normal_callback) },
|
||||
G_CALLBACK (view_zoom_normal_callback)
|
||||
},
|
||||
|
||||
/* Search menu */
|
||||
{ "SearchFind", GTK_STOCK_FIND, N_("_Find..."), "<shift><control>F",
|
||||
{
|
||||
"SearchFind", GTK_STOCK_FIND, N_("_Find..."), "<shift><control>F",
|
||||
NULL,
|
||||
G_CALLBACK (search_find_callback) },
|
||||
{ "SearchFindNext", NULL, N_("Find Ne_xt"), "<shift><control>H",
|
||||
G_CALLBACK (search_find_callback)
|
||||
},
|
||||
{
|
||||
"SearchFindNext", NULL, N_("Find Ne_xt"), "<shift><control>H",
|
||||
NULL,
|
||||
G_CALLBACK (search_find_next_callback) },
|
||||
{ "SearchFindPrevious", NULL, N_("Find Pre_vious"), "<shift><control>G",
|
||||
G_CALLBACK (search_find_next_callback)
|
||||
},
|
||||
{
|
||||
"SearchFindPrevious", NULL, N_("Find Pre_vious"), "<shift><control>G",
|
||||
NULL,
|
||||
G_CALLBACK (search_find_prev_callback) },
|
||||
{ "SearchClearHighlight", NULL, N_("_Clear Highlight"), "<shift><control>J",
|
||||
G_CALLBACK (search_find_prev_callback)
|
||||
},
|
||||
{
|
||||
"SearchClearHighlight", NULL, N_("_Clear Highlight"), "<shift><control>J",
|
||||
NULL,
|
||||
G_CALLBACK (search_clear_highlight_callback) },
|
||||
G_CALLBACK (search_clear_highlight_callback)
|
||||
},
|
||||
#if 0
|
||||
{ "SearchGoToLine", GTK_STOCK_JUMP_TO, N_("Go to _Line..."), "<shift><control>I",
|
||||
{
|
||||
"SearchGoToLine", GTK_STOCK_JUMP_TO, N_("Go to _Line..."), "<shift><control>I",
|
||||
NULL,
|
||||
G_CALLBACK (search_goto_line_callback) },
|
||||
{ "SearchIncrementalSearch", GTK_STOCK_FIND, N_("_Incremental Search..."), "<shift><control>K",
|
||||
G_CALLBACK (search_goto_line_callback)
|
||||
},
|
||||
{
|
||||
"SearchIncrementalSearch", GTK_STOCK_FIND, N_("_Incremental Search..."), "<shift><control>K",
|
||||
NULL,
|
||||
G_CALLBACK (search_incremental_search_callback) },
|
||||
G_CALLBACK (search_incremental_search_callback)
|
||||
},
|
||||
#endif
|
||||
|
||||
/* Terminal menu */
|
||||
{ "TerminalProfiles", NULL, N_("Change _Profile") },
|
||||
{ "TerminalSetTitle", NULL, N_("_Set Title…"), NULL,
|
||||
{
|
||||
"TerminalSetTitle", NULL, N_("_Set Title…"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (terminal_set_title_callback) },
|
||||
G_CALLBACK (terminal_set_title_callback)
|
||||
},
|
||||
{ "TerminalSetEncoding", NULL, N_("Set _Character Encoding") },
|
||||
{ "TerminalReset", NULL, N_("_Reset"), NULL,
|
||||
{
|
||||
"TerminalReset", NULL, N_("_Reset"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (terminal_reset_callback) },
|
||||
{ "TerminalResetClear", NULL, N_("Reset and C_lear"), NULL,
|
||||
G_CALLBACK (terminal_reset_callback)
|
||||
},
|
||||
{
|
||||
"TerminalResetClear", NULL, N_("Reset and C_lear"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (terminal_reset_clear_callback) },
|
||||
G_CALLBACK (terminal_reset_clear_callback)
|
||||
},
|
||||
|
||||
/* Terminal/Encodings menu */
|
||||
{ "TerminalAddEncoding", NULL, N_("_Add or Remove…"), NULL,
|
||||
{
|
||||
"TerminalAddEncoding", NULL, N_("_Add or Remove…"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (terminal_add_encoding_callback) },
|
||||
G_CALLBACK (terminal_add_encoding_callback)
|
||||
},
|
||||
|
||||
/* Tabs menu */
|
||||
{ "TabsPrevious", NULL, N_("_Previous Tab"), "<control>Page_Up",
|
||||
{
|
||||
"TabsPrevious", NULL, N_("_Previous Tab"), "<control>Page_Up",
|
||||
NULL,
|
||||
G_CALLBACK (tabs_next_or_previous_tab_cb) },
|
||||
{ "TabsNext", NULL, N_("_Next Tab"), "<control>Page_Down",
|
||||
G_CALLBACK (tabs_next_or_previous_tab_cb)
|
||||
},
|
||||
{
|
||||
"TabsNext", NULL, N_("_Next Tab"), "<control>Page_Down",
|
||||
NULL,
|
||||
G_CALLBACK (tabs_next_or_previous_tab_cb) },
|
||||
{ "TabsMoveLeft", NULL, N_("Move Tab _Left"), "<shift><control>Page_Up",
|
||||
G_CALLBACK (tabs_next_or_previous_tab_cb)
|
||||
},
|
||||
{
|
||||
"TabsMoveLeft", NULL, N_("Move Tab _Left"), "<shift><control>Page_Up",
|
||||
NULL,
|
||||
G_CALLBACK (tabs_move_left_callback) },
|
||||
{ "TabsMoveRight", NULL, N_("Move Tab _Right"), "<shift><control>Page_Down",
|
||||
G_CALLBACK (tabs_move_left_callback)
|
||||
},
|
||||
{
|
||||
"TabsMoveRight", NULL, N_("Move Tab _Right"), "<shift><control>Page_Down",
|
||||
NULL,
|
||||
G_CALLBACK (tabs_move_right_callback) },
|
||||
{ "TabsDetach", NULL, N_("_Detach tab"), NULL,
|
||||
G_CALLBACK (tabs_move_right_callback)
|
||||
},
|
||||
{
|
||||
"TabsDetach", NULL, N_("_Detach tab"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (tabs_detach_tab_callback) },
|
||||
G_CALLBACK (tabs_detach_tab_callback)
|
||||
},
|
||||
|
||||
/* Help menu */
|
||||
{ "HelpContents", GTK_STOCK_HELP, N_("_Contents"), "F1",
|
||||
{
|
||||
"HelpContents", GTK_STOCK_HELP, N_("_Contents"), "F1",
|
||||
NULL,
|
||||
G_CALLBACK (help_contents_callback) },
|
||||
{ "HelpAbout", GTK_STOCK_ABOUT, N_("_About"), NULL,
|
||||
G_CALLBACK (help_contents_callback)
|
||||
},
|
||||
{
|
||||
"HelpAbout", GTK_STOCK_ABOUT, N_("_About"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (help_about_callback) },
|
||||
G_CALLBACK (help_about_callback)
|
||||
},
|
||||
|
||||
/* Popup menu */
|
||||
{ "PopupSendEmail", NULL, N_("_Send Mail To…"), NULL,
|
||||
{
|
||||
"PopupSendEmail", NULL, N_("_Send Mail To…"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (popup_open_url_callback) },
|
||||
{ "PopupCopyEmailAddress", NULL, N_("_Copy E-mail Address"), NULL,
|
||||
G_CALLBACK (popup_open_url_callback)
|
||||
},
|
||||
{
|
||||
"PopupCopyEmailAddress", NULL, N_("_Copy E-mail Address"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (popup_copy_url_callback) },
|
||||
{ "PopupCall", NULL, N_("C_all To…"), NULL,
|
||||
G_CALLBACK (popup_copy_url_callback)
|
||||
},
|
||||
{
|
||||
"PopupCall", NULL, N_("C_all To…"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (popup_open_url_callback) },
|
||||
{ "PopupCopyCallAddress", NULL, N_("_Copy Call Address"), NULL,
|
||||
G_CALLBACK (popup_open_url_callback)
|
||||
},
|
||||
{
|
||||
"PopupCopyCallAddress", NULL, N_("_Copy Call Address"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (popup_copy_url_callback) },
|
||||
{ "PopupOpenLink", NULL, N_("_Open Link"), NULL,
|
||||
G_CALLBACK (popup_copy_url_callback)
|
||||
},
|
||||
{
|
||||
"PopupOpenLink", NULL, N_("_Open Link"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (popup_open_url_callback) },
|
||||
{ "PopupCopyLinkAddress", NULL, N_("_Copy Link Address"), NULL,
|
||||
G_CALLBACK (popup_open_url_callback)
|
||||
},
|
||||
{
|
||||
"PopupCopyLinkAddress", NULL, N_("_Copy Link Address"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (popup_copy_url_callback) },
|
||||
G_CALLBACK (popup_copy_url_callback)
|
||||
},
|
||||
{ "PopupTerminalProfiles", NULL, N_("P_rofiles") },
|
||||
{ "PopupCopy", GTK_STOCK_COPY, NULL, "",
|
||||
{
|
||||
"PopupCopy", GTK_STOCK_COPY, NULL, "",
|
||||
NULL,
|
||||
G_CALLBACK (edit_copy_callback) },
|
||||
{ "PopupPaste", GTK_STOCK_PASTE, NULL, "",
|
||||
G_CALLBACK (edit_copy_callback)
|
||||
},
|
||||
{
|
||||
"PopupPaste", GTK_STOCK_PASTE, NULL, "",
|
||||
NULL,
|
||||
G_CALLBACK (edit_paste_callback) },
|
||||
{ "PopupPasteURIPaths", GTK_STOCK_PASTE, N_("Paste _Filenames"), "",
|
||||
G_CALLBACK (edit_paste_callback)
|
||||
},
|
||||
{
|
||||
"PopupPasteURIPaths", GTK_STOCK_PASTE, N_("Paste _Filenames"), "",
|
||||
NULL,
|
||||
G_CALLBACK (edit_paste_callback) },
|
||||
{ "PopupNewTerminal", NULL, N_("Open _Terminal"), NULL,
|
||||
G_CALLBACK (edit_paste_callback)
|
||||
},
|
||||
{
|
||||
"PopupNewTerminal", NULL, N_("Open _Terminal"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (file_new_window_callback) },
|
||||
{ "PopupNewTab", NULL, N_("Open Ta_b"), NULL,
|
||||
G_CALLBACK (file_new_window_callback)
|
||||
},
|
||||
{
|
||||
"PopupNewTab", NULL, N_("Open Ta_b"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (file_new_tab_callback) },
|
||||
{ "PopupCloseWindow", NULL, N_("C_lose Window"), NULL,
|
||||
G_CALLBACK (file_new_tab_callback)
|
||||
},
|
||||
{
|
||||
"PopupCloseWindow", NULL, N_("C_lose Window"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (file_close_window_callback) },
|
||||
{ "PopupCloseTab", NULL, N_("C_lose Tab"), NULL,
|
||||
G_CALLBACK (file_close_window_callback)
|
||||
},
|
||||
{
|
||||
"PopupCloseTab", NULL, N_("C_lose Tab"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (file_close_tab_callback) },
|
||||
{ "PopupLeaveFullscreen", NULL, N_("L_eave Full Screen"), NULL,
|
||||
G_CALLBACK (file_close_tab_callback)
|
||||
},
|
||||
{
|
||||
"PopupLeaveFullscreen", NULL, N_("L_eave Full Screen"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (popup_leave_fullscreen_callback) },
|
||||
G_CALLBACK (popup_leave_fullscreen_callback)
|
||||
},
|
||||
{ "PopupInputMethods", NULL, N_("_Input Methods") }
|
||||
};
|
||||
|
||||
const GtkToggleActionEntry toggle_menu_entries[] =
|
||||
{
|
||||
/* View Menu */
|
||||
{ "ViewMenubar", NULL, N_("Show _Menubar"), NULL,
|
||||
{
|
||||
"ViewMenubar", NULL, N_("Show _Menubar"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (view_menubar_toggled_callback),
|
||||
FALSE },
|
||||
{ "ViewFullscreen", NULL, N_("_Full Screen"), NULL,
|
||||
FALSE
|
||||
},
|
||||
{
|
||||
"ViewFullscreen", NULL, N_("_Full Screen"), NULL,
|
||||
NULL,
|
||||
G_CALLBACK (view_fullscreen_toggled_callback),
|
||||
FALSE }
|
||||
FALSE
|
||||
}
|
||||
};
|
||||
TerminalWindowPrivate *priv;
|
||||
TerminalApp *app;
|
||||
|
@ -2607,10 +2707,12 @@ terminal_window_set_size_force_grid (TerminalWindow *window,
|
|||
window,
|
||||
grid_width, grid_height, force_grid_width, force_grid_height, w, h);
|
||||
|
||||
if (even_if_mapped && gtk_widget_get_mapped (app)) {
|
||||
if (even_if_mapped && gtk_widget_get_mapped (app))
|
||||
{
|
||||
gtk_window_resize (GTK_WINDOW (app), w, h);
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
gtk_window_set_default_size (GTK_WINDOW (app), w, h);
|
||||
}
|
||||
}
|
||||
|
@ -2744,7 +2846,8 @@ notebook_page_selected_callback (GtkWidget *notebook,
|
|||
if (priv->active_screen == screen)
|
||||
return;
|
||||
|
||||
if (priv->active_screen != NULL) {
|
||||
if (priv->active_screen != NULL)
|
||||
{
|
||||
terminal_screen_get_size (priv->active_screen, &old_grid_width, &old_grid_height);
|
||||
|
||||
/* This is so that we maintain the same grid */
|
||||
|
@ -3314,7 +3417,8 @@ edit_copy_callback (GtkAction *action,
|
|||
vte_terminal_copy_clipboard (VTE_TERMINAL (priv->active_screen));
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
typedef struct
|
||||
{
|
||||
TerminalScreen *screen;
|
||||
gboolean uris_as_paths;
|
||||
} PasteData;
|
||||
|
@ -3327,7 +3431,8 @@ clipboard_uris_received_cb (GtkClipboard *clipboard,
|
|||
char *text;
|
||||
gsize len;
|
||||
|
||||
if (!uris) {
|
||||
if (!uris)
|
||||
{
|
||||
g_object_unref (data->screen);
|
||||
g_slice_free (PasteData, data);
|
||||
return;
|
||||
|
@ -3351,18 +3456,22 @@ clipboard_targets_received_cb (GtkClipboard *clipboard,
|
|||
int n_targets,
|
||||
PasteData *data)
|
||||
{
|
||||
if (!targets) {
|
||||
if (!targets)
|
||||
{
|
||||
g_object_unref (data->screen);
|
||||
g_slice_free (PasteData, data);
|
||||
return;
|
||||
}
|
||||
|
||||
if (gtk_targets_include_uri (targets, n_targets)) {
|
||||
if (gtk_targets_include_uri (targets, n_targets))
|
||||
{
|
||||
gtk_clipboard_request_uris (clipboard,
|
||||
(GtkClipboardURIReceivedFunc) clipboard_uris_received_cb,
|
||||
data);
|
||||
return;
|
||||
} else /* if (gtk_targets_include_text (targets, n_targets)) */ {
|
||||
}
|
||||
else /* if (gtk_targets_include_text (targets, n_targets)) */
|
||||
{
|
||||
vte_terminal_paste_clipboard (VTE_TERMINAL (data->screen));
|
||||
}
|
||||
|
||||
|
@ -3464,7 +3573,8 @@ view_fullscreen_toggled_callback (GtkToggleAction *action,
|
|||
gtk_window_unfullscreen (GTK_WINDOW (window));
|
||||
}
|
||||
|
||||
static const double zoom_factors[] = {
|
||||
static const double zoom_factors[] =
|
||||
{
|
||||
TERMINAL_SCALE_MINIMUM,
|
||||
TERMINAL_SCALE_XXXXX_SMALL,
|
||||
TERMINAL_SCALE_XXXX_SMALL,
|
||||
|
@ -3621,7 +3731,8 @@ search_find_callback (GtkAction *action,
|
|||
{
|
||||
TerminalWindowPrivate *priv = window->priv;
|
||||
|
||||
if (!priv->search_find_dialog) {
|
||||
if (!priv->search_find_dialog)
|
||||
{
|
||||
GtkWidget *dialog;
|
||||
|
||||
dialog = priv->search_find_dialog = terminal_search_dialog_new (GTK_WINDOW (window));
|
||||
|
@ -3788,9 +3899,12 @@ tabs_next_or_previous_tab_cb (GtkAction *action,
|
|||
guint keyval = 0;
|
||||
|
||||
name = gtk_action_get_name (action);
|
||||
if (strcmp (name, "TabsNext") == 0) {
|
||||
if (strcmp (name, "TabsNext") == 0)
|
||||
{
|
||||
keyval = GDK_Page_Down;
|
||||
} else if (strcmp (name, "TabsPrevious") == 0) {
|
||||
}
|
||||
else if (strcmp (name, "TabsPrevious") == 0)
|
||||
{
|
||||
keyval = GDK_Page_Up;
|
||||
}
|
||||
|
||||
|
|
|
@ -60,7 +60,8 @@ ay_to_string (GVariant *variant,
|
|||
return NULL;
|
||||
|
||||
/* Make sure there are no embedded NULs */
|
||||
if (memchr (data, '\0', len) != NULL) {
|
||||
if (memchr (data, '\0', len) != NULL)
|
||||
{
|
||||
g_set_error_literal (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS,
|
||||
"String is shorter than claimed");
|
||||
return NULL;
|
||||
|
@ -79,7 +80,8 @@ ay_to_strv (GVariant *variant,
|
|||
gssize len;
|
||||
|
||||
data = g_variant_get_fixed_array (variant, &data_len, sizeof (char));
|
||||
if (data_len == 0 || data_len > G_MAXSSIZE) {
|
||||
if (data_len == 0 || data_len > G_MAXSSIZE)
|
||||
{
|
||||
*argc = 0;
|
||||
return NULL;
|
||||
}
|
||||
|
@ -87,7 +89,8 @@ ay_to_strv (GVariant *variant,
|
|||
argv = g_ptr_array_new ();
|
||||
|
||||
len = data_len;
|
||||
do {
|
||||
do
|
||||
{
|
||||
gssize string_len;
|
||||
|
||||
nullbyte = memchr (data, '\0', len);
|
||||
|
@ -97,7 +100,8 @@ ay_to_strv (GVariant *variant,
|
|||
|
||||
len -= string_len + 1;
|
||||
data += string_len + 1;
|
||||
} while (len > 0);
|
||||
}
|
||||
while (len > 0);
|
||||
|
||||
if (argc)
|
||||
*argc = argv->len;
|
||||
|
@ -119,7 +123,8 @@ string_to_ay (const char *string)
|
|||
return g_variant_new_from_data (G_VARIANT_TYPE ("ay"), data, len, TRUE, g_free, data);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
typedef struct
|
||||
{
|
||||
char *factory_name;
|
||||
TerminalOptions *options;
|
||||
int exit_code;
|
||||
|
@ -137,7 +142,8 @@ method_call_cb (GDBusConnection *connection,
|
|||
GDBusMethodInvocation *invocation,
|
||||
gpointer user_data)
|
||||
{
|
||||
if (g_strcmp0 (method_name, "HandleArguments") == 0) {
|
||||
if (g_strcmp0 (method_name, "HandleArguments") == 0)
|
||||
{
|
||||
TerminalOptions *options = NULL;
|
||||
GVariant *v_wd, *v_display, *v_sid, *v_envv, *v_argv;
|
||||
char *working_directory = NULL, *display_name = NULL, *startup_id = NULL;
|
||||
|
@ -176,12 +182,13 @@ method_call_cb (GDBusConnection *connection,
|
|||
&error,
|
||||
NULL);
|
||||
|
||||
if (options != NULL) {
|
||||
if (options != NULL)
|
||||
{
|
||||
terminal_app_handle_options (terminal_app_get (), options, FALSE /* no resume */, &error);
|
||||
terminal_options_free (options);
|
||||
}
|
||||
|
||||
out:
|
||||
out:
|
||||
g_variant_unref (v_wd);
|
||||
g_free (working_directory);
|
||||
g_variant_unref (v_display);
|
||||
|
@ -193,9 +200,12 @@ method_call_cb (GDBusConnection *connection,
|
|||
g_variant_unref (v_argv);
|
||||
g_strfreev (argv);
|
||||
|
||||
if (error == NULL) {
|
||||
if (error == NULL)
|
||||
{
|
||||
g_dbus_method_invocation_return_value (invocation, g_variant_new ("()"));
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
g_dbus_method_invocation_return_gerror (invocation, error);
|
||||
g_error_free (error);
|
||||
}
|
||||
|
@ -220,7 +230,8 @@ bus_acquired_cb (GDBusConnection *connection,
|
|||
"</interface>"
|
||||
"</node>";
|
||||
|
||||
static const GDBusInterfaceVTable interface_vtable = {
|
||||
static const GDBusInterfaceVTable interface_vtable =
|
||||
{
|
||||
method_call_cb,
|
||||
NULL,
|
||||
NULL,
|
||||
|
@ -245,7 +256,8 @@ bus_acquired_cb (GDBusConnection *connection,
|
|||
&error);
|
||||
g_dbus_node_info_unref (introspection_data);
|
||||
|
||||
if (registration_id == 0) {
|
||||
if (registration_id == 0)
|
||||
{
|
||||
g_printerr ("Failed to register object: %s\n", error->message);
|
||||
g_error_free (error);
|
||||
data->exit_code = EXIT_FAILURE;
|
||||
|
@ -264,13 +276,15 @@ name_acquired_cb (GDBusConnection *connection,
|
|||
_terminal_debug_print (TERMINAL_DEBUG_FACTORY,
|
||||
"Acquired the name %s on the session bus\n", name);
|
||||
|
||||
if (data->options == NULL) {
|
||||
if (data->options == NULL)
|
||||
{
|
||||
/* Name re-acquired!? */
|
||||
g_assert_not_reached ();
|
||||
}
|
||||
|
||||
|
||||
if (!terminal_app_handle_options (terminal_app_get (), data->options, TRUE /* do resume */, &error)) {
|
||||
if (!terminal_app_handle_options (terminal_app_get (), data->options, TRUE /* do resume */, &error))
|
||||
{
|
||||
g_printerr ("Failed to handle options: %s\n", error->message);
|
||||
g_error_free (error);
|
||||
data->exit_code = EXIT_FAILURE;
|
||||
|
@ -300,13 +314,15 @@ name_lost_cb (GDBusConnection *connection,
|
|||
"Lost the name %s on the session bus\n", name);
|
||||
|
||||
/* Couldn't get the connection? No way to continue! */
|
||||
if (connection == NULL) {
|
||||
if (connection == NULL)
|
||||
{
|
||||
data->exit_code = EXIT_FAILURE;
|
||||
gtk_main_quit ();
|
||||
return;
|
||||
}
|
||||
|
||||
if (data->options == NULL) {
|
||||
if (data->options == NULL)
|
||||
{
|
||||
/* Already handled */
|
||||
data->exit_code = EXIT_SUCCESS;
|
||||
gtk_main_quit ();
|
||||
|
@ -369,12 +385,15 @@ name_lost_cb (GDBusConnection *connection,
|
|||
-1,
|
||||
NULL,
|
||||
&error);
|
||||
if (value == NULL) {
|
||||
if (value == NULL)
|
||||
{
|
||||
g_printerr ("Failed to forward arguments: %s\n", error->message);
|
||||
g_error_free (error);
|
||||
data->exit_code = EXIT_FAILURE;
|
||||
gtk_main_quit ();
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
g_variant_unref (value);
|
||||
data->exit_code = EXIT_SUCCESS;
|
||||
}
|
||||
|
@ -540,7 +559,8 @@ main (int argc, char **argv)
|
|||
|
||||
g_free (working_directory);
|
||||
|
||||
if (options == NULL) {
|
||||
if (options == NULL)
|
||||
{
|
||||
g_printerr (_("Failed to parse arguments: %s\n"), error->message);
|
||||
g_error_free (error);
|
||||
exit (EXIT_FAILURE);
|
||||
|
@ -570,7 +590,8 @@ main (int argc, char **argv)
|
|||
display_name = gdk_display_get_name (display);
|
||||
options->display_name = g_strdup (display_name);
|
||||
|
||||
if (options->use_factory) {
|
||||
if (options->use_factory)
|
||||
{
|
||||
OwnData *data;
|
||||
guint owner_id;
|
||||
|
||||
|
@ -597,14 +618,19 @@ main (int argc, char **argv)
|
|||
g_free (data->factory_name);
|
||||
g_free (data);
|
||||
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
terminal_app_handle_options (terminal_app_get (), options, TRUE /* allow resume */, &error);
|
||||
terminal_options_free (options);
|
||||
|
||||
if (error == NULL) {
|
||||
if (error == NULL)
|
||||
{
|
||||
gtk_main ();
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
g_printerr ("Error handling options: %s\n", error->message);
|
||||
g_error_free (error);
|
||||
ret = EXIT_FAILURE;
|
||||
|
|
Loading…
Reference in New Issue