Byli vyhlášeni vítězové ocenění Steam Awards 2025. Hrou roku a současně nejlepší hrou, která vám nejde, je Hollow Knight: Silksong.
Byla vydána nová verze 26.0 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Anh-Linh. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.
Jednotný seznam blokovaných internetových stránek vedený Českým telekomunikační úřadem obsahoval také Český telekomunikační úřad.
Byl představen webový prohlížeč Brow6el, běžící v terminálu. Pro prohlížení webu je využit Chromium Embedded Framework, vyrendrovaná webová stránka je následně zobrazena v terminálu převodem na sixely pomocí knihovny libsixel. Brow6el se ovládá modálním klávesnicovým rozhraním, inspirovaném populárním textovým editorem Vim. Demonstrační video s ukázkou používání.
Společnost Pebble představila (YouTube) chytré hodinky Pebble Round 2. S kulatým e-paper displejem, s open source PebbleOS a vydrží baterie přibližně dva týdny. Předobjednat je lze za 199 dolarů s plánovaným dodáním v květnu.
Na novoroční inauguraci starosty New Yorku Zohrana Mamdaniho bylo zakázáno si s sebou přinést Raspberry Pi anebo Flipper Zero. Raspberry Pi i Flipper Zero jsou explicitně uvedeny v seznamu zakázaných věcí jak na na veřejné pozvánce, tak i na oficiálních stránkách města.
OpenTTD (Wikipedie), tj. open source klon počítačové hry Transport Tycoon Deluxe, byl vydán v nové stabilní verzi 15.0. Přehled novinek v seznamu změn a také na YouTube. OpenTTD lze instalovat také ze Steamu.
Správce oken IceWM byl vydán ve verzi 4.0.0, která např. vylepšuje navigaci v přepínání velkého množství otevřených oken.
Od 1. ledna 2026 jsou všechny publikace ACM (Association for Computing Machinery) a související materiály přístupné v její digitální knihovně. V rámci této změny je nyní digitální knihovna ACM nabízena ve dvou verzích: v základní verzi zdarma, která poskytuje otevřený přístup ke všem publikovaným výzkumům ACM, a v prémiové zpoplatněné verzi, která nabízí další služby a nástroje 'určené pro hlubší analýzu, objevování a organizační využití'.
Dobrý den,
pokouším se přehrát video v mé java aplikaci pomocí mplayeru. Proto, abych byl schopen získat wid komponenty pro mplayer používám jni. Tento postup jsem vygooglil.
Vytvořil jsem si ExtendedCavas.java:
<code>
package jmediacenter.extendedCanvas;
public class ExtendedCanvas extends java.awt.Canvas
{
private static final long serialVersionUID = 1L;
public native int getNativeWindow();
static
{
try
{
System.loadLibrary("ExtendedCanvas");
}
catch (Throwable e)
{
e.printStackTrace();
System.exit(1);
}
}
}
</code>
Zkompiloval a pomocí javah vytvořil hlavičkový soubor: javah -jni jmediacenter.extendedCanvas.ExtendedCanvas.
Toto je vygooglený kód pro nativní metodu: jmediacenter_extendedCanvas_ExtendedCanvas.c:
<code>
#include <jni.h>
#include <jawt.h>
#include <jawt_md.h>
#include <assert.h>
#ifdef WIN32
#include <windows.h>
#endif
#include "jmediacenter_extendedCanvas_ExtendedCanvas.h"
JNIEXPORT jint JNICALL Java_jmediacenter_extendedCanvas_ExtendedCanvas_getNativeWindow
(JNIEnv *env, jobject obj_this)
{
jboolean result;
jint lock;
JAWT awt;
JAWT_DrawingSurface* ds;
JAWT_DrawingSurfaceInfo* dsi;
#ifdef WIN32
JAWT_Win32DrawingSurfaceInfo* dsi_win;
HWND hWnd;
#else
JAWT_X11DrawingSurfaceInfo* dsi_x11;
#endif
/* Get the AWT */
awt.version = JAWT_VERSION_1_3;
result = JAWT_GetAWT(env, &awt);
if(result == JNI_FALSE) return -1;
/* Get the drawing surface */
if ((ds = awt.GetDrawingSurface(env, obj_this)) == NULL)
return 0L;
/* Lock the drawing surface */
lock = ds->Lock(ds);
if((lock & JAWT_LOCK_ERROR) ) {
return -1;
}
/* Get the drawing surface info */
dsi = ds->GetDrawingSurfaceInfo(ds);
/* Get the platform-specific drawing info */
#ifdef WIN32
dsi_win = (JAWT_Win32DrawingSurfaceInfo*)dsi->platformInfo;
//hdc= dsi_win->hdc;
hWnd = dsi_win->hwnd;
return ((jlong)hWnd);
#else
dsi_x11 = (JAWT_X11DrawingSurfaceInfo*)dsi->platformInfo;
int id = dsi_x11->drawable;
ds->Unlock(ds);
return id;
#endif
}
</code>
Z tohoto jsem si vytvořil knihovnu:
gcc -shared -I/usr/java/jdk1.6.0_06/include -I/usr/java/jdk1.6.0_06/include/linux -o libExtendedCanvas.so jmediacenter_extendedCanvas_ExtendedCanvas.c
Cestu ke knihovně mám vloženou do -Djava.library.path. Cesty k ostatním knihovnám z .../jre/lib/i386 jsem přidal do dl.so.conf a použil dlconfig.
Když potom spustím mojí aplikaci dostanu následující error:
java.lang.UnsatisfiedLinkError: .../libExtendedCanvas.so: .../libExtendedCanvas.so: undefined symbol: JAWT_GetAWT
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1030)
at jmediacenter.extendedCanvas.ExtendedCanvas.<clinit>(ExtendedCanvas.java:29)
ldd libExtendedCanvas.so hlásí toto:
linux-gate.so.1 => (0xffffe000)
libc.so.6 => /lib/i686/libc.so.6 (0xb7dab000)
/lib/ld-linux.so.2 (0x80000000)
Toto mě ale zaráží, protože předpokládám, že tato knihovna bude potřebovat min. libjawt.so ale jak je vidět nepotřebuje. Zde bude asi probém. Nevím si s tím rady.
Díky za každou radu.
Toto mě ale zaráží, protože předpokládám, že tato knihovna bude potřebovat min. libjawt.so ale jak je vidět nepotřebuje.Ale potřebuje, jen jste linkeru neřekl, že se má knihovna s libjawt.so linkovat (
-ljawt ?).
Problém vyřešen.
Stačilo při kompilaci knihovny přilinkovat knihovnu libjawt.so:
gcc -shared -I/usr/java/jdk1.6.0_06/include -I/usr/java/jdk1.6.0_06/include/linux -o libExtendedCanvas.so jmediacenter_extendedCanvas_ExtendedCanvas.c -L/usr/java/jdk1.6.0_06/jre/lib/i386 -ljawt
Tiskni
Sdílej: