You are here

Planet GNOME

Subscribe to Feed Planet GNOME
Planet GNOME - https://planet.gnome.org/
Përditësimi: 21 orë 58 min më parë

Jonathan Blandford: Crosswords 0.3.5: Border Styles

Hën, 05/09/2022 - 11:13md

It’s time for another GNOME Crosswords update. We’ve been busy since GUADEC and have managed to add quite a few user-visible features. We also fixed a bad bug where undo would break autosaving and added French translations. Buckle up, as this release goes to eleven!

As always, this is available on flathub.

Border Style

The first big feature in this release is recoloring the borders between cells. We previously had a single color (black) between the cells no matter what cell type it was. The recoloring is a subtle change, but I think it makes the puzzle look a lot smoother. We go with light borders between open cells, darker borders between blocks, and a really dark border around the outside. We also interpolate colors between cells with a background color explicitly set and to emphasize the cursor. Getting the details right took a good number of iterations but I’m happy with the ultimate effect.

This also validates the decision to create a widget for each border segment, as it made this a lot easier to implement. We use CSS styles to manage all the color combinations.

Border style comparison: new (upper-left) vs old (lower-right) Border styles with colored backgrounds Acrostic puzzles also look cleaner SVG Overlay

The next big feature we added was an SVG overlay over the puzzle. This lets us add graphics that extend beyond the borders of the existing widgets. Doing this lets us finally support enumerations in puzzles.

What’s an enumeration? Some crosswords let you know how many words follow a clue. It does this by putting hints in parentheses. It can also indicate punctuation where appropriate. As an example, (2-6,7) matches “GO-FASTER STRIPES” in 7dn in the puzzle below. In paper crosswords, solvers will often mark these hints in the grid with a pencil. We now do that on their behalf.

Enumerations rendered in the grid

We can also use the svg overlay to support barred crosswords. These puzzles look really cool – though are notoriously difficult to create and solve. I don’t know if we’ll get a good source for these until we seriously improve the editor, but I ported an existing one to .ipuz for testing purposes.

Barred crossword Multi-character Support

I wasn’t fully happy with the state of editing when the IJ digraph support landed a few releases ago. The input method ended up being pretty obscure. As a result, I added generic multi-character functionality to the game. This feature will let you enter an arbitrary number of characters in a single cell. This is necessary for rebus-style crosswords which you occasionally find in the wild. It can also be used for the Dutch IJ as a more standard entry. You can enable this mode this by typing Ctrl-<period> or Escape.

Rebus-style crossword

This adds exciting functionality for fellow, faux, heavy-metal enthusiasts! We can now enter multi-character glyph. Behold:

https://blogs.gnome.org/jrb/files/2022/09/Untitled.webm

Not the real answer, but close!

I’ve always wanted to do a puzzle with “SPıN̈ALTAP” as an answer. The N-diaresis doesn’t have its own unicode glyph and requires a combining character to work (u308). This feature lets you type it into the puzzle.

Keyboard Preferences

I’ve been involved with GNOME long enough to have a healthy suspicion of preference dialogs, and I resisted adding one for a long time. Unfortunately, there’s one preference that I’ve found I can’t avoid. Some people really like their online crossword widget to skip over letters when entering and some like them to overwrite letters — and there’s not a lot of compromise between the two sides. This has been the biggest behavior request I’ve received since releasing this game.

One of the goals this cycle was to refactor the internal state mechanism to make it cleaner (design doc). Along the way, it made this behavior change a lot easier to write.

This concept is so hard to explain! Anyone have suggestions for better text? GNOME Contributor’s Puzzle Set

One last thing worth mentioning is a new puzzle-set (repo here). Since starting this project, I’ve had a few people send me puzzles to include, and we haven’t had a good place to put them. I created this as a place to ship puzzles from the wider GNOME-community. To start with, we’re including a handful of mini-puzzles and have started adding some standard ones. As soon as we get a bit more critical mass I’ll ship it via flathub.

If you’re interested in trying your hand at writing a crossword, this is a good way to make it available. Let me know if you’re interested.

thanks

Thanks to Federico for massive help and advise with the PlayState refactor, and for providing an SVG widget for the overlay. Hopefully GtkImage will get scalable SVG support in the future.

Thanks to Bob for finding and fixing a number of memleaks, and to the translators for language support.

Thanks to Zana and Carl for contributing puzzles.

And thanks to you for reading this far!

Ole Aamot: Gingerblue 6.2.0 for musicians who compose, record, and share original music in Evolution

Hën, 05/09/2022 - 3:17pd

You can try Gingerblue 6.2.0 with Evolution email attaching in the Broadcast step in the GTK+/GNOME wizard available from https://www.gingerblue.org/ and https://wiki.gnome.org/Apps/Gingerblue

