Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "gtk"
-
Not sure what Linux Desktop to use? Use this handy guide:
- GNOME: when you want no tray icons, themes that break every minor GTK release, and extensions for basic features (that are buggy.)
- KDE: pretty go-Segmentation Fault
- DWM/Awesome/i3/etc.: when you feel like the time you spent learning Vim wasn't wasteful enough
- XFCE: when you want one update per decade and poor Systemd support.
- LXQt: the biggest positive is that it doesn't use GTK.
- Cinnamon: when you like GNOME 3 but you want a different menu
- Deepin: when you want a desktop with the build quality of an HP laptop.
Aren't sure whether to use Xorg or Wayland?
- Xorg: if you want to absurdly fuck up your touchscreen, pick this one.
- Wayland: if you want to screw up most of your apps, too bad; this won't work with your proprietary drivers. If only it did.
What distro to use?
- Ubuntu: if you want to break your system with PPAs, check out this one.
- Debian: when you want Ubuntu except with more out of date packages
- Redhat: when you want Debian except with more out of date packages
- ElementaryOS: wait, someone actually made a properly designed Linux UI?
- Arch Linux: the only thing that doesn't make me sick anymore.
- Slackware: "that exists still really?"
- Gentoo: when you hate systemd more than waiting 4 days to compile Firefox on every release.
... I love Linux. I do. But it is very taxing to get things comfortable for me anymore. I feel like the Linux Desktop is in a period of flux and it's painful to be a part of right now.25 -
Kids, don't start programming. It's like a drug, when you've started you can't stop.
You'll skip homework and forget about any potential friends.4 -
Update on my previous rants: finally got it working! after spending 2 days compiling the kernel and trying to fix some issues, I just reinstalled my laptop with a fresh antergos image, installed the kernel and both the speaker and headphones work just fine! no distortion, no weird chrome video speed ups, just works - it was probably just something I had installed ages ago to make external usb sound work.
I also used this opportunity to apply the missing grub theme and found this: https://gnome-look.org/content/... it's perfect with almost any custom background too.
Why is this a rant? well some asshat at gnome decided to remove the "global dark theme" option from tweaks, so now thousands of themes are broken if you want the dark theme, since the developers now have to offer the dark theme seperately, well numix-frost has had this reported since the 7th may and no response since, the hack to make it work is to replace the gtk.css with the dark equivalent gtk-dark.css for now..31 -
Still trying to get good.
The requirements are forever shifting, and so do the applied paradigms.
I think the first layer is learning about each paradigm.
You learn 5-10 languages/technologies, get a feeling for procedural/functional/OOP programming. You mess around with some electronics engineering, write a bit of assembly. You write an ugly GTK program, an Android todo app, check how OpenGL works. You learn about relational models, about graph databases, time series storage and key value caches. You learn about networking and protocols. You void the warranty of all the devices in your house at some point. You develop preferences for languages and systems. For certain periods of time, you even become an insufferable fanboy who claims that all databases should be replaced by MongoDB, or all applications should be written in C# -- no exceptions in your mind are possible, because you found the Perfect Thing. Temporarily.
Eventually, you get to the second layer: Instead of being a champion for a single cause, you start to see patterns of applicability.
You might have grown to prefer serverless microservice architectures driven by pub/sub event busses, but realize that some MVC framework is probably more suitable for a 5-employee company. You realize that development is not just about picking the best language and best architecture -- It's about pros and cons for every situation. You start to value consistency over hard rules. You realize that even respected books about computer science can sometimes contain lies -- or represent solutions which are only applicable to "spherical cows in a vacuum".
Then you get to the third layer: Which is about orchestrating migrations between paradigms without creating a bigger mess.
Your company started with a tiny MVC webshop written in PHP. There are now 300 employees and a few million lines of code, the framework more often gets in the way than it helps, the database is terribly strained. Big rewrite? Gradual refactor? Introduce new languages within the company or stick with what people know? Educate people about paradigms which might be more suitable, but which will feel unfamiliar? What leads to a better product, someone who is experienced with PHP, or someone just learning to use Typescript?
All that theoretical knowledge about superior paradigms won't help you now -- No clean slates! You have to build a skyscraper city to replace a swamp village while keeping the economy running, together with builders who have no clue what concrete even looks like. You might think "I'll throw my superior engineering against this, no harm done if it doesn't stick", but 9 out of 10 times that will just end in a mix of concrete rubble, corpses and mud.
I think I'm somewhere between 2 and 3.
I think I have most of the important knowledge about a wide array of languages, technologies and architectures.
I think I know how to come to a conclusion about what to use in which scenario -- most of the time.
But dealing with a giant legacy mess, transforming things into something better, without creating an ugly amalgamation of old and new systems blended together into an even bigger abomination? Nah, I don't think I'm fully there yet.8 -
*In TeamSpeak with 4 of my friends*
Them: Hey, why don't you join our GTA Session?
Me: Ehh uhm...(Not answering)
Them: Hello?
Me: No, I can't right now. I'll join later.
*A few hours later*
Them: Are you joining??
Me: No, later.
Them: Right, so never then?
Me: 🙃
I never played GTA today, instead I continued to work on my C/Gtk+ application. Way better than any game 😁
Also, my friends think I'm boring, and I don't understand why... 😂7 -
Them: My company is looking for a junior C++ programmer. You must have 10 years experience with PL, SQL, SQL Server, MySQL, SQL oracle, javascript, HTML, XML, UML, c-sharp, visual basic, java.net, j unit, and win32 api, cutie, gtk, PHP, ASP, Perl, Python, and shell scripting with the windows, linux, and solaris operating systems.
Us: Do i need to know C++?
Them: no
https://youtube.com/watch/...5 -
@dfox You may want to explicitly set the text color on the devRant web app. It's kinda hard to read for those of us who have joined the dark side on Linux (Dark GTK+ theme), at least on Firefox. :)7
-
I wish all open source desktop applications had the same combination of expert features and polish as Blender.
The state of FOSS applications for creating diagrams, DB management & ERD, drawing SVGs, editing video, slideshow presentations, document processing, etc -- Yeah just all of it seems to be either stuck in some 90's UX paradigm, or it's a basic-as-fuck Electron app with 12 buttons for toddlers.
I know... I know... it's FOSS, can't be entitled.
But there's a part of me that really wants to be.
Fuck it, I'm just going to be entitled.
FUCK YOU LAZY FOSS DEVS, GET YOUR FUCKING SHIT TOGETHER AND MAKE SOME MODERN APPS. THROW YOUR GTK TOOLKIT BULLSHIT IN THE TRASH, GO CHOKE ON YOUR RETARDED WINDOWS-95 THEMED TOOLBARS, AND START MOTHERFUCKING COMPETING. YOU'RE BEING SURPASSED BY VENDOR LOCKED $50/MONTH CLOUD ABOMINATIONS MADE FOR COKE SNORTING DIMWITS. DON'T GIVE ME THAT "BUT PEOPLE WORK ON IT FOR FREE" CRAP, IF BLENDER CAN MAKE A GREAT COMPETING PRODUCT THEN SO CAN YOU.
Ah, completely unjustified and unfair.
But it still feels really, REALLY great to get it off my chest.
Now that I have descended from my soapbox, I'll go drag my useless developer ass over to the nearest FOSS project and see how I can contribute to a slightly less depressing future.15 -
"Sooo, children of the village, what are we going to write front-end in?" - I said to my infant students.
"Typescript with ts-loader/awesometypescript loader for webpack" - simultaneously yelled the kids.
"Exactly! Brilliant! And now, what are we going to be writing back-end in?" - asked I then.
The kids yelled: "PHP 7.2 with Laravel, or Go with Gingonic and juliensmith/httprouter, or Typescript without loader, with express/koa"
Truly stunned with their excellence, I asked "Well, now you 100% ain't gonna get it right - what are we going to be writing a desktop application that doesn't require a lot of native functionality and preferably, cross-platform in?" And the kids didn't hesitate to yell happily "Typescript targeting Electron", which has only brought tear to my eye.
"A native ms windows app?" "WPF under C#"
"A native gtk app?" "Vala"
"A native KDE/XFCE app?" "Cpp/Qt"
"A native mac app?" "Swift3.2/4"
I was in tears, just thinking about what future these kids have, but suddenly I have noticed one of kids seemed puzzled. It was Pajeet, an indian guy, ugh, his mom was a bitch. I asked him "What is wrong, little acoustic?" "But I like Java, and I would like to make back-end with Tomcat!" he replied. "Ooooh :3" cutely I moaned, trying to reach the handle of the table locker "I've got something just for you". I pulled out a rope, with sewed-in spikes, covered in drool and piss, came up to Pajeet and tenderly put it around his neck, making a knot. Pajeet fell under the table, and I got fired.8 -
Windows 10 had one groundbreaking UI innovation, but no one adopted it and even Windows 11 discareded this revolutionary idea:
BUTTONS NEXT TO EACH OTHER AND AT THE EDGE OF A BOX DON"T NEED AN ADDITIONAL MARGIN
Windows 10 was the first and last OS where I never accidentally clicked right next to the X on a window, in a passive area that had no other purpose so it might as well have belonged to that motherfucking button.
I passionately hate this trend, adopted nowadays by every OS, that everything needs to be rounded, separated from the things around it, and "allowed to breathe". They don't breathe. They're not alive. They're fucking UI elements and the space between them is unused, lost space.
The only interaction a button has with its surroundings is that it pushes other content away to make room for itself and responds to the cursor. It doesn't wiggle, it doesn't grow and shrink, and it ESPECIALLY doesn't fucking breathe. Please, just let me click the motherfucking button.
Relatedly, do you know of a good, preferably bluish dark GTK theme that provides window decorations that stretch the full height of the titlebar and are laid out next to each other at the very end of the bar without gaps?8 -
! exactly dev
I'd ditched Windows and spent a while exploring the Linux ecosystem for content creation. And I have to say, it was not a nice experience.
As much as I respect the Linux mantra of "free as in freedom" and "you need to roll up your sleeves and figure out stuff on your own", it just isn't good enough for non-dev work. Sorry guys, but I need software that gets out of my way and at least does what it's supposed to do. I can't stand a horrible UI or delays and random crashes, which is exactly what happens with most things under Linux.
To replace my Windows workflow I used the following:
1. Windows -> elementaryOS (because Debian/Ubuntu repositories seem to have the best software support, and elementaryOS is the least horrible looking thing that supports that) and then Arch, because, well, Arch.
2. Blender + Maya -> Blender + Maya on Linux.
3. Reaper + FL Studio -> Ardour + LMMS.
4. Photoshop -> GIMP + Krita + Inkscape.
5. ZBrush -> nothing :(
As you can see, my use cases are pretty much all over the spectrum.
Firstly, installing and configuring stuff. A pleasure on Windows, an absolute pain on Linux. Everything just worked on Windows, I had to wrestle with library versions and patches and unstable audio layers (Linux audio just sucks, except for JACK) on Linux.
Out of these, Blender and Maya were the best experience. But even then, both would suffer from random crashes that just didn't happen on Windows.
Ardour is actually really nice when it works. Its use of JACK for routing makes it really really flexible, but it just isn't stable enough to depend on. LMMS is utter crap. I'm sorry, but I just hate the UI. Can't stand it.
GIMP, Krita, and Inkscape can't beat Photoshop, even when you consider them together. Adobe software workflow is just so much better and more intuitive.
Blender 3D sculpting is not bad, but it's nowhere as good as ZBrush.
Also, if you're a C++ dev like me, nothing beats Visual Studio 2017. Nothing. That IDE just blows everything else out of the water. Even VSCode. And it's not slow at all, it handled a fairly large project (PBRTv3) just fine on my Windows development VM. Yes, a VM.
So...I ditched Linux and went back to Windows, but I keep Linux as a VM for when I actually want to mess with Blender or Ardour. Or some dev stuff which Windows sucks at (which is becoming less frequent because of WSL).
Out of all the above, the only one I'd consider ready for production use would be Blender. Developers of open source software, please learn from Blender. Kickass UI and user friendly operation is extremely important, you can't make a random window with GTK buttons and text boxes and arcane config files and expect people to use it for serious work.
Also, Windows beats Linux hands down as an everyday OS. It's always been rock solid, if you take care of it properly (and that goes for any OS). Updates hardly take any time because I run it on a SSD. As for all the advertising and marketing bullshit, you can block a large amount of stuff. And for what can't be blocked, well, I just have to live with it, because the alternative is compromising on my creative output, which is too much for me.
I still run Linux on my server, though. And on my embedded devices (Pi, BeagleBone, etc.). It absolutely rocks there.
I realize that Linux software is not going to improve unless we do something about it, so I'll be contributing fixes and code (the joys of being a C++ dev, yay). Still, I feel that the platform and software as a whole is just not mature enough.18 -
I've never used Windows in my day-to-day life. No kidding.
When I got my father's first computer, I used an old distribution called BBC Linux. I didn't have any computer knowledge, it was my first contact with a computer, so I went to a friend's house and asked for a CD to install on my computer. I don't know if this friend ended up making a "gotcha" and thought I'd give up, but I just read the manuals and fell in love. That was year 2000.
Then I used Conectiva Linux, then I went to Red Hat 9, then Slackware, then in 2007 I started using Solaris. And I stayed on Solaris (Solaris 10, Solaris Nevada and OpenSolaris) until 2011.
In 2011 I bought a Mac. I stayed at Apple until 2020, when I couldn't stand Apple forcing me to buy new computers (I still don't understand how a 2011 iMac, i5 (4 Hyper Thread cores) with 16GB of RAM, 1TB SSD only runs up to High Sierra).
Then I bought a Dell. It came with Windows 10, the first thing I did was install WSL2. I could not stand it, the system is bad, sorry. I installed OpenSuse and have been using it for two years.
It's just that every day someone tells me "how can you use this"? "There is no alternative to Windows, do you want to be different?"
I know that my story was the reverse of the "mainstream", so I'm going to talk about my vision of Windows, that in my brain it is actually the "alternative".
- Having a file explorer without "tabs" in 2022 is unthinkable for me.
- I love terminal. And the Windows terminal is very limited. "ps ... | awk ... | xargs ..." is a must for me. "find ./ -name '...' -exec ..."... these things on Windows are totally "different" and have the "powershell way" while all other operating systems keep the same form. And cygwin is not an option. As Wine for serious work is also not.
- Dragging a file into the terminal, and having it write its path, is so natural, that when Windows didn't do it, I was dismayed.
- I've always used StarOffice, OpenOffice and now LibreOffice. All the people in my story received my documents and reports as a PDF and no one complained. Until a coworker saw me editing in LibreOffice and said "oh I want it in word format". As long as he didn't know, everything was fine, right?
- Windows is paid. And is there advertising? I don't understand. And I refuse. If you want to display advertising, then excuse me. I have no problem paying, I'm not an opensource shiite. It's just that paying and not working bothers me much more than an opensource that I can fix or expect a fix knowing the good will of the people involved.
- Hyper-V is a joke. QEMU/KVM is better, and Bhyve on FreeBSD which is a very young project, is already a million times better than Hyper-V.
- Developing in C/C++ for Windows is only possible in two ways: Either you've always lived in Windows and your brain is conditioned, or you compile with MSYS2 (CLang or GCC).
- There is no significant evolution of the windows desktop since 95.
- Multiple workspace support with multiple monitors, not ready. It's another joke.
- REGEDIT does not need any comment.
- The system loses performance over time. I still don't know how Windows achieves this.
- I've seen people complain about desktop fragmentation on Unix and Linux. Many DEs end up leaving applications with different themes (like running a Qt application in Gnome and GTK in KDE), but to be quite honest, the lack of Windows standard bothered me much more. Even Microsoft's own software is completely different: Control Panel, Calculator, Paint and Office, To-Do, and Settings, have horrible style differences and look-and-feel fragmentation.
- Dark mode has not been implemented. It's another joke. Many applications are white while everything else is dark. Sorry, even on Linux which is a mess, this has been resolved. And well resolved.
- NTFS? Serious?
- C:, D:.. It doesn't convince me since DOS.
- Bloatware.
- News "biased" in the search bar is a lack of respect for those who use the computer to work.
And that. For me, Windows is the alternative operating system. I can't take Windows seriously, for me it's an experimental one like Haiku or ReactOS. It's good to play.
About market share, it doesn't convince me to use it. But convinces me to sell. I've always developed applications to run on Windows. And when I need it, I turn on a VM to compile the project. But in everyday life? Impractical.15 -
I'm working on an open source openvpn client for linux with a gtk gui and some cool features i have in mind. I wrote most of it's daemon and now i'm going for the gui. But,... the problem is..., i'm not a ui dev, so every ui i make is awful. I feel like i'm either stuck or have to choose one of my bad ui designs. what do you think i should do? how can i get some help?6
-
YOU. If you can't be arsed to change the default wallpaper, the terminal/gtk theme on a fucking laptop you use everyday, turn off Intel graphics screen rotation shortcuts, move the taskbar somewhere, install a Vue.js/Augury (Angular tool) Chrome plugin so you can actually debug stuff, Git for Windows or even this fucking trash of a player that is VLC, comb your hair the other way for once in your fucking lifetime if you have it, buy a different shirt than the same one you already have, fucking anything at all - fuck you!
BTW Don't be surprised when I don't take your fucking advice about the layout of the site I'm working on.
Also I secretly FUCKING HATE YOU just because.
Nothing personal kiddo. Except it is.
Fucking go out there and make the world around more suited to your tastes, every fucking human has them! Just change the fucking wallpaper, so I'll know you have at least a little bit of fucking personality in you! Slap a pic of some hi-rez tits on that screen! ANYTHING AT ALL.
Whew. That's been brewing in me for a long time.
A motivational doggo for you lads.3 -
I can't bear to spend longer on game character creation than a few minutes but oh, the amount of time I spend on customizing my desktop environment with gtk themes and so on...
-
I fucking hate Electron, what ever happened to developing software natively? It's not like you have to stick to dot Net and C# or whatever, there's literally Lazarus or Delphi, which, at least Lazarus, not only is open source but also supports all major platforms.
Even Python has GTK, Qt and Pywin32 or whatever its called. While not exactly cross platform, it's still not eating up 1GB of RAM when you launch it.
I don't care if Bob from across the street uses it because he's too lazy to learn anything new, but when huge companies like fucking Discord (valued at 10B dollars) use it, it's insane.
More than once has Discord had a memory leak and was reaching upwards of 6.5GB of RAM usage.
Whats the most popular code editor? VSCode, Electron.
Chat client? Discord, Electron.
Wanna use something other than Discord? Maybe Matrix? Well guess what, while they do have multiple clients, the most developed and usable one is Element, yeah, Electron.
Slack? Electron
My crypto wallet? Exodus, Electron.
I genuinely don't think 16GB of RAM is enough nowadays. Thankfully I'm running a very minimal install of Arch Linux and do most of my work in a KVM, but it still hurts my brain.
By the way things are looking nowadays, We'll be using Javascript for Kernels soon.
Thanks for coming to my Ted Talk.
Also apparently the filter on this site sees ". net" as an url.10 -
If you're using the adwaita-dark gtk theme, you may have noticed that the text entry fields on lots and lots of sites make your text almost impossible to read, using firefox. You can fix that by creating/editing the, "widget.content.gtk-theme-override" key(in about:config), setting it to "Adwaita" and restarting firefox.5
-
Finally, after a a few months...
A few months ago I started a personal git gui project for learning purposes. I wanted to learn C and Gtk on Linux. After a few days of coding I wanted to include the glade file in the binary, searched the internet and found old results with no success. Fast forward to today, I start yet another project without finishing my last one (this one is also c and gtk). I'm still having this problem with the damn glade file. So I keep looking for an answer and finds two solutions, none of them worked but when mixing them together it finally works.
Damn it feels good to succeed after trying/working hard on something you've struggled with. This is what keeps my motivation up. That amazing feeling of success... ☺️7 -
So saw that google released 'official' themes for chrome and thought fuck it, lets try it out...
Chrome will only use CSD if you use the default fucking GTK+ theme else it will revert to chromes custom icons...
Just how fucking lazy do you have to be for this to still be a thing?!2 -
!rant
the kitchen is a lot more fun to sit and program in than my cluttered mess of a room.
in other tangential news,
i've got orientation at McDonalds! no longer jobless!!! -
What's a good password manager for Linux?
A few (optional) conditions (in order of preference):
1. It's free
2. It supports ssh, gpg, etc.
3. It has a GUI (a nice one with gtk/qt support)
4. It's (properly) secure
5. It has FIDO U2FA support (i.e. supports physical security keys like Yubikey or Solo)
6. It has a browser extension
7. It's compatible/non-conflicting with gnome-keyring16 -
Hate asking these questions here buuuuuut...
Can anyone recommend a good flowchat/diagram visualiser for linux?
Preferably GTK based so it doesn't look out of place but anything will do, using google docs for this shit is like trying to disarm a bomb with a spoon...14 -
Got bored and started work on a basic 2D game engine using vala and GTK to provide basic windows and UI...
If I can get a sprite moving on screen with at least 8 axis of movement I'll consider it a job done and throw her on GitHub and probably never touch again 👍8 -
Anyone remember my rant about Go and GTK? Well, the main problem was that it was 3 AM, I've since completed it, and have begun to refactor that spaghetti mess.
I feel so good right now.4 -
Good news: I've finally started learning Golang! I've wanted to do it for a while, and now I am!
Bad news: I'm getting screwed by a GTK messagedialog that when open for the second time, simply panics! The dialog is in Glade because I've got no patience to master the art of giving 5 different flags (maybe that's just 'cause it's 3 AM). Plus, I'm have a similar issue with my about dialog! COME ON!!!!
P.s. just wanna say hi again, haven't been around in a long while, so: Hi!6 -
That moment when you realize that the bug (my fault, oc) was a struct declared just outside a function instead of inside it... And it "only" took you >4h of GDB and valgrind.
I really C/GTK+ when it comes to debug it... -
How do you know someone is masochistic?
When the person tries to write an X11 application...not GTK or QT, simply everything from scratch.1 -
Why was this even possible? Someone managed to make a GTK application in PHP, yeah a GTK application in PHP. I have no words...
https://kksou.com/php-gtk2/...5 -
I use mySQL workbench on a daily basis, but I've been having issues with the dark GTK theme not working well with Linux. Should I do a workaround to get workbench to use a light GTK theme, learn to use SQL from the CLI, or go with a third option?16
-
Have decided I'm never coding anything sober ever again, do my best work after few and somehow become the code whisperer...
Been struggling to get notifications on my Vala application to work outside of my test project... Spent about 4 days trying to work out why only to realise I never initialised it as a GTK application and only created a GTK window, so I've been trying to use some of the back end aspects when all I have actually done is create a front end with nothing else... Ugh2 -
Archlinux
Sway
Alacritty
Neovim
Firefox
And there are Tons of open source projects underneath all of that, that you are not 100% aware of. (Wayland, gtk, qt, zsh, bash, sh, systemd, etc...) -
What's everyone's opinion on visual design languages (languages designed just for visual elements. EG, XAML and HTML)
Personally I am not a fan of them at all, much rather have everything done programmatically, maybe this is coming too much from me using GameMaker and also vala with GTK, it just seems to be easier to grasp and work with imho.6 -
I have to follow a basic introduction to python for my study and the teacher is one the developers that worked on gtk
-
I would love to know how does people keep using GNOME 40+ when every single theme is unusable if it's not adwaita.
Fuckers couldn't even backport the new style to GTK-3. That “UI consistency” they brag about goes down the drain when you try to open any application that doesn't use GTK-4 yet.
An absolute circus that other desktops don't have to tolerate.2 -
Does anyone know how i can get rid of the rounded window corners?
using elementaryOS with no theme, though i plan to either add Flatabulous or Arc as a theme.
I want sharp corners, not this baby-proofed round mess i currently have going on 😂1 -
Trying out Gnome 3 again just to see how things have evolved. How can something crash and freeze so often combined with strange slowness. I like GTK+ and other DE's using that, and a long time ago Gnome was a nice thing. Now it might look good in some aspect but in other aspects it is just strange how they have decided to do things and how often they change things between each release. And then, stop freezing and being so damn slow.1
-
Learning golang to replace Java in my arsenal, I just wish they had a nice framework for creating guis similar to JavaFX
I know bindings exist to things like qt and GTK but why cant they have a nice native ui library.1 -
Yes I know this is more of a stack overflow question but no one seems to have asked it and not going to waste time getting downvoted and having my account banned for not knowing something again .-.
Just wanting to know if anyone is able to recommend some libraries that would be useful for making mobile Linux apps with GTK?
Preferably ones that will interface with Vala as I'm wanting to build a mini ecosystem of apps for the pine phone to interface with Elementary OS? -
Anyone has experience with Linux desktop software development?
I'm gonna develop a GUI software that should work on most Linux distros.
What is the best way to develop for Linux? I'm not familiar with python, I would prefer C++. I've used gtk+ long time back. Is it still good, or are there better options nowadays?4 -
Sydochen has posted a rant where he is nt really sure why people hate Java, and I decided to publicly post my explanation of this phenomenon, please, from my point of view.
So there is this quite large domain, on which one or two academical studies are built, such as business informatics and applied system engineering which I find extremely interesting and fun, that is called, ironically, SAD. And then there are videos on youtube, by programmers who just can't settle the fuck down. Those videos I am talking about are rants about OOP in general, which, as we all know, is a huge part of studies in the aforementioned domain. What these people are even talking about?
Absolutely obvious, there is no sense in making a software in a linear pattern. Since Bikelsoft has conveniently patched consumers up with GUI based software, the core concept of which is EDP (event driven programming or alternatively, at least OS events queue-ing), the completely functional, linear approach in such environment does not make much sense in terms of the maintainability of the software. Uhm, raise your hand if you ever tried to linearly build a complex GUI system in a single function call on GTK, which does allow you to disregard any responsibility separation pattern of SAD, such as long loved MVC...
Additionally, OOP is mandatory in business because it does allow us to mount abstraction levels and encapsulate actual dataflow behind them, which, of course, lowers the costs of the development.
What happy programmers are talking about usually is the complexity of the task of doing the OOP right in the sense of an overflow of straight composition classes (that do nothing but forward data from lower to upper abstraction levels and vice versa) and the situation of responsibility chain break (this is when a class from lower level directly!! notifies a class of a higher level about something ignoring the fact that there is a chain of other classes between them). And that's it. These guys also do vouch for functional programming, and it's a completely different argument, and there is no reason not to do it in algorithmical, implementational part of the project, of course, but yeah...
So where does Java kick in you think?
Well, guess what language popularized programming in general and OOP in particular. Java is doing a lot of things in a modern way. Of course, if it's 1995 outside *lenny face*. Yeah, fuck AOT, fuck memory management responsibility, all to the maximum towards solving the real applicative tasks.
Have you ever tried to learn to apply Text Watchers in Android with Java? Then you know about inline overloading and inline abstract class implementation. This is not right. This reduces readability and reusability.
Have you ever used Volley on Android? Newbies to Android programming surely should have. Quite verbose boilerplate in google docs, huh?
Have you seen intents? The Android API is, little said, messy with all the support libs and Context class ancestors. Remember how many times the language has helped you to properly orient in all of this hierarchy, when overloading method declaration requires you to use 2 lines instead of 1. Too verbose, too hesitant, distracting - that's what the lang and the api is. Fucking toString() is hilarious. Reference comparison is unintuitive. Obviously poor practices are not banned. Ancient tools. Import hell. Slow evolution.
C# has ripped Java off like an utter cunt, yet it's a piece of cake to maintain a solid patternization and structure, and keep your code clean and readable. Yet, Cs6 already was okay featuring optionally nullable fields and safe optional dereferencing, while we get finally get lambda expressions in J8, in 20-fucking-14.
Java did good back then, but when we joke about dumb indian developers, they are coding it in Java. So yeah.
To sum up, it's easy to make code unreadable with Java, and Java is a tool with which developers usually disregard the patterns of SAD. -
Is it possible to base a custom GTK+ theme on Adwaita without having to compile a custom GTK+?
I planned on following https://worldofgnome.org/creating-g... to solve a scrollbar styling issue for myself.
But that guide seems to be horribly outdated as Adwaita seems to be fully compiled in as an engine now - for performance reasons, wich they obviously would never expect to matter to people using custom themes (because else they would have optimized the application of all themes in general instead)...2 -
been exploring the options for cross platform desktop app, and i found :
java : both awt and swing look ugly, i really like OOP of java, and the way projects are organized is easy to scale, but i need to deploy the jdk, and the speed on gui apps isn't that great
C# : (.net/ mono, i can't grasp F# and vb is stupid) looks native on windows, not so much alien on both linux/mac, and being a java cousin is a pro, i found the Eto library for mono even looks more native on *ix than winforms
wxwidgets: for C/C++ so far this looks like the best option for total native feel and performance, but man i fucking hate C code, and this looks a lot like C code, even with proper native Cpp support, maybe i should dive deeper in it
GTK+ : did any one mention C code ? because this mother fucker is plain C with macros all over the place, it made me realize why wx is promoted as Cpp friendly, i doubt I'll use this
tcl/tk : even tho ive never wrote a single line of tcl in my life, the tk lib is the default ui for both python and ruby on all supported platforms,
and i really love ruby, and Python is Usually a joy to work with
Qt : this by far looks like the best option, proper OOP in C++, bindings for python (ruby binds are outdated), almost native look and feel on supported platforms, and even has a gui builder in xml or json/js (qml) however i bet I'll use such a thing, the building tho depends on an external preprocessor "moc" and some wicked macros, also makes working with templates a fucking mess, and the heavy dependence on QObject inheritance makes integrating external libraries a bit more tiring, the signal slot system makes more sense in python than in C++, since it makes me confused about the flow of the code
lazarus: is a freepascal implementation that looks and feels like delphi, not so much for native look and feel, but good performance and easy language to handle
electron : this fat mofo is fat, it's the slowest of all options, if i want an html app, I'll just compile a stripped down webkit and deploy that
what do you think ? and did i miss something ?17 -
Disclaimer: the project I'm about to mention contains the first lines of Go I have ever written.
Still, I'm quite proud of how quickly I got it working considering it's also my first time working with GTK.
This project that I've been working on the past few days is finally done. But it's %50 percent spaghetti, so refactoring time. I decided to have a look at my cyclomatic complexity numbers, and my biggest function (not main()) had it at 7.
As it was quite large, I split it up into to parts: the preparation and the actual timer loop. As I appear to need to use a goroutine, by the time I'm done passing channels and all hell to handle them, my loop function now has a score of 9 for cyclomatic complexity.
So fix one bug, leaves two in its place?
But I still need to better learn Go, anyone have a good (relatively painless, informative, quick-ish) course they can recommend? I've been thinking of trying out codecademy's one...6 -
A Yahtzee game.
In fewer lines than my first try in 2010.
Fyi... It was like only 15 thousands line with if else statements .... Nuthin much.1 -
I need advice!
I have a project idea that involves creating a cross platform gui but I cannot decide on a framework.
I have been toying with the idea of electron(ugh please no), c++ with either gtk+ or qt, Java with JavaFx.
I really want to be be able to create binaries for Mac windows and Linux while keeping bundlesize low and efficiency high. With this in mind I am leaning towards a c++ implementation but qt (which seems to be the best option for this route) has an insane learning curve. Is there something I am not thinking of that would satisfy these requirements?10 -
Elementary OS provided a really nice getting started guide for indie app developers. Something which lacked in Linux world. Only thing I don't like that they presents GTK+ and Vala as their own technology.1
-
My patience for making guis has completely died, and it's making my open source work... fustrating. Tried QT, tried GTK+, tried swing, and JavaFX. Can't tell if I just suck at it or I'm on to something.
-
Have anyone in Norway/Scandinavia ordered a devduck/apparel from the swag store and can tell me how long it did take? Want to order one, but not until at the start of next year.
-
Ok if anyone is interested (Or is having the same issues I had) I have worked out the 2 major issues I've had with elementary OS with Chrome and VMware...
If you were trying to use chrome and go fullscreen but have the browser lock up, try turning on system borders (Pretty sure this forces it to use GTK instead of googles weirdo window)
And if you had an issue with VMware locking up when booting a VM, run it as root...
(Felt like I needed to share this incase anyone else is having the same issues)1 -
In retrospection to the uproar about Qt tightening its license in a move against probably its biggest user (KDE), what do you think KDE should do from now on? Should they just trust Qt? Should they take measures? Should they fork Qt? Or, in a moment of utter madness, nuke everything and go Gtk?
-
It's such a bummer that the mozilla devs chose to release firefox exclusively on GTK for linux. I would love to see a QT build, or a QT-based fork. If anyone knows of one, I will pay in exposure.2
-
I swear there is just no documentation on GTK3 themes. I'm trying to change window decorations in an existing GTK theme and there's just no info out there. On top of that my posts for help have gotten a grand total of 0 replies.
If you happen to know where I can find some info about it I would really appreciate it. -
What are your favorite fonts for your system?
I use SFNS Display and Menlo for the terminal.
Whats your flavor?4 -
What a lovely Sunday morning...debugging a double free on a GTK+ software I'm writing! It will take me ages to find it xD
-
Hey Arch people! Wanna help a newbie get started? I'm very comfortable with sysadmin and are currently using Ubuntu with XMonad for DE.
I'd like to 'build' my own, super minimal system. It should preferably have gtk theming with XMonad as de. I've been looking at suckless and are currently wonder what I actually need to prepare/know in order for networking, VSCode(or learn vim), QT and docker to run on the system. It has a Nvidia graphics card and I'd like to use it for ML too.
Dont worry, I'm also going through the Arch page and are looking for answers to my questions & thoughts.. I just know I haven't thought of everything yet, probably not even all the basics.
Oh and please roast me for my ignorance, as long as you tell me something useful 😝6 -
Since its summer I started a new project and decided to make a Linux app. I started to learn Gtk and when it comes to language there was bunch of options. The most supported one was C but I don't prefer C on GUI apps because of you don't have classes and other things related to OOP(I know there are workarounds for OOP in C but I don't prefer). Then there was Python. Python is great for little sized projects and writing Python is full of pleasure. However when things getting bigger, a language that is more verbose and more declarative is my preference. So I found Vala language. Its syntax is very close to C# and that was a good thing for me since I like C# syntax. Their documentation was also good enough so I started to use it and I enjoyed so much. I have found the language that has good and scalable syntax and furthermore, enjoying to write. But I see Vala is not so popular language besides there is no exact replacement for this language on open source community. I heard that it has a lot of bugs itself and that was the main reason of it but I think this language deserves to be more popular.
-
are you telling me
i need to BUILD GTK
like i understand with the small libraries that you can just make + make install in 2 seconds but bruh like if its huge and on my potato pc it's gonna take like a week to build e.g with chrome. bRUH5 -
How to change gtk theme in KDE only for small amount if apps? My Eclipse suffers from breeze-gtk, foreground and background are same color in some places
P.S. I'm on Arch Linux distro -
Anyone who managed to use comboboxes with Gtk# on monodevelop? I can't get it to work with both Gtk2 and 32
-
Can someone explain me how installing a lightdm greeter (web-greeter) can completely break gtk+ themes and elementary-tweaks. How is that even related to each other and why does my fucking lock screen still look like crap? Seriously, I spent the whole day trying to fix my desktop environment and now it turns out that removing a lightdm config file fixes gtk themes on my desktop. How on earth is a fucking lightdm config file related to my desktop environment's ability to load gtk+ themes. It doesn't make sense. I should really stop messing around with things...6