mirror of
https://github.com/gryf/wmaker.git
synced 2026-01-11 00:44:12 +01:00
This patch adds a new Central feature under the window menu "Other maximization" entry. Shortcut can be configured via WPrefs "Center active window" action. When called the active window is centered on the screen head. If the window height or width are bigger than the head size, the window is resized to fit. There are some transitions defined as below: *from fullscreen to center *from any corner to center *from top half to center top half *from bottom half to center bottom half *from left half to center left half *from right half to center right half Undoing the action is done via the window menu "Unmaximize" entry or the shortcut.
420 lines
8.4 KiB
C
420 lines
8.4 KiB
C
/* diamond mark */
|
|
#define MENU_RADIO_INDICATOR_XBM_SIZE 9
|
|
static unsigned char MENU_RADIO_INDICATOR_XBM_DATA[] = {
|
|
0x10, 0x00, 0x38, 0x00, 0x7c, 0x00, 0xee, 0x00, 0xc7, 0x01, 0xee, 0x00,
|
|
0x7c, 0x00, 0x38, 0x00, 0x10, 0x00};
|
|
|
|
/* check mark */
|
|
#define MENU_CHECK_INDICATOR_XBM_SIZE 9
|
|
static unsigned char MENU_CHECK_INDICATOR_XBM_DATA[] = {
|
|
0x00, 0x01, 0x83, 0x01, 0xc3, 0x00, 0x63, 0x00, 0x33, 0x00, 0x1b, 0x00,
|
|
0x0f, 0x00, 0x07, 0x00, 0x03, 0x00};
|
|
|
|
#define MENU_MINI_INDICATOR_XBM_SIZE 9
|
|
static unsigned char MENU_MINI_INDICATOR_XBM_DATA[] = {
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
|
0x01, 0x01, 0x01, 0x01, 0xff, 0x01};
|
|
|
|
#define MENU_HIDE_INDICATOR_XBM_SIZE 9
|
|
static unsigned char MENU_HIDE_INDICATOR_XBM_DATA[] = {
|
|
0x99, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00,
|
|
0x00, 0x00, 0x00, 0x01, 0x33, 0x01};
|
|
|
|
#define MENU_SHADE_INDICATOR_XBM_SIZE 9
|
|
static unsigned char MENU_SHADE_INDICATOR_XBM_DATA[] = {
|
|
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
|
|
|
#define MENU_SNAP_INDICATOR_W_XBM_SIZE 10
|
|
#define MENU_SNAP_INDICATOR_H_XBM_SIZE 9
|
|
|
|
static unsigned char MENU_SNAP_V_INDICATOR_XBM_DATA[] = {
|
|
0xff, 0x03, 0x1d, 0x02, 0x1d, 0x02, 0x1d, 0x02, 0x1d, 0x02, 0x1d, 0x02,
|
|
0x1d, 0x02, 0x1d, 0x02, 0xff, 0x03 };
|
|
|
|
static unsigned char MENU_SNAP_H_INDICATOR_XBM_DATA[] = {
|
|
0xff, 0x03, 0x01, 0x02, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0x01, 0x02,
|
|
0x01, 0x02, 0x01, 0x02, 0xff, 0x03 };
|
|
|
|
static unsigned char MENU_CENTRAL_INDICATOR_XBM_DATA[] = {
|
|
0xff, 0x03, 0x01, 0x02, 0x79, 0x02, 0x79, 0x02, 0x79, 0x02, 0x79, 0x02,
|
|
0x79, 0x02, 0x01, 0x02, 0xff, 0x03 };
|
|
|
|
static unsigned char MENU_SNAP_RH_INDICATOR_XBM_DATA[] = {
|
|
0xff, 0x03, 0x01, 0x02, 0xe1, 0x02, 0xe1, 0x02, 0xe1, 0x02, 0xe1, 0x02,
|
|
0xe1, 0x02, 0x01, 0x02, 0xff, 0x03 };
|
|
|
|
static unsigned char MENU_SNAP_LH_INDICATOR_XBM_DATA[] = {
|
|
0xff, 0x03, 0x01, 0x02, 0x1d, 0x02, 0x1d, 0x02, 0x1d, 0x02, 0x1d, 0x02,
|
|
0x1d, 0x02, 0x01, 0x02, 0xff, 0x03 };
|
|
|
|
static unsigned char MENU_SNAP_TH_INDICATOR_XBM_DATA[] = {
|
|
0xff, 0x03, 0x01, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0xfd, 0x02, 0x01, 0x02,
|
|
0x01, 0x02, 0x01, 0x02, 0xff, 0x03 };
|
|
|
|
static unsigned char MENU_SNAP_BH_INDICATOR_XBM_DATA[] = {
|
|
0xff, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xfd, 0x02, 0xfd, 0x02,
|
|
0xfd, 0x02, 0x01, 0x02, 0xff, 0x03 };
|
|
|
|
static unsigned char MENU_SNAP_TL_INDICATOR_XBM_DATA[] = {
|
|
0xff, 0x03, 0x1f, 0x02, 0x1f, 0x02, 0x1f, 0x02, 0x01, 0x02, 0x01, 0x02,
|
|
0x01, 0x02, 0x01, 0x02, 0xff, 0x03 };
|
|
|
|
static unsigned char MENU_SNAP_TR_INDICATOR_XBM_DATA[] = {
|
|
0xff, 0x03, 0xe1, 0x03, 0xe1, 0x03, 0xe1, 0x03, 0x01, 0x02, 0x01, 0x02,
|
|
0x01, 0x02, 0x01, 0x02, 0xff, 0x03 };
|
|
|
|
static unsigned char MENU_SNAP_BL_INDICATOR_XBM_DATA[] = {
|
|
0xff, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x1f, 0x02,
|
|
0x1f, 0x02, 0x1f, 0x02, 0xff, 0x03 };
|
|
|
|
static unsigned char MENU_SNAP_BR_INDICATOR_XBM_DATA[] = {
|
|
0xff, 0x03, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0xe1, 0x03,
|
|
0xe1, 0x03, 0xe1, 0x03, 0xff, 0x03 };
|
|
|
|
static unsigned char MENU_SNAP_TILED_INDICATOR_XBM_DATA[] = {
|
|
0xff, 0x03, 0x1f, 0x02, 0x1f, 0x02, 0x1f, 0x02, 0x1f, 0x02, 0x1f, 0x02,
|
|
0xdf, 0x03, 0xdf, 0x03, 0xff, 0x03 };
|
|
|
|
/* button pixmaps */
|
|
/* the first one is for normal state, the second is for when
|
|
* the button is pushed */
|
|
static char *PRED_CLOSE_XPM[] = {
|
|
"10 10 3 1",
|
|
" c #000000",
|
|
". c #616561",
|
|
"X c None",
|
|
" .XXXXXX. ",
|
|
". .XXXX. .",
|
|
"X. .XX. .X",
|
|
"XX. .. .XX",
|
|
"XXX. .XXX",
|
|
"XXX. .XXX",
|
|
"XX. .. .XX",
|
|
"X. .XX. .X",
|
|
". .XXXX. .",
|
|
" .XXXXXX. "};
|
|
|
|
|
|
static char *PRED_BROKEN_CLOSE_XPM[] = {
|
|
"10 10 3 1",
|
|
" c #000000",
|
|
". c #616561",
|
|
"X c None",
|
|
" .XXXXXX. ",
|
|
". .XXXX. .",
|
|
"X. XXXX .X",
|
|
"XXXXXXXXXX",
|
|
"XXXXXXXXXX",
|
|
"XXXXXXXXXX",
|
|
"XXXXXXXXXX",
|
|
"X. XXXX .X",
|
|
". .XXXX. .",
|
|
" .XXXXXX. "};
|
|
|
|
|
|
static char *PRED_KILL_XPM[] = {
|
|
"10 10 3 1",
|
|
" c #000000",
|
|
". c #616561",
|
|
"X c None",
|
|
" .XXXXXX. ",
|
|
". XXXXXX .",
|
|
"XXXXXXXXXX",
|
|
"XXX .. XXX",
|
|
"XXX. .XXX",
|
|
"XXX. .XXX",
|
|
"XXX .. XXX",
|
|
"XXXXXXXXXX",
|
|
". XXXXXX .",
|
|
" .XXXXXX. "};
|
|
|
|
|
|
static char *PRED_ICONIFY_XPM[] = {
|
|
" 10 10 2 1",
|
|
". c #000000",
|
|
"# c None",
|
|
"..........",
|
|
"..........",
|
|
"..........",
|
|
".########.",
|
|
".########.",
|
|
".########.",
|
|
".########.",
|
|
".########.",
|
|
".########.",
|
|
".........."
|
|
};
|
|
|
|
static char *NEXT_CLOSE_XPM[] = {
|
|
"10 10 69 1",
|
|
" c None",
|
|
". c #FBFBFB",
|
|
"+ c #F9F9F9",
|
|
"@ c #F7F7F7",
|
|
"# c #F4F4F4",
|
|
"$ c #F0F0F0",
|
|
"% c #EDEDED",
|
|
"& c #E8E8E8",
|
|
"* c #AFAFAF",
|
|
"= c #FCFCFC",
|
|
"- c #8B8B8B",
|
|
"; c #DEDEDE",
|
|
"> c #E0E0E0",
|
|
", c #C7C7C7",
|
|
"' c #999999",
|
|
") c #2B2B2B",
|
|
"! c #878787",
|
|
"~ c #F1F1F1",
|
|
"{ c #222222",
|
|
"] c #C2C2C2",
|
|
"^ c #EBEBEB",
|
|
"/ c #DCDCDC",
|
|
"( c #9F9F9F",
|
|
"_ c #363636",
|
|
": c #FEFEFE",
|
|
"< c #C1C1C1",
|
|
"[ c #232323",
|
|
"} c #CFCFCF",
|
|
"| c #282828",
|
|
"1 c #D5D5D5",
|
|
"2 c #FAFAFA",
|
|
"3 c #F6F6F6",
|
|
"4 c #D3D3D3",
|
|
"5 c #121212",
|
|
"6 c #BEBEBE",
|
|
"7 c #898989",
|
|
"8 c #838383",
|
|
"9 c #EEEEEE",
|
|
"0 c #E9E9E9",
|
|
"a c #CDCDCD",
|
|
"b c #080808",
|
|
"c c #131313",
|
|
"d c #A1A1A1",
|
|
"e c #7F7F7F",
|
|
"f c #808080",
|
|
"g c #D9D9D9",
|
|
"h c #8D8D8D",
|
|
"i c #1D1D1D",
|
|
"j c #C9C9C9",
|
|
"k c #B4B4B4",
|
|
"l c #191919",
|
|
"m c #6A6A6A",
|
|
"n c #6C6C6C",
|
|
"o c #7A7A7A",
|
|
"p c #B1B1B1",
|
|
"q c #202020",
|
|
"r c #BBBBBB",
|
|
"s c #D4D4D4",
|
|
"t c #151515",
|
|
"u c #515151",
|
|
"v c #747474",
|
|
"w c #3A3A3A",
|
|
"x c #CCCCCC",
|
|
"y c #B3B3B3",
|
|
"z c #939393",
|
|
"A c #A3A3A3",
|
|
"B c #919191",
|
|
"C c #858585",
|
|
"D c #7C7C7C",
|
|
"...+@#$%&*",
|
|
"=-;#%>,')!",
|
|
"=~{]^/(_!!",
|
|
"=:<[}*|1(!",
|
|
"2@345[>678",
|
|
"@90abc6def",
|
|
"#ghijklmno",
|
|
"~pqrgs(tuv",
|
|
"%wxx'-p8tn",
|
|
"yzAB7C8enD"};
|
|
|
|
|
|
static char *NEXT_BROKEN_CLOSE_XPM[] = {
|
|
"10 10 8 1",
|
|
" c None",
|
|
". c #E0E0E0",
|
|
"+ c #7D7D7D",
|
|
"@ c #DBDBDB",
|
|
"# c #BDBDBD",
|
|
"$ c #080808",
|
|
"% c #363636",
|
|
"& c #D4D4D4",
|
|
".........+",
|
|
".+@...#+$+",
|
|
"..$#.@+%++",
|
|
"..###++&++",
|
|
"...&...#++",
|
|
"...&..#+++",
|
|
".@+##+%%%+",
|
|
".+$#@&+$%%",
|
|
".%##++++$%",
|
|
"++++++++%+"};
|
|
|
|
static char *NEXT_KILL_XPM[] = {
|
|
"10 10 64 1",
|
|
" c None",
|
|
". c #FBFBFB",
|
|
"+ c #FAFAFA",
|
|
"@ c #F7F7F7",
|
|
"# c #F5F5F5",
|
|
"$ c #F6F6F6",
|
|
"% c #EEEEEE",
|
|
"& c #B3B3B3",
|
|
"* c #FCFCFC",
|
|
"= c #8B8B8B",
|
|
"- c #E3E3E3",
|
|
"; c #F4F4F4",
|
|
"> c #ECECEC",
|
|
", c #EAEAEA",
|
|
"' c #BFBFBF",
|
|
") c #474747",
|
|
"! c #A5A5A5",
|
|
"~ c #EFEFEF",
|
|
"{ c #262626",
|
|
"] c #B6B6B6",
|
|
"^ c #B4B4B4",
|
|
"/ c #282828",
|
|
"( c #A3A3A3",
|
|
"_ c #FEFEFE",
|
|
": c #E0E0E0",
|
|
"< c #B8B8B8",
|
|
"[ c #C5C5C5",
|
|
"} c #DCDCDC",
|
|
"| c #D3D3D3",
|
|
"1 c #E4E4E4",
|
|
"2 c #B1B1B1",
|
|
"3 c #878787",
|
|
"4 c #D5D5D5",
|
|
"5 c #202020",
|
|
"6 c #222222",
|
|
"7 c #F1F1F1",
|
|
"8 c #959595",
|
|
"9 c #838383",
|
|
"0 c #DBDBDB",
|
|
"a c #252525",
|
|
"b c #E9E9E9",
|
|
"c c #F0F0F0",
|
|
"d c #999999",
|
|
"e c #808080",
|
|
"f c #9B9B9B",
|
|
"g c #C2C2C2",
|
|
"h c #7C7C7C",
|
|
"i c #7A7A7A",
|
|
"j c #232323",
|
|
"k c #CCCCCC",
|
|
"l c #C1C1C1",
|
|
"m c #181818",
|
|
"n c #404040",
|
|
"o c #747474",
|
|
"p c #E7E7E7",
|
|
"q c #303030",
|
|
"r c #C9C9C9",
|
|
"s c #ACACAC",
|
|
"t c #787878",
|
|
"u c #141414",
|
|
"v c #6C6C6C",
|
|
"w c #8F8F8F",
|
|
"x c #858585",
|
|
"y c #7F7F7F",
|
|
"...+@#$$%&",
|
|
"*=-+;>,')!",
|
|
"*~{];#^/((",
|
|
"*_:<[}|123",
|
|
"+@+456;789",
|
|
"@~706abcde",
|
|
"#0fg#$3ehi",
|
|
"c=jk>%lmno",
|
|
"pqr}s(^tuv",
|
|
"2w!d=x9yvh"};
|
|
|
|
static char *NEXT_ICONIFY_XPM[] = {
|
|
"10 10 72 1",
|
|
" c None",
|
|
". c #FCFCFC",
|
|
"+ c #FAFAFA",
|
|
"@ c #F8F8F8",
|
|
"# c #F6F6F6",
|
|
"$ c #F2F2F2",
|
|
"% c #EFEFEF",
|
|
"& c #EAEAEA",
|
|
"* c #A6A6A6",
|
|
"= c #FEFEFE",
|
|
"- c #FDFDFD",
|
|
"; c #F9F9F9",
|
|
"> c #E2E2E2",
|
|
", c #CBCBCB",
|
|
"' c #AFAFAF",
|
|
") c #808080",
|
|
"! c #717171",
|
|
"~ c #FFFFFF",
|
|
"{ c #FBFBFB",
|
|
"] c #F1F1F1",
|
|
"^ c #E5E5E5",
|
|
"/ c #CCCCCC",
|
|
"( c #838383",
|
|
"_ c #A0A0A0",
|
|
": c #989898",
|
|
"< c #8B8B8B",
|
|
"[ c #7F7F7F",
|
|
"} c #E8E8E8",
|
|
"| c #ADADAD",
|
|
"1 c #181818",
|
|
"2 c #171717",
|
|
"3 c #161616",
|
|
"4 c #141414",
|
|
"5 c #0A0A0A",
|
|
"6 c #000000",
|
|
"7 c #A2A2A2",
|
|
"8 c #747474",
|
|
"9 c #6C6C6C",
|
|
"0 c #F0F0F0",
|
|
"a c #B9B9B9",
|
|
"b c #B7B7B7",
|
|
"c c #B1B1B1",
|
|
"d c #868686",
|
|
"e c #020202",
|
|
"f c #EDEDED",
|
|
"g c #939393",
|
|
"h c #676767",
|
|
"i c #696969",
|
|
"j c #8E8E8E",
|
|
"k c #787878",
|
|
"l c #757575",
|
|
"m c #777777",
|
|
"n c #767676",
|
|
"o c #EBEBEB",
|
|
"p c #525252",
|
|
"q c #626262",
|
|
"r c #F3F3F3",
|
|
"s c #E1E1E1",
|
|
"t c #B5B5B5",
|
|
"u c #5F5F5F",
|
|
"v c #424242",
|
|
"w c #5B5B5B",
|
|
"x c #9D9D9D",
|
|
"y c #969696",
|
|
"z c #E4E4E4",
|
|
"A c #444444",
|
|
"B c #2E2E2E",
|
|
"C c #A9A9A9",
|
|
"D c #7C7C7C",
|
|
"E c #797979",
|
|
"F c #5D5D5D",
|
|
"G c #646464",
|
|
"...+@#$%&*",
|
|
".=-;%>,')!",
|
|
"-~={]^/'(!",
|
|
"_'*:<[}|)!",
|
|
"123456%789",
|
|
"0abcdefghi",
|
|
"jklmneonpq",
|
|
"rs^>te}uvw",
|
|
"f_xy9ezABp",
|
|
"CDDEue7FpG"};
|
|
|
|
#ifdef XKB_BUTTON_HINT
|
|
#include "extend_pixmaps.h"
|
|
#endif /* XKB_BUTTON_HINT */
|
|
|
|
|