Společnost Perplexity AI působící v oblasti umělé inteligence (AI) podala nevyžádanou nabídku na převzetí webového prohlížeče Chrome internetové firmy Google za 34,5 miliardy dolarů (zhruba 723 miliard Kč). Informovala o tom včera agentura Reuters. Upozornila, že výše nabídky výrazně převyšuje hodnotu firmy Perplexity. Společnost Google se podle ní k nabídce zatím nevyjádřila.
Intel vydal 34 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20250812 mikrokódů pro své procesory řešící 6 bezpečnostních chyb.
Byla vydána nová verze 1.25 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
Byla vydána beta verze Linux Mintu 22.2 s kódovým jménem Zara. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze novou XApp aplikaci Fingwit pro autentizaci pomocí otisků prstů nebo vlastní fork knihovny libAdwaita s názvem libAdapta podporující grafická témata. Linux Mint 22.2 bude podporován do roku 2029.
Provozovatel internetové encyklopedie Wikipedie prohrál v Británii soudní spor týkající se některých částí nového zákona o on-line bezpečnosti. Soud ale varoval britského regulátora Ofcom i odpovědné ministerstvo před zaváděním přílišných omezení. Legislativa zpřísňuje požadavky na on-line platformy, ale zároveň čelí kritice za možné omezování svobody slova. Společnost Wikimedia Foundation, která je zodpovědná za fungování
… více »Byla vydána verze 2.0.0 nástroje pro synchronizaci dat mezi vícero počítači bez centrálního serveru Syncthing (Wikipedie). Přehled novinek na GitHubu.
Americký prezident Donald Trump se v pondělí osobně setkal s generálním ředitelem firmy na výrobu čipů Intel Lip-Bu Tanem. Šéfa podniku označil za úspěšného, informují agentury. Ještě před týdnem ho přitom ostře kritizoval a požadoval jeho okamžitý odchod. Akcie Intelu v reakci na schůzku po oficiálním uzavření trhu zpevnily asi o tři procenta.
Byl vydán Debian GNU/Hurd 2025. Jedná se o port Debianu s jádrem Hurd místo obvyklého Linuxu.
V sobotu 9. srpna uplynulo přesně 20 let od oznámení projektu openSUSE na konferenci LinuxWorld v San Franciscu. Pokuď máte archivní nebo nějakým způsobem zajímavé fotky s openSUSE, můžete se o ně s námi podělit.
Byl vydán Debian 13 s kódovým názvem Trixie. Přehled novinek v poznámkách k vydání.
win_id = XCreateSimpleWindow(display, parent_id, 0, 0, DEFAULT_WIDTH, DEFAULT_HEIGHT, 0, BlackPixel(display, screen), WhitePixel(display, screen));a pak pomoci mysi nebo programove funkcemi XResizeWindow nebo XConfigureWindow menim velikost, tak v okne zustane bily obdelnik s velikosti puvodniho okna a cerne okraje, kreslit lze pouze do tohoto obdelniku. Vypada to jako by se se zmenou velikosti okna nemenila velikost plochy, do ktere lze kreslit. Tohleto dela i kdyz vytvorim normalni okno nebo i kdyz vytvorim GLX kontext a vykresluju do okna OpenGL scenu nebo kdyz okno vytvorim pomoci XCreateWindow. Budu rad i za pripadne napady nebo rady i kdyz presne nebudete vedet v cem to je.
#include <unistd.h> #include <X11/Xlib.h> main(int argc,char * argv[] ) { XEvent mapev; Display *dpy; Window win; GC gc; dpy = XOpenDisplay(0); win = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 0, 0, 100, 100, 0, 0, 0); XSelectInput(dpy, win, StructureNotifyMask); XMapWindow(dpy, win); do { XNextEvent(dpy, &mapev); } while (mapev.type != MapNotify); gc = XCreateGC(dpy, win, 0, 0); XSetForeground(dpy, gc, WhitePixel(dpy, DefaultScreen(dpy))); /* sqrt(2)*100px cary: / */ XDrawLine(dpy, win, gc, 0, 100, 100, 0); XDrawLine(dpy, win, gc, 0, 0, 100, 100); XFlush(dpy); sleep(2); /* resize */ XResizeWindow(dpy, win, 200, 200); XFlush(dpy); /* sqrt(2)*100px cary */ XDrawLine(dpy, win, gc, 0, 200, 200, 0); XDrawLine(dpy, win, gc, 0, 0, 200, 200); XFlush(dpy); sleep(2); return 0; }Takže by to chtělo ukázku kódu, který nefunguje.
/* sqrt(2)*200px cary */
#include unistd.h #include X11/Xlib.h main(int argc,char * argv[] { Display * display; Window win_id; int screen; GC gc; long event_mask; XEvent event; display = XOpenDisplay(0); screen = DefaultScreen(display); win_id = XCreateSimpleWindow(display, RootWindow(display, screen), 0, 0, 100, 100, 0, BlackPixel(display, screen), WhitePixel(display, screen)); event_mask = ResizeRedirectMask | StructureNotifyMask; XSelectInput(display, win_id, event_mask); XMapWindow(display, win_id); do { XNextEvent(display, &event); } while (event.type != MapNotify); gc = XCreateGC(display, win_id, 0, 0); XResizeWindow(display, win_id, 400, 400); XFlush(display); while (1) { while (XCheckWindowEvent(display, win_id, event_mask, &event)) { switch (event.type) { case ResizeRequest: { printf("widht: %d height %d\n", event.xresizerequest.width, event.xresizerequest.height); } } } XFlush(display); } return 0; }Mimochodem co dela tahle cast?:
do { XNextEvent(display, &event); } while (event.type != MapNotify);
#include unistd.h #include X11/Xlib.h main(int argc,char * argv[] ) { Display * display; Window win_id; int screen; GC gc; long event_mask; XEvent event; int width = 100; int height = 100; display = XOpenDisplay(0); screen = DefaultScreen(display); win_id = XCreateSimpleWindow(display, RootWindow(display, screen), 0, 0, width, height, 0, BlackPixel(display, screen), WhitePixel(display, screen)); event_mask = ResizeRedirectMask | StructureNotifyMask; XSelectInput(display, win_id, event_mask); XMapWindow(display, win_id); do { XNextEvent(display, &event); } while (event.type != MapNotify); gc = XCreateGC(display, win_id, 0, 0); XResizeWindow(display, win_id, 400, 400); XFlush(display); while (1) { while (XCheckWindowEvent(display, win_id, event_mask, &event)) { switch (event.type) // jaka je ziskana zprava { case ResizeRequest: // externi zmena velikosti okna { width = event.xresizerequest.width; height = event.xresizerequest.height; printf("widht: %d height %d\n", width, height); } } XSetForeground(display, gc, BlackPixel(display, screen)); XDrawLine(display, win_id, gc, 0, height, width, 0); XDrawLine(display, win_id, gc, 0, 0, width, height); XFlush(display); } } return 0; }akorat misto GC je GLXContext a misto kresleni uhlopricek je kresleni sceny. Ta se vykresluje normalne, ale pouze do obdelniku o puvodni velikosti okna. S Xlib zacinam a nevsimnul jsem si, ze by existovala nejaka obsluha udalosti Paint jako je tomu v GLUT.
S Xlib zacinamXlib potřebuješ, leda pokud si píšeš vlastní GUI toolkit nebo window manager, nebo pokud hackuješ ty stávající. Takže Xlib nejspíš nepotřebuješ
#include unistd.h #include X11/Xlib.h main(int argc,char * argv[] ) { Display * display; Window win_id; int screen; GC gc; long event_mask; XEvent event; int width = 100; int height = 100; display = XOpenDisplay(0); screen = DefaultScreen(display); win_id = XCreateSimpleWindow(display, RootWindow(display, screen), 0, 0, width, height, 0, BlackPixel(display, screen), WhitePixel(display, screen)); event_mask = StructureNotifyMask | ExposureMask; XSelectInput(display, win_id, event_mask); XMapWindow(display, win_id); do { XNextEvent(display, &event); } while (event.type != MapNotify); gc = XCreateGC(display, win_id, 0, 0); XResizeWindow(display, win_id, 400, 400); XFlush(display); while (1) { while (XCheckWindowEvent(display, win_id, event_mask, &event)) { switch (event.type) // jaka je ziskana zprava { case ConfigureNotify: { width = event.xconfigure.width; height = event.xconfigure.height; printf("widht: %d height %d\n", width, height); } break; case Expose: // externi zmena velikosti okna { XSetForeground(display, gc, WhitePixel(display, screen)); XDrawLine(display, win_id, gc, 0, height, width, 0); XDrawLine(display, win_id, gc, 0, 0, width, height); XFlush(display); } break; } } } return 0; }Nefungovalo to do te doby nez jsem smazal z event_mask ResizeRedirectMask. Pokud to predpokladam spravne, tak chyba byla asi v tom ze tim, ze tam byla zadost o ResizeRequest zpravy jsem si musel napsat vlastni obsluhu zmeny velikosti okna, nebo jeho graficke casti nebo tak nejak. Mam pravdu?. No prave, ze si ten vlastni GUI toolkit na OpenGL pisu. Drive jsem ho psal pod GLUT, ale zjistil jsem ze se pod Linuxem a Windows chova trochu jinak a ze ma nektere dost neprijemne vlastnosti, tak to tedka pisu rovnou pod Xlib.
Tiskni
Sdílej: