ClientUI: Add support for changing window opacity.
This commit is contained in:
committed by
GitHub
parent
7675f92ee5
commit
c39cbd6b4f
@@ -105,11 +105,26 @@ public interface RuneLiteConfig extends Config
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Range(
|
||||||
|
min = 10,
|
||||||
|
max = 100
|
||||||
|
)
|
||||||
|
@ConfigItem(
|
||||||
|
keyName = "uiWindowOpacity",
|
||||||
|
name = "Window opacity",
|
||||||
|
description = "Set the windows opacity. Requires \"Enable custom window chrome\" to be enabled.",
|
||||||
|
position = 16
|
||||||
|
)
|
||||||
|
default int windowOpacity()
|
||||||
|
{
|
||||||
|
return 100;
|
||||||
|
}
|
||||||
|
|
||||||
@ConfigItem(
|
@ConfigItem(
|
||||||
keyName = "gameAlwaysOnTop",
|
keyName = "gameAlwaysOnTop",
|
||||||
name = "Enable client always on top",
|
name = "Enable client always on top",
|
||||||
description = "The game will always be on the top of the screen",
|
description = "The game will always be on the top of the screen",
|
||||||
position = 16
|
position = 17
|
||||||
)
|
)
|
||||||
default boolean gameAlwaysOnTop()
|
default boolean gameAlwaysOnTop()
|
||||||
{
|
{
|
||||||
@@ -120,7 +135,7 @@ public interface RuneLiteConfig extends Config
|
|||||||
keyName = "warningOnExit",
|
keyName = "warningOnExit",
|
||||||
name = "Display warning on exit",
|
name = "Display warning on exit",
|
||||||
description = "Toggles a warning popup when trying to exit the client",
|
description = "Toggles a warning popup when trying to exit the client",
|
||||||
position = 17
|
position = 18
|
||||||
)
|
)
|
||||||
default WarningOnExit warningOnExit()
|
default WarningOnExit warningOnExit()
|
||||||
{
|
{
|
||||||
@@ -131,7 +146,7 @@ public interface RuneLiteConfig extends Config
|
|||||||
keyName = "usernameInTitle",
|
keyName = "usernameInTitle",
|
||||||
name = "Show display name in title",
|
name = "Show display name in title",
|
||||||
description = "Toggles displaying of local player's display name in client title",
|
description = "Toggles displaying of local player's display name in client title",
|
||||||
position = 18
|
position = 19
|
||||||
)
|
)
|
||||||
default boolean usernameInTitle()
|
default boolean usernameInTitle()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -161,7 +161,7 @@ public class ClientUI
|
|||||||
@Subscribe
|
@Subscribe
|
||||||
public void onConfigChanged(ConfigChanged event)
|
public void onConfigChanged(ConfigChanged event)
|
||||||
{
|
{
|
||||||
if (!event.getGroup().equals("runelite") ||
|
if (!event.getGroup().equals(CONFIG_GROUP) ||
|
||||||
event.getKey().equals(CONFIG_CLIENT_MAXIMIZED) ||
|
event.getKey().equals(CONFIG_CLIENT_MAXIMIZED) ||
|
||||||
event.getKey().equals(CONFIG_CLIENT_BOUNDS))
|
event.getKey().equals(CONFIG_CLIENT_BOUNDS))
|
||||||
{
|
{
|
||||||
@@ -979,6 +979,14 @@ public class ClientUI
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update window opacity if the frame is undecorated, translucency capable and not fullscreen
|
||||||
|
if (frame.isUndecorated() &&
|
||||||
|
frame.getGraphicsConfiguration().isTranslucencyCapable() &&
|
||||||
|
frame.getGraphicsConfiguration().getDevice().getFullScreenWindow() == null)
|
||||||
|
{
|
||||||
|
frame.setOpacity(((float) config.windowOpacity()) / 100.0f);
|
||||||
|
}
|
||||||
|
|
||||||
if (config.usernameInTitle() && (client instanceof Client))
|
if (config.usernameInTitle() && (client instanceof Client))
|
||||||
{
|
{
|
||||||
final Player player = ((Client)client).getLocalPlayer();
|
final Player player = ((Client)client).getLocalPlayer();
|
||||||
|
|||||||
Reference in New Issue
Block a user