xaizek / euclid-wm (License: BSD 3-Clause) (since 2018-12-07)
A minimalist, tiling window manager for X11 that seeks to allow easy management of numerous windows entirely from the keyboard.
Commit c90ce0e2a7a0d667b344927cf982c5280f3d83a7

Pageup/Pagedown move through screens, keys: goto_next_screen, goto_previous_screen
Author: wmdiem
Author date (UTC): 2010-08-01 18:31
Committer name: wmdiem
Committer date (UTC): 2010-08-01 18:31
Parent(s): 753fd6e1daa403fcae198b61adeedb47c0018e90
Signing key:
Tree: d231f39a0dd8b17daefe44138e08781305aa0424
File Lines added Lines deleted
euclid-wm.c 27 1
File euclid-wm.c changed (mode: 100644) (index ff1afc1..1c30abf)
... ... Thus the one or more of the following notices may apply to some sections:
88 88 #include <errno.h> #include <errno.h>
89 89 #include <X11/extensions/Xinerama.h> #include <X11/extensions/Xinerama.h>
90 90
91 #define BINDINGS 62
91 #define BINDINGS 64
92 92 /*BASIC VARIABLE TYPES*/ /*BASIC VARIABLE TYPES*/
93 93
94 94 /* /*
 
... ... void load_defaults() {
316 316 // user defined -60 // user defined -60
317 317
318 318 bind_key("r",&mod,&bindings[61]); bind_key("r",&mod,&bindings[61]);
319
320 //prev/next view
321 bind_key("Prior", &mod,&bindings[62]);
322 bind_key("Next", &mod, &bindings[63]);
319 323 } }
320 324
321 325 void spawn(char *cmd) { void spawn(char *cmd) {
 
... ... void load_conf() {
596 600 bindx = 60; bindx = 60;
597 601 } else if (strcmp(key,"bind_reload_config") == 0) { } else if (strcmp(key,"bind_reload_config") == 0) {
598 602 bindx = 61; bindx = 61;
603 } else if (strcmp(key,"bind_goto_previous_screen") == 0) {
604 bindx = 62;
605 } else if (strcmp(key,"bind_goto_next_screen") == 0) {
606 bindx = 63;
599 607 } else { } else {
600 608 fprintf(stderr,"euclid-wm ERROR: uknown binding in config: \"%s\"\n",key), fprintf(stderr,"euclid-wm ERROR: uknown binding in config: \"%s\"\n",key),
601 609 known = false; known = false;
 
... ... int event_loop() {
2211 2219 xgcv.foreground = stack_unfocus_pix; xgcv.foreground = stack_unfocus_pix;
2212 2220 unfocus_gc = XCreateGC(dpy,cs->stackid,GCForeground,&xgcv); unfocus_gc = XCreateGC(dpy,cs->stackid,GCForeground,&xgcv);
2213 2221 }; };
2222 case 62:
2223 //move to previous screen
2224 if (cs != firstscreen) {
2225 struct screen *s = firstscreen;
2226 while (s->next != cs) {
2227 s = s->next;
2228 };
2229 cs = s;
2230 redraw = true;
2231 };
2232 break;
2233 case 63:
2234 //move to next screen
2235 if (cs->next != NULL) {
2236 cs = cs->next;
2237 redraw = true;
2238 };
2239 break;
2214 2240 }; };
2215 2241
2216 2242 } else if (ev.type == ReparentNotify) { } else if (ev.type == ReparentNotify) {
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/euclid-wm

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/euclid-wm

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master