Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.
Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].
V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.
O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.
Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.
Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).
Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.
Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
sh -c 'xsel | xvkbd -file - 2>/dev/null'To jsem v GNOME nastabil na ThinkVantage tlačítko (nefunguje to s kombinacemi dvou kláves - respektive funguje, ale musí se prvně sekundu, během které je nutné uvolnit obě klávesy, spát a to mi nevyhovovalo) a všechno bylo super. Používal jsem to hlavně ve vimu (teď se určitě dozvím, že vim na to už dávno má nějakou funkci) na programování, takže jsem si dlouho nevšiml, že to nefunguje s diakritikou. Když ale vyberu něco jako "ěščřžýáíé", vyleze z toho "ÄÅ¡ÄÅÅÃáÃé". Zkusil jsem nastavit české locale, ale nepomohlo to. xvkbd používá xaw toolkit, který nerozumí unicode. V tom asi bude problém, ale moc nevím, co s tím, nemá někdo radu? (I když teď jsem objevil, že totéž zvládne shift+insert - to je sice trochu nešikovná zkratka, ale aspoň funguje. Prý nejde přemapovat, tak to nebudu zkoušet)
Řešení dotazu:
iconv
by nepomohl?
#!/bin/bash aa=0 for randstring in `xsel` do if [[ "$randstring" =~ [ěščřžýáíéúůóťďň] ]] then xxx=`xsel|sed 's/ě/\\\[ecaron]/g' |sed 's/š/\\\[scaron]/g' |sed 's/č/\\\[ccaron]/g' |sed 's/ř/\\\[rcaron]/g' |sed 's/ž/\\\[zcaron]/g' |sed 's/ý/\\\[yacute]/g' |sed 's/á/\\\[aacute]/g' |sed 's/í/\\\[iacute]/g' |sed 's/é/\\\[eacute]/g' |sed 's/ú/\\\[uacute]/g' |sed 's/ů/\\\[uring]/g' |sed 's/ó/\\\[oacute]/g' |sed 's/ď/\\\[dcaron]/g' |sed 's/ň/\\\[ncaron]/g' |sed 's/ť/\\\[tcaron]/g'` xvkbd -text "$xxx" 2>/dev/null aa=1 break else aa=0 fi done if [[ $aa -eq 0 ]] then xsel | xvkbd -file - 2>/dev/null fiPřijde mi, že -file je rychlejší než -text, tak když tam nejsou žádné české znaky, používám file. Rozbije se to na věcech jako ü atp., ale s těmi se moc často nesetkávám a když, tak je jednoduché to do skriptu dodat.
xvkbd -text "---8<-----\nToday date is: $(date +%Y%m%d)\n---8<-----" 2>/dev/nullsprávně napíše několik řádků, kdežto (když je v xsel je několik řádků)
xx=`xsel |sed ':a;N;$!ba;s/\n/\\n/g'` xvkbd -text "$xx" 2>/dev/null\"vše dá na jednu řádku:-/.
#!/bin/bash aa=0 for randstring in `xsel` do if [[ "$randstring" =~ [ěščřžýáíéúůóťďň] ]] then xxx=`xsel|sed ' s/ě/\\\[ecaron]/g s/š/\\\[scaron]/g s/č/\\\[ccaron]/g s/ř/\\\[rcaron]/g s/ž/\\\[zcaron]/g s/ý/\\\[yacute]/g s/á/\\\[aacute]/g s/í/\\\[iacute]/g s/é/\\\[eacute]/g s/ú/\\\[uacute]/g s/ů/\\\[uring]/g s/ó/\\\[oacute]/g s/ď/\\\[dcaron]/g s/ň/\\\[ncaron]/g s/ť/\\\[tcaron]/g :a;N;$!ba;s/\n/\\\\n/g'` xvkbd -text "$xxx" 2>/dev/null aa=1 break else aa=0 fi done if [[ $aa -eq 0 ]] then xsel | xvkbd -no-jump-pointer -file - 2>/dev/null #xsel | xvkbd -file - 2>/dev/null fi
#!/bin/bash aa=0 for randstring in `xsel` do if [[ "$randstring" =~ [ěščřžýáíéúůóťďň] ]] then xxx=`xsel|sed 's/ě/\\\[ecaron]/g s/š/\\\[scaron]/g s/č/\\\[ccaron]/g s/ř/\\\[rcaron]/g s/ž/\\\[zcaron]/g s/ý/\\\[yacute]/g s/á/\\\[aacute]/g s/í/\\\[iacute]/g s/é/\\\[eacute]/g s/ú/\\\[uacute]/g s/ů/\\\[uring]/g s/ó/\\\[oacute]/g s/ď/\\\[dcaron]/g s/ň/\\\[ncaron]/g s/ť/\\\[tcaron]/g' |sed ':a;N;$!ba;s/\n/\\\\n/g'` xvkbd -no-jump-pointer -text "$xxx" 2>/dev/null aa=1 break else aa=0 fi done if [[ $aa -eq 0 ]] then xsel | xvkbd -no-jump-pointer -file - 2>/dev/null fi
click.c
:
#include <unistd.h>
#include <stdio.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
int main(int argc, char* argv[]) {
Display *display = XOpenDisplay(NULL);
XEvent event = {0};
if(display == NULL) {
fprintf(stderr, "Failed to open Display!\n");
return 1;
}
event.type = ButtonPress;
event.xbutton.button = 2;
event.xbutton.same_screen = True;
/* Get mouse owner */
XQueryPointer(display, RootWindow(display, DefaultScreen(display)), &event.xbutton.root,
&event.xbutton.window, &event.xbutton.x_root, &event.xbutton.y_root, &event.xbutton.x,
&event.xbutton.y, &event.xbutton.state);
event.xbutton.subwindow = event.xbutton.window;
/* Get the deepest subwindow of owner */
while(event.xbutton.subwindow)
{
event.xbutton.window = event.xbutton.subwindow;
XQueryPointer(display, event.xbutton.window, &event.xbutton.root, &event.xbutton.subwindow,
&event.xbutton.x_root, &event.xbutton.y_root, &event.xbutton.x, &event.xbutton.y,
&event.xbutton.state);
}
if(XSendEvent(display, PointerWindow, True, 0x1000, &event) == 0) {
fprintf(stderr, "Failed to send ButtonPress!\n");
}
XFlush(display);
usleep(100000);
event.type = ButtonRelease;
/* Middle mouse press mask */
event.xbutton.state |= 0x200;
if(XSendEvent(display, PointerWindow, True, 0xfff, &event) == 0) {
fprintf(stderr, "Failed to send ButtonRelease!\n");
}
XFlush(display);
XCloseDisplay(display);
return 0;
}
Kompilace:gcc click.c -o click -Wall -pedantic -lX11
click
posle aktivnimu oknu simulaci prostredniho tlacitka (pozor, nektere aplikace vyzaduji povoleni symulovanych udalosti, napr.: xterm
- Allow SendEvents
).xterm
, gvim
, chrome
a nejaka java
.
~/.Xdefaults
je oznacen jako deprecated.~/.Xdefaults
nepouzivam): do ~/.Xresourcex
vlozim radek XTerm*allowSendEvents: true
(mozna tahle syntaxe by zabrala i v ~/.Xdefaults
), pak si pockam na restart X, nebo rucne spustim xrdb -merge ~/.Xresources
.sleep 3 && ./click
a do 3 sekund presunout ukazatel mysi na spravne okno.$ xdotool click 2;)
Tiskni Sdílej: