Merge pull request #2088 from xi/titlelayout

theme: implement titleLayout
This commit is contained in:
Johan Malm 2024-08-21 19:20:34 +01:00 committed by GitHub
commit 228a74ca48
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 261 additions and 179 deletions

View file

@ -14,6 +14,7 @@
#include "config/tablet-tool.h"
#include "config/libinput.h"
#include "resize-indicator.h"
#include "ssd.h"
#include "theme.h"
enum view_placement_policy {
@ -45,6 +46,11 @@ enum tiling_events_mode {
(LAB_TILING_EVENTS_REGION | LAB_TILING_EVENTS_EDGE),
};
struct title_button {
enum ssd_part_type type;
struct wl_list link;
};
struct usable_area_override {
struct border margin;
char *output;
@ -75,7 +81,11 @@ struct rcxml {
/* theme */
char *theme_name;
struct wl_list title_buttons_left;
struct wl_list title_buttons_right;
int corner_radius;
bool show_title;
bool title_layout_loaded;
bool ssd_keep_border;
bool shadows_enabled;
struct font font_activewindow;

View file

@ -22,7 +22,6 @@ struct ssd_button {
struct wlr_scene_node *hover;
struct wlr_scene_node *toggled;
struct wlr_scene_node *toggled_hover;
struct wlr_scene_node *background;
struct wlr_scene_tree *icon_tree;
struct wlr_scene_tree *hover_tree;
@ -127,17 +126,11 @@ struct ssd_part *add_scene_buffer(
struct wlr_scene_tree *parent, struct wlr_buffer *buffer, int x, int y);
struct ssd_part *add_scene_button(
struct wl_list *part_list, enum ssd_part_type type,
struct wlr_scene_tree *parent, float *bg_color,
struct wlr_buffer *icon_buffer, struct wlr_buffer *hover_buffer,
int x, struct view *view);
struct wlr_scene_tree *parent, struct wlr_buffer *icon_buffer,
struct wlr_buffer *hover_buffer, int x, struct view *view);
void add_toggled_icon(struct ssd_button *button, struct wl_list *part_list,
enum ssd_part_type type, struct wlr_buffer *icon_buffer,
struct wlr_buffer *hover_buffer);
struct ssd_part *add_scene_button_corner(
struct wl_list *part_list, enum ssd_part_type type,
enum ssd_part_type corner_type, struct wlr_scene_tree *parent,
struct wlr_buffer *corner_buffer, struct wlr_buffer *icon_buffer,
struct wlr_buffer *hover_buffer, int x, struct view *view);
/* SSD internal helpers */
struct ssd_part *ssd_get_part(

View file

@ -5,7 +5,6 @@
#include <wayland-server-core.h>
#include "common/border.h"
#define SSD_BUTTON_COUNT 4
#define SSD_EXTENDED_AREA 8
/*