Giter Site home page Giter Site logo

linux-shimeji's Introduction

Shimeji for Linux Shimeji for Linux

This is a Linux version of the popular desktop mascot program, Shimeji.

I appreciate any bug reports or suggestions. Use the issue tracker here or contact me directly on IRC (Rizon) where I'm called 'asdfman'.

Changelog

v1.05

  • Greatly reduced CPU usage (noticeable with few active mascots)
  • Remake of multi monitor behavior

v1.04

  • Window layering detection.
  • Fixed multi monitor behavior

v1.03

  • Complete remakes of the window state/type handling. AwesomeWM-users should have no more issues.
  • A conversion script for Shimeji-EE configurations is now included.

v1.02

  • Full functionality with all standard Behavior.xml and Actions.xml files. Feel free to use any Shimeji you find and edit the files as you see fit.

v1.01

  • All normal desktop windows should now be detected and interacted with correctly, titles.conf now defaults to an empty file.
  • The mascots are now set a 'dock' window type property, using compton/xcompmgr with -C will not draw window shadows on them.

22.4.2012 v1.0

  • Initial release, all basic functionality implemented

Requirements

A compositing manager, Compton is highly recommended.

Tested with both OpenJDK 6 and SunJDK 6 JRE's. There were some issues on Gnome and KDE when using OpenJDK, if you experience them the only solution I can offer is using Sun JRE, should solve all problems.

Usage

Obtain the repository : git clone https://github.com/asdfman/linux-shimeji.git OR download a zip archive on the github page

To run, execute launch.sh in the project root directory. (eg. ./launch.sh)

To build, execute 'ant' in the project root directory.

Note that the program comes pre-compiled and you do not need to build unless you plan to modify the source.

Configuration

  • window.conf - set window dimensions to match your window decorations. If you're using a plain WM with no decorations, zero on all values or an empty file should be accurate

  • titles.conf - enter window titles, one per line, case insensitive. The Mascots will interact with these windows only. If no window titles are specified, all windows will be interacted with. Leaving this file empty should be ideal for most people.

For more information refer to the configuration files.

Obtaining more Shimejis

You can find thousands on www.deviantart.com and www.pixiv.net (tag: しめじ). This version uses Japanese Actions.xml and Behavior.xml files.

To navigate your way through the .xml files more comfortably, I recommend using an English version of the file from the Shimeji-EE project project as a roadmap.

A conversion file for English .xml files used in the EE-version is included and any ShimejiEE mascot can be made fully functional with this version. Make sure you use a Japanese Mascot.xsd XML-schema after the conversion, do not replace it with the English one. The filenames that are read by this version are the same as in the current official Shimeji, 'Actions.xml' and 'Behavior.xml'. Keep in mind that all images should go into the 'img' directory, no subdirectories inside will be read, same goes for configurations and the 'conf' directory.

You will find 'conv.sed' in the 'conf' directory. You can also find it separately here.

Detailed usage instructions can be found within the file.

Known issues

If you encounter trayicon-sized artifacts in the top-left corner of your screen, it's caused by an issue with Compton/XCompmgr and Java system tray spawning. I was unable to solve the issue from within this program so I wrote a patch for Compton instead.

License

This project inherits the ZLIB/LIBPNG license of the original program. The included Java Native Access library is licensed under the LGPL. The Mozilla Rhino Javascript Engine is licensed under the Mozilla Public License.

linux-shimeji's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar

linux-shimeji's Issues

What did I do wrong?

I was doing the following commands to launch Shimeji. Then I encountered the following:

invertigo_2@penguin:~$ cd linux-shimeji        
invertigo_2@penguin:~/linux-shimeji$ ./launch.sh
./launch.sh: line 1: java: command not found

What does it mean that the ./launch.sh command wasn't found by Java? On an Acer Chromebook with Debian 10/Buster. (By the way, invertigo2 is my name on Linux.)

Could not find the main class: com.group_finity.mascot.Main

Hello,

