Fri, 04 May 2007 15:53:24 +0000
Fix some ickyness in the tab-completion. Now, if there's only one suggest word, then the first tab will just complete the suggestion. If there's only one suggest word, and it's already completed, then tab will take focus to the next widget. If there is a dropdown, then you can select a suggest word by pressing tabs to move to it, then either space or enter to accept it.
|
14539
7d5528c864a1
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14493
diff
changeset
|
1 | #define _GNU_SOURCE |
|
14800
9fb18f4b8d1a
[gaim-migrate @ 17494]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14799
diff
changeset
|
2 | #if defined(__APPLE__) |
|
9fb18f4b8d1a
[gaim-migrate @ 17494]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14799
diff
changeset
|
3 | #define _XOPEN_SOURCE_EXTENDED |
|
9fb18f4b8d1a
[gaim-migrate @ 17494]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14799
diff
changeset
|
4 | #endif |
|
14487
12503b6b5268
[gaim-migrate @ 17133]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14483
diff
changeset
|
5 | |
|
14483
82b73e12ce27
[gaim-migrate @ 17129]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14477
diff
changeset
|
6 | #include "config.h" |
|
82b73e12ce27
[gaim-migrate @ 17129]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14477
diff
changeset
|
7 | |
|
14397
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14387
diff
changeset
|
8 | #include <gmodule.h> |
|
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14387
diff
changeset
|
9 | |
|
15863
7411e672a88b
Re-order includes to fix this compile error:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15862
diff
changeset
|
10 | #include <sys/types.h> |
|
7411e672a88b
Re-order includes to fix this compile error:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15862
diff
changeset
|
11 | #include <sys/wait.h> |
|
7411e672a88b
Re-order includes to fix this compile error:
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15862
diff
changeset
|
12 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
13 | #include "gnt.h" |
|
13950
bd8d39b3a9e2
[gaim-migrate @ 16369]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13947
diff
changeset
|
14 | #include "gntbox.h" |
|
16944
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
15 | #include "gntbutton.h" |
|
14066
3a97522e09ee
[gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14045
diff
changeset
|
16 | #include "gntcolors.h" |
|
15814
2db42c6a13fa
Add a gntclipboard. You can select text in a textview with the mouse, and paste it in an entry with ctrl-v (or rebind GntEntry's clipboard-paste).
Richard Nelson <wabz@pidgin.im>
parents:
15485
diff
changeset
|
17 | #include "gntclipboard.h" |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
18 | #include "gntkeys.h" |
|
16944
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
19 | #include "gntlabel.h" |
|
14675
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
20 | #include "gntmenu.h" |
|
14066
3a97522e09ee
[gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14045
diff
changeset
|
21 | #include "gntstyle.h" |
|
13978
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13973
diff
changeset
|
22 | #include "gnttree.h" |
|
14539
7d5528c864a1
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14493
diff
changeset
|
23 | #include "gntutils.h" |
|
16944
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
24 | #include "gntwindow.h" |
|
14397
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14387
diff
changeset
|
25 | #include "gntwm.h" |
|
13950
bd8d39b3a9e2
[gaim-migrate @ 16369]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13947
diff
changeset
|
26 | |
|
14493
c47f415b7e56
[gaim-migrate @ 17145]
Mark Doliner <markdoliner@pidgin.im>
parents:
14490
diff
changeset
|
27 | #include <panel.h> |
|
c47f415b7e56
[gaim-migrate @ 17145]
Mark Doliner <markdoliner@pidgin.im>
parents:
14490
diff
changeset
|
28 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
29 | #include <stdio.h> |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
30 | #include <stdlib.h> |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
31 | #include <locale.h> |
|
13950
bd8d39b3a9e2
[gaim-migrate @ 16369]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13947
diff
changeset
|
32 | #include <unistd.h> |
|
14335
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
33 | #include <signal.h> |
|
13950
bd8d39b3a9e2
[gaim-migrate @ 16369]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13947
diff
changeset
|
34 | #include <string.h> |
| 14282 | 35 | #include <ctype.h> |
|
14443
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
36 | #include <errno.h> |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
37 | |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
38 | /** |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
39 | * Notes: Interesting functions to look at: |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
40 | * scr_dump, scr_init, scr_restore: for workspaces |
|
14193
fcfd3eea2160
[gaim-migrate @ 16773]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14187
diff
changeset
|
41 | * |
|
fcfd3eea2160
[gaim-migrate @ 16773]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14187
diff
changeset
|
42 | * Need to wattrset for colors to use with PDCurses. |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
43 | */ |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
44 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
45 | static GIOChannel *channel = NULL; |
|
13969
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
46 | |
|
13989
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13981
diff
changeset
|
47 | static gboolean ascii_only; |
|
14372
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
48 | static gboolean mouse_enabled; |
|
13989
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13981
diff
changeset
|
49 | |
|
15874
46df7421a1b5
Enable DEBUG_CFLAGS in libgnt and fix up a number of compile warnings and
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15863
diff
changeset
|
50 | static void setup_io(void); |
|
13931
a0a91e17f899
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13922
diff
changeset
|
51 | |
|
14335
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
52 | static gboolean refresh_screen(); |
|
14405
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
53 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
54 | GntWM *wm; |
|
15814
2db42c6a13fa
Add a gntclipboard. You can select text in a textview with the mouse, and paste it in an entry with ctrl-v (or rebind GntEntry's clipboard-paste).
Richard Nelson <wabz@pidgin.im>
parents:
15485
diff
changeset
|
55 | static GntClipboard *clipboard; |
|
14307
bfdf8ddf6dda
[gaim-migrate @ 16927]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14282
diff
changeset
|
56 | |
|
15842
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
57 | #define HOLDING_ESCAPE (escape_stuff.timer != 0) |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
58 | |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
59 | static struct { |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
60 | int timer; |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
61 | } escape_stuff; |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
62 | |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
63 | static gboolean |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
64 | escape_timeout(gpointer data) |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
65 | { |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
66 | gnt_wm_process_input(wm, "\033"); |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
67 | escape_stuff.timer = 0; |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
68 | return FALSE; |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
69 | } |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
70 | |
|
14372
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
71 | /** |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
72 | * Mouse support: |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
73 | * - bring a window on top if you click on its taskbar |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
74 | * - click on the top-bar of the active window and drag+drop to move a window |
|
14387
c52a8625eab3
[gaim-migrate @ 17020]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14379
diff
changeset
|
75 | * - click on a window to bring it to focus |
|
14424
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
76 | * - allow scrolling in tree/textview on wheel-scroll event |
|
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
77 | * - click to activate button or select a row in tree |
|
14372
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
78 | * wishlist: |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
79 | * - have a little [X] on the windows, and clicking it will close that window. |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
80 | */ |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
81 | static gboolean |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
82 | detect_mouse_action(const char *buffer) |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
83 | { |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
84 | int x, y; |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
85 | static enum { |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
86 | MOUSE_NONE, |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
87 | MOUSE_LEFT, |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
88 | MOUSE_RIGHT, |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
89 | MOUSE_MIDDLE |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
90 | } button = MOUSE_NONE; |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
91 | static GntWidget *remember = NULL; |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
92 | static int offset = 0; |
|
14405
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
93 | GntMouseEvent event; |
|
14424
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
94 | GntWidget *widget = NULL; |
|
14539
7d5528c864a1
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14493
diff
changeset
|
95 | PANEL *p = NULL; |
|
14372
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
96 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
97 | if (!wm->ordered || buffer[0] != 27) |
|
14372
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
98 | return FALSE; |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
99 | |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
100 | buffer++; |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
101 | if (strlen(buffer) < 5) |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
102 | return FALSE; |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
103 | |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
104 | x = buffer[3]; |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
105 | y = buffer[4]; |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
106 | if (x < 0) x += 256; |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
107 | if (y < 0) y += 256; |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
108 | x -= 33; |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
109 | y -= 33; |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
110 | |
|
14539
7d5528c864a1
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14493
diff
changeset
|
111 | while ((p = panel_below(p)) != NULL) { |
|
7d5528c864a1
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14493
diff
changeset
|
112 | const GntNode *node = panel_userptr(p); |
|
7d5528c864a1
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14493
diff
changeset
|
113 | GntWidget *wid; |
|
7d5528c864a1
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14493
diff
changeset
|
114 | if (!node) |
|
7d5528c864a1
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14493
diff
changeset
|
115 | continue; |
|
7d5528c864a1
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14493
diff
changeset
|
116 | wid = node->me; |
|
14424
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
117 | if (x >= wid->priv.x && x < wid->priv.x + wid->priv.width) { |
|
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
118 | if (y >= wid->priv.y && y < wid->priv.y + wid->priv.height) { |
|
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
119 | widget = wid; |
|
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
120 | break; |
|
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
121 | } |
|
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
122 | } |
|
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
123 | } |
|
14539
7d5528c864a1
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14493
diff
changeset
|
124 | |
|
14372
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
125 | if (strncmp(buffer, "[M ", 3) == 0) { |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
126 | /* left button down */ |
|
14379
d1bd558266b7
[gaim-migrate @ 17010]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14376
diff
changeset
|
127 | /* Bring the window you clicked on to front */ |
|
d1bd558266b7
[gaim-migrate @ 17010]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14376
diff
changeset
|
128 | /* If you click on the topbar, then you can drag to move the window */ |
|
14405
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
129 | event = GNT_LEFT_MOUSE_DOWN; |
|
14372
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
130 | } else if (strncmp(buffer, "[M\"", 3) == 0) { |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
131 | /* right button down */ |
|
14405
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
132 | event = GNT_RIGHT_MOUSE_DOWN; |
|
14372
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
133 | } else if (strncmp(buffer, "[M!", 3) == 0) { |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
134 | /* middle button down */ |
|
14405
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
135 | event = GNT_MIDDLE_MOUSE_DOWN; |
|
14372
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
136 | } else if (strncmp(buffer, "[M`", 3) == 0) { |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
137 | /* wheel up*/ |
|
14405
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
138 | event = GNT_MOUSE_SCROLL_UP; |
|
14372
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
139 | } else if (strncmp(buffer, "[Ma", 3) == 0) { |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
140 | /* wheel down */ |
|
14405
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
141 | event = GNT_MOUSE_SCROLL_DOWN; |
|
14372
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
142 | } else if (strncmp(buffer, "[M#", 3) == 0) { |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
143 | /* button up */ |
|
14424
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
144 | event = GNT_MOUSE_UP; |
|
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
145 | } else |
|
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
146 | return FALSE; |
|
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
147 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
148 | if (gnt_wm_process_click(wm, event, x, y, widget)) |
|
14424
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
149 | return TRUE; |
|
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
150 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
151 | if (event == GNT_LEFT_MOUSE_DOWN && widget && widget != wm->_list.window && |
|
14539
7d5528c864a1
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14493
diff
changeset
|
152 | !GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_TRANSIENT)) { |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
153 | if (widget != wm->ordered->data) { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
154 | gnt_wm_raise_window(wm, widget); |
|
14424
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
155 | } |
|
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
156 | if (y == widget->priv.y) { |
|
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
157 | offset = x - widget->priv.x; |
|
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
158 | remember = widget; |
|
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
159 | button = MOUSE_LEFT; |
|
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
160 | } |
|
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
161 | } else if (event == GNT_MOUSE_UP) { |
|
14372
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
162 | if (button == MOUSE_NONE && y == getmaxy(stdscr) - 1) { |
|
14424
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
163 | /* Clicked on the taskbar */ |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
164 | int n = g_list_length(wm->list); |
|
14372
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
165 | if (n) { |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
166 | int width = getmaxx(stdscr) / n; |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
167 | gnt_bindable_perform_action_named(GNT_BINDABLE(wm), "switch-window-n", x/width, NULL); |
|
14372
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
168 | } |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
169 | } else if (button == MOUSE_LEFT && remember) { |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
170 | x -= offset; |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
171 | if (x < 0) x = 0; |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
172 | if (y < 0) y = 0; |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
173 | gnt_screen_move_widget(remember, x, y); |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
174 | } |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
175 | button = MOUSE_NONE; |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
176 | remember = NULL; |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
177 | offset = 0; |
|
14424
8874ec350ebb
[gaim-migrate @ 17068]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14405
diff
changeset
|
178 | } |
|
14405
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
179 | |
|
14539
7d5528c864a1
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14493
diff
changeset
|
180 | gnt_widget_clicked(widget, event, x, y); |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
181 | return TRUE; |
|
14372
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
182 | } |
|
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
183 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
184 | static gboolean |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
185 | io_invoke_error(GIOChannel *source, GIOCondition cond, gpointer data) |
|
14539
7d5528c864a1
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14493
diff
changeset
|
186 | { |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
187 | int id = GPOINTER_TO_INT(data); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
188 | g_source_remove(id); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
189 | g_io_channel_unref(source); |
|
14487
12503b6b5268
[gaim-migrate @ 17133]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14483
diff
changeset
|
190 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
191 | channel = NULL; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
192 | setup_io(); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
193 | return TRUE; |
|
14477
7252d4888bf2
[gaim-migrate @ 17123]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14467
diff
changeset
|
194 | } |
|
7252d4888bf2
[gaim-migrate @ 17123]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14467
diff
changeset
|
195 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
196 | static gboolean |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
197 | io_invoke(GIOChannel *source, GIOCondition cond, gpointer null) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
198 | { |
|
14405
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
199 | char keys[256]; |
|
15842
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
200 | int rd = read(STDIN_FILENO, keys + HOLDING_ESCAPE, sizeof(keys) - 1 - HOLDING_ESCAPE); |
|
15839
e2b7b5f4f9aa
Change a bit how the keystrokes are processed. When a lot of keystrokes come in at the same time, the shortest key-combination is processed first. This should make typing fast over a very slow connection work properly.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15814
diff
changeset
|
201 | char *k; |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
202 | if (rd < 0) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
203 | { |
|
14943
ffd493362a87
[gaim-migrate @ 17650]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14938
diff
changeset
|
204 | int ch = getch(); /* This should return ERR, but let's see what it really returns */ |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
205 | endwin(); |
|
14742
57b62b1b4646
[gaim-migrate @ 17432]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14689
diff
changeset
|
206 | printf("ERROR: %s\n", strerror(errno)); |
|
14943
ffd493362a87
[gaim-migrate @ 17650]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14938
diff
changeset
|
207 | printf("File descriptor is: %d\n\nGIOChannel is: %p\ngetch() = %d\n", STDIN_FILENO, source, ch); |
|
ffd493362a87
[gaim-migrate @ 17650]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14938
diff
changeset
|
208 | raise(SIGABRT); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
209 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
210 | else if (rd == 0) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
211 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
212 | endwin(); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
213 | printf("EOF\n"); |
|
14943
ffd493362a87
[gaim-migrate @ 17650]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14938
diff
changeset
|
214 | raise(SIGABRT); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
215 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
216 | |
|
16356
13cc89b3ab7c
Dialogs opened resulting from a mouse-click should fain focus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15906
diff
changeset
|
217 | gnt_wm_set_event_stack(wm, TRUE); |
|
15842
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
218 | rd += HOLDING_ESCAPE; |
|
14405
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
219 | keys[rd] = 0; |
|
4398121ce889
[gaim-migrate @ 17044]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14397
diff
changeset
|
220 | if (mouse_enabled && detect_mouse_action(keys)) |
|
16356
13cc89b3ab7c
Dialogs opened resulting from a mouse-click should fain focus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15906
diff
changeset
|
221 | goto end; |
|
15839
e2b7b5f4f9aa
Change a bit how the keystrokes are processed. When a lot of keystrokes come in at the same time, the shortest key-combination is processed first. This should make typing fast over a very slow connection work properly.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15814
diff
changeset
|
222 | |
|
15842
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
223 | if (HOLDING_ESCAPE) |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
224 | keys[0] = '\033'; |
|
15839
e2b7b5f4f9aa
Change a bit how the keystrokes are processed. When a lot of keystrokes come in at the same time, the shortest key-combination is processed first. This should make typing fast over a very slow connection work properly.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15814
diff
changeset
|
225 | k = keys; |
|
e2b7b5f4f9aa
Change a bit how the keystrokes are processed. When a lot of keystrokes come in at the same time, the shortest key-combination is processed first. This should make typing fast over a very slow connection work properly.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15814
diff
changeset
|
226 | while (rd) { |
|
e2b7b5f4f9aa
Change a bit how the keystrokes are processed. When a lot of keystrokes come in at the same time, the shortest key-combination is processed first. This should make typing fast over a very slow connection work properly.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15814
diff
changeset
|
227 | char back; |
|
15842
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
228 | int p; |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
229 | |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
230 | if (k[0] == '\033' && rd == 1) { |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
231 | if (escape_stuff.timer) { |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
232 | gnt_wm_process_input(wm, "\033\033"); |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
233 | g_source_remove(escape_stuff.timer); |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
234 | escape_stuff.timer = 0; |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
235 | break; |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
236 | } |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
237 | escape_stuff.timer = g_timeout_add(250, escape_timeout, NULL); |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
238 | break; |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
239 | } |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
240 | |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
241 | gnt_keys_refine(k); |
|
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
242 | p = MAX(1, gnt_keys_find_combination(k)); |
|
15839
e2b7b5f4f9aa
Change a bit how the keystrokes are processed. When a lot of keystrokes come in at the same time, the shortest key-combination is processed first. This should make typing fast over a very slow connection work properly.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15814
diff
changeset
|
243 | back = k[p]; |
|
e2b7b5f4f9aa
Change a bit how the keystrokes are processed. When a lot of keystrokes come in at the same time, the shortest key-combination is processed first. This should make typing fast over a very slow connection work properly.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15814
diff
changeset
|
244 | k[p] = '\0'; |
|
15840
442102aa7b24
Some changes to the last change. People should really test this thing out.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15839
diff
changeset
|
245 | gnt_wm_process_input(wm, k); /* XXX: */ |
|
15839
e2b7b5f4f9aa
Change a bit how the keystrokes are processed. When a lot of keystrokes come in at the same time, the shortest key-combination is processed first. This should make typing fast over a very slow connection work properly.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15814
diff
changeset
|
246 | k[p] = back; |
|
e2b7b5f4f9aa
Change a bit how the keystrokes are processed. When a lot of keystrokes come in at the same time, the shortest key-combination is processed first. This should make typing fast over a very slow connection work properly.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15814
diff
changeset
|
247 | rd -= p; |
|
e2b7b5f4f9aa
Change a bit how the keystrokes are processed. When a lot of keystrokes come in at the same time, the shortest key-combination is processed first. This should make typing fast over a very slow connection work properly.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15814
diff
changeset
|
248 | k += p; |
|
e2b7b5f4f9aa
Change a bit how the keystrokes are processed. When a lot of keystrokes come in at the same time, the shortest key-combination is processed first. This should make typing fast over a very slow connection work properly.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15814
diff
changeset
|
249 | } |
|
16356
13cc89b3ab7c
Dialogs opened resulting from a mouse-click should fain focus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15906
diff
changeset
|
250 | end: |
|
13cc89b3ab7c
Dialogs opened resulting from a mouse-click should fain focus.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15906
diff
changeset
|
251 | gnt_wm_set_event_stack(wm, FALSE); |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
252 | return TRUE; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
253 | } |
|
13969
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
254 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
255 | static void |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
256 | setup_io() |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
257 | { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
258 | int result; |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
259 | channel = g_io_channel_unix_new(STDIN_FILENO); |
|
15842
0b00e18a33f2
Do some funky stuff with the escape key.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15841
diff
changeset
|
260 | g_io_channel_set_close_on_unref(channel, TRUE); |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13955
diff
changeset
|
261 | |
|
15485
07050dfe816e
More closely imitate the input handling of irssi. Hopefully this will fix the excessive CPU usage bug Alver keeps getting.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15038
diff
changeset
|
262 | #if 0 |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
263 | g_io_channel_set_encoding(channel, NULL, NULL); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
264 | g_io_channel_set_buffered(channel, FALSE); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
265 | g_io_channel_set_flags(channel, G_IO_FLAG_NONBLOCK, NULL ); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
266 | #endif |
|
13978
70d7030b7f26
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13973
diff
changeset
|
267 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
268 | result = g_io_add_watch_full(channel, G_PRIORITY_HIGH, |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
269 | (G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_PRI), |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
270 | io_invoke, NULL, NULL); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
271 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
272 | g_io_add_watch_full(channel, G_PRIORITY_HIGH, |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
273 | (G_IO_NVAL), |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
274 | io_invoke_error, GINT_TO_POINTER(result), NULL); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
275 | |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
276 | g_io_channel_unref(channel); /* Apparently this caused crashes for some people. |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
277 | But irssi does this, so I am going to assume the |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
278 | crashes were caused by some other stuff. */ |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
279 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
280 | g_printerr("gntmain: setting up IO\n"); |
|
14335
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
281 | } |
|
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
282 | |
|
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
283 | static gboolean |
|
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
284 | refresh_screen() |
|
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
285 | { |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
286 | gnt_bindable_perform_action_named(GNT_BINDABLE(wm), "refresh-screen", NULL); |
|
14335
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
287 | return FALSE; |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
288 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
289 | |
|
14443
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
290 | /* Xerox */ |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
291 | static void |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
292 | clean_pid(void) |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
293 | { |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
294 | int status; |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
295 | pid_t pid; |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
296 | |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
297 | do { |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
298 | pid = waitpid(-1, &status, WNOHANG); |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
299 | } while (pid != 0 && pid != (pid_t)-1); |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
300 | |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
301 | if ((pid == (pid_t) - 1) && (errno != ECHILD)) { |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
302 | char errmsg[BUFSIZ]; |
|
14487
12503b6b5268
[gaim-migrate @ 17133]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14483
diff
changeset
|
303 | g_snprintf(errmsg, BUFSIZ, "Warning: waitpid() returned %d", pid); |
|
14443
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
304 | perror(errmsg); |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
305 | } |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
306 | } |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
307 | |
|
14335
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
308 | static void |
|
16944
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
309 | exit_confirmed(gpointer null) |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
310 | { |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
311 | gnt_bindable_perform_action_named(GNT_BINDABLE(wm), "wm-quit", NULL); |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
312 | } |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
313 | |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
314 | static void |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
315 | exit_win_close(GntWidget *w, GntWidget **win) |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
316 | { |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
317 | *win = NULL; |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
318 | } |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
319 | |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
320 | static void |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
321 | ask_before_exit() |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
322 | { |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
323 | static GntWidget *win = NULL; |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
324 | GntWidget *bbox, *button; |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
325 | |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
326 | if (win) |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
327 | goto raise; |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
328 | |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
329 | win = gnt_vwindow_new(FALSE); |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
330 | gnt_box_add_widget(GNT_BOX(win), gnt_label_new("Are you sure you want to quit?")); |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
331 | gnt_box_set_title(GNT_BOX(win), "Quit?"); |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
332 | gnt_box_set_alignment(GNT_BOX(win), GNT_ALIGN_MID); |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
333 | g_signal_connect(G_OBJECT(win), "destroy", G_CALLBACK(exit_win_close), &win); |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
334 | |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
335 | bbox = gnt_hbox_new(FALSE); |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
336 | gnt_box_add_widget(GNT_BOX(win), bbox); |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
337 | |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
338 | button = gnt_button_new("Quit"); |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
339 | g_signal_connect(G_OBJECT(button), "activate", G_CALLBACK(exit_confirmed), NULL); |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
340 | gnt_box_add_widget(GNT_BOX(bbox), button); |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
341 | |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
342 | button = gnt_button_new("Cancel"); |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
343 | g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gnt_widget_destroy), win); |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
344 | gnt_box_add_widget(GNT_BOX(bbox), button); |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
345 | |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
346 | gnt_widget_show(win); |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
347 | raise: |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
348 | gnt_wm_raise_window(wm, win); |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
349 | } |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
350 | |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
351 | static void |
|
14335
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
352 | sighandler(int sig) |
|
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
353 | { |
|
14443
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
354 | switch (sig) { |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
355 | #ifdef SIGWINCH |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
356 | case SIGWINCH: |
|
14335
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
357 | werase(stdscr); |
|
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
358 | wrefresh(stdscr); |
|
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
359 | g_idle_add(refresh_screen, NULL); |
|
14443
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
360 | signal(SIGWINCH, sighandler); |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
361 | break; |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
362 | #endif |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
363 | case SIGCHLD: |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
364 | clean_pid(); |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
365 | signal(SIGCHLD, sighandler); |
|
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
366 | break; |
|
16944
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
367 | case SIGINT: |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
368 | ask_before_exit(); |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
369 | signal(SIGINT, sighandler); |
|
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
370 | break; |
|
14335
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
371 | } |
|
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
372 | } |
|
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
373 | |
|
14397
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14387
diff
changeset
|
374 | static void |
|
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14387
diff
changeset
|
375 | init_wm() |
|
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14387
diff
changeset
|
376 | { |
|
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14387
diff
changeset
|
377 | const char *name = gnt_style_get(GNT_STYLE_WM); |
|
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14387
diff
changeset
|
378 | gpointer handle; |
|
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14387
diff
changeset
|
379 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
380 | if (name && *name) { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
381 | handle = g_module_open(name, G_MODULE_BIND_LAZY); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
382 | if (handle) { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
383 | gboolean (*init)(GntWM **); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
384 | if (g_module_symbol(handle, "gntwm_init", (gpointer)&init)) { |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
385 | init(&wm); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
386 | } |
|
14397
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14387
diff
changeset
|
387 | } |
|
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14387
diff
changeset
|
388 | } |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
389 | if (wm == NULL) |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
390 | wm = g_object_new(GNT_TYPE_WM, NULL); |
|
14397
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14387
diff
changeset
|
391 | } |
|
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14387
diff
changeset
|
392 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
393 | void gnt_init() |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
394 | { |
|
14066
3a97522e09ee
[gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14045
diff
changeset
|
395 | char *filename; |
|
14264
f8399abdcb46
[gaim-migrate @ 16875]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14201
diff
changeset
|
396 | const char *locale; |
|
f8399abdcb46
[gaim-migrate @ 16875]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14201
diff
changeset
|
397 | |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14026
diff
changeset
|
398 | if (channel) |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14026
diff
changeset
|
399 | return; |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14026
diff
changeset
|
400 | |
|
15485
07050dfe816e
More closely imitate the input handling of irssi. Hopefully this will fix the excessive CPU usage bug Alver keeps getting.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15038
diff
changeset
|
401 | locale = setlocale(LC_ALL, ""); |
|
14264
f8399abdcb46
[gaim-migrate @ 16875]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14201
diff
changeset
|
402 | |
|
15485
07050dfe816e
More closely imitate the input handling of irssi. Hopefully this will fix the excessive CPU usage bug Alver keeps getting.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15038
diff
changeset
|
403 | setup_io(); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
404 | |
|
13989
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13981
diff
changeset
|
405 | if (locale && (strstr(locale, "UTF") || strstr(locale, "utf"))) |
|
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13981
diff
changeset
|
406 | ascii_only = FALSE; |
|
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13981
diff
changeset
|
407 | else |
|
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13981
diff
changeset
|
408 | ascii_only = TRUE; |
|
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13981
diff
changeset
|
409 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
410 | initscr(); |
|
14153
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
411 | typeahead(-1); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
412 | noecho(); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
413 | curs_set(0); |
|
9da98052a4e1
[gaim-migrate @ 16715]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14121
diff
changeset
|
414 | |
|
15862
895c0f69faa0
Make sure unbound key-combinations are handled properly.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15842
diff
changeset
|
415 | gnt_init_keys(); |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14066
diff
changeset
|
416 | gnt_init_styles(); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
417 | |
|
14066
3a97522e09ee
[gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14045
diff
changeset
|
418 | filename = g_build_filename(g_get_home_dir(), ".gntrc", NULL); |
|
3a97522e09ee
[gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14045
diff
changeset
|
419 | gnt_style_read_configure_file(filename); |
|
3a97522e09ee
[gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14045
diff
changeset
|
420 | g_free(filename); |
|
3a97522e09ee
[gaim-migrate @ 16589]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14045
diff
changeset
|
421 | |
|
14361
4d6014205744
[gaim-migrate @ 16989]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14354
diff
changeset
|
422 | gnt_init_colors(); |
|
13931
a0a91e17f899
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13922
diff
changeset
|
423 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
424 | wbkgdset(stdscr, '\0' | COLOR_PAIR(GNT_COLOR_NORMAL)); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
425 | refresh(); |
|
14372
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
426 | |
|
14379
d1bd558266b7
[gaim-migrate @ 17010]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14376
diff
changeset
|
427 | #ifdef ALL_MOUSE_EVENTS |
|
14372
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
428 | if ((mouse_enabled = gnt_style_get_bool(GNT_STYLE_MOUSE, FALSE))) |
|
14379
d1bd558266b7
[gaim-migrate @ 17010]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14376
diff
changeset
|
429 | mousemask(ALL_MOUSE_EVENTS | REPORT_MOUSE_POSITION, NULL); |
|
14376
43b7dc7d2a52
[gaim-migrate @ 17007]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14372
diff
changeset
|
430 | #endif |
|
14372
61f53bc11687
[gaim-migrate @ 17000]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14361
diff
changeset
|
431 | |
|
13969
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
432 | wbkgdset(stdscr, '\0' | COLOR_PAIR(GNT_COLOR_NORMAL)); |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
433 | werase(stdscr); |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
434 | wrefresh(stdscr); |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
435 | |
|
14335
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
436 | #ifdef SIGWINCH |
|
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
437 | signal(SIGWINCH, sighandler); |
|
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
438 | #endif |
|
14443
b7b18eddd910
[gaim-migrate @ 17087]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14424
diff
changeset
|
439 | signal(SIGCHLD, sighandler); |
|
16944
921fc0bccf3a
Ask before exiting when ctrl+c is pressed.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16837
diff
changeset
|
440 | signal(SIGINT, sighandler); |
| 14799 | 441 | signal(SIGPIPE, SIG_IGN); |
|
14335
43dec8ee3096
[gaim-migrate @ 16958]
Mark Schneider <queueram@gmail.com>
parents:
14318
diff
changeset
|
442 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
443 | g_type_init(); |
|
14397
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14387
diff
changeset
|
444 | |
|
e53755c4dcab
[gaim-migrate @ 17031]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14387
diff
changeset
|
445 | init_wm(); |
|
15814
2db42c6a13fa
Add a gntclipboard. You can select text in a textview with the mouse, and paste it in an entry with ctrl-v (or rebind GntEntry's clipboard-paste).
Richard Nelson <wabz@pidgin.im>
parents:
15485
diff
changeset
|
446 | |
|
2db42c6a13fa
Add a gntclipboard. You can select text in a textview with the mouse, and paste it in an entry with ctrl-v (or rebind GntEntry's clipboard-paste).
Richard Nelson <wabz@pidgin.im>
parents:
15485
diff
changeset
|
447 | clipboard = g_object_new(GNT_TYPE_CLIPBOARD, NULL); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
448 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
449 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
450 | void gnt_main() |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
451 | { |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
452 | wm->loop = g_main_loop_new(NULL, FALSE); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
453 | g_main_loop_run(wm->loop); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
454 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
455 | |
|
13931
a0a91e17f899
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13922
diff
changeset
|
456 | /********************************* |
|
a0a91e17f899
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13922
diff
changeset
|
457 | * Stuff for 'window management' * |
|
a0a91e17f899
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13922
diff
changeset
|
458 | *********************************/ |
|
a0a91e17f899
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13922
diff
changeset
|
459 | |
|
a0a91e17f899
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13922
diff
changeset
|
460 | void gnt_screen_occupy(GntWidget *widget) |
|
a0a91e17f899
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13922
diff
changeset
|
461 | { |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
462 | gnt_wm_new_window(wm, widget); |
|
13931
a0a91e17f899
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13922
diff
changeset
|
463 | } |
|
a0a91e17f899
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13922
diff
changeset
|
464 | |
|
a0a91e17f899
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13922
diff
changeset
|
465 | void gnt_screen_release(GntWidget *widget) |
|
a0a91e17f899
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13922
diff
changeset
|
466 | { |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
467 | gnt_wm_window_close(wm, widget); |
|
13931
a0a91e17f899
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13922
diff
changeset
|
468 | } |
|
a0a91e17f899
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13922
diff
changeset
|
469 | |
|
13940
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
470 | void gnt_screen_update(GntWidget *widget) |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
471 | { |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
472 | gnt_wm_update_window(wm, widget); |
|
13940
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
473 | } |
|
26ed45b11483
[gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
474 | |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13955
diff
changeset
|
475 | gboolean gnt_widget_has_focus(GntWidget *widget) |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13955
diff
changeset
|
476 | { |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13955
diff
changeset
|
477 | GntWidget *w; |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13955
diff
changeset
|
478 | if (!widget) |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13955
diff
changeset
|
479 | return FALSE; |
|
14675
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
480 | |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
481 | if (GNT_IS_MENU(widget)) |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
482 | return TRUE; |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13955
diff
changeset
|
483 | |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13955
diff
changeset
|
484 | w = widget; |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13955
diff
changeset
|
485 | |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13955
diff
changeset
|
486 | while (widget->parent) |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13955
diff
changeset
|
487 | widget = widget->parent; |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
488 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
489 | if (widget == wm->_list.window) |
|
13992
a6bbcc09c4eb
[gaim-migrate @ 16457]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13989
diff
changeset
|
490 | return TRUE; |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
491 | if (wm->ordered && wm->ordered->data == widget) { |
|
13969
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
492 | if (GNT_IS_BOX(widget) && |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
493 | (GNT_BOX(widget)->active == w || widget == w)) |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
494 | return TRUE; |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
495 | } |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13955
diff
changeset
|
496 | return FALSE; |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13955
diff
changeset
|
497 | } |
|
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13955
diff
changeset
|
498 | |
|
13959
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
499 | void gnt_widget_set_urgent(GntWidget *widget) |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
500 | { |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
501 | while (widget->parent) |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
502 | widget = widget->parent; |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
503 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
504 | if (wm->ordered && wm->ordered->data == widget) |
|
13959
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
505 | return; |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
506 | |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
507 | GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_URGENT); |
|
14452
a21351048a3a
[gaim-migrate @ 17096]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14450
diff
changeset
|
508 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
509 | gnt_wm_update_window(wm, widget); |
|
13959
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
510 | } |
|
49d3a87c2679
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13958
diff
changeset
|
511 | |
|
13969
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
512 | void gnt_quit() |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
513 | { |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
514 | g_hash_table_destroy(wm->nodes); /* XXX: */ |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
515 | update_panels(); |
|
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
516 | doupdate(); |
|
14026
ad91ce0effe2
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14019
diff
changeset
|
517 | gnt_uninit_colors(); |
|
14072
4e64a4f18686
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14066
diff
changeset
|
518 | gnt_uninit_styles(); |
|
13969
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
519 | endwin(); |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
520 | } |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13959
diff
changeset
|
521 | |
|
13989
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13981
diff
changeset
|
522 | gboolean gnt_ascii_only() |
|
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13981
diff
changeset
|
523 | { |
|
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13981
diff
changeset
|
524 | return ascii_only; |
|
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13981
diff
changeset
|
525 | } |
|
9a647311c9ac
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13981
diff
changeset
|
526 | |
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13996
diff
changeset
|
527 | void gnt_screen_resize_widget(GntWidget *widget, int width, int height) |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13996
diff
changeset
|
528 | { |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
529 | gnt_wm_resize_window(wm, widget, width, height); |
|
14005
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13996
diff
changeset
|
530 | } |
|
198d1658b390
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13996
diff
changeset
|
531 | |
|
14201
d54dc208efe2
[gaim-migrate @ 16781]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14193
diff
changeset
|
532 | void gnt_screen_move_widget(GntWidget *widget, int x, int y) |
|
d54dc208efe2
[gaim-migrate @ 16781]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14193
diff
changeset
|
533 | { |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
534 | gnt_wm_move_window(wm, widget, x, y); |
|
14201
d54dc208efe2
[gaim-migrate @ 16781]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14193
diff
changeset
|
535 | } |
|
d54dc208efe2
[gaim-migrate @ 16781]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14193
diff
changeset
|
536 | |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14449
diff
changeset
|
537 | void gnt_screen_rename_widget(GntWidget *widget, const char *text) |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14449
diff
changeset
|
538 | { |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14449
diff
changeset
|
539 | gnt_box_set_title(GNT_BOX(widget), text); |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14449
diff
changeset
|
540 | gnt_widget_draw(widget); |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
541 | gnt_wm_update_window(wm, widget); |
|
14450
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14449
diff
changeset
|
542 | } |
|
1ac2b6e98ef8
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14449
diff
changeset
|
543 | |
|
14467
359d9aad0f01
[gaim-migrate @ 17113]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14452
diff
changeset
|
544 | void gnt_register_action(const char *label, void (*callback)()) |
|
359d9aad0f01
[gaim-migrate @ 17113]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14452
diff
changeset
|
545 | { |
|
359d9aad0f01
[gaim-migrate @ 17113]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14452
diff
changeset
|
546 | GntAction *action = g_new0(GntAction, 1); |
|
359d9aad0f01
[gaim-migrate @ 17113]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14452
diff
changeset
|
547 | action->label = g_strdup(label); |
|
359d9aad0f01
[gaim-migrate @ 17113]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14452
diff
changeset
|
548 | action->callback = callback; |
|
359d9aad0f01
[gaim-migrate @ 17113]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14452
diff
changeset
|
549 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
550 | wm->acts = g_list_append(wm->acts, action); |
|
14467
359d9aad0f01
[gaim-migrate @ 17113]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14452
diff
changeset
|
551 | } |
|
359d9aad0f01
[gaim-migrate @ 17113]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14452
diff
changeset
|
552 | |
|
14675
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
553 | static void |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
554 | reset_menu(GntWidget *widget, gpointer null) |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
555 | { |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
556 | wm->menu = NULL; |
|
14675
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
557 | } |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
558 | |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
559 | gboolean gnt_screen_menu_show(gpointer newmenu) |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
560 | { |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
561 | if (wm->menu) { |
|
14675
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
562 | /* For now, if a menu is being displayed, then another menu |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
563 | * can NOT take over. */ |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
564 | return FALSE; |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
565 | } |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
566 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
567 | wm->menu = newmenu; |
|
14968
2b1ed06a4773
[gaim-migrate @ 17678]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14962
diff
changeset
|
568 | GNT_WIDGET_UNSET_FLAGS(GNT_WIDGET(wm->menu), GNT_WIDGET_INVISIBLE); |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
569 | gnt_widget_draw(GNT_WIDGET(wm->menu)); |
|
14675
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
570 | |
|
14962
abfaa2e03ac7
[gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14943
diff
changeset
|
571 | g_signal_connect(G_OBJECT(wm->menu), "hide", G_CALLBACK(reset_menu), NULL); |
|
16837
d3b8ba967fdc
Fix context menu unusualness in the buddylist.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16356
diff
changeset
|
572 | g_signal_connect(G_OBJECT(wm->menu), "destroy", G_CALLBACK(reset_menu), NULL); |
|
14675
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
573 | |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
574 | return TRUE; |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
575 | } |
|
be8af28d1980
[gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14606
diff
changeset
|
576 | |
|
15814
2db42c6a13fa
Add a gntclipboard. You can select text in a textview with the mouse, and paste it in an entry with ctrl-v (or rebind GntEntry's clipboard-paste).
Richard Nelson <wabz@pidgin.im>
parents:
15485
diff
changeset
|
577 | void gnt_set_clipboard_string(gchar *string) |
|
2db42c6a13fa
Add a gntclipboard. You can select text in a textview with the mouse, and paste it in an entry with ctrl-v (or rebind GntEntry's clipboard-paste).
Richard Nelson <wabz@pidgin.im>
parents:
15485
diff
changeset
|
578 | { |
|
2db42c6a13fa
Add a gntclipboard. You can select text in a textview with the mouse, and paste it in an entry with ctrl-v (or rebind GntEntry's clipboard-paste).
Richard Nelson <wabz@pidgin.im>
parents:
15485
diff
changeset
|
579 | gnt_clipboard_set_string(clipboard, string); |
|
2db42c6a13fa
Add a gntclipboard. You can select text in a textview with the mouse, and paste it in an entry with ctrl-v (or rebind GntEntry's clipboard-paste).
Richard Nelson <wabz@pidgin.im>
parents:
15485
diff
changeset
|
580 | } |
|
2db42c6a13fa
Add a gntclipboard. You can select text in a textview with the mouse, and paste it in an entry with ctrl-v (or rebind GntEntry's clipboard-paste).
Richard Nelson <wabz@pidgin.im>
parents:
15485
diff
changeset
|
581 | |
|
2db42c6a13fa
Add a gntclipboard. You can select text in a textview with the mouse, and paste it in an entry with ctrl-v (or rebind GntEntry's clipboard-paste).
Richard Nelson <wabz@pidgin.im>
parents:
15485
diff
changeset
|
582 | GntClipboard *gnt_get_clipboard() |
|
2db42c6a13fa
Add a gntclipboard. You can select text in a textview with the mouse, and paste it in an entry with ctrl-v (or rebind GntEntry's clipboard-paste).
Richard Nelson <wabz@pidgin.im>
parents:
15485
diff
changeset
|
583 | { |
|
2db42c6a13fa
Add a gntclipboard. You can select text in a textview with the mouse, and paste it in an entry with ctrl-v (or rebind GntEntry's clipboard-paste).
Richard Nelson <wabz@pidgin.im>
parents:
15485
diff
changeset
|
584 | return clipboard; |
|
2db42c6a13fa
Add a gntclipboard. You can select text in a textview with the mouse, and paste it in an entry with ctrl-v (or rebind GntEntry's clipboard-paste).
Richard Nelson <wabz@pidgin.im>
parents:
15485
diff
changeset
|
585 | } |
|
2db42c6a13fa
Add a gntclipboard. You can select text in a textview with the mouse, and paste it in an entry with ctrl-v (or rebind GntEntry's clipboard-paste).
Richard Nelson <wabz@pidgin.im>
parents:
15485
diff
changeset
|
586 | gchar *gnt_get_clipboard_string() |
|
2db42c6a13fa
Add a gntclipboard. You can select text in a textview with the mouse, and paste it in an entry with ctrl-v (or rebind GntEntry's clipboard-paste).
Richard Nelson <wabz@pidgin.im>
parents:
15485
diff
changeset
|
587 | { |
|
2db42c6a13fa
Add a gntclipboard. You can select text in a textview with the mouse, and paste it in an entry with ctrl-v (or rebind GntEntry's clipboard-paste).
Richard Nelson <wabz@pidgin.im>
parents:
15485
diff
changeset
|
588 | return gnt_clipboard_get_string(clipboard); |
|
2db42c6a13fa
Add a gntclipboard. You can select text in a textview with the mouse, and paste it in an entry with ctrl-v (or rebind GntEntry's clipboard-paste).
Richard Nelson <wabz@pidgin.im>
parents:
15485
diff
changeset
|
589 | } |