mirror of
				https://codeberg.org/dwl/dwl-patches.git
				synced 2025-10-30 19:44:21 +00:00 
			
		
		
		
	update client-opacity
dd00d994ce4c53829d0b871622dc05e90a6f58c3
This commit is contained in:
		
							parent
							
								
									3e0305156c
								
							
						
					
					
						commit
						3a5782449b
					
				| @ -1,4 +1,4 @@ | ||||
| From adbc47f25aadfa55d2e042c52f81ba4db08dd57f Mon Sep 17 00:00:00 2001 | ||||
| From 38618730e4e4c87e005ed5aa225a53f24ad3417f Mon Sep 17 00:00:00 2001 | ||||
| From: =?UTF-8?q?Leonardo=20Hern=C3=A1ndez=20Hern=C3=A1ndez?= | ||||
|  <leohdz172@proton.me> | ||||
| Date: Tue, 25 Jul 2023 12:48:22 -0600 | ||||
| @ -10,52 +10,50 @@ Content-Transfer-Encoding: 8bit | ||||
| 
 | ||||
| Signed-off-by: Leonardo Hernández Hernández <leohdz172@proton.me> | ||||
| ---
 | ||||
|  config.def.h | 10 +++++++--- | ||||
|  config.def.h |  9 ++++++--- | ||||
|  dwl.c        | 38 ++++++++++++++++++++++++++++++++++++++ | ||||
|  2 files changed, 45 insertions(+), 3 deletions(-) | ||||
|  2 files changed, 44 insertions(+), 3 deletions(-) | ||||
| 
 | ||||
| diff --git a/config.def.h b/config.def.h
 | ||||
| index a8ed61d..3c79817 100644
 | ||||
| index 8847e58f..d49c69b0 100644
 | ||||
| --- a/config.def.h
 | ||||
| +++ b/config.def.h
 | ||||
| @@ -13,6 +13,7 @@ static const float focuscolor[]            = COLOR(0x005577ff);
 | ||||
|  static const float urgentcolor[]           = COLOR(0xff0000ff); | ||||
|  /* To conform the xdg-protocol, set the alpha to zero to restore the old behavior */ | ||||
|  static const float fullscreen_bg[]         = {0.1, 0.1, 0.1, 1.0}; /* You can also use glsl colors */ | ||||
|  /* This conforms to the xdg-protocol. Set the alpha to zero to restore the old behavior */ | ||||
|  static const float fullscreen_bg[]         = {0.1f, 0.1f, 0.1f, 1.0f}; /* You can also use glsl colors */ | ||||
| +static const float default_opacity         = 0.75;
 | ||||
|   | ||||
|  /* tagging - TAGCOUNT must be no greater than 31 */ | ||||
|  #define TAGCOUNT (9) | ||||
| @@ -21,11 +22,12 @@ static const float fullscreen_bg[]         = {0.1, 0.1, 0.1, 1.0}; /* You can al
 | ||||
| @@ -21,10 +22,10 @@ static const float fullscreen_bg[]         = {0.1f, 0.1f, 0.1f, 1.0f}; /* You ca
 | ||||
|  static int log_level = WLR_ERROR; | ||||
|   | ||||
|  static const Rule rules[] = { | ||||
| -	/* app_id             title       tags mask     isfloating   monitor */
 | ||||
| +	/* app_id             title       tags mask     isfloating   alpha              monitor */
 | ||||
|  	/* examples: | ||||
| -	{ "Gimp",     NULL,       0,            1,           -1 },
 | ||||
| +	{ "Gimp",     NULL,       0,            1,           default_alpha,  -1 },
 | ||||
| +	{ "Alacritty",NULL,       1 << 2,       0,           1.0,            -1 },
 | ||||
|  	*/ | ||||
| -	{ "firefox",  NULL,       1 << 8,       0,           -1 },
 | ||||
| +	{ "firefox",  NULL,       1 << 8,       0,           default_opacity, -1 },
 | ||||
|  	/* examples: */ | ||||
| -	{ "Gimp_EXAMPLE",     NULL,       0,            1,           -1 }, /* Start on currently visible tags floating, not tiled */
 | ||||
| -	{ "firefox_EXAMPLE",  NULL,       1 << 8,       0,           -1 }, /* Start on ONLY tag "9" */
 | ||||
| +	{ "Gimp_EXAMPLE",     NULL,       0,            1,           default_opacity,   -1 }, /* Start on currently visible tags floating, not tiled */
 | ||||
| +	{ "firefox_EXAMPLE",  NULL,       1 << 8,       0,           1.0,               -1 }, /* Start on ONLY tag "9" */
 | ||||
