mirror of
https://github.com/yshui/picom.git
synced 2024-11-18 13:55:36 -05:00
transition: avoid opacity change for fly-out/slide-out presets
Set opacity to window-raw-opacity-before instead of to 1. Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
parent
b6314851d9
commit
8e75ac6b8c
2 changed files with 107 additions and 64 deletions
|
@ -71,7 +71,11 @@ slide-out = {
|
|||
crop-y = "window-y";
|
||||
crop-width = "window-width";
|
||||
crop-height = "window-height";
|
||||
opacity = 1;
|
||||
opacity = {
|
||||
start = "window-raw-opacity-before";
|
||||
end = "window-raw-opacity-before";
|
||||
duration = "placeholder0";
|
||||
};
|
||||
blur-opacity = "opacity";
|
||||
shadow-opacity = "opacity";
|
||||
*knobs = {
|
||||
|
@ -124,9 +128,13 @@ fly-out = {
|
|||
offset-y = "v-timing * (1 - placeholder3)";
|
||||
shadow-offset-x = "offset-x";
|
||||
shadow-offset-y = "offset-y";
|
||||
opacity = 1;
|
||||
shadow-opacity = 1;
|
||||
blur-opacity = 1;
|
||||
opacity = {
|
||||
start = "window-raw-opacity-before";
|
||||
end = "window-raw-opacity-before";
|
||||
duration = "placeholder0";
|
||||
};
|
||||
shadow-opacity = "opacity";
|
||||
blur-opacity = "opacity";
|
||||
*knobs = {
|
||||
duration = 0.2;
|
||||
direction = (0, ["up", "down", "left", "right"]);
|
||||
|
@ -151,9 +159,6 @@ fly-in = {
|
|||
offset-y = "v-timing * (1 - placeholder3)";
|
||||
shadow-offset-x = "offset-x";
|
||||
shadow-offset-y = "offset-y";
|
||||
opacity = 1;
|
||||
shadow-opacity = 1;
|
||||
blur-opacity = 1;
|
||||
*knobs = {
|
||||
duration = 0.2;
|
||||
direction = (0, ["up", "down", "left", "right"]);
|
||||
|
|
|
@ -445,7 +445,7 @@ static bool win_script_preset__appear(struct win_script *output, config_setting_
|
|||
}
|
||||
static struct script *script_template__slide_out(int *output_slots) {
|
||||
static const struct instruction instrs[] = {
|
||||
{.type = INST_BRANCH_ONCE, .rel = 42},
|
||||
{.type = INST_BRANCH_ONCE, .rel = 55},
|
||||
{.type = INST_LOAD, .slot = 15},
|
||||
{.type = INST_LOAD, .slot = 14},
|
||||
{.type = INST_OP, .op = OP_SUB},
|
||||
|
@ -490,11 +490,27 @@ static struct script *script_template__slide_out(int *output_slots) {
|
|||
{.type = INST_STORE, .slot = 7},
|
||||
{.type = INST_LOAD_CTX, .ctx = 24},
|
||||
{.type = INST_STORE, .slot = 8},
|
||||
{.type = INST_LOAD, .slot = 18},
|
||||
{.type = INST_LOAD, .slot = 17},
|
||||
{.type = INST_OP, .op = OP_SUB},
|
||||
{.type = INST_LOAD, .slot = 12},
|
||||
{.type = INST_IMM, .imm = 0x0p+0},
|
||||
{.type = INST_OP, .op = OP_SUB},
|
||||
{.type = INST_LOAD, .slot = 19},
|
||||
{.type = INST_OP, .op = OP_DIV},
|
||||
{
|
||||
.type = INST_CURVE,
|
||||
.curve = {.type = CURVE_LINEAR},
|
||||
},
|
||||
{.type = INST_OP, .op = OP_MUL},
|
||||
{.type = INST_LOAD, .slot = 17},
|
||||
{.type = INST_OP, .op = OP_ADD},
|
||||
{.type = INST_STORE, .slot = 9},
|
||||
{.type = INST_LOAD, .slot = 9},
|
||||
{.type = INST_STORE, .slot = 10},
|
||||
{.type = INST_LOAD, .slot = 9},
|
||||
{.type = INST_STORE, .slot = 11},
|
||||
{.type = INST_BRANCH_ONCE, .rel = 17},
|
||||
{.type = INST_BRANCH_ONCE, .rel = 21},
|
||||
{.type = INST_HALT},
|
||||
{.type = INST_IMM, .imm = 0x0p+0},
|
||||
{.type = INST_STORE_OVER_NAN, .slot = 14},
|
||||
|
@ -508,9 +524,13 @@ static struct script *script_template__slide_out(int *output_slots) {
|
|||
{.type = INST_OP, .op = OP_MUL},
|
||||
{.type = INST_OP, .op = OP_ADD},
|
||||
{.type = INST_STORE, .slot = 15},
|
||||
{.type = INST_IMM, .imm = 0x1p+0},
|
||||
{.type = INST_STORE, .slot = 9},
|
||||
{.type = INST_BRANCH, .rel = -55},
|
||||
{.type = INST_LOAD_CTX, .ctx = 64},
|
||||
{.type = INST_STORE_OVER_NAN, .slot = 17},
|
||||
{.type = INST_LOAD_CTX, .ctx = 1073741824},
|
||||
{.type = INST_STORE, .slot = 19},
|
||||
{.type = INST_LOAD_CTX, .ctx = 64},
|
||||
{.type = INST_STORE, .slot = 18},
|
||||
{.type = INST_BRANCH, .rel = -72},
|
||||
{.type = INST_IMM, .imm = 0x0p+0},
|
||||
{.type = INST_STORE, .slot = 13},
|
||||
{.type = INST_LOAD, .slot = 16},
|
||||
|
@ -519,12 +539,18 @@ static struct script *script_template__slide_out(int *output_slots) {
|
|||
{.type = INST_LOAD, .slot = 13},
|
||||
{.type = INST_OP, .op = OP_MAX},
|
||||
{.type = INST_STORE, .slot = 13},
|
||||
{.type = INST_LOAD, .slot = 19},
|
||||
{.type = INST_IMM, .imm = 0x0p+0},
|
||||
{.type = INST_OP, .op = OP_ADD},
|
||||
{.type = INST_LOAD, .slot = 13},
|
||||
{.type = INST_OP, .op = OP_MAX},
|
||||
{.type = INST_STORE, .slot = 13},
|
||||
{.type = INST_HALT},
|
||||
};
|
||||
struct script *ret = malloc(offsetof(struct script, instrs) + sizeof(instrs));
|
||||
ret->len = ARR_SIZE(instrs);
|
||||
ret->elapsed_slot = 12;
|
||||
ret->n_slots = 17;
|
||||
ret->n_slots = 20;
|
||||
ret->stack_size = 3;
|
||||
ret->vars = NULL;
|
||||
ret->overrides = NULL;
|
||||
|
@ -606,6 +632,11 @@ static struct script *script_template__slide_out(int *output_slots) {
|
|||
*override = (struct overridable_slot){.name = strdup("v-timing"), .slot = 14};
|
||||
HASH_ADD_STR(ret->overrides, name, override);
|
||||
}
|
||||
{
|
||||
struct overridable_slot *override = malloc(sizeof(*override));
|
||||
*override = (struct overridable_slot){.name = strdup("opacity"), .slot = 17};
|
||||
HASH_ADD_STR(ret->overrides, name, override);
|
||||
}
|
||||
output_slots[0] = 1;
|
||||
output_slots[1] = 2;
|
||||
output_slots[2] = 3;
|
||||
|
@ -872,7 +903,7 @@ static bool win_script_preset__slide_in(struct win_script *output, config_settin
|
|||
}
|
||||
static struct script *script_template__fly_out(int *output_slots) {
|
||||
static const struct instruction instrs[] = {
|
||||
{.type = INST_BRANCH_ONCE, .rel = 30},
|
||||
{.type = INST_BRANCH_ONCE, .rel = 47},
|
||||
{.type = INST_LOAD, .slot = 11},
|
||||
{.type = INST_LOAD, .slot = 10},
|
||||
{.type = INST_OP, .op = OP_SUB},
|
||||
|
@ -909,6 +940,26 @@ static struct script *script_template__fly_out(int *output_slots) {
|
|||
{.type = INST_STORE, .slot = 3},
|
||||
{.type = INST_LOAD, .slot = 2},
|
||||
{.type = INST_STORE, .slot = 4},
|
||||
{.type = INST_LOAD, .slot = 14},
|
||||
{.type = INST_LOAD, .slot = 13},
|
||||
{.type = INST_OP, .op = OP_SUB},
|
||||
{.type = INST_LOAD, .slot = 8},
|
||||
{.type = INST_IMM, .imm = 0x0p+0},
|
||||
{.type = INST_OP, .op = OP_SUB},
|
||||
{.type = INST_LOAD, .slot = 15},
|
||||
{.type = INST_OP, .op = OP_DIV},
|
||||
{
|
||||
.type = INST_CURVE,
|
||||
.curve = {.type = CURVE_LINEAR},
|
||||
},
|
||||
{.type = INST_OP, .op = OP_MUL},
|
||||
{.type = INST_LOAD, .slot = 13},
|
||||
{.type = INST_OP, .op = OP_ADD},
|
||||
{.type = INST_STORE, .slot = 5},
|
||||
{.type = INST_LOAD, .slot = 5},
|
||||
{.type = INST_STORE, .slot = 6},
|
||||
{.type = INST_LOAD, .slot = 5},
|
||||
{.type = INST_STORE, .slot = 7},
|
||||
{.type = INST_BRANCH_ONCE, .rel = 29},
|
||||
{.type = INST_HALT},
|
||||
{.type = INST_IMM, .imm = 0x0p+0},
|
||||
|
@ -931,13 +982,13 @@ static struct script *script_template__fly_out(int *output_slots) {
|
|||
{.type = INST_OP, .op = OP_MUL},
|
||||
{.type = INST_OP, .op = OP_ADD},
|
||||
{.type = INST_STORE, .slot = 11},
|
||||
{.type = INST_IMM, .imm = 0x1p+0},
|
||||
{.type = INST_STORE, .slot = 5},
|
||||
{.type = INST_IMM, .imm = 0x1p+0},
|
||||
{.type = INST_STORE, .slot = 6},
|
||||
{.type = INST_IMM, .imm = 0x1p+0},
|
||||
{.type = INST_STORE, .slot = 7},
|
||||
{.type = INST_BRANCH, .rel = -55},
|
||||
{.type = INST_LOAD_CTX, .ctx = 64},
|
||||
{.type = INST_STORE_OVER_NAN, .slot = 13},
|
||||
{.type = INST_LOAD_CTX, .ctx = 1073741824},
|
||||
{.type = INST_STORE, .slot = 15},
|
||||
{.type = INST_LOAD_CTX, .ctx = 64},
|
||||
{.type = INST_STORE, .slot = 14},
|
||||
{.type = INST_BRANCH, .rel = -72},
|
||||
{.type = INST_IMM, .imm = 0x0p+0},
|
||||
{.type = INST_STORE, .slot = 9},
|
||||
{.type = INST_LOAD, .slot = 12},
|
||||
|
@ -946,12 +997,18 @@ static struct script *script_template__fly_out(int *output_slots) {
|
|||
{.type = INST_LOAD, .slot = 9},
|
||||
{.type = INST_OP, .op = OP_MAX},
|
||||
{.type = INST_STORE, .slot = 9},
|
||||
{.type = INST_LOAD, .slot = 15},
|
||||
{.type = INST_IMM, .imm = 0x0p+0},
|
||||
{.type = INST_OP, .op = OP_ADD},
|
||||
{.type = INST_LOAD, .slot = 9},
|
||||
{.type = INST_OP, .op = OP_MAX},
|
||||
{.type = INST_STORE, .slot = 9},
|
||||
{.type = INST_HALT},
|
||||
};
|
||||
struct script *ret = malloc(offsetof(struct script, instrs) + sizeof(instrs));
|
||||
ret->len = ARR_SIZE(instrs);
|
||||
ret->elapsed_slot = 8;
|
||||
ret->n_slots = 13;
|
||||
ret->n_slots = 16;
|
||||
ret->stack_size = 3;
|
||||
ret->vars = NULL;
|
||||
ret->overrides = NULL;
|
||||
|
@ -1009,6 +1066,11 @@ static struct script *script_template__fly_out(int *output_slots) {
|
|||
*override = (struct overridable_slot){.name = strdup("v-timing"), .slot = 10};
|
||||
HASH_ADD_STR(ret->overrides, name, override);
|
||||
}
|
||||
{
|
||||
struct overridable_slot *override = malloc(sizeof(*override));
|
||||
*override = (struct overridable_slot){.name = strdup("opacity"), .slot = 13};
|
||||
HASH_ADD_STR(ret->overrides, name, override);
|
||||
}
|
||||
output_slots[0] = 1;
|
||||
output_slots[1] = 2;
|
||||
output_slots[2] = 3;
|
||||
|
@ -1088,12 +1150,12 @@ static struct script *script_template__fly_in(int *output_slots) {
|
|||
static const struct instruction instrs[] = {
|
||||
{.type = INST_BRANCH_ONCE, .rel = 30},
|
||||
{.type = INST_IMM, .imm = 0x0p+0},
|
||||
{.type = INST_LOAD, .slot = 10},
|
||||
{.type = INST_LOAD, .slot = 7},
|
||||
{.type = INST_OP, .op = OP_SUB},
|
||||
{.type = INST_LOAD, .slot = 8},
|
||||
{.type = INST_LOAD, .slot = 5},
|
||||
{.type = INST_IMM, .imm = 0x0p+0},
|
||||
{.type = INST_OP, .op = OP_SUB},
|
||||
{.type = INST_LOAD, .slot = 11},
|
||||
{.type = INST_LOAD, .slot = 8},
|
||||
{.type = INST_OP, .op = OP_DIV},
|
||||
{
|
||||
.type = INST_CURVE,
|
||||
|
@ -1106,7 +1168,7 @@ static struct script *script_template__fly_in(int *output_slots) {
|
|||
.cy = 0x1.0147ae147ae16p+1}},
|
||||
},
|
||||
{.type = INST_OP, .op = OP_MUL},
|
||||
{.type = INST_LOAD, .slot = 10},
|
||||
{.type = INST_LOAD, .slot = 7},
|
||||
{.type = INST_OP, .op = OP_ADD},
|
||||
{.type = INST_STORE, .slot = 0},
|
||||
{.type = INST_LOAD, .slot = 0},
|
||||
|
@ -1123,7 +1185,7 @@ static struct script *script_template__fly_in(int *output_slots) {
|
|||
{.type = INST_STORE, .slot = 3},
|
||||
{.type = INST_LOAD, .slot = 2},
|
||||
{.type = INST_STORE, .slot = 4},
|
||||
{.type = INST_BRANCH_ONCE, .rel = 27},
|
||||
{.type = INST_BRANCH_ONCE, .rel = 21},
|
||||
{.type = INST_HALT},
|
||||
{.type = INST_LOAD_CTX, .ctx = 24},
|
||||
{.type = INST_LOAD_CTX, .ctx = 1073741832},
|
||||
|
@ -1140,30 +1202,24 @@ static struct script *script_template__fly_in(int *output_slots) {
|
|||
{.type = INST_LOAD_CTX, .ctx = 1073741840},
|
||||
{.type = INST_OP, .op = OP_MUL},
|
||||
{.type = INST_OP, .op = OP_ADD},
|
||||
{.type = INST_STORE_OVER_NAN, .slot = 10},
|
||||
{.type = INST_STORE_OVER_NAN, .slot = 7},
|
||||
{.type = INST_LOAD_CTX, .ctx = 1073741824},
|
||||
{.type = INST_STORE, .slot = 11},
|
||||
{.type = INST_IMM, .imm = 0x1p+0},
|
||||
{.type = INST_STORE, .slot = 5},
|
||||
{.type = INST_IMM, .imm = 0x1p+0},
|
||||
{.type = INST_STORE, .slot = 6},
|
||||
{.type = INST_IMM, .imm = 0x1p+0},
|
||||
{.type = INST_STORE, .slot = 7},
|
||||
{.type = INST_BRANCH, .rel = -53},
|
||||
{.type = INST_STORE, .slot = 8},
|
||||
{.type = INST_BRANCH, .rel = -47},
|
||||
{.type = INST_IMM, .imm = 0x0p+0},
|
||||
{.type = INST_STORE, .slot = 9},
|
||||
{.type = INST_LOAD, .slot = 11},
|
||||
{.type = INST_STORE, .slot = 6},
|
||||
{.type = INST_LOAD, .slot = 8},
|
||||
{.type = INST_IMM, .imm = 0x0p+0},
|
||||
{.type = INST_OP, .op = OP_ADD},
|
||||
{.type = INST_LOAD, .slot = 9},
|
||||
{.type = INST_LOAD, .slot = 6},
|
||||
{.type = INST_OP, .op = OP_MAX},
|
||||
{.type = INST_STORE, .slot = 9},
|
||||
{.type = INST_STORE, .slot = 6},
|
||||
{.type = INST_HALT},
|
||||
};
|
||||
struct script *ret = malloc(offsetof(struct script, instrs) + sizeof(instrs));
|
||||
ret->len = ARR_SIZE(instrs);
|
||||
ret->elapsed_slot = 8;
|
||||
ret->n_slots = 12;
|
||||
ret->elapsed_slot = 5;
|
||||
ret->n_slots = 9;
|
||||
ret->stack_size = 3;
|
||||
ret->vars = NULL;
|
||||
ret->overrides = NULL;
|
||||
|
@ -1198,36 +1254,18 @@ static struct script *script_template__fly_in(int *output_slots) {
|
|||
.name = strdup("shadow-offset-y"), .slot = 4, .index = 4};
|
||||
HASH_ADD_STR(ret->vars, name, var);
|
||||
}
|
||||
{
|
||||
struct variable_allocation *var = malloc(sizeof(*var));
|
||||
*var = (struct variable_allocation){
|
||||
.name = strdup("opacity"), .slot = 5, .index = 5};
|
||||
HASH_ADD_STR(ret->vars, name, var);
|
||||
}
|
||||
{
|
||||
struct variable_allocation *var = malloc(sizeof(*var));
|
||||
*var = (struct variable_allocation){
|
||||
.name = strdup("shadow-opacity"), .slot = 6, .index = 6};
|
||||
HASH_ADD_STR(ret->vars, name, var);
|
||||
}
|
||||
{
|
||||
struct variable_allocation *var = malloc(sizeof(*var));
|
||||
*var = (struct variable_allocation){
|
||||
.name = strdup("blur-opacity"), .slot = 7, .index = 7};
|
||||
HASH_ADD_STR(ret->vars, name, var);
|
||||
}
|
||||
{
|
||||
struct overridable_slot *override = malloc(sizeof(*override));
|
||||
*override = (struct overridable_slot){.name = strdup("v-timing"), .slot = 10};
|
||||
*override = (struct overridable_slot){.name = strdup("v-timing"), .slot = 7};
|
||||
HASH_ADD_STR(ret->overrides, name, override);
|
||||
}
|
||||
output_slots[0] = 1;
|
||||
output_slots[1] = 2;
|
||||
output_slots[2] = 3;
|
||||
output_slots[3] = 4;
|
||||
output_slots[4] = 5;
|
||||
output_slots[5] = 7;
|
||||
output_slots[6] = 6;
|
||||
output_slots[4] = -1;
|
||||
output_slots[5] = -1;
|
||||
output_slots[6] = -1;
|
||||
output_slots[7] = -1;
|
||||
output_slots[8] = -1;
|
||||
output_slots[9] = -1;
|
||||
|
|
Loading…
Reference in a new issue