equal
deleted
inserted
replaced
96 |
96 |
97 void |
97 void |
98 initlayouts(void) { |
98 initlayouts(void) { |
99 unsigned int i, w; |
99 unsigned int i, w; |
100 |
100 |
101 /* TODO deserialize ltidx if present */ |
|
102 nlayouts = sizeof layouts / sizeof layouts[0]; |
101 nlayouts = sizeof layouts / sizeof layouts[0]; |
103 for(blw = i = 0; i < nlayouts; i++) { |
102 for(blw = i = 0; i < nlayouts; i++) { |
104 w = textw(layouts[i].symbol); |
103 w = textw(layouts[i].symbol); |
105 if(w > blw) |
104 if(w > blw) |
106 blw = w; |
105 blw = w; |
108 } |
107 } |
109 |
108 |
110 void |
109 void |
111 loaddwmprops(void) { |
110 loaddwmprops(void) { |
112 unsigned int i; |
111 unsigned int i; |
113 XTextProperty name; |
112 |
114 |
113 if(gettextprop(root, dwmprops, prop, sizeof prop)) { |
115 /* check if window has set a property */ |
|
116 name.nitems = 0; |
|
117 XGetTextProperty(dpy, root, &name, dwmprops); |
|
118 if(name.nitems && name.encoding == XA_STRING) { |
|
119 strncpy(prop, (char *)name.value, sizeof prop - 1); |
|
120 prop[sizeof prop - 1] = '\0'; |
|
121 XFree(name.value); |
|
122 for(i = 0; i < ntags && i < sizeof prop - 1 && prop[i] != '\0'; i++) |
114 for(i = 0; i < ntags && i < sizeof prop - 1 && prop[i] != '\0'; i++) |
123 seltags[i] = prop[i] == '1'; |
115 seltags[i] = prop[i] == '1'; |
124 if(i < sizeof prop - 1 && prop[i] != '\0') { |
116 if(i < sizeof prop - 1 && prop[i] != '\0') { |
125 i = prop[i]; |
117 if(prop[i] < nlayouts) |
126 if(i < nlayouts) |
118 ltidx = prop[i]; |
127 ltidx = i; |
|
128 } |
119 } |
129 } |
120 } |
130 } |
121 } |
131 |
122 |
132 Client * |
123 Client * |