|  }; | ||||
|   | ||||
|  /* layout(s) */ | ||||
| @@ -128,6 +130,8 @@ static const Key keys[] = {
 | ||||
| @@ -128,6 +129,8 @@ static const Key keys[] = {
 | ||||
|  	{ MODKEY,                    XKB_KEY_d,          incnmaster,     {.i = -1} }, | ||||
|  	{ MODKEY,                    XKB_KEY_h,          setmfact,       {.f = -0.05} }, | ||||
|  	{ MODKEY,                    XKB_KEY_l,          setmfact,       {.f = +0.05} }, | ||||
| +	{ MODKEY,                    XKB_KEY_o,          setopacity,     {.f = +0.1} },
 | ||||
| +	{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_O,          setopacity,     {.f = -0.1} },
 | ||||
|  	{ MODKEY,                    XKB_KEY_h,          setmfact,       {.f = -0.05f} }, | ||||
|  	{ MODKEY,                    XKB_KEY_l,          setmfact,       {.f = +0.05f} }, | ||||
| +	{ MODKEY,                    XKB_KEY_o,          setopacity,     {.f = +0.1f} },
 | ||||
| +	{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_O,          setopacity,     {.f = -0.1f} },
 | ||||
|  	{ MODKEY,                    XKB_KEY_Return,     zoom,           {0} }, | ||||
|  	{ MODKEY,                    XKB_KEY_Tab,        view,           {0} }, | ||||
|  	{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_C,          killclient,     {0} }, | ||||
| diff --git a/dwl.c b/dwl.c
 | ||||
| index 4d19357..1b905ed 100644
 | ||||
| index 39ce68c0..1bd455ec 100644
 | ||||
| --- a/dwl.c
 | ||||
| +++ b/dwl.c
 | ||||
| @@ -133,6 +133,7 @@ typedef struct {
 | ||||
| @@ -138,6 +138,7 @@ typedef struct {
 | ||||
|  	unsigned int bw; | ||||
|  	uint32_t tags; | ||||
|  	int isfloating, isurgent, isfullscreen; | ||||
| @ -63,7 +61,7 @@ index 4d19357..1b905ed 100644 | ||||
|  	uint32_t resize; /* configure serial of a pending resize */ | ||||
|  } Client; | ||||
|   | ||||
| @@ -217,6 +218,7 @@ typedef struct {
 | ||||
| @@ -227,6 +228,7 @@ typedef struct {
 | ||||
|  	const char *title; | ||||
|  	uint32_t tags; | ||||
|  	int isfloating; | ||||
| @ -71,7 +69,7 @@ index 4d19357..1b905ed 100644 | ||||
|  	int monitor; | ||||
|  } Rule; | ||||
|   | ||||
| @@ -299,6 +301,7 @@ static void requeststartdrag(struct wl_listener *listener, void *data);
 | ||||
| @@ -314,6 +316,7 @@ static void requeststartdrag(struct wl_listener *listener, void *data);
 | ||||
|  static void requestmonstate(struct wl_listener *listener, void *data); | ||||
|  static void resize(Client *c, struct wlr_box geo, int interact); | ||||
|  static void run(char *startup_cmd); | ||||
| @ -79,7 +77,7 @@ index 4d19357..1b905ed 100644 | ||||
|  static void setcursor(struct wl_listener *listener, void *data); | ||||
|  static void setcursorshape(struct wl_listener *listener, void *data); | ||||
|  static void setfloating(Client *c, int floating); | ||||
| @@ -307,6 +310,7 @@ static void setgamma(struct wl_listener *listener, void *data);
 | ||||
| @@ -322,6 +325,7 @@ static void setgamma(struct wl_listener *listener, void *data);
 | ||||
|  static void setlayout(const Arg *arg); | ||||
|  static void setmfact(const Arg *arg); | ||||
|  static void setmon(Client *c, Monitor *m, uint32_t newtags); | ||||
| @ -87,7 +85,7 @@ index 4d19357..1b905ed 100644 | ||||
|  static void setpsel(struct wl_listener *listener, void *data); | ||||
|  static void setsel(struct wl_listener *listener, void *data); | ||||
|  static void setup(void); | ||||
| @@ -440,6 +444,7 @@ applyrules(Client *c)
 | ||||
| @@ -462,6 +466,7 @@ applyrules(Client *c)
 | ||||
|  		if ((!r->title || strstr(title, r->title)) | ||||
|  				&& (!r->id || strstr(appid, r->id))) { | ||||
|  			c->isfloating = r->isfloating; | ||||
| @ -95,15 +93,15 @@ index 4d19357..1b905ed 100644 | ||||
|  			newtags |= r->tags; | ||||
|  			i = 0; | ||||
|  			wl_list_for_each(m, &mons, link) { | ||||
| @@ -448,6 +453,7 @@ applyrules(Client *c)
 | ||||
| @@ -470,6 +475,7 @@ applyrules(Client *c)
 | ||||
|  			} | ||||
|  		} | ||||
|  	} | ||||
| +	wlr_scene_node_for_each_buffer(&c->scene_surface->node, scenebuffersetopacity, c);
 | ||||
|  	wlr_scene_node_reparent(&c->scene->node, layers[c->isfloating ? LyrFloat : LyrTile]); | ||||
|  	setmon(c, mon, newtags); | ||||
|  } | ||||
| @@ -734,6 +740,9 @@ commitnotify(struct wl_listener *listener, void *data)
 | ||||
|   | ||||
| @@ -759,6 +765,9 @@ commitnotify(struct wl_listener *listener, void *data)
 | ||||
|  	if (client_surface(c)->mapped && c->mon) | ||||
|  		resize(c, c->geom, (c->isfloating && !c->isfullscreen)); | ||||
|   | ||||
| @ -113,7 +111,7 @@ index 4d19357..1b905ed 100644 | ||||
|  	/* mark a pending resize as completed */ | ||||
|  	if (c->resize && c->resize <= c->surface.xdg->current.configure_serial) | ||||
|  		c->resize = 0; | ||||
| @@ -947,6 +956,7 @@ createnotify(struct wl_listener *listener, void *data)
 | ||||
| @@ -973,6 +982,7 @@ createnotify(struct wl_listener *listener, void *data)
 | ||||
|  	c = xdg_surface->data = ecalloc(1, sizeof(*c)); | ||||
|  	c->surface.xdg = xdg_surface; | ||||
|  	c->bw = borderpx; | ||||
| @ -121,7 +119,7 @@ index 4d19357..1b905ed 100644 | ||||
|   | ||||
|  	wlr_xdg_toplevel_set_wm_capabilities(xdg_surface->toplevel, | ||||
|  			WLR_XDG_TOPLEVEL_WM_CAPABILITIES_FULLSCREEN); | ||||
| @@ -2002,6 +2012,15 @@ run(char *startup_cmd)
 | ||||
| @@ -2110,6 +2120,15 @@ run(char *startup_cmd)
 | ||||
|  	wl_display_run(dpy); | ||||
|  } | ||||
|   | ||||
| @ -137,7 +135,7 @@ index 4d19357..1b905ed 100644 | ||||
|  void | ||||
|  setcursor(struct wl_listener *listener, void *data) | ||||
|  { | ||||
| @@ -2067,6 +2086,7 @@ setfullscreen(Client *c, int fullscreen)
 | ||||
| @@ -2177,6 +2196,7 @@ setfullscreen(Client *c, int fullscreen)
 | ||||
|  		 * client positions are set by the user and cannot be recalculated */ | ||||
|  		resize(c, c->prev, 0); | ||||
|  	} | ||||
| @ -145,7 +143,7 @@ index 4d19357..1b905ed 100644 | ||||
|  	arrange(c->mon); | ||||
|  	printstatus(); | ||||
|  } | ||||
| @@ -2132,6 +2152,23 @@ setmon(Client *c, Monitor *m, uint32_t newtags)
 | ||||
| @@ -2244,6 +2264,23 @@ setmon(Client *c, Monitor *m, uint32_t newtags)
 | ||||
|  	focusclient(focustop(selmon), 1); | ||||
|  } | ||||
|   | ||||
| @ -169,7 +167,7 @@ index 4d19357..1b905ed 100644 | ||||
|  void | ||||
|  setpsel(struct wl_listener *listener, void *data) | ||||
|  { | ||||
| @@ -2842,6 +2879,7 @@ createnotifyx11(struct wl_listener *listener, void *data)
 | ||||
| @@ -2978,6 +3015,7 @@ createnotifyx11(struct wl_listener *listener, void *data)
 | ||||
|  	c->surface.xwayland = xsurface; | ||||
|  	c->type = X11; | ||||
|  	c->bw = borderpx; | ||||
| @ -178,5 +176,5 @@ index 4d19357..1b905ed 100644 | ||||
|  	/* Listen to the various events it can emit */ | ||||
|  	LISTEN(&xsurface->events.associate, &c->associate, associatex11); | ||||
| -- 
 | ||||
| 2.43.0 | ||||
| 2.44.0 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Leonardo Hernández Hernández
						Leonardo Hernández Hernández