That's what am I getting while running launch.sh:
$ ./launch.sh
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:435)
at java.util.Properties.load0(Properties.java:354)
at java.util.Properties.load(Properties.java:342)
at java.util.logging.LogManager.readConfiguration(LogManager.java:890)
at com.group_finity.mascot.Main.(Unknown Source)
Could not find the main class: com.group_finity.mascot.Main. Program will exit.

What can be wrong?

Got the app to work, but it only does this.

I figured out how to set it up, but it appears in its own window. Also, when I put it into full screen mode, it stays in the corner. Has anyone else had this happen to them with an Acer Chromebook (with developer mode)?
image

Greetings!

Hi asdfman,
Could it be that you've taken my code from the shimeji-ee issue tracker Issue 22 on Oct 26, 2011, "beta X11 NativeFactoryImpl" and improved it?
That would be awsome! I think relic isn't active any more with it's shimeji-ee project.
Nice work btw. ^^

cheers saturnu alias tt

Alignment and virtual desktops

I found two little bugs.

The first bug is with alignment. If a window that Shimeji recognizes (in this case, urxvt) is not connected to the border of any other window in the titles.conf, Shimeji won't detect the borders and allow it to move off of the border (see the top half of the image below).

The second bug is with virtual desktops. In this case, even if the window the Shimeji is on is connected to the border of any other window in titles.conf, if I add one while on a different virtual desktop, it acts as if the border is still there (see the bottom half of the image below).

https://goput.it/usu.png

Wayland support

Would it be possible for this project to support Wayland compositors, like Hyprland or Sway? I tried running it anyway (in Hyprland) in case xwayland would get it working but I get these errors:

java.lang.IllegalAccessException: class com.sun.jna.platform.WindowUtils$X11WindowUtils cannot access class sun.awt.X11GraphicsConfig (in module java.desktop) because module java.desktop does not export sun.awt to unnamed module @50a638b5
	at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:420)
	at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:709)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at com.sun.jna.platform.WindowUtils$X11WindowUtils.getVisualID(WindowUtils.java:1178)
	at com.sun.jna.platform.WindowUtils$X11WindowUtils.getAlphaCompatibleGraphicsConfiguration(WindowUtils.java:1199)
	at com.sun.jna.platform.WindowUtils$X11WindowUtils.setWindowTransparent(WindowUtils.java:1406)
	at com.sun.jna.platform.WindowUtils.setWindowTransparent(WindowUtils.java:1549)
	at com.group_finity.mascot.x11.X11TranslucentWindow.setVisible(Unknown Source)
	at com.group_finity.mascot.Mascot.apply(Unknown Source)
	at com.group_finity.mascot.Manager.tick(Unknown Source)
	at com.group_finity.mascot.Manager.access$000(Unknown Source)
	at com.group_finity.mascot.Manager$2.run(Unknown Source)
Exception in thread "Thread-2" java.lang.UnsatisfiedLinkError: libjawt.so: cannot open shared object file: No such file or directory
	at com.sun.jna.Native.getWindowHandle0(Native Method)
	at com.sun.jna.Native$AWT.getComponentID(Native.java:1766)
	at com.sun.jna.Native$AWT.getWindowID(Native.java:1742)
	at com.sun.jna.Native.getWindowID(Native.java:242)
	at com.group_finity.mascot.x11.X11TranslucentWindow.updateX11(Unknown Source)
	at com.group_finity.mascot.x11.X11TranslucentWindow.updateImage(Unknown Source)
	at com.group_finity.mascot.Mascot.apply(Unknown Source)
	at com.group_finity.mascot.Manager.tick(Unknown Source)
	at com.group_finity.mascot.Manager.access$000(Unknown Source)
	at com.group_finity.mascot.Manager$2.run(Unknown Source)

Shimeji not appearing on Ubuntu 20.04.3 LTS, shows blank window titled web0

Exception in thread "Thread-4" java.lang.UnsatisfiedLinkError: libjawt.so: cannot open shared object file: No such file or directory
at com.sun.jna.Native.getWindowHandle0(Native Method)
at com.sun.jna.Native$AWT.getComponentID(Native.java:1766)
at com.sun.jna.Native$AWT.getWindowID(Native.java:1742)
at com.sun.jna.Native.getWindowID(Native.java:242)
at com.group_finity.mascot.x11.X11TranslucentWindow.updateX11(Unknown Source)
at com.group_finity.mascot.x11.X11TranslucentWindow.updateImage(Unknown Source)
at com.group_finity.mascot.Mascot.apply(Unknown Source)
at com.group_finity.mascot.Manager.tick(Unknown Source)
at com.group_finity.mascot.Manager.access$000(Unknown Source)
at com.group_finity.mascot.Manager$2.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: libjawt.so: cannot open shared object file: No such file or directory
at com.sun.jna.Native.getWindowHandle0(Native Method)
at com.sun.jna.Native$AWT.getComponentID(Native.java:1766)
at com.sun.jna.Native.getComponentID(Native.java:252)
at com.sun.jna.platform.WindowUtils$X11WindowUtils.getDrawable(WindowUtils.java:1296)
at com.sun.jna.platform.WindowUtils$X11WindowUtils.access$800(WindowUtils.java:1117)
at com.sun.jna.platform.WindowUtils$X11WindowUtils$X11TransparentContentPane.paintDirect(WindowUtils.java:1358)
at com.sun.jna.platform.WindowUtils$NativeWindowUtils$TransparentContentPane.paint(WindowUtils.java:321)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5217)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)
at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
at javax.swing.JComponent.paint(JComponent.java:1042)
at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79)
at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116)
at java.awt.Container.paint(Container.java:1978)
at java.awt.Window.paint(Window.java:3906)
at javax.swing.RepaintManager$4.run(RepaintManager.java:842)
at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: libjawt.so: cannot open shared object file: No such file or directory
at com.sun.jna.Native.getWindowHandle0(Native Method)
at com.sun.jna.Native$AWT.getComponentID(Native.java:1766)
at com.sun.jna.Native.getComponentID(Native.java:252)
at com.sun.jna.platform.WindowUtils$X11WindowUtils.getDrawable(WindowUtils.java:1296)
at com.sun.jna.platform.WindowUtils$X11WindowUtils.access$800(WindowUtils.java:1117)
at com.sun.jna.platform.WindowUtils$X11WindowUtils$X11TransparentContentPane.paintDirect(WindowUtils.java:1358)
at com.sun.jna.platform.WindowUtils$NativeWindowUtils$TransparentContentPane.paint(WindowUtils.java:321)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79)
at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116)
at java.awt.Container.paint(Container.java:1978)
at java.awt.Window.paint(Window.java:3906)
at javax.swing.RepaintManager$4.run(RepaintManager.java:842)
at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: libjawt.so: cannot open shared object file: No such file or directory
at com.sun.jna.Native.getWindowHandle0(Native Method)
at com.sun.jna.Native$AWT.getComponentID(Native.java:1766)
at com.sun.jna.Native.getComponentID(Native.java:252)
at com.sun.jna.platform.WindowUtils$X11WindowUtils.getDrawable(WindowUtils.java:1296)
at com.sun.jna.platform.WindowUtils$X11WindowUtils.access$800(WindowUtils.java:1117)
at com.sun.jna.platform.WindowUtils$X11WindowUtils$X11TransparentContentPane.paintDirect(WindowUtils.java:1358)
at com.sun.jna.platform.WindowUtils$NativeWindowUtils$TransparentContentPane.paint(WindowUtils.java:321)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79)
at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116)
at java.awt.Container.paint(Container.java:1978)
at java.awt.Window.paint(Window.java:3906)
at javax.swing.RepaintManager$4.run(RepaintManager.java:842)
at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Does anyone have a work around or fix to this? Thanks so much.

I am not entirely sure what i did wrong.

I'm using Gnome, but have unity on the same computer. On both i would get the same block of text in the terminal (shown below) but on gnome, nothing would happen. On Unity, i would see the icon in the upper right corner of my screen and i would get a white box. Does anyone know what's wrong?
Block of text:
Exception in thread "Thread-6" java.lang.UnsatisfiedLinkError: libjawt.so: cannot open shared object file: No such file or directory
at com.sun.jna.Native.getWindowHandle0(Native Method)
at com.sun.jna.Native$AWT.getComponentID(Native.java:1766)
at com.sun.jna.Native$AWT.getWindowID(Native.java:1742)
at com.sun.jna.Native.getWindowID(Native.java:242)
at com.group_finity.mascot.x11.X11TranslucentWindow.updateX11(Unknown Source)
at com.group_finity.mascot.x11.X11TranslucentWindow.updateImage(Unknown Source)
at com.group_finity.mascot.Mascot.apply(Unknown Source)
at com.group_finity.mascot.Manager.tick(Unknown Source)
at com.group_finity.mascot.Manager.access$000(Unknown Source)
at com.group_finity.mascot.Manager$2.run(Unknown Source)
Exception in thread "AWT-EventQueue-1" java.lang.UnsatisfiedLinkError: libjawt.so: cannot open shared object file: No such file or directory
at com.sun.jna.Native.getWindowHandle0(Native Method)
at com.sun.jna.Native$AWT.getComponentID(Native.java:1766)
at com.sun.jna.Native.getComponentID(Native.java:252)
at com.sun.jna.platform.WindowUtils$X11WindowUtils.getDrawable(WindowUtils.java:1296)
at com.sun.jna.platform.WindowUtils$X11WindowUtils.access$800(WindowUtils.java:1117)
at com.sun.jna.platform.WindowUtils$X11WindowUtils$X11TransparentContentPane.paintDirect(WindowUtils.java:1358)
at com.sun.jna.platform.WindowUtils$NativeWindowUtils$TransparentContentPane.paint(WindowUtils.java:321)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79)
at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116)
at java.awt.Container.paint(Container.java:1975)
at java.awt.Window.paint(Window.java:3904)
at javax.swing.RepaintManager$4.run(RepaintManager.java:842)
at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at org.GNOME.Accessibility.AtkWrapper$5.dispatchEvent(AtkWrapper.java:700)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Java version compatibility

As I know this project is supported only by Java6, not higher.
Will there ever be versions for higher Java (8, 11, etc)?

Trying to run this, but...

I tried to run it, but all it did was give me a bunch of errors. The error were as such:
WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.jna.platform.WindowUtils$X11WindowUtils (file:/home/invertigo_2/linux-shimeji/lib/platform.jar) to method sun.awt.X11GraphicsConfig.getVisual() WARNING: Please consider reporting this to the maintainers of com.sun.jna.platform.WindowUtils$X11WindowUtils WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Exception in thread "Thread-2" java.lang.UnsatisfiedLinkError: libjawt.so: cannot open shared object file: No such file or directory at com.sun.jna.Native.getWindowHandle0(Native Method) at com.sun.jna.Native$AWT.getComponentID(Native.java:1766) at com.sun.jna.Native$AWT.getWindowID(Native.java:1742) at com.sun.jna.Native.getWindowID(Native.java:242) at com.group_finity.mascot.x11.X11TranslucentWindow.updateX11(Unknown Source) at com.group_finity.mascot.x11.X11TranslucentWindow.updateImage(Unknown Source) at com.group_finity.mascot.Mascot.apply(Unknown Source) at com.group_finity.mascot.Manager.tick(Unknown Source) at com.group_finity.mascot.Manager.access$000(Unknown Source) at com.group_finity.mascot.Manager$2.run(Unknown Source) Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: libjawt.so: cannot open shared object file: No such file or directory at com.sun.jna.Native.getWindowHandle0(Native Method) at com.sun.jna.Native$AWT.getComponentID(Native.java:1766) at com.sun.jna.Native.getComponentID(Native.java:252) at com.sun.jna.platform.WindowUtils$X11WindowUtils.getDrawable(WindowUtils.java:1296) at com.sun.jna.platform.WindowUtils$X11WindowUtils.access$800(WindowUtils.java:1117) at com.sun.jna.platform.WindowUtils$X11WindowUtils$X11TransparentContentPane.paintDirect(WindowUtils.java:1358) at com.sun.jna.platform.WindowUtils$NativeWindowUtils$TransparentContentPane.paint(WindowUtils.java:321) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083) at java.desktop/javax.swing.JLayeredPane.paint(JLayeredPane.java:590) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083) at java.desktop/java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39) at java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:78) at java.desktop/sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:115) at java.desktop/java.awt.Container.paint(Container.java:2002) at java.desktop/java.awt.Window.paint(Window.java:3940) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:876) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:848) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:848) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:823) at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:772) at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1890) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Then it popped up an invisible tab labled "win0". Has anyone else had this happen? If so, how do I fix it?

Everything works except the shimeji goes through windows and panels

The shimeji wont collide with windows or panels

Output:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.sun.jna.platform.WindowUtils$X11WindowUtils (file:/home/roly/Documents/linux-shimeji/lib/platform.jar) to method sun.awt.X11GraphicsConfig.getVisual()
WARNING: Please consider reporting this to the maintainers of com.sun.jna.platform.WindowUtils$X11WindowUtils
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

Shimeji on second monitor are black boxes

I am an Arch Linux user running XFCE. My monitor configuration is two 1680x1050 monitors, side by side.

Shimeji which appear on the second monitor are a black box no matter which monitor they walk onto. Shimeji which appear on the first monitor become a black box upon entering the second monitor.

Shimeji appear with black background

The default shimeji appear with a black background even though it's clearly transparent in img/
Something might went wrong when rendering it on the screen ?

Shimeji turns black when entering a certain area of the window.

No matter what compositor I use, whenever a Shimeji enters the top right area of my second monitor, it permanently turns into a black box.
|-----------|--------|
|-----------| death| |----------------|
|-----------|--------| |----------------|
|--------------------| |----------------|
This is my monitor configuration, with only 1 monitor active they do not turn black. I'm on Ubuntu Mate with jre 11.

How do I install it?

It doesn't let me install a .deb version, do I just download the .zip version? Or am I doing the wrong thing?

new custom shimeji: ArithmeticException: / by zero

I tried getting the english shimeji showcased in this video https://youtu.be/sHJZWkA-4FA to work on my linux. I used the converter conv.sed for Actions.xml and Behavior.xml and moved the subfolder's images into the img/ directory. I also used the sun java 6 as recommended which is how it worked in the first place. I only get the error after the shimeji has been walking around for a bit. I think the error is tied to a specific pose.
Actions.txt
Behavior.txt
(extension changed only for github upload)

My linux distro: Linux Lite 4.8 amd64 (xfce4)
Run command: /usr/lib/jvm/java6/jdk1.6.0_45/bin/java -classpath Shimeji.jar -Xmx1000m com.group_finity.mascot.Main -Djava.util.logging.config.file=./conf/logging.properties
Error:

Exception in thread "Thread-5" java.lang.ArithmeticException: / by zero
	at com.group_finity.mascot.animation.Animation.getPoseAt(Unknown Source)
	at com.group_finity.mascot.animation.Animation.next(Unknown Source)
	at com.group_finity.mascot.action.Move.tick(Unknown Source)
	at com.group_finity.mascot.action.ActionBase.next(Unknown Source)
	at com.group_finity.mascot.action.ComplexAction.tick(Unknown Source)
	at com.group_finity.mascot.action.ActionBase.next(Unknown Source)
	at com.group_finity.mascot.behavior.UserBehavior.next(Unknown Source)
	at com.group_finity.mascot.Mascot.tick(Unknown Source)
	at com.group_finity.mascot.Manager.tick(Unknown Source)
	at com.group_finity.mascot.Manager.access$000(Unknown Source)
	at com.group_finity.mascot.Manager$2.run(Unknown Source)

Tint2 not recognized

In my titles.conf, I have "Tint2" and "tint2", but Shimeji still doesn't recognize it and pretends it doesn't exist.

xwininfo says:
xwininfo: Window id: 0x1000005 "tint2"
and obxprop says:
_OB_APP_TITLE(UTF8_STRING) = "tint2"

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.