mirror of
				https://github.com/DreamMaoMao/maomaowm.git
				synced 2025-10-29 05:40:21 -04:00 
			
		
		
		
	fix: winrule offsex offsey not apply in left top
This commit is contained in:
		
							parent
							
								
									2f61e14eeb
								
							
						
					
					
						commit
						a7000f28d4
					
				
					 2 changed files with 28 additions and 28 deletions
				
			
		|  | @ -1095,22 +1095,22 @@ void parse_config_line(Config *config, const char *line) { | ||||||
|     ConfigWinRule *rule = &config->window_rules[config->window_rules_count]; |     ConfigWinRule *rule = &config->window_rules[config->window_rules_count]; | ||||||
|     memset(rule, 0, sizeof(ConfigWinRule)); |     memset(rule, 0, sizeof(ConfigWinRule)); | ||||||
| 
 | 
 | ||||||
|     rule->isfloating = 0; |     rule->isfloating = -1; | ||||||
|     rule->isfullscreen = 0; |     rule->isfullscreen = -1; | ||||||
|     rule->isnoborder = 0; |     rule->isnoborder = -1; | ||||||
|     rule->isopensilent = 0; |     rule->isopensilent = -1; | ||||||
|     rule->isopenscratchpad = 0; |     rule->isopenscratchpad = -1; | ||||||
|     rule->isunglobal = 0; |     rule->isunglobal = -1; | ||||||
|     rule->isglobal = 0; |     rule->isglobal = -1; | ||||||
|     rule->isoverlay = 0; |     rule->isoverlay = -1; | ||||||
|     rule->isterm = 0; |     rule->isterm = -1; | ||||||
|     rule->noswallow = 0; |     rule->noswallow = -1; | ||||||
|     rule->monitor = -1; |     rule->monitor = -1; | ||||||
|     rule->offsetx = 0; |     rule->offsetx = 0; | ||||||
|     rule->offsety = 0; |     rule->offsety = 0; | ||||||
|     rule->nofadein = 0; |     rule->nofadein = -1; | ||||||
|     rule->nofadeout = 0; |     rule->nofadeout = -1; | ||||||
|     rule->no_force_center = 0; |     rule->no_force_center = -1; | ||||||
|     rule->scratchpad_width = 0; |     rule->scratchpad_width = 0; | ||||||
|     rule->scratchpad_height = 0; |     rule->scratchpad_height = 0; | ||||||
|     rule->width = 0; |     rule->width = 0; | ||||||
|  |  | ||||||
							
								
								
									
										30
									
								
								src/maomao.c
									
										
									
									
									
								
							
							
						
						
									
										30
									
								
								src/maomao.c
									
										
									
									
									
								
							|  | @ -1814,7 +1814,7 @@ applyrulesgeom(Client *c) { | ||||||
|       c->geom.width = r->width > 0 ? r->width : c->geom.width; |       c->geom.width = r->width > 0 ? r->width : c->geom.width; | ||||||
|       c->geom.height = r->height > 0 ? r->height : c->geom.height; |       c->geom.height = r->height > 0 ? r->height : c->geom.height; | ||||||
|       // 重新计算居中的坐标
 |       // 重新计算居中的坐标
 | ||||||
|       if (r->offsetx || r->offsety || r->width || r->height) |       if (r->offsetx != 0 || r->offsety != 0 || r->width > 0 || r->height > 0) | ||||||
|         c->geom = |         c->geom = | ||||||
|             setclient_coordinate_center(c, c->geom, r->offsetx, r->offsety); |             setclient_coordinate_center(c, c->geom, r->offsetx, r->offsety); | ||||||
|       hit = r->height > 0 || r->width > 0 || r->offsetx != 0 || r->offsety != 0 |       hit = r->height > 0 || r->width > 0 || r->offsetx != 0 || r->offsety != 0 | ||||||
|  | @ -1852,11 +1852,11 @@ applyrules(Client *c) { | ||||||
|         (r->id && regex_match(r->id, appid) && !r->title) || |         (r->id && regex_match(r->id, appid) && !r->title) || | ||||||
|         (r->id && regex_match(r->id, appid) && r->title && |         (r->id && regex_match(r->id, appid) && r->title && | ||||||
|          regex_match(r->title, title))) { |          regex_match(r->title, title))) { | ||||||
|       c->isterm = r->isterm > 0 ? r->isterm : c->isterm; |       c->isterm = r->isterm >= 0 ? r->isterm : c->isterm; | ||||||
|       c->noswallow = r->noswallow > 0 ? r->noswallow : c->noswallow; |       c->noswallow = r->noswallow >= 0 ? r->noswallow : c->noswallow; | ||||||
|       c->nofadein = r->nofadein > 0 ? r->nofadein : c->nofadein; |       c->nofadein = r->nofadein >= 0 ? r->nofadein : c->nofadein; | ||||||
|       c->nofadeout = r->nofadeout > 0 ? r->nofadeout : c->nofadeout; |       c->nofadeout = r->nofadeout >= 0 ? r->nofadeout : c->nofadeout; | ||||||
|       c->no_force_center = r->no_force_center > 0 ? r->no_force_center |       c->no_force_center = r->no_force_center >= 0 ? r->no_force_center | ||||||
|                                                   : c->no_force_center; |                                                   : c->no_force_center; | ||||||
|       c->scratchpad_geom.width = r->scratchpad_width > 0 |       c->scratchpad_geom.width = r->scratchpad_width > 0 | ||||||
|                                      ? r->scratchpad_width |                                      ? r->scratchpad_width | ||||||
|  | @ -1864,8 +1864,8 @@ applyrules(Client *c) { | ||||||
|       c->scratchpad_geom.height = r->scratchpad_height > 0 |       c->scratchpad_geom.height = r->scratchpad_height > 0 | ||||||
|                                       ? r->scratchpad_height |                                       ? r->scratchpad_height | ||||||
|                                       : c->scratchpad_geom.height; |                                       : c->scratchpad_geom.height; | ||||||
|       c->isfloating = r->isfloating > 0 ? r->isfloating : c->isfloating; |       c->isfloating = r->isfloating >= 0 ? r->isfloating : c->isfloating; | ||||||
|       c->isfullscreen = r->isfullscreen > 0 ? r->isfullscreen : c->isfullscreen; |       c->isfullscreen = r->isfullscreen >= 0 ? r->isfullscreen : c->isfullscreen; | ||||||
|       c->animation_type_open = r->animation_type_open == NULL |       c->animation_type_open = r->animation_type_open == NULL | ||||||
|                                    ? c->animation_type_open |                                    ? c->animation_type_open | ||||||
|                                    : r->animation_type_open; |                                    : r->animation_type_open; | ||||||
|  | @ -1875,13 +1875,13 @@ applyrules(Client *c) { | ||||||
|       c->scroller_proportion = r->scroller_proportion > 0 |       c->scroller_proportion = r->scroller_proportion > 0 | ||||||
|                                    ? r->scroller_proportion |                                    ? r->scroller_proportion | ||||||
|                                    : c->scroller_proportion; |                                    : c->scroller_proportion; | ||||||
|       c->isnoborder = r->isnoborder > 0 ? r->isnoborder : c->isnoborder; |       c->isnoborder = r->isnoborder >= 0 ? r->isnoborder : c->isnoborder; | ||||||
|       c->isopensilent = r->isopensilent > 0 ? r->isopensilent : c->isopensilent; |       c->isopensilent = r->isopensilent >= 0 ? r->isopensilent : c->isopensilent; | ||||||
|       c->isopenscratchpad = |       c->isopenscratchpad = | ||||||
|           r->isopenscratchpad > 0 ? r->isopenscratchpad : c->isopenscratchpad; |           r->isopenscratchpad >= 0 ? r->isopenscratchpad : c->isopenscratchpad; | ||||||
|       c->isglobal = r->isglobal > 0 ? r->isglobal : c->isglobal; |       c->isglobal = r->isglobal >= 0 ? r->isglobal : c->isglobal; | ||||||
|       c->isoverlay = r->isoverlay > 0 ? r->isoverlay : c->isoverlay; |       c->isoverlay = r->isoverlay >= 0 ? r->isoverlay : c->isoverlay; | ||||||
|       c->isunglobal = r->isunglobal > 0 ? r->isunglobal : c->isunglobal; |       c->isunglobal = r->isunglobal >= 0 ? r->isunglobal : c->isunglobal; | ||||||
| 
 | 
 | ||||||
|       newtags = r->tags > 0 ? r->tags | newtags : newtags; |       newtags = r->tags > 0 ? r->tags | newtags : newtags; | ||||||
|       i = 0; |       i = 0; | ||||||
|  | @ -1897,7 +1897,7 @@ applyrules(Client *c) { | ||||||
|         c->geom.width = r->width > 0 ? r->width : c->geom.width; |         c->geom.width = r->width > 0 ? r->width : c->geom.width; | ||||||
|         c->geom.height = r->height > 0 ? r->height : c->geom.height; |         c->geom.height = r->height > 0 ? r->height : c->geom.height; | ||||||
|         // 重新计算居中的坐标
 |         // 重新计算居中的坐标
 | ||||||
|         if (r->offsetx || r->offsety || r->width || r->height) { |         if (r->offsetx != 0 || r->offsety != 0 || r->width > 0 || r->height > 0) { | ||||||
|           hit_rule_pos = true; |           hit_rule_pos = true; | ||||||
|           c->oldgeom = c->geom = |           c->oldgeom = c->geom = | ||||||
|               setclient_coordinate_center(c, c->geom, r->offsetx, r->offsety); |               setclient_coordinate_center(c, c->geom, r->offsetx, r->offsety); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 DreamMaoMao
						DreamMaoMao