Gingerblue 6.2.0 provides a link in the final GtkAssistant Broadcast page that launch Evolution or another email program that supports mailto:?attachment=localOggVorbisRecording.ogg application handler in GNOME 43. The syntax mailto:?attachment is not yet a RFC and it
is only supported by Evolution 3.44 as far as I have tested, the default email client on GNOME 43.

With a Focusrite Scarlett 2i2 USB Sound Card and a AKG 3000b large diagraph microphone and a XLR microphone cable, it is possible to record and email voice messages and hopefully some music as part of my studies as Location Recording student at Norwegian Academy of Music and Bachelor student in Programming at Norwegian University of Science and Technology (NTNU) from GNOME 42.

You can hear a voice recording of my voice recorded with Gingerblue 6.2.0 at my blog at https://blog.oleaamot.no/ with examples of my music recorded with Gingerblue.

Gingerblue 6.2.0 is available as source code from https://download.gnome.org/sources/gingerblue/6.2/gingerblue-6.2.0.tar.xz, as well as source package in MacPorts at https://ports.macports.org/port/gingerblue/details/ and Fedora Core 36 by running


sudo dnf install https://www.gingerblue.org/~ole/fedora/RPMS/x86_64/gingerblue-6.2.0-1.fc36.x86_64.rpm

Aryan Kaushik: Pitivi GSoC: 4th Update

Dje, 04/09/2022 - 8:14md
Welcome to Pitivi GSoC Update 4

Hey everyone, hope you are doing fine. This is my fourth update related to Pitivi GSoC, and this time I got a bit late at publishing, more details later on in this blog, so keep reading :)

Update

After talking to Pitivi GSoC'21 Intern Pratyush Tiwari, and my mentors, I was able to stop some things from loading, allowing us to finally load the app a bit, it is not usable from any stretch of the mile, but it is something. Previous to it I was porting the whole application at once, and thus the app would not have been able to load unless it was completely GTK4 ready, but now we can take a look at some of the work.

If you were following along with my activity on GNOME Gitlab then you would have noticed that I am not pushing commits as often as I used to, this is because I got stumbled pretty hard and thus I wasn't able to push anything significant, but now I'm back with speed.

Roadblocks

So some of the roadblocks I'm facing now are - GtkLayout Removal, Event handling changes (Drag and Drop is at another level), and some API changes regarding Pixbuf and GdkScreen.

Another issue I faced was that it is very hard to port Pitivi because it uses mostly everything which Gtk has to offer, which considering it is a video editor seems reasonable. But, this also makes it significantly harder to port over, thus I really appreciate the patience of everyone waiting for it to happen :D

GSoC is ending

As GSoC Deadline is approaching, my hands have no time to chill, it's all hands on deck, no matter how much work you do, how much of your soul you pour in, you start to doubt everything, you start to question that did you do what was required, did you really had what it takes, etc.. etc.. and the answer can only be seen after mentor evaluations.

I now have to finish my work and also work on the final report, I always say, I like good documentation but I don't like creating one, thus I admire documentators so much.

The big question

Will Pitivi be GTK4 on GSoC end? Probably not, it still has rough edges, and some parts are left to port, some things can't be just ported over but requires a whole working change. In one case we need to completely rework 6 functions that rely on each other which is a major headache. In some cases we don't have an ideal replacement so we have to rework that too, etc.. etc.. thus it will still take time and patience to get a good working port.

I have attached some screenshots of the current look, it's not much, but seeing this, I'm very happy with the work I've put in.

After GSoC

So, this will be a very top-level view, but, first things first, I will work on completing the work, this time others would be able to join me if they want, then we will smooth out the rough edges, making it usable, implement LibAdwaita, giving Pitivi a new and fresh look, and then fix all those test cases crying in the corner.

Things to learn

One of the many things I learned is that experience speaks loud and clear, and programming is not just about knowing how to code, I many times wrote some piece of code that spans multiple lines, after getting to and fro with my mentor many times, I reduced it to a couple of lines, only to see my mentor doing it in just one line.

Both of our codes worked, both do the trick, but his way is more cleaner and efficient. In my early days of programming, I used to check how big of a file I created, when I reached 1k lines I rejoiced and thought I'm good at programming now, but that's not how it works, if you do something in 6 lines and the other person does it in one line and still keep it very readable and easy to comprehend then you didn't do a better job. Number of Lines != Quality of code.

At last, taking rest is very important, I can't tell you how many times I am stuck so badly I don't even know who I am, and just continue to stare at the screen, but the moment I lie down and take a rest, my brain gives out solutions.