Я использую oneiric с оболочкой gnome и Docky. Окна сводятся к минимуму в обзоре «Действия» на панели. Как я могу получить эффект минимизации для docky вместо этого в Activity?
Извините, что воскресить такой старый поток, но я ищу, чтобы написать некоторые пользовательские анимации для Gnome Shell, и это почти единственный поток, который я могу найти, который был смутно полезен.
На всякий случай помогает кому-то еще, вот что я разработал до сих пор:
// push the current actor onto the
// minimising stack / queue / list /
// whatever it is
this._minimizing.push(actor);
// get the main monitor
let primary = Main.layoutManager.primaryMonitor;
// calculate the destination for the x
// coordinate (0,0 is top left so this
// is presumably 0 for single monitor set ups)
let xDest = primary.x;
// if Clutter is configured to use
// right-to-left text, then the
// activities button is on the
// right hand side, so add the
// monitor width to xDest
if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
xDest += primary.width;
// add the animation to the window
Tweener.addTween(actor,
{
// shrink the height and width down to 0
scale_x: 0.0,
scale_y: 0.0,
// move to the calculated destination
// (most likely top-left i.e. 0,0)
x: xDest,
y: 0,
// take the correct amount of time
time: WINDOW_ANIMATION_TIME,
// set the type of curve to use
// during the animation
transition: 'easeOutQuad',
// set up some events to trigger
// when were done
onComplete: this._minimizeWindowDone,
onCompleteScope: this,
onCompleteParams: [shellwm, actor],
onOverwrite: this._minimizeWindowOverwritten,
onOverwriteScope: this,
onOverwriteParams: [shellwm, actor]
});
. Короче говоря, если у вас есть док-станция внизу, вы можете легко сделать анимацию до середины ее do:
x: primary.x + (primary.width / 2)
y: primary.height
Не идеально, но это начало ...
Попробуйте использовать расширение GNOME Disable Window Animations :
Извините, что воскресить такой старый поток, но я ищу, чтобы написать некоторые пользовательские анимации для Gnome Shell, и это почти единственный поток, который я могу найти, который был смутно полезен.
На всякий случай помогает кому-то еще, вот что я разработал до сих пор:
// push the current actor onto the
// minimising stack / queue / list /
// whatever it is
this._minimizing.push(actor);
// get the main monitor
let primary = Main.layoutManager.primaryMonitor;
// calculate the destination for the x
// coordinate (0,0 is top left so this
// is presumably 0 for single monitor set ups)
let xDest = primary.x;
// if Clutter is configured to use
// right-to-left text, then the
// activities button is on the
// right hand side, so add the
// monitor width to xDest
if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
xDest += primary.width;
// add the animation to the window
Tweener.addTween(actor,
{
// shrink the height and width down to 0
scale_x: 0.0,
scale_y: 0.0,
// move to the calculated destination
// (most likely top-left i.e. 0,0)
x: xDest,
y: 0,
// take the correct amount of time
time: WINDOW_ANIMATION_TIME,
// set the type of curve to use
// during the animation
transition: 'easeOutQuad',
// set up some events to trigger
// when were done
onComplete: this._minimizeWindowDone,
onCompleteScope: this,
onCompleteParams: [shellwm, actor],
onOverwrite: this._minimizeWindowOverwritten,
onOverwriteScope: this,
onOverwriteParams: [shellwm, actor]
});
. Короче говоря, если у вас есть док-станция внизу, вы можете легко сделать анимацию до середины ее do:
x: primary.x + (primary.width / 2)
y: primary.height
Не идеально, но это начало ...
Я хотел сделать то же самое, но с более низкой нижней панелью, а не док-станцией. Однако концепция та же. Я думаю, вы можете отредактировать этот файл:
/usr/share/gnome-shell/js/ui/windowManager.js
Я попытался точно определить эффект, но единственное Я нахожу здесь следующее:
/* scale window down to 0x0.
* maybe TODO: get icon geometry passed through and move the window towards it?
*/
this._minimizing.push(actor);
let primary = Main.layoutManager.primaryMonitor;
let xDest = primary.x;
if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
xDest += primary.width;
Tweener.addTween(actor,
{ scale_x: 0.0,
scale_y: 0.0,
x: xDest,
y: 0,
time: WINDOW_ANIMATION_TIME,
transition: 'easeOutQuad',
onComplete: this._minimizeWindowDone,
onCompleteScope: this,
onCompleteParams: [shellwm, actor],
onOverwrite: this._minimizeWindowOverwritten,
onOverwriteScope: this,
onOverwriteParams: [shellwm, actor]
});
},
Если бы были какие-либо другие переходы, возможно, его можно было бы заменить. Я мог даже согласиться на переходный процесс. Я просто не знаю, где указаны эти переменные. Я думаю, что важными строками являются x: xDest,, y: 0 и переход: 'easeOutQuad',
Если кто-то хочет добавить это или исправить, пожалуйста, помогите.
Попробуйте использовать расширение GNOME Disable Window Animations :
Извините, что воскресить такой старый поток, но я ищу, чтобы написать некоторые пользовательские анимации для Gnome Shell, и это почти единственный поток, который я могу найти, который был смутно полезен.
На всякий случай помогает кому-то еще, вот что я разработал до сих пор:
// push the current actor onto the
// minimising stack / queue / list /
// whatever it is
this._minimizing.push(actor);
// get the main monitor
let primary = Main.layoutManager.primaryMonitor;
// calculate the destination for the x
// coordinate (0,0 is top left so this
// is presumably 0 for single monitor set ups)
let xDest = primary.x;
// if Clutter is configured to use
// right-to-left text, then the
// activities button is on the
// right hand side, so add the
// monitor width to xDest
if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
xDest += primary.width;
// add the animation to the window
Tweener.addTween(actor,
{
// shrink the height and width down to 0
scale_x: 0.0,
scale_y: 0.0,
// move to the calculated destination
// (most likely top-left i.e. 0,0)
x: xDest,
y: 0,
// take the correct amount of time
time: WINDOW_ANIMATION_TIME,
// set the type of curve to use
// during the animation
transition: 'easeOutQuad',
// set up some events to trigger
// when were done
onComplete: this._minimizeWindowDone,
onCompleteScope: this,
onCompleteParams: [shellwm, actor],
onOverwrite: this._minimizeWindowOverwritten,
onOverwriteScope: this,
onOverwriteParams: [shellwm, actor]
});
. Короче говоря, если у вас есть док-станция внизу, вы можете легко сделать анимацию до середины ее do:
x: primary.x + (primary.width / 2)
y: primary.height
Не идеально, но это начало ...
Я хотел сделать то же самое, но с более низкой нижней панелью, а не док-станцией. Однако концепция та же. Я думаю, вы можете отредактировать этот файл:
/usr/share/gnome-shell/js/ui/windowManager.js
Я попытался точно определить эффект, но единственное Я нахожу здесь следующее:
/* scale window down to 0x0.
* maybe TODO: get icon geometry passed through and move the window towards it?
*/
this._minimizing.push(actor);
let primary = Main.layoutManager.primaryMonitor;
let xDest = primary.x;
if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
xDest += primary.width;
Tweener.addTween(actor,
{ scale_x: 0.0,
scale_y: 0.0,
x: xDest,
y: 0,
time: WINDOW_ANIMATION_TIME,
transition: 'easeOutQuad',
onComplete: this._minimizeWindowDone,
onCompleteScope: this,
onCompleteParams: [shellwm, actor],
onOverwrite: this._minimizeWindowOverwritten,
onOverwriteScope: this,
onOverwriteParams: [shellwm, actor]
});
},
Если бы были какие-либо другие переходы, возможно, его можно было бы заменить. Я мог даже согласиться на переходный процесс. Я просто не знаю, где указаны эти переменные. Я думаю, что важными строками являются x: xDest,, y: 0 и переход: 'easeOutQuad',
Если кто-то хочет добавить это или исправить, пожалуйста, помогите.
Извините, что воскресить такой старый поток, но я ищу, чтобы написать некоторые пользовательские анимации для Gnome Shell, и это почти единственный поток, который я могу найти, который был смутно полезен.
На всякий случай помогает кому-то еще, вот что я разработал до сих пор:
// push the current actor onto the
// minimising stack / queue / list /
// whatever it is
this._minimizing.push(actor);
// get the main monitor
let primary = Main.layoutManager.primaryMonitor;
// calculate the destination for the x
// coordinate (0,0 is top left so this
// is presumably 0 for single monitor set ups)
let xDest = primary.x;
// if Clutter is configured to use
// right-to-left text, then the
// activities button is on the
// right hand side, so add the
// monitor width to xDest
if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
xDest += primary.width;
// add the animation to the window
Tweener.addTween(actor,
{
// shrink the height and width down to 0
scale_x: 0.0,
scale_y: 0.0,
// move to the calculated destination
// (most likely top-left i.e. 0,0)
x: xDest,
y: 0,
// take the correct amount of time
time: WINDOW_ANIMATION_TIME,
// set the type of curve to use
// during the animation
transition: 'easeOutQuad',
// set up some events to trigger
// when were done
onComplete: this._minimizeWindowDone,
onCompleteScope: this,
onCompleteParams: [shellwm, actor],
onOverwrite: this._minimizeWindowOverwritten,
onOverwriteScope: this,
onOverwriteParams: [shellwm, actor]
});
. Короче говоря, если у вас есть док-станция внизу, вы можете легко сделать анимацию до середины ее do:
x: primary.x + (primary.width / 2)
y: primary.height
Не идеально, но это начало ...
Единственный способ изменить это (в настоящее время) без изменения исходного кода - это написать расширение, которое изменяет свойства анимации минимизации, чтобы оно предназначалось для док-станции.
Я хотел сделать то же самое, но с более низкой нижней панелью, а не док-станцией. Однако концепция та же. Я думаю, вы можете отредактировать этот файл:
/usr/share/gnome-shell/js/ui/windowManager.js
Я попытался точно определить эффект, но единственное Я нахожу здесь следующее:
/* scale window down to 0x0.
* maybe TODO: get icon geometry passed through and move the window towards it?
*/
this._minimizing.push(actor);
let primary = Main.layoutManager.primaryMonitor;
let xDest = primary.x;
if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
xDest += primary.width;
Tweener.addTween(actor,
{ scale_x: 0.0,
scale_y: 0.0,
x: xDest,
y: 0,
time: WINDOW_ANIMATION_TIME,
transition: 'easeOutQuad',
onComplete: this._minimizeWindowDone,
onCompleteScope: this,
onCompleteParams: [shellwm, actor],
onOverwrite: this._minimizeWindowOverwritten,
onOverwriteScope: this,
onOverwriteParams: [shellwm, actor]
});
},
Если бы были какие-либо другие переходы, возможно, его можно было бы заменить. Я мог даже согласиться на переходный процесс. Я просто не знаю, где указаны эти переменные. Я думаю, что важными строками являются x: xDest,, y: 0 и переход: 'easeOutQuad',
Если кто-то хочет добавить это или исправить, пожалуйста, помогите.
Попробуйте использовать расширение GNOME Disable Window Animations :