Enlightenment CVS committal
Author : mej
Project : eterm
Module : Eterm
Dir : eterm/Eterm/src
Modified Files:
events.c options.c options.h screen.c term.c
Log Message:
Wed May 14 14:54:16 2008 Michael Jennings (mej)
Modified patch from [EMAIL PROTECTED] to allow setting of the "Urgent" hint
on beep.
----------------------------------------------------------------------
===================================================================
RCS file: /cvs/e/eterm/Eterm/src/events.c,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -3 -r1.67 -r1.68
--- events.c 13 Feb 2006 19:52:45 -0000 1.67
+++ events.c 14 May 2008 21:54:44 -0000 1.68
@@ -21,7 +21,7 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
-static const char cvs_ident[] = "$Id: events.c,v 1.67 2006/02/13 19:52:45 mej
Exp $";
+static const char cvs_ident[] = "$Id: events.c,v 1.68 2008/05/14 21:54:44 mej
Exp $";
#include "config.h"
#include "feature.h"
@@ -200,6 +200,7 @@
unsigned char
handle_key_press(event_t *ev)
{
+ XWMHints *wm_hints;
#ifdef COUNT_X_EVENTS
static unsigned long keypress_cnt = 0;
#endif
@@ -214,6 +215,12 @@
if (!(BITFIELD_IS_SET(eterm_options, ETERM_OPTIONS_NO_INPUT))) {
lookup_key(ev);
}
+ if (BITFIELD_IS_SET(vt_options, VT_OPTIONS_URG_ALERT)) {
+ wm_hints = XGetWMHints(Xdisplay, TermWin.parent);
+ wm_hints->flags &= ~XUrgencyHint;
+ XSetWMHints(Xdisplay, TermWin.parent, wm_hints);
+ XFree(wm_hints);
+ }
PROF_DONE(handle_key_press);
PROF_TIME(handle_key_press);
return 1;
@@ -453,6 +460,7 @@
unsigned char
handle_focus_in(event_t *ev)
{
+ XWMHints *wm_hints;
D_EVENTS(("handle_focus_in(ev [%8p] on window 0x%08x)\n", ev,
ev->xany.window));
@@ -488,6 +496,12 @@
if (xim_input_context != NULL)
XSetICFocus(xim_input_context);
#endif
+ if (BITFIELD_IS_SET(vt_options, VT_OPTIONS_URG_ALERT)) {
+ wm_hints = XGetWMHints(Xdisplay, TermWin.parent);
+ wm_hints->flags &= ~XUrgencyHint;
+ XSetWMHints(Xdisplay, TermWin.parent, wm_hints);
+ XFree(wm_hints);
+ }
}
return 1;
}
===================================================================
RCS file: /cvs/e/eterm/Eterm/src/options.c,v
retrieving revision 1.144
retrieving revision 1.145
diff -u -3 -r1.144 -r1.145
--- options.c 30 Oct 2006 21:12:12 -0000 1.144
+++ options.c 14 May 2008 21:54:45 -0000 1.145
@@ -21,7 +21,7 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
-static const char cvs_ident[] = "$Id: options.c,v 1.144 2006/10/30 21:12:12
mej Exp $";
+static const char cvs_ident[] = "$Id: options.c,v 1.145 2008/05/14 21:54:45
mej Exp $";
#include "config.h"
#include "feature.h"
@@ -311,6 +311,7 @@
SPIFOPT_BOOL('m', "map-alert", "uniconify on beep", vt_options,
VT_OPTIONS_MAP_ALERT),
# endif
#endif
+ SPIFOPT_BOOL_LONG("urg-alert", "set urgent hint on beep", vt_options,
VT_OPTIONS_URG_ALERT),
#ifdef META8_OPTION
SPIFOPT_BOOL('8', "meta-8", "Meta key toggles 8-bit", vt_options,
VT_OPTIONS_META8),
#endif
@@ -1078,6 +1079,12 @@
libast_print_warning("Support for the map_alert attribute was not
compiled in, ignoring\n");
#endif
+ } else if (!BEG_STRCASECMP(buff, "urg_alert ")) {
+ if (bool_val) {
+ BITFIELD_SET(vt_options, VT_OPTIONS_URG_ALERT);
+ } else {
+ BITFIELD_CLEAR(vt_options, VT_OPTIONS_URG_ALERT);
+ }
} else if (!BEG_STRCASECMP(buff, "visual_bell ")) {
if (bool_val) {
BITFIELD_SET(vt_options, VT_OPTIONS_VISUAL_BELL);
@@ -3808,6 +3815,7 @@
fprintf(fp, "begin toggles\n");
fprintf(fp, " map_alert %d\n", (BITFIELD_IS_SET(vt_options,
VT_OPTIONS_MAP_ALERT) ? 1 : 0));
+ fprintf(fp, " urg_alert %d\n", (BITFIELD_IS_SET(vt_options,
VT_OPTIONS_URG_ALERT) ? 1 : 0));
fprintf(fp, " visual_bell %d\n", (BITFIELD_IS_SET(vt_options,
VT_OPTIONS_VISUAL_BELL) ? 1 : 0));
fprintf(fp, " login_shell %d\n", (BITFIELD_IS_SET(eterm_options,
ETERM_OPTIONS_LOGIN_SHELL) ? 1 : 0));
fprintf(fp, " scrollbar %d\n", (BITFIELD_IS_SET(eterm_options,
ETERM_OPTIONS_SCROLLBAR) ? 1 : 0));
===================================================================
RCS file: /cvs/e/eterm/Eterm/src/options.h,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -3 -r1.55 -r1.56
--- options.h 30 Oct 2006 21:12:12 -0000 1.55
+++ options.h 14 May 2008 21:54:45 -0000 1.56
@@ -42,6 +42,7 @@
# define VT_OPTIONS_BOLD_BRIGHTENS_FOREGROUND (1LU << 11)
# define VT_OPTIONS_BLINK_BRIGHTENS_BACKGROUND (1LU << 12)
# define VT_OPTIONS_COLORS_SUPPRESS_BOLD (1LU << 13)
+# define VT_OPTIONS_URG_ALERT (1LU << 14)
# define ETERM_OPTIONS_LOGIN_SHELL (1LU << 0)
# define ETERM_OPTIONS_ICONIC (1LU << 1)
===================================================================
RCS file: /cvs/e/eterm/Eterm/src/screen.c,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -3 -r1.88 -r1.89
--- screen.c 13 Feb 2006 19:52:45 -0000 1.88
+++ screen.c 14 May 2008 21:54:45 -0000 1.89
@@ -3,7 +3,7 @@
*
*/
-static const char cvs_ident[] = "$Id: screen.c,v 1.88 2006/02/13 19:52:45 mej
Exp $";
+static const char cvs_ident[] = "$Id: screen.c,v 1.89 2008/05/14 21:54:45 mej
Exp $";
#include "config.h"
#include "feature.h"
@@ -1552,6 +1552,14 @@
void
scr_bell(void)
{
+ XWMHints *wm_hints;
+
+ if (BITFIELD_IS_SET(vt_options, VT_OPTIONS_URG_ALERT)) {
+ wm_hints = XGetWMHints(Xdisplay, TermWin.parent);
+ wm_hints->flags |= XUrgencyHint;
+ XSetWMHints(Xdisplay, TermWin.parent, wm_hints);
+ XFree(wm_hints);
+ }
#ifndef NO_MAPALERT
#ifdef MAPALERT_OPTION
if (BITFIELD_IS_SET(vt_options, VT_OPTIONS_MAP_ALERT))
===================================================================
RCS file: /cvs/e/eterm/Eterm/src/term.c,v
retrieving revision 1.111
retrieving revision 1.112
diff -u -3 -r1.111 -r1.112
--- term.c 13 Feb 2006 19:52:45 -0000 1.111
+++ term.c 14 May 2008 21:54:45 -0000 1.112
@@ -21,7 +21,7 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
-static const char cvs_ident[] = "$Id: term.c,v 1.111 2006/02/13 19:52:45 mej
Exp $";
+static const char cvs_ident[] = "$Id: term.c,v 1.112 2008/05/14 21:54:45 mej
Exp $";
#include "config.h"
#include "feature.h"
@@ -2618,6 +2618,10 @@
wm_hints->input = ((BITFIELD_IS_SET(eterm_options,
ETERM_OPTIONS_NO_INPUT)) ? False : True);
XSetWMHints(Xdisplay, TermWin.parent, wm_hints);
XFree(wm_hints);
+ break;
+ case 28:
+ nstr = (char *) strsep(&tnstr, ";");
+ OPT_SET_OR_TOGGLE(nstr, vt_options, VT_OPTIONS_URG_ALERT);
break;
case 40:
nstr = (char *) strsep(&tnstr, ";");
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs