#user-interface-development
Explore tagged Tumblr posts
Text
“I Need Your Support to Continue My Studies and Build My Future from Gaza🍉🍉


My name is Mahmoud Naeem Abu Hatab, from Gaza.
I am a university student majoring in Software and Databases at Al-Azhar University. Since the beginning of my academic journey, I have been passionate about User Experience (UX) and User Interface (UI) design, as well as website development. These fields inspire me, and I dream of advancing my skills and building a professional career in them.


Unfortunately, during the recent war, I lost my laptop, which was essential for both my studies and work. I was forced to flee my home and relocate to southern Gaza due to the difficult circumstances. Despite my efforts to replace my laptop, the financial situation has made it impossible to afford a new one.


Without a laptop, continuing my studies or seeking job opportunities in programming and design has become extremely challenging. This directly affects my academic progress and future career.


Today, I am reaching out to ask for your support to help me purchase a new laptop. Having a laptop would allow me to resume my studies and work on programming and design projects that are crucial for improving my skills. It is a vital step towards completing my education and pursuing my dream of becoming a professional in programming and UX/UI design.

I know that the situation in Gaza is difficult, but I believe education is the only path to building a better future for myself and my family. If you are able to contribute any amount to help me get a new laptop, it would be a real opportunity for me to get back on track academically and professionally.
I am determined to keep learning and working despite the challenges, but I need your support to achieve this goal. Every donation or act of help, no matter how small, will make a significant difference in my life.
If you’d like to support me, you can donate through:
GoFundMe
OR
USDT

If you can assist in any way, please don’t hesitate to reach out to me.
Thank you for your support and kindness! 🌿
@gaza-evacuation-funds @appsa @nabulsi27 @palestinegenocide @orblesbian @palebluebutler @pallasisme @fallahifag-deactivated20240722 @vakarians-babe @sayruq @ @plomegranate @riding-with-the-wild-hunt @queerstudiesnatural @tamamita @apollos-boyfriend @riding-with-the-wild-hunt @queerstudiesnatural @palestinegenocide @sar-soor @akajustmerry @annoyingloudmicrowavecultist @feluka @marnosc @flower-tea-fairies @flower-tea-fairies @tsaricides @tsaricides @belleandsaintsebastian @ear-motif @brutaliakent @raelyn-dreams @troythecatfish @4ft10tvlandfangirl @90-ghost @paper-mario-wiki @nabulsi @prisonhannibal @beepiesheepie @walcutt @schoolhater98 @commissions4aid-international @sar-soor @zigcarnivorous@tododeku-or-bust@turtletoria @brutaliakhoa @flower-tea-fairies @schoolhater @baby-girl-aaron-dessner @sayruq @omiteo777 @malcriada @neptunerings @bat-luun @kaneverse @nightowlssleep @staretes @friendshapedplant @soon-palestine @aria-ashryver @heritageposts @magnus-rhymes-with-swagness-blog @khangerinedreams @kordeliiius @mazzikah @feluka @dlxxv-vetted-donations @girlinafairytale @a-shade-of-blue @vakarians-babe @babygoatsandfriends @self-hating-zionist @mangocheesecakes @dlxxv-vetted-donations @gazaboovintage @gazavetters @wellwaterhysteria @sar-soor @applebunch @irhabiya @sayruq @xxx-sparkydemon-xxx @junglejim4322 @reptilianspecies @dr-lapdance @tamamita @cantsayidont @fairweathermyth @dear-indies @eruthiawenluin @katealot @lenasai @stalinistqueens @ayeshjourney @gaza-evacuation-funda @el-shab-hussein @irhabiya @nabulsi @ibtisams @dlxxv-vetted-donations @tododeku @a-shade-of-blue @gaza-relief-fund @catnapdreams @northgazaupdates @buttercuparry @stuckinapril
#voic of gaza#gaza#free palestine#palestine#free gaza#save gaza#save palestine#help gaza#help palestine#programming#studying#uxdesign#ui ux design#uidesign#ui#ux#user interface#user experience#figma#xd#web design#web development#web developers#mobile design#html#css#js#javascript#java#front end development
296 notes
·
View notes
Photo

Moth Survivors - UI Elements
The final bit of assets made for Moth Surivors! Icons! A good chunk of the game would be management, so the iconography was going to be important. Besides showcasing the prototype characters, we also have icons for every powerup and pickup in the game, health, xp, money, etc.
Posted using PostyBirb
#indiegame#indiedev#godotdev#godot#indie game#indie dev#game development#gamedev#art#digital#furry#anthro#furryart#anthroart#digitalart#explorermoo#scifi#sci-fi#scifiart#ui#user interface#pickups#powerups#pixelart#pixel#sprite#spritesheet#moth#insect#bug
11 notes
·
View notes
Text
Excited to share a glow-up for Mighty Marbles! 🎉 Check out the old vs. new level transitions—what a difference! Now every level even has its own name. 🚀 Which style do you prefer?
I love making this game with passion and I am so excited to share it with the world, but somehow I need to let the world know. Unfortunately the way steam works is the more wishlists the more visibility, so if you are interested it is super appreciated :)
Wishlist on steam or visit the website to find out more mightymarbles.com
#ui#gamedev#indiedev#video games#game development#indie games#indiegamedev#unity3d#puzzle games#puzzle#ui ux design#uidesign#user interface
11 notes
·
View notes
Note
My friend is making an arcade racer and I've been playtesting his builds for him. He didn't go into it thinking it'd be easy but there's a ton of things he didn't at all realize would be a headache going into it. Obviously all games are hard to make but some are more apparent about their daunting nature. Which genres are deceptively difficult even if reasonably possible by a small indie team? What surprised you when you hit the big leagues?
Whenever I do solo dev work, the feature that always takes the longest and tends to require the most work to get something playable by actual players is the UI. Building out the gameplay features is always a lot of fun, but you can only go so far by fiddling with variables and restarting. There's always a significant amount of UI groundwork that needs to be done in order to make a game playable at all, just because of how much information needs to be conveyed to the player.

Whenever I build support into a game for different characters, cars, tracks, loadouts, etc. then each of those options needs its own way to choose that option from a list of available choices. That display must show a lot of information to the player so she can make an informed decision (e.g. this car has fast acceleration, that one has high top speed, this other one corners well, etc.), which all requires an intuitive screen layout, information presented, and so on and so forth.
Small-team dev also tends to build more system-driven games because it's more dev-time-efficient than creating single-use narrative-driven content. The tradeoff is that system-driven content also requires significantly more UI to convey all of that information to the player. This means games with a lot of options for players to choose tend to require a lot of UI work, which is something many hobbyists don't think about when starting.
[Join us on Discord] and/or [Support us on Patreon]
Got a burning question you want answered?
Short questions: Ask a Game Dev on Twitter
Long questions: Ask a Game Dev on Tumblr
Frequent Questions: The FAQ
40 notes
·
View notes
Text
The 2nd Web Design I made in my previous company. This had a theme of clouds and galaxy, for a childcare.
#artists on tumblr#my art#web design#web development#website#site#web series#old web#ui#ui ux design#uidesign#ux#design#user interface#accessibility#blue#space#outer space#little space#astronomy#galaxy#stars#childcare#template#cute
2 notes
·
View notes
Text
DEVLOG #11 - Updated UI
Almost a week has passed since the latest announcement and I managed to get some work done.
For now the main menu and textbox will look the same, as I think they still look good even with the updated UI, but I'll consider redoing them in the future for the complete game.
The rest has changed considerably! The menus now have much more personality and are quite colorful, acting like a sort of personal diary/notepad for Hannah. Everything works as intended (I'm only missing the "confirm" screen and the language selection button) but I had to put the credits screen on hold until I reach a point when I know exactly who to credit.
I'd like to change a few things, maybe work more on the music, add sfx and have only custom made backgrounds. I also plan to polish the writing a bit, mainly in the first part of the game which people found pretty boring, but hopefully it's just a matter of deleting a few sentences, so that I can still use the translations from last year. I feel bad for all the people who helped me and still can't see their work put to use because I felt too overwhelmed to continue the project. Certainly I wasn't in a good place mentally but I have to admit that Tyrano's unwillingness to collaborate wasn't helpful. Yes, the only reason this game even exist is because of that engine and I'll always be grateful for that, but its strenght of being so easy for beginners was also its weakness.
I'm still a newbie in game development in general and with Ren'Py, but after my first Ren'Py project "Sprint down memory lane", I already learned so much and I'm able to design and code UIs that I never even thought were possible to do! As I probably already wrote in the past, the main protagonists of this game have been my OCs for years so I want to write this game's story by myself at all costs, which means it probably won't be the best so let me apologize in advance! I'm just stubborn, I want to be able to do everything and asking for help feels like cheating, although it totally isn't. I'd like to collaborate with a writer in the future to bring my stories to life, I know I'll definitely enjoy the process more if I won't have to worry about people disliking my writing ^^"
Anyway, I digress! This is all I can show you for now and I won't hide that I'm so proud of myself, comparing these screenshots to the current demo! Next I'll add all the text in the game (which will be so, so much easier this time around T.T) and then polish it as best as I can. In the meantime, I should think of a plot for this year's Yuri game jam...
See you soon!!
#game development#yuri game#devlog#visual novel#female protagonist#ui#user interface#ui ux design#renpy visual novel#renpy
3 notes
·
View notes
Text
Best IT Companies Near You for Customized Solutions

Are you looking for top IT service providers in your area offering app development, web design, and UX/UI solutions? Sthanave Technologies provides customized IT services focused on enhancing your business growth, strengthening your digital presence, and improving functionality. Connect with us today and take your business to new heights with reliable IT support. Address - Kadambari Nagar Durg Chhattisgarh, IN 491001 Mo- +91 92449 50142 Website- https://www.sthanave.com/ Email- [email protected]
#It companies near me#Best it consulting companies#Software Company in Durg Bhilai Chhattisgarh#User interface and user experience design#ui & ux designer & developer#Digital marketing companies near me#Top digital marketing companies
2 notes
·
View notes
Text
🧺 || 1
soo...i decided to try and make my own game..and im still creating character sheets and supposedly UIs of the game. BUT DANG, IT'S ACTUALLY HARD 😭😭😭🤙🤙 anyway, here's a UI i did for my game. idk if I'll continue this but imma still try cuz im actually enjoying this ✨✨
#game#ui#user interface#hand drawn#drawing#programming#game development#game dev blog#ibispaint art#artists on tumblr#gamedev
2 notes
·
View notes
Text
Today, I need to do some work for our project in university.
The task: create a pc game for blackjack and I am creating the GUI for that, which sounds easier than it actually is.
The first working prototype has to be done next week and I still struggle to create the player lobby and the game room itself.
And because this isn't enough of stress, my brain is simply tired right now and I would rather sleep another two hours than sit in a dark room (the weather is shitty right now, no sun, only rain and dark clouds) and stare at a screen.
My boyfriend is also part of the team and he is currently sitting at the unit tests for the API and the game logic. Normally, we wanted to do something together over the weekend, but right now, I don't know if we are able to finish work until today evening...
Fingers crossed!
I hope, I can update on that later on.
@thetruearchmagos @yourfriendlywriter
#computer science#programming#computer games#developer#computer science student#general user interface#blackjack
4 notes
·
View notes
Text
Just put up a rambley, conceited blog post on my site about a topic I'm way too invested in for no good reason.
Check it out please and let me know what you think!
4 notes
·
View notes
Text
Comparative Analysis: The Design and Impact of "Oregon Trail" and "Papers, Please"
Introduction In the world of video games, few titles manage to transcend the boundaries of entertainment to offer profound insights into the human condition and historical contexts. “Oregon Trail” and “Papers, Please” are two games that do just that, using the medium to educate and provoke thought through the lens of resource management and ethical decision-making. This essay explores the…

View On WordPress
#"game design#educational games#ethical decision-making#game analysis#game development#game mechanics#indie games#interactive storytelling#narrative games#Oregon Trail#Papers Please#player agency#resource management#user interface design#video game education
5 notes
·
View notes
Text
RenderDoc the block
Today I solved the blocking issue in my Macana OpenGL project. I did it using RenderDoc, an open-source graphics debugger suggested to me by a colleague.
Since I'm a complete noob at RenderDoc (and not very proficient at OpenGL either), it took me awhile to gain traction. I didn't use the tool very effectively. But the key virtue of a good debugger is that helps users visualize what's going on. Somehow in the flood of details, I noticed that my problematic texture (which didn't have mipmaps) used a filter intended for mipmaps. And that proved to be my issue.
Meanwhile, I'm making progress configuring my new Linux Mint environment. I finally got the Cinnamon panel (analogous with the Windows taskbar) configured the way I like. I must've spent hours; it seems to me the Cinnamon UI could be a lot more intuitive.
Also I discovered I had 2 copies of LibreOffice: one installed from Apt and another installed from Flatpak. I only need one copy, so I'm removing the older (Apt) install to free up disk space.
#disk space#opengl#debugging#open source#computer graphics#accomplishments#free tools#textures#panel#linux mint#libre office#flatpak#duplication#software development#user interface#uninstall#war stories#traction#weird bug
2 notes
·
View notes
Text
I make a stupid decision to decide to make a (fic) writing app, cheers
Well now, I know there's like tons of them out there in the market. A lot of them are good! And even free (or have pretty good free versions)! A reddit thread I found have a few very good ones, you guys can check it out! (I'll add my own two cents later :3)
But look, the only thing I want to do, is to have a place when I can throw my ideas into a list (like what I'm did in my notes app) then auto convert it to a document when I feel like I want to write it. None of them (or at least, what I saw/found) have it!
To do that, I set up a Google Form-Google Sheets system so I can just fill in the form when I get some thoughts™. Then when I feel like I want to add another WIP to my ever-growing list of WIPs, I'll just open the associated sheet, see what idea I would like to write, then create a Google Docs and copy/paste the idea there.
Easy, right? Problem solved?
No, not really. For me, there're a few problems with this.
───── ⋆⋅☆⋅⋆ ─────
The Problem(s)™
The process of opening Google Forms takes forever to load (depending on my Internet) and I have a goldfish memory. What are the odds that I forget my ideas by then.
(Just use phone notes app then) But I'm in the mood to type my fic in a computer 😔😔 I don't wanna copy my prompt there to a doc via phone, or worse, retype it out. There's like 4 steps there at least! I'll lose my motivation by then!
Google Sheets has this problem where the text refuses to wrap properly if you add a long text (my ideas are sometimes a few hundred words of rambling y'know). So whenever I decided to grace the sheet with my presence, I'll need to reformat the wrap if I wanna read what I wrote. That's 1 whole extra step.
I'll need to open at least two tabs here, 1. my sheet file, 2. open a new docs file
Look, they're all pretty minor inconveniences imo, but I'm 1. a lazy mf and 2. a tired mf
So, I made a decision any sane person with a job and 0-energy would do - I thought "Hey, why don't I make my own?".
───── ⋆⋅☆⋅⋆ ─────
And thus begin the brain-storming
Ok, look I'm not that good at UX/UI designing. I figure that should be the first step so I went and watch a few video and stumbled upon Juxtopposed's world's shortest UI/UX design course (it's pretty great, do check it out!). Simple, quick, concise - perfect.
First, I started with designing the user flow. I planned out a general idea of what I want my app to do and how it would flow from there starting from the landing all the way to when users save their work and exit the app.
Boy, I sure hope I did that correctly.
This generally is made up of user actions (except for landing). You may notice how it's mostly AO3 focused because yes, I'm using this just for AO3 - as in I stopped using fanfiction.net, Wattpad and Quotev a long time ago.
I did get some inspirations for some of the features from other existing apps. Like:
Scriever - it's paid, but most people say it's a godsend but personally, I've never tried it. I think it pioneered the scenes idea tho.
Manuskript - Free open-sourced version of Scriever basically! They also have words and phrase frequency analyser and I think that's pretty neat!
MyStory.today - I like the idea that you can edit and view multiple scenes at once but the writing UI itself feels kinda clunky? It feels bothersome to add a new scene below my current one. But free version is enough and that's pretty nice. Oh yeah, not sure if it's just me, or it's kinda laggy
Wavemaker - ok this actually a great one! Everyone should give it a chance! But again, too complicated to just add one simple idea when I just wake up for instance.
Story Plotter - This one is nice. It actually have a idea to story button but, why are there... so many things... to choose before I can start writing the story. Granted, all of them are optional and you can just spam skip... a whole 7 times (unless it's a freeform, in that case, 4 times). But this provides a nice idea to combine more than 1 ideas into one plot tho. Also, not my style
Campfire - Is nice, there's so much things you can customize! But well, the free version can be quite limiting, like what if I need more than 25k words :(
Notion - Ok, here me out, it's not a great idea to write multi-chapters long fics here exactly without some amount of setting up too. BUT I love the markdown system here and I wanted to include it.
Do try some of them out, maybe you'll find your new writing app soulmate, who knows?
So... about the user flow diagram
I'm making this app because of two main features, ok maybe three, that I want to make my life easier and make me happier.
The ideas being converted and directly stored in my writing doc.
Being able to use markdowns to type unlike google docs *squint eyes*
Copying the whole chapter in HTML so I can just throw it in AO3 and click update without worrying about forgetting the formatting OR having to go to those docs to HTML converters.
And a secret fourth thing to maaaaaybe include things like chats, boxes, and other workskin related things
Oh, yes and how could I forgot, syncing progress across multiple devices
So I want to implement auto-save features (well, at least when you're connected to the internet, else it'll save locally first). The database I'm thinking to store these should be the user's own google drive (but that would required the user to sign in to their drive first).
Inversely, I'm thinking if the user did edit the doc in the drive, it should reflect in the app too, so I'll need to think about that. But the idea is that one chapter should be stored in one doc, and then separated by a scene separator symbol (I'll figure this out) to break it into scenes in the actual app. That may be a bit messy to edit in docs though so maybe a traditional folder + docs might suffice but then, there's also a space constraint, where there is too much scenes. That's probably where the web services come in.
───── ⋆⋅☆⋅⋆ ─────
And, oh! another diagram!
Ok look, the user flow made perfect sense to me while I was making it. After looking at it again while writing this... In hindsight, I should also make a screen/page flow diagram, or sitemap, so here it is! So- ta-da~!
So this should be the whole flow of screens for the app. There may be more screens in the future but for now I think this should be it!
The app mainly just consist of -
The home page - which displays ALL your works/books
The ideas page - which is basically my notes app for, well, ideas, word vomit, random shower thoughts about how much you want a fictional character to be xxx
The writing page - which will be the main working space, the rest of the pages like references, characters, places, timeline, chapters and individual scenes can be accessed easily from this page too
The profile page - well, it's your profile! Access your profile settings, change themes, work space settings or what you want to copy in your html here - maybe add friends for collabs and betas in the future? We'll see
───── ⋆⋅☆⋅⋆ ─────
And that's it! ...For now
Oh my god, I'll admit, this post went on longer than I expected haha. That's all that I have to share for now! Next up, I'll get started on the wireframing process (moodboards? hunting down apps? reddit???? ok nevermind, reddit sounds like a bad idea). I know I kept calling it app, but I think I want it to have an app, windows, (macs?) and web version.
Thanks for making it this far and reading it all!
#writing app#app planning#app development#fic writing#writing tools#brainstorming#userexperience#user interface#app ideas#this is me procrastinating#on actually doing my wips
3 notes
·
View notes
Text
🌟 Hello Tumblr Community! 🌟
I'm excited to announce that I'm new to Tumblr, and I can't wait to dive into this vibrant platform! 🚀
Over the coming days, I'll be exploring the amazing world of Tumblr, getting to know all of you, and sharing my thoughts and interests. 🤗
To kick things off, I wanted to share my first discovery – some fantastic blogs that focus on UI/UX trends and the latest updates. As someone deeply passionate about Experience design and development, these blogs hold a special place in my heart:
Pepper Square: This blog is a treasure trove of UI/UX inspiration, offering insightful articles and stunning visuals. It's a must-follow for anyone in the UI/UX design field like me.
Growth Design: Stay updated on the newest design trends and get tips on creating user-friendly interfaces.
Nielsen Norman Group: Dive into the world of interactive design with this blog, which features interactive prototypes and innovative ideas.
Built for mars: For in-depth analysis of UX case studies and usability testing, look no further.
UX Planet: Explore the intersection of design and psychology for a deeper understanding of user behavior.
Feel free to drop by and say hi, and if you have any recommendations or tips for a Tumblr newcomer like me, I'd love to hear them! Let's connect, share, and inspire each other. 🌈✨
Here's to a fantastic journey on Tumblr! 🎉👋
#NewToTumblr #UIUX #DesignTrends
5 notes
·
View notes
Text
DSL NierUI Alpha 0.4A
В свете последних событий, происходящих в моей стране, я приняла решение выложить в общий доступ мои наработки для мода DSL NierUI на случай, если со мной что-то случится. Это не финальная версия мода и были изменены лишь элементы главного меню и часть внутриигрового интерфейса. Если я не смогу закончить этот мод, надеюсь, кто-то больший энтузиаст, чем я, сделает это... Всем мирного неба над головой... 🇮🇱
···················································································································
Что нового:
Новый курсор;
Новые звуковые эффекты для загрузочного экрана, главного меню и щелчков по кнопкам;
Новый загрузочный экран;
Новое главное меню, а также окна выбора персонажа, создания персонажа, удаления персонажа, окно мультиплеера и ошибки при неправильном вводе данных, окно настроек, включая настроек графики и управления, а также окно модификаций.
Дорожная карта:
Редизайн HUD: - полоса здоровья, выносливости и голода, иконки статуса; - чат; - панель действий; - иконки бокового меню; - панель игрока и группы; - компас;
Внутриигровые окна инвентаря, заданий, кодексов и пр.;
Радиосообщения и интро.
···················································································································
Язык: Английский.
Список изменений:
0.2A: Переработаны окна настроек графики и управления;
0.3A: Переработано окно модификаций и внесены другие мелкие доработки в окна настроек графики и управления, а также структуру файлов для уменьшения размера мода;
0.4A: Переработано окно создания персонажа и внесены мелкие правки в код и структуру файлов.
Установка: Перенести папку с модом «DSLNierUI Alpha 0.4A» в папку «mods» в директории игры.
Известные проблемы:
Так как мод создан для работы с разрешением экрана 1920x1080, то при использования мода с другим разрешением, элементы интерфейса могут «расплыться»;
Мод создавался для чистой версии игры, поэтому может не поддерживать работу с большинством модов, как-либо затрагивающих интерфейс;
Так как это ранняя версия мода, то некоторые изменённые элементы интерфейса могут находиться там, где они не должны быть (новая кнопка на ванильном окне, ползунки и т. д.).
Благодарности:
PlatinumGames — за игру Nier: Automata и дизайн игрового интерфейса, взятого за основу для этого мода;
Неизвестному автору темы для Rainmeter в стиле Nier: Automata;
Lownine — за оригинальный арт, использованный для фона в главном меню;
littlevulpine — за помощь с кодом для загрузочного интро;
Light — за идею с шестерёнками на текстуре главного меню.
···················································································································
Прогресс разработки 0.5А:
Исправлено расположение кнопок «Done» и «Cancel» и незначительный недочёт в положении текста в окне создания персонажа, изменена иконка для скрытия одежды персонажа;
Исправлено положение текста и кнопок «Delete» и «Cancel» в окне удаления персонажа;
Исправлено положение кнопки «Join server» в окне мультиплеера;
Исправлено положение кнопки «Okay» в окне ошибки;
Исправлен незначительный недочёт с положением текста в окне настроек управления;
Исправлен некорректный экран загрузки, где проигрывался только один фрейм из сорока (и как я это упустила?);
Все конфиги, отвечающие за работу главного меню, были заменены на патчи для адаптации мода работать с другими модификациями и уменьшения его размера;
Новое окно паузы (и снова здравствуйте, шестерёнки :D);
Иконки статусов эффектов и цвет названий эффектов были переделаны;
Были переделаны шкалы здоровья, энергии и голода, удалена панель персонажа из-за ненадобности;
Новая иконка приглашения в группу;
Окно приглашения в группу было переделано;
Новые рамки редкости предмета;
Перекрашены всплывающие иконки открытого чата и меню.
···················································································································
Разрешения:
Загрузка оригинального файла на другие сайты: -
Изменение/исправление ��айла для личного использования: +
Загрузка изменённой версии файла (фиксов, патчей для работы с другими модами): +
Использование активов для других игр/модов: -
···················································································································
Скачать: X
Сайты, где можно найти мод: X
Бэкап мода с последними наработками (обновление от 23.11.24): X Данный файл не является финальной версией мода и будет обновляться по мере продвижения разработки. Выкладываю копию в общий доступ на крайний случай.
Исходный .pdn-файл фона главного меню (для тех, кто захочет изменить его под себя): X Настройки прозрачности для слоёв: - Линии — 180; - Лого — 160; - Основа — 205. Остальные слои имеют стандартную прозрачность. Правильный порядок слоёв:
Правильный порядок объединения слоёв: - Меню → Шестерёнки; - Шестерёнки → Ободок; - Лого → Основа; - Линии → Основа; - Основа → Фон; - Ободок → Фон. Только в таком порядке наслоение прозрачности будет корректным.
···················································································································





youtube
2 notes
·
View notes
Text
After trying Magit for a bit, I ended up doing my own simple+minimal thing for Git in Emacs, built on a generic function I wrote. The only piece I'm using from Magit is the with-editor package.
I wrote a function which pops open a buffer to run a command. The buffer is named after the full command. I can supply context which is added to the buffer name after the command, or override the name entirely. The buffer is created if it doesn't already exist. By "pops open", I meant the same way that for example the help buffer is popped open, with `pop-to-buffer` - I call it `pop-to-command`.
(I actually have two variants of the function - one runs the command in a raw terminal emulator buffer, and one runs it in an Eshell buffer with terminal emulation. Both use the Eat terminal emulator package. I use the Eshell+Eat variant for this, because it keeps my keybinds+UX more consistent+ergonomic, has TRAMP integration, and lets the with-editor package do its magic.)
(Because I'm using Evil for the greater efficiency+ergonomics of vi-style modal keybindings/UX, I wrap the base function to add a modal nicety: When the command starts, the buffer is put into vi "insert" state (or the "Emacs" state in the case of no-Eshell-just-Eat variant), so that I can interact directly with the command. When the command terminates, the buffer is automatically put into vi "normal" state, so that I automatically return to the keybinds I use for switching/manipulating Emacs buffers, windows, etc.)
I then have a wrapper function to run Git commands with that pop-to-command function, using the current buffer's Git repository as the context.
So let's say I'm editing a file inside a Git repo I have cloned at `~/code/my-cool-project`, I save some changes, and I'm ready to stage them. I hit a keybind, and Emacs pops a buffer named `*eshell: git add -p (~/code/my-cool-project)*`. Since it's running `git add -p`, I am just using the normal Git CLI to review and stage hunks. Same knowledge and muscle memory that works outside of Emacs. Same diff view as outside of Emacs, which would be worse than Magit but lets me reuse better-than-Magit diff improvements like git-delta and difftastic. In the very rare event that I need the granularity of the "e" action in `git add -p`, that opens in my current Emacs instance thanks to with-editor. (Naturally I also have keybinds for the "-p" versions of git checkout, git reset, and git stash.)
When I'm ready to commit, I hit another keybind, and Emacs pops a buffer named `*eshell: git commit (~/code/my-cool-project)*`. Thanks to with-editor, that immediately opens the commit message for editing in Emacs itself, in the same window. When I'm done editing, my normal "save and close" keybind makes the commit - I can also quit without saving to abort the commit. (I monkey-patched with-editor using Emacs' "advice" so that if I save and then quit as two separate Emacs commands, the change is still left saved in Git's COMMIT_EDITMSG file even though the commit isn't made, as would normally happen with any other editor.) Naturally, I have a separate keybind for `git commit --amend`.
Magit automatically always shows the staged diff in a separate buffer while writing/amending a commit. I don't normally need that, but it's really nice to have when I do. I get this on-demand because I have two more keybinds: one for `*eshell: git diff (<current-repo>)*` and one for `*eshell: git diff --staged (<current-repo>)*`. Or sometimes I just leave the `*eshell: git add -p (...)*` buffer open until I'm done commiting.
Of course I also have keybinds for other git commands that I regularly want: git log [-p], git reflog, git pull, git push [--tags] [--force], and so on. Anything I use often enough to get annoyed by the handful of keystrokes it takes me to open Eshell and execute that command from a fuzzy-find on my shell history. (The only Git operation I don't handle this way is blame - I use the built-in vc-annotate for that, configured to wrap lines instead of truncating. The indirection of Eshell-running-Git-running-a-pager doesn't bother me with diffs and logs, but it bothers me in blame due to the different patterns in reading/navigation/search/copying. Also the color-coding by age is nice, and the step-back-through-blame-history feature is one I find valuable when I have to do code archeology to figure out the cause or intent of code which doesn't make sense.)
I have a nice keybind for `quit-window` in these run-one-command buffers which doesn't make sense in normal Eat and Eshell buffers. (Because I'm using Evil, this nice keybind is the mere "q" in vi "normal" state, which overlaps wonderfully with the "q" that you get in the default `less` pager when doing `git log` and so on. So for example I just hit "q" once to quit the log command and once more to quit the window - so I keep the benefits of totally decoupled composition where these pieces don't have to understand/track/assume anything about each other, while still getting something so ergonomic and intuitive that I never notice any delays, mistakes, or cognitive load.)
For me this approach covers basically all the value that I would get from Magit, without any of the rare-but-annoying latencies that I sometimes hit with Magit (or common-and-annoying latencies that I always hit with Magit when using Emacs in Termux on my Android phones). I sorta, theoretically, very very very rarely, miss the ability to just put my cursor on a diff hunk and stage/unstage it with a key stroke, or drill down into the diff for just one commit when already looking at a log. But I basically don't miss it - because it would only save me a few seconds and a handful of keystrokes. I don't miss Magit automatically reusing the diff buffer for staged and unstaged diffs, making it impossible to see both side-by-side. I really don't miss Magit asking me to save the file every time I asked for a Git diff. So I gain some value this way too.
I have some desire to eventully put the pop-to-command functions into their own package on the Non-GNU ELPA, and maybe do the same with my minimal Git wrappers if there's demand.
5 notes
·
View notes