Ключевые слова:patch, (найти похожие документы)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
From : (GalaxyMaster) 2:5020/149 19 Aug 99 14:13:20
Subj : Midnight Commander и часики (для вас любители этих тикающих гадов)
________________________________________________________________________________
Hi, Dear (╢ll!
~~~~~~~~~~~~~~
=)) Помню, говорили тут о нехватке часиков в верхнем правом углу. Вчера случайно
вспомнил об этом, залез в исходники, подпачил, сутки гонял -
вроде все пучком... Проверил и slang & curses - и там и там - нормально.
Короче, ниже следует патчик для MC 4.5.37 (незнаю свежий он или нет, другого
у меня нет), коий добаляет пассивные часы в верхний угол экрана (интересно,
а кому могут понадобится активные??? =)). Эти часики обнавляются при нажатии
на любую клавишу и видны только в том случае, если меню всегда видно (иначе
их некуда пихать =)).
Сильно ногами не пинайте, я первый раз патч для общественности делал, а вот
разумные предложения по улучшению моего стиля программирования всегда
пожалуйста... Я только-только начинаю въезжать, как писать под линукс... =)
_-_->8 Cut Here 8<-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
diff -uNr mc-4.5.37.orig/src/key.c mc-4.5.37/src/key.c
_-_ mc-4.5.37.orig/src/key.c Tue Jul 13 07:57:28 1999
+++ mc-4.5.37/src/key.c Thu Aug 19 12:11:07 1999
@@ -38,6 +38,7 @@
#include <errno.h>
#include "global.h"
#include "mouse.h"
+#include "menu.h" /* Used for update_clock() in get_key_code() */
#include "key.h"
#include "main.h"
#include "win.h"
@@ -461,6 +462,8 @@
static struct timeval esctime = { -1, -1 };
static int lastnodelay = -1;
+ update_clock();
+
if (no_delay != lastnodelay) {
this = NULL;
lastnodelay = no_delay;
diff -uNr mc-4.5.37.orig/src/menu.c mc-4.5.37/src/menu.c
_-_ mc-4.5.37.orig/src/menu.c Tue Jul 13 07:57:28 1999
+++ mc-4.5.37/src/menu.c Thu Aug 19 12:03:28 1999
@@ -162,6 +162,8 @@
for (i = menubar->widget.cols; i; i--)
addch (' ');
+ update_clock();
+
attrset (SELECTED_COLOR);
/* Now each one of the entries */
for (i = 0; i < items; i++){
@@ -543,3 +545,39 @@
return menubar;
}
+
+/*
+ Small'n'Dirty Clock for MC
+ _-__-__-__-__-__-__-__-_--
+ This hack provides a small passive clock in the upper right corner of screen
+ Clock is visible only if menubar visible. This clock is not a realtime, so
+ it will be updated as soon as one of several events occurs. I do not think
+ that realtime clock needed, because unnecessary time check and screen output
+ must be performed, but if you will - call update_clock() within every second
+ or you can mail me (if you really need realtime clock in MC).
+
+ (GalaxyMaster) // D$C
+ <[email protected]>
+*/
+void update_clock (void)
+{
+ int x,y;
+ if (menubar_visible){ /* Menubar visibility check */
+ char timestr[6]; /* Used for storing time string */
+ time_t current_time=time(NULL); /* Let's get current time... */
+ if (current_time > 0){ /* Check for correct time value */
+ if (!(strftime(timestr, 6, "%R", localtime(¤t_time))))
+ strcpy(timestr,"??:??");
+#ifdef HAVE_SLANG
+ x = SLsmg_get_column(); /* Saving cursor coordinate (x) */
+ y = SLsmg_get_row(); /* Saving cursor coordinate (y) */
+#else
+ getyx(stdscr,y,x); /* Saving cursor coords (x,y) */
+#endif
+ move(0, COLS-6); /* Moving cursor to upper right */
+ attrset(SELECTED_COLOR); /* Setting color attr. of clock */
+ addstr(timestr); addch(' '); /* Here comes... =) */
+ move(y,x); /* Restoring cursor coordinates */
+ }
+ }
+};
diff -uNr mc-4.5.37.orig/src/menu.h mc-4.5.37/src/menu.h
_-_ mc-4.5.37.orig/src/menu.h Tue Jul 13 07:57:28 1999
+++ mc-4.5.37/src/menu.h Thu Aug 19 12:01:38 1999
@@ -60,5 +60,6 @@
void menubar_arrange (WMenu* menubar);
int menubar_event (Gpm_Event *event, WMenu *menubar);
+void update_clock(void); /* Draws clock in upper right corner of MC */
#endif /* __MENU_H */
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-->8 Cut Here 8<_-_
Note: над всеми '+++' находятся _три минуса_, поправьте перед патчиньем....
(GalaxyMaster) // D$C
****
E-Mail: [email protected]
WWW : http://www.geocities.com/SiliconValley/Way/6520/
****