Git Product home page Git Product logo

glass's Introduction

Abandoned

Please use LS: Glass

This project is the original Glass addon by me. I no longer play the game so this project has been abandoned.

i_lightspark has been kind enough to keep the spirit of Glass alive by releasing their own version. Please use that instead.

Original description follows


Glass

An immersive and minimalistic chat UI for World of Warcraft

Demo

(Click for slightly higher resolution)

Why?

I wanted to have a chat UI that didn't look like it was designed in 2004.

I tried several addons that customize the chat interface but was left unsatisfied. So I decided to make one myself.

The goal of Glass is to be unobtrusive. Messages only appear when they come in and fades out after a few seconds. Chat tabs are hidden until the player hovers over the chat UI. There is no always-visible background. Glass is invisible until the player needs it.

Install

Glass is available on CurseForge

You may also download the latest release on GitHub

Commands

  • /glass - open the settings window
  • /glass lock - unlock the chat frame

Customization

Not everyone likes the same look. Glass tries to accommodate your own preferences by giving you options to change the:

  • Chat frame width, height, and location
  • Font and font size
  • Message fade out delay
  • Background opacity

Moreover, unlike the default chat UI, these settings may be shared between characters.

Addon compatibility

ElvUI

Glass works with ElvUI, but make sure to disable the Chat module.

Prat 3.0

Glass works with Prat, but make sure to disable the EditBox module.

Prat Timestamps work with Glass but with a caveat. Prat allows you to select which tabs to enable timestamps on. This is currently not supported and Timestamps will be enabled on all tabs if the Prat Timestamps module is loaded. If you want to disable Prat Timestamps, you'll need to set the module to "Don't load" (just "Disabled" won't work).

Note: WoW's built-in timestamps work with Glass. (Interface -> Social -> Timestamps)

Leatrix Plus

Glass works with Leatrix Plus. You might encounter issues when enabling features that modify chat behaviour such as "Recent chat window" or "Use easy resizing". Switching these features off will resolve issues with Glass.

Issues and suggestions

Check the Issue tracker on GitHub to see if someone else has already reported your issue. If not, leave a comment on CurseForge.

License

MIT License

Copyright (c) 2020 Mitchel Cabuloy

glass's People

Contributors

mixxorz avatar sammyjames avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

glass's Issues

Chat tabs

Players should be able to switch between different chat tabs. This should work identically to the default chat tabs (filters, colors, etc. should still work)

Hide Blizzard chat frame

  • Default Blizzard chat frames should be hidden by default when the addon loads.
  • Running /mesmeric showdefault should unhide the default chat frames
  • Running /mesmeric hidedefault should hide the default chat frames

Scroll position shouldn't reset when scrolling

When a new message comes in while a user is scrolling through their chat history, their scroll position resets to the bottom. This shouldn't happen. Instead, they should be able to keep scrolling uninterrupted.

Fix animations when switching between chat tabs

Currently, when the tab switches and the other chat frame appears, messages appear as if they've only just arrived (they slide up). Instead, they should just fade in. Moreover, the current chat frame should fade out while the other fades in.

Text wrapping

  • Text shouldn't overflow and instead wrap when it reaches the frame width
  • The height of the message frame should increase with the height of the text layer

Chat text should stay within the bounds of the chat frame

Add default chat buttons

In order to simplify design/development, I opted to hide the default chat buttons, like the social and voice buttons. It would be a good idea to add these buttons back in and incorporate it into the design of the Glass chat UI.

Clickable chat links

  • On hover, tooltip should be displayed attached to the mouse
  • On click, tooltip should open until closed attached to an anchor

Chat links for items and such should be clickable

Display timestamps

I would've thought this would be handled by Prat. Some investigation required.

Fix slide up animations

With #1, chatLine frames are no longer static height. The transition animations need to account for this.

Also might be a good time to fix the animation race condition when two or more chat messages arrive at the same time.

Disable default chat frame repositioning

Default functionality breaks the addon:

  • Disable repositioning chat frame by dragging the "General" tab
  • Disable undocking chat frames
  • Reordering chat tabs should still work (Default functionality)

Messages should show on mouse over

At the moment, messages, once hidden, will only appear again on mouse scroll. They should instead re-appear when the mouse enters the chat frame, similar to the chat tabs. They should also fade in and fade out with the same animation as the chat tabs.

Configurable options

Configurable options

  • Font size
  • Font (options should use LibSharedMedia)
    • Message font editable
    • EditBox font editable
    • ChatTab font editable
  • Text escape texture alignment
  • Chat frame size
  • Profile support (With a "Default" profile as default [shared between characters])
  • Should tooltip appear when hovering over chat links
  • Time until fade out
  • Background opacity

Fix chat tab highlighting

Chat tab highlighting still works, but it needs to turn off once the proper chat tab has been selected.

Issues with icon alignment

Text icons like the Battle.net login icon and the tweet icon aren't aligned properly. Currently, they're aligned to the top of the line where ideally they would be centered vertically.

They also don't animate when sliding up.

Scrollable chat history

  • Chat history should be scrollable
  • Chat messages should be contained within the container (no overflow)

Scroll limits bug

Players are able to scroll past their chat history. This is because each sliding frame has a limit of 128 messages, so older message frames are recycled (to conserve memory). This is not taken account into the scrolling logic.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.