update time every min

This commit is contained in:
Venelin Dechkov
2026-07-30 11:54:49 +03:00
parent b275554213
commit 4a5e539580
4 changed files with 48 additions and 11 deletions
+2
View File
@@ -44,6 +44,7 @@ static const float mfact = 0.55; /* factor of master area size [0.05..0.95]
static const int nmaster = 1; /* number of clients in master area */ static const int nmaster = 1; /* number of clients in master area */
static const int resizehints = 0; /* 1 means respect size hints in tiled resizals */ static const int resizehints = 0; /* 1 means respect size hints in tiled resizals */
static const int lockfullscreen = 1; /* 1 will force focus on the fullscreen window */ static const int lockfullscreen = 1; /* 1 will force focus on the fullscreen window */
static const int refreshrate = 60; /* refresh rate (per second) for client move/resize */
static const Layout layouts[] = { static const Layout layouts[] = {
/* symbol arrange function */ /* symbol arrange function */
@@ -88,6 +89,7 @@ static const Key keys[] = {
{ MODKEY, XK_v, vene_clip_history,{0} }, // Clip history { MODKEY, XK_v, vene_clip_history,{0} }, // Clip history
{ ShiftMask, XK_Insert, spawn, { .v = simulate_mmb } }, // Paste what the mouse selection by simulating a MMB click { ShiftMask, XK_Insert, spawn, { .v = simulate_mmb } }, // Paste what the mouse selection by simulating a MMB click
{ MODKEY|ShiftMask, XK_b, webbookmark, {0} }, // Open a web bookmark { MODKEY|ShiftMask, XK_b, webbookmark, {0} }, // Open a web bookmark
{ MODKEY, XK_z, vene_zzz, {0} }, // Sleep
{ 0, XF86XK_AudioRaiseVolume, vene_inc_vol, {0} }, { 0, XF86XK_AudioRaiseVolume, vene_inc_vol, {0} },
{ 0, XF86XK_AudioLowerVolume, vene_dec_vol, {0} }, { 0, XF86XK_AudioLowerVolume, vene_dec_vol, {0} },
{ 0, XF86XK_AudioMute, vene_toggle_vol, {0} }, { 0, XF86XK_AudioMute, vene_toggle_vol, {0} },
+32 -1
View File
@@ -1384,10 +1384,41 @@ run(void)
XEvent ev; XEvent ev;
/* main event loop */ /* main event loop */
XSync(dpy, False); XSync(dpy, False);
while (!XNextEvent(dpy, &ev))
int display_fd = ConnectionNumber(dpy);
while (1)
{ {
// Wait until there is an XEvent
fd_set waited_read_fds;
FD_ZERO(&waited_read_fds);
FD_SET(display_fd, &waited_read_fds);
struct timeval tv;
tv.tv_sec = 60;
tv.tv_usec = 0;
int fds_ready_count = select(display_fd + 1, &waited_read_fds, NULL, NULL, &tv);
if(fds_ready_count > 0)
{
// Event pending
while(XPending(dpy))
{
XNextEvent(dpy, &ev);
if (handler[ev.type]) if (handler[ev.type])
handler[ev.type](&ev); /* call handler */ handler[ev.type](&ev); /* call handler */
}
}
else if(fds_ready_count == 0)
{
// timeout
}
else
{
// error
}
vene_run(); vene_run();
} }
+11 -8
View File
@@ -8,7 +8,7 @@
#include <cppipe/commands.hpp> #include <cppipe/commands.hpp>
#include <X11/X.h> #include <X11/X.h>
// #include "vene.h" // #include "vene.h"
#include "vene_env.h" #include <vene_env.h>
extern "C" extern "C"
{ {
#include "slstatus/slstatus.h" #include "slstatus/slstatus.h"
@@ -272,15 +272,13 @@ extern "C"
void vene_clip_history(const Arg*) void vene_clip_history(const Arg*)
{ {
Cmd clipmenu("clipmenu", DMENU_ARGS);
Cmd get_clip("xclip", "-o");
Cmd xdotool("xdotool", "type", "--delay", "0", "--clearmodifiers");
// Select a history entry and put to clip // Select a history entry and put to clip
clipmenu(); Cmd clipmenu("clipmenu", DMENU_ARGS);
// Simulate keyboard input // Paste
run(xdotool + $(get_clip).c_str()); Cmd xdotool("xdotool", "key", "--delay", "0", "--clearmodifiers", "shift+Insert");
clipmenu && xdotool;
} }
void vene_browser(const Arg* browser_tag) void vene_browser(const Arg* browser_tag)
@@ -362,4 +360,9 @@ extern "C"
child = detach(toggle_mic); child = detach(toggle_mic);
has_child = true; has_child = true;
} }
void vene_zzz(const Arg*)
{
ofstream("/sys/power/state") << "mem";
}
} }
+1
View File
@@ -23,6 +23,7 @@ void vene_inc_vol(const Arg*);
void vene_dec_vol(const Arg*); void vene_dec_vol(const Arg*);
void vene_toggle_vol(const Arg*); void vene_toggle_vol(const Arg*);
void vene_toggle_mic(const Arg*); void vene_toggle_mic(const Arg*);
void vene_zzz(const Arg*);
#ifdef __cplusplus #ifdef __cplusplus
} }