Giter Club home page Giter Club logo

project-label's People

Contributors

drinchev avatar github-actions[bot] avatar jsawo avatar simschla avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

project-label's Issues

Optionally display the project label as a background image of the whole window

When working with multiple open windows in IntelliJ, it is often hard to tell which window is which, e.g. when switching windows using mission control because the label in the status bar is not easily readable.

When discussing with my colleagues at work, several of them mentioned it would be very helpful, if one could optionally have the project label in a much bigger way as a background image of the whole editor window.

Since I would love to have that too, I've prototyped a bit and am fairly confident, that this would improve the UX in such cases.

@drinchev Would you be OK to including that in the project-label plugin?
Then I'll go ahead and polish things up to create a PR.

My current implementation looks like this:

SCR-20230407-ithd
SCR-20230407-itjy

Label text off center

Shouldn't it be centered? It seems to always be a bit off center.
I am using PHPStorm 2018.2

Hardcoded label font size

The TextAttribute.SIZE looks hardcoded at 8. It is extremely small on my laptop.

A setting to choose font/weight/size would be great!

Modifying it in the src file looks trivial but I have no idea about how to compile it (I use it in RubyMine and I don't know anything about Java). Is there any quick way to compile it without Java knowledge? :) Thanks.

Update and repaint project label in all open project windows when changing global settings

Currently, when a user changes "Global Preferences", these changes are only reflected in the open project window, where the preferences have been changed. All other open project windows do not get notified and as such do not update their labels. It would be nice if all open project windows would be triggered to repaint/update the project labels, whenever Global Preferences are changed.

AlreadyDisposedException with New UI after project start

I am using New UI with DataGrip. Project label triggers the attached exception after opening a project. I am just using Label Color, no background image etc. I does not happen anytime just ocassionally. I did not find a reliable way to reproduce and force the exception. It happens randomly.

Screenshot 2023-09-22 092028

com.intellij.serviceContainer.AlreadyDisposedException: Cannot create com.intellij.ide.util.PropertiesComponent because container is already disposed (container=Project(name=PRODUCTION, containerState=DISPOSE_COMPLETED, componentStore=.....\PRODUCTION) (disposed))
at com.intellij.serviceContainer.ContainerUtilKt.throwAlreadyDisposedError(containerUtil.kt:40)
at com.intellij.serviceContainer.ComponentManagerImpl.doGetService(ComponentManagerImpl.kt:695)
at com.intellij.serviceContainer.ComponentManagerImpl.getService(ComponentManagerImpl.kt:629)
at com.drinchev.projectlabel.resources.ui.ProjectLabelBackgroundImage.projectLevelPropertiesComponent(ProjectLabelBackgroundImage.java:113)
at com.drinchev.projectlabel.resources.ui.ProjectLabelBackgroundImage.hideImage(ProjectLabelBackgroundImage.java:125)
at com.drinchev.projectlabel.resources.ui.ProjectLabelBackgroundImage.showImage(ProjectLabelBackgroundImage.java:83)
at com.drinchev.projectlabel.resources.ui.ProjectLabelBackgroundImage.updateImage(ProjectLabelBackgroundImage.java:121)
at com.drinchev.projectlabel.resources.ui.ProjectLabelBackgroundImage$1.componentMoved(ProjectLabelBackgroundImage.java:75)
at java.desktop/java.awt.AWTEventMulticaster.componentMoved(AWTEventMulticaster.java:178)
at java.desktop/java.awt.AWTEventMulticaster.componentMoved(AWTEventMulticaster.java:177)
at java.desktop/java.awt.AWTEventMulticaster.componentMoved(AWTEventMulticaster.java:177)
at java.desktop/java.awt.AWTEventMulticaster.componentMoved(AWTEventMulticaster.java:177)
at java.desktop/java.awt.Component.processComponentEvent(Component.java:6477)
at java.desktop/java.awt.Component.processEvent(Component.java:6428)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Window.processEvent(Window.java:2078)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5022)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2802)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:781)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:730)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:724)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:754)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:752)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:751)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:909)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:756)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$5(IdeEventQueue.java:437)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:772)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:436)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:615)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:434)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:813)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:480)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

FIX project name gets appended to old when changing branches

dunno if its caused by Project Label
the same thing happens inside the idea/.name file:

myproject [JIRA-123] [/afs/acn/p./c./myproject./code./myproject] [/afs/acn/p./c./myproject./code./myproject] [/afs/acn/p./c./myproject./code./myproject] [/afs/acn/p./c./myproject./code./myproject] [/afs/acn/p./c./myproject./code./myproject]

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.