Some work in progress in Confy
You know, Confy: the Gnome-based, mobile-friendly Conferences schedule viewer
Some days ago I posted a screenshot about an experiment I was doing with #confy , which atm is on hold.
I'm still looking about the best way to draw a calendar view which can be zoomed in and out fast.
This is using Gtk.Snapshot
to draw boxes and Pango.Layout
to draw text.
It's still not fast enough with large conferences (mostly because I want to keep the text the same size and just change the boxes...)
Meanwhile I made some other things: some are papercuts, some are to try to have cleaner code, and some are quite big changes:
Actions get enabled/disable correctly per context
"search" action is disabled until an event is opened, and "copy" action is enabled only while a details page is shown.
Small change but prevents some errors.
Update recent list when deleting custom event from menu
Custom event in the "open" window can be removed. Now the entry is also removed from the recent events list.
Navigation sidebar has been updated
Now items does not get out of order after opening an Event with one already opened. Previously, items not needed (eg. 'Traks' where the Event has no tracks) were removed and re-added, which caused them to appear out of order.
Now the items are hidden and shown as needed, thus they do not change order anymore. Plus they are now defined in sidebar widget template. More clear and nice.
Navigation between pages has been revisited.
Originally, every talk details page opened was simply pushed on the stack. This caused some trouble as details page can link to other details pages via overlapping talks, which where pushed on the stack too. But overlapping talks are 'circular' as if Talk A overlaps with Talk B, also Talk B overlaps with Talk A, which can lead to very long stack to navigate back, e.g.:
List -> Talk A -> Talk B -> Talk C -> Talk A -> Talk C
In latest revisions, clicking on an overlapping talk was simply updating the page in place, losing navigation (and a nice transition between pages):
List -> Talk A
user clicks on overlapping Talk B
List -> Talk B
Now, we are back to pushing pages on the stack, but if an event has ben already pushed to the stack, we pop back to that page:
List -> Talk A
user clicks on overlapping Talk B
List -> Talk A -> Talk B
user clicks on overlapping Talk C
List -> Talk A -> Talk B -> Talk C
user clicks on overlapping Talk A
List -> Talk A
From my esaustive user testing (me while developing) looks like this could be a nice solution. The animation on page push/pop helps the user to keep track on where is going. At least, it helps me. Get used to it. :)
This is also relevant for the new Search page navigation.
Search can be toggled
Search action now is toggleable (is this a word?), the "search" button in the headerbar is now a togglebutton. One click opens the search, another click closes the search (as does ctrl-f
).
When search is opened, the search page is pushed on the stack. Closing the search pop the page (and popping the page closes the search).
From the search page, talk details pages follow the same logic as before, but in a separate 'group'. That is, if the search page is opened from a detail page, and from the search page the same talk is clicked, we don't pop back to the already pushed page (which closes the search) but a new detail page is pushed on the stack:
List -> Talk A -> Talk B
user clicks the "search" button
List -> Talk A -> Talk B -> Search
user clicks talk C
List -> Talk A -> Talk B -> Search -> Talk C
user clicks overlapping talk A
List -> Talk A -> Talk B -> Search -> Talk C -> Talk A
user clicks the "search" button
List -> Talk A -> Talk B
I hope this make sense and it's usable :)
( btw: the search entry still get focused when the search page pops in. I'm quite proud I managed to keep that :) )
Updated Preference dialog
The design has been moved to template, with a simple custom widget to set caches duration.
Option to clear the recent opened events list has been added.
Everything is in git if anyone want to test it, maybe on some mobile devices, maybe during one of the upcoming conferences...
Mh.
last update of #archlinux defaults to #GTK4 #GSK #Vulcan Renderer:
(note: here I'm defining
GDK_BACKEND=wayland
because the terminal is in VSCode, which runs on XWayland and define GDK_BACKEND=x11. In VSCode because gnome console was a black rectangle too)Yes, that white rectangle is the window.
I had to set GSK_RENDERER=ngl
in .config/environment.d/gtk4.conf
For instance this dress is in a museum somewhere but can I find where and what year it's actually from? No, no I cannot.
While I agree with the "Pinterest in a Volcano" thing, in this case it's right on Bridgeman site:
Mail sync on @Haiku now work! It was trying to sync a non-existant imap folder, which stopped the process.
Frontend devs brilliant idea of the day: (open graph) meta tags updated by client-side javascript:
You have a #Gtk4 application, written in python with #PyGObject, which use a template to build a window.
If you define a callback in code but you do not use it in template, an exception is raised.
If you use a callback in template which is not defined in code, no errors are reported.
But.
CSS classes are not applied to widgets. 🤷
Look:
With the callback:
Without the callback:
I lost some good hours trying to find why my button was not styled.
#Gtk 4.16.5
Something new from the Department of Unnecessary Projects #DepUnPr
fatpak
an unholy combination of bash, qemu, ssh and X11 to run flatpak apps inside a linux qemu vm, With a cli interface same as flatpak, but with added subcommand 'machine', to manage the qemu vm, inspired by 'podman machine'.
No, it doesn't work reliably.
But I can show this:
io: ci fermiamo a prendere una fontana?
mamma: la abbiamo a casa la fontana
la fontana a casa:
#retrocomputing #nextstep #nextcube #next #apple #machintosh
Ieri sera ho provato ad andare a fare un aperitivo.
Locale abbastanza pieno, al tavolo un biglietto con il qr code per il menu. La cosa già mi urta, ma per fortuna il mio cellulare era carico (cosa strana, specie per quell'ora di domenica).
Il qrcode contiene un link di una pagina che contiene un bottone "clicca qui per vedere il menu". Perchè? Perchè mi devi dare un link a una pagina con un link? Perchè?
Gli attributi cominciano a roteare, ma ancora a basso regime.
Quello che ha iniziato il decollo vero è proprio è stato quello che ho trovato sulla pagina del menu:
Cioè, per vedere il menu devo darti il mio numero di cellulare? Per vedere il menu? Quella cosa che mi permette di decidere come darti i miei soldi in cambio di cibo sovraprezzati? Ma scherziamo?
E l'interfaccia! non c'è modo di evitarlo e l'unico "checkbox" attivo è quello bello grande e verde che dice "accetto tutti i trattamenti, e anche di procurare io la vaselina" (per i suddetti trattamenti). Cliccare quel checkbox seleziona tutti i precedenti che diventano "impercettibilmente" attivi e quindi è possibile deselezionare quelli che non ci garbano. tranne l'ultimo, ovviamente. Consento a darti il mio numero di cellulare perchè sia "trattato" (non ho letto i dettagli, il rosso mi cominciava a rendere più difficile leggere) e per generica "privacy".
Al che chiamo la ragazza (con cui mi scuso se sono stato un po' rude, lo so che non è colpa sua e che lavora solo li) a cui chiedo un menu di carta. Mi risponde che il menu è sull'internet. Le spiego che non ho intenzione di lasciare numeri personali per leggere un menu, ma se non ho alternativa, può darmi il suo. Stranamente rifiuta, e conferma che non sono disponibili menu' cartacei.
Qui ci siamo alzati e siamo andati a mangiare da un'altra parte.
Avrei voluto chiamare il proprietario e chiedergli il suo di numero di telefono prima di uscire, ma vabè.
Per fare dei nomi:
i geni che hanno messo in piedi questa porcata: pienissimo.com/
il posto che non ha avuto problemi ad utilizzare la porcata streettradate.it/ e che è finito direttamente nella mia lista nera, se volete aggiornare la vostra fate pure.
Ora scusate che vado a fare un giro sul sito del Garante della Privacy...
P.S. la pagina del menù è linkata anche dal sito, stessa storia: menu.pienissimo.com
P.P.S. noto adesso la faccia da schiaffi nell'anteprima del link. Voi dareste il numero del vostro cellulare a uno così?
P.P.P.S. Si, avrei potuto continuare con un numero a caso, ma è il principio.
Marketing per Ristoranti a risposta diretta | Pienissimo
Con i corsi di Marketing per Ristoranti di Pienissimo, gli strumenti e il confronto con altri ristoratori, sarai in grado di riempire il tuo localePienissimo
due to an unexpected cooling issue at our Nuremberg Data Center [...] Some servers may not be reachable
My mind:
What's up at the Department of Unnecessary Projects #DepUnPr lately?
Here is Oliver ( #vala / #gtk4 / #libadwaita ) running on #osx (12.4, x86_64)
theme is WhiteSur; decoration layout forced in app (both just to make it blend a little more in osx); bundler script adapted from System76 Keyboard Configurator; #gtk4, #libadwaita via homebrew.
(I know: adwaita is a GNOME thing, custom themes are bad, it should be pure gtk etc etc ... , but I had it around and it was small enough for a test)
On a more useful note, while playing with this I've update Oliver interface and added some features and fixed some bugs. I could publish a new version soon.
I would like to release it as a #flatpak, but I'm not sure how to handle running php as as subprocess...