diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-05-02 23:07:52 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-05-03 15:12:00 +1000 |
commit | b667298a0a1efead7949715a31ec86fe3b8b1cda (patch) | |
tree | bc658e3019d741f1f245350003b156d05cc354a2 /sway/config.c | |
parent | Merge pull request #1893 from swaywm/touch (diff) | |
download | sway-b667298a0a1efead7949715a31ec86fe3b8b1cda.tar.gz sway-b667298a0a1efead7949715a31ec86fe3b8b1cda.tar.zst sway-b667298a0a1efead7949715a31ec86fe3b8b1cda.zip |
Render titles
Diffstat (limited to 'sway/config.c')
-rw-r--r-- | sway/config.c | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/sway/config.c b/sway/config.c index f4d78e19..60b62bbc 100644 --- a/sway/config.c +++ b/sway/config.c | |||
@@ -25,6 +25,8 @@ | |||
25 | #include "sway/commands.h" | 25 | #include "sway/commands.h" |
26 | #include "sway/config.h" | 26 | #include "sway/config.h" |
27 | #include "sway/tree/layout.h" | 27 | #include "sway/tree/layout.h" |
28 | #include "cairo.h" | ||
29 | #include "pango.h" | ||
28 | #include "readline.h" | 30 | #include "readline.h" |
29 | #include "stringop.h" | 31 | #include "stringop.h" |
30 | #include "list.h" | 32 | #include "list.h" |
@@ -130,6 +132,17 @@ static void destroy_removed_seats(struct sway_config *old_config, | |||
130 | } | 132 | } |
131 | } | 133 | } |
132 | 134 | ||
135 | int get_font_text_height(char *font) { | ||
136 | cairo_t *cairo = cairo_create(NULL); | ||
137 | int text_height; | ||
138 | get_text_size(cairo, font, NULL, &text_height, 1, false, | ||
139 | "ABCDEFGHIJKLMNOPQRSTUVWXYZ" | ||
140 | "abcdefghijklmnopqrstuvwxyz" | ||
141 | "!@#$%^&*([{|"); | ||
142 | cairo_destroy(cairo); | ||
143 | return text_height; | ||
144 | } | ||
145 | |||
133 | static void set_color(float dest[static 4], uint32_t color) { | 146 | static void set_color(float dest[static 4], uint32_t color) { |
134 | dest[0] = ((color >> 16) & 0xff) / 255.0; | 147 | dest[0] = ((color >> 16) & 0xff) / 255.0; |
135 | dest[1] = ((color >> 8) & 0xff) / 255.0; | 148 | dest[1] = ((color >> 8) & 0xff) / 255.0; |
@@ -169,7 +182,7 @@ static void config_defaults(struct sway_config *config) { | |||
169 | config->default_layout = L_NONE; | 182 | config->default_layout = L_NONE; |
170 | config->default_orientation = L_NONE; | 183 | config->default_orientation = L_NONE; |
171 | if (!(config->font = strdup("monospace 10"))) goto cleanup; | 184 | if (!(config->font = strdup("monospace 10"))) goto cleanup; |
172 | //config->font_height = get_font_text_height(config->font); | 185 | config->font_height = get_font_text_height(config->font); |
173 | 186 | ||
174 | // floating view | 187 | // floating view |
175 | config->floating_maximum_width = 0; | 188 | config->floating_maximum_width = 0; |
@@ -208,31 +221,31 @@ static void config_defaults(struct sway_config *config) { | |||
208 | set_color(config->border_colors.focused.border, 0x4C7899); | 221 | set_color(config->border_colors.focused.border, 0x4C7899); |
209 | set_color(config->border_colors.focused.border, 0x4C7899); | 222 | set_color(config->border_colors.focused.border, 0x4C7899); |
210 | set_color(config->border_colors.focused.background, 0x285577); | 223 | set_color(config->border_colors.focused.background, 0x285577); |
211 | set_color(config->border_colors.focused.text, 0xFFFFFF); | 224 | config->border_colors.focused.text = 0xFFFFFFFF; |
212 | set_color(config->border_colors.focused.indicator, 0x2E9EF4); | 225 | set_color(config->border_colors.focused.indicator, 0x2E9EF4); |
213 | set_color(config->border_colors.focused.child_border, 0x285577); | 226 | set_color(config->border_colors.focused.child_border, 0x285577); |
214 | 227 | ||
215 | set_color(config->border_colors.focused_inactive.border, 0x333333); | 228 | set_color(config->border_colors.focused_inactive.border, 0x333333); |
216 | set_color(config->border_colors.focused_inactive.background, 0x5F676A); | 229 | set_color(config->border_colors.focused_inactive.background, 0x5F676A); |
217 | set_color(config->border_colors.focused_inactive.text, 0xFFFFFF); | 230 | config->border_colors.focused_inactive.text = 0xFFFFFFFF; |
218 | set_color(config->border_colors.focused_inactive.indicator, 0x484E50); | 231 | set_color(config->border_colors.focused_inactive.indicator, 0x484E50); |
219 | set_color(config->border_colors.focused_inactive.child_border, 0x5F676A); | 232 | set_color(config->border_colors.focused_inactive.child_border, 0x5F676A); |
220 | 233 | ||
221 | set_color(config->border_colors.unfocused.border, 0x333333); | 234 | set_color(config->border_colors.unfocused.border, 0x333333); |
222 | set_color(config->border_colors.unfocused.background, 0x222222); | 235 | set_color(config->border_colors.unfocused.background, 0x222222); |
223 | set_color(config->border_colors.unfocused.text, 0x888888); | 236 | config->border_colors.unfocused.text = 0x888888FF; |
224 | set_color(config->border_colors.unfocused.indicator, 0x292D2E); | 237 | set_color(config->border_colors.unfocused.indicator, 0x292D2E); |
225 | set_color(config->border_colors.unfocused.child_border, 0x222222); | 238 | set_color(config->border_colors.unfocused.child_border, 0x222222); |
226 | 239 | ||
227 | set_color(config->border_colors.urgent.border, 0x2F343A); | 240 | set_color(config->border_colors.urgent.border, 0x2F343A); |
228 | set_color(config->border_colors.urgent.background, 0x900000); | 241 | set_color(config->border_colors.urgent.background, 0x900000); |
229 | set_color(config->border_colors.urgent.text, 0xFFFFFF); | 242 | config->border_colors.urgent.text = 0xFFFFFFFF; |
230 | set_color(config->border_colors.urgent.indicator, 0x900000); | 243 | set_color(config->border_colors.urgent.indicator, 0x900000); |
231 | set_color(config->border_colors.urgent.child_border, 0x900000); | 244 | set_color(config->border_colors.urgent.child_border, 0x900000); |
232 | 245 | ||
233 | set_color(config->border_colors.placeholder.border, 0x000000); | 246 | set_color(config->border_colors.placeholder.border, 0x000000); |
234 | set_color(config->border_colors.placeholder.background, 0x0C0C0C); | 247 | set_color(config->border_colors.placeholder.background, 0x0C0C0C); |
235 | set_color(config->border_colors.placeholder.text, 0xFFFFFF); | 248 | config->border_colors.placeholder.text = 0xFFFFFFFF; |
236 | set_color(config->border_colors.placeholder.indicator, 0x000000); | 249 | set_color(config->border_colors.placeholder.indicator, 0x000000); |
237 | set_color(config->border_colors.placeholder.child_border, 0x0C0C0C); | 250 | set_color(config->border_colors.placeholder.child_border, 0x0C0C0C); |
238 | 251 | ||