Activity

Cheetah

Ngl i dont remember exactly what i did but it was mostly polishing up and fixing bugs, theres now an install script so you can add the .desktop file automatically

Attachment
0
Cheetah

You can now join the world! Because this is a queue server its supposed to be empty and to make the client join the world without sending chunk data i forced their player 50k blocks into the ground! Anyways uh theyre position is locked, but their rotation is not so they can look around. Multiple players can be on the same server at a time!
What i wanna do now: get player count working, get tablist working, get chat working

Attachment
0
Cheetah

Server status is now implemented!
How it works:

  • Client sends a handshake packet
  • Server receives handshake packet and updates the clients state (for getting info for the server list that is 1, as requested by the user in the handshake)
  • Client asks for server information through a status packet
  • Server responds with information such as version, player count, MOTD etc (Here i decided to send a player count of None as its not implemented yet, the “???” are intentional)
  • Client sends a final ping packet to get response time
  • Server responds with a ping packet and closes the connection
Attachment
Attachment
0
Cheetah

Mostly got the project and TCP connection running as well as packet parsing. Server can read the handshake and parse its data as seen in the image below. All packets are handled by dynamically registered handler functions making it completely modular and expandable. Ill go implement the status packet + response now, baii

Attachment
0
Cheetah

Added some more themes, the full list of themes are now:

  1. Modern
  2. Modern (Light)
  3. Movie Hacker Be Like
  4. Plain and boring
  5. Grass from the backyard
    Here are the themes in action:
Attachment
Attachment
Attachment
Attachment
Attachment
0
Cheetah

The app now loads a config on startup (merges with defaults to prevent errors if its not complete), currently has 2 values: default-sort and default-theme which defines what sorting type and theme to use at startup
The app now also loads themes from a config which adds the 2 default themes if the file is empty or doesnt exist: Modern and Modern (Light), yes its the same themes as before, but now in a config!
I plan on adding config options for all new features added moving forward.

Attachment
Attachment
0
Cheetah

Completely reworked the theme system to be able to dynamically reload the UI elements stylings with a function to allow changing theme directly in the app
Added a button to cycle between themes in the topbar of the main window

Attachment
Attachment
Attachment
Attachment
2

Comments

yibo
yibo about 1 month ago

WOW!

Cheetah
Cheetah about 1 month ago

thanks !

Cheetah

Heavily optimized the processlist by applying these changes:

  1. not deleting all processes from the list and readding a new class instance of them every update (its not necessary to delete and readd 300 identical classes every update)
  2. only deleting process gui elements that are for processes that dont exist anymore
  3. for processes that still exist, i just overwrite the old PIDs with the new ones to make sure the process isnt out of date
  4. only adding new process gui element instances for new processes that werent in the gui last update
    These changes made the update so fast and smooth that you dont notice it anymore! (before it froze for a couple ms) That allowed me to now automatically update every second so you dont have to press update everytime you close a window to see the changes!
    Of course i removed the update button because of the now automated updates :D
    Also fixed a bug thats been here for the past few devlogs (since searching was implemented) where it adds multiple spacer items above the processlist when .removing items from the list not matching the search.
    Sorry for the wall of text D:
Attachment
Attachment
0
Cheetah

Each process in the list now has a “More stats” button that opens a window with, you guessed it! more stats
Stats include usage, read / write, number of instances, the status of those instances, the timestamp the first instance was created, the individual instances parent processes, the user each instance is running under

Attachment
0
Cheetah

Minor tweaks:

  • Rounded corners on usage meter bars
  • Changed usage meters to a color thats easier on the eyes (more desaturated)
  • Added some margin between processes in the process list
  • Sorting starts at None
  • Some more cleaning up in the code
  • Pressing the nuke button opens an “are you sure?” dialog before completely obliterating the process
Attachment
0
Cheetah

Added custom themes, letting you change the colors of the application by editing a variable file (maybe make it a config later?)
Added dark theme (i dont like it ngl, but now it exists if people wants it)

Attachment
Attachment
1

Comments

Cheetah
Cheetah about 1 month ago

thb these colors are ugly af

Cheetah

Organized code (no changes to the program, just to make the code across the project more consistent).
Idk what images to add so here, have some code

Attachment
Attachment
Attachment
0
Cheetah
  • When searching processes are now pushed upwards to not make them appear randomly in the middle of the list
  • All byte conversions are now dynamically done with a helper function to support a range of byte sizes
Attachment
Attachment
0
Cheetah
  • Made the topbar look nicer
  • Added an info button that opens another window showing information about the software
  • Renamed “Task” to “Process” internally in the codebase and in the GUI
Attachment
0
Cheetah
  • Added a searchbar to the tasklist
  • Added an update button (refreshing is a bit laggy because of the amount of tasks so i dont wanna automatically do it every few seconds, so i added a button for it)
  • Nuking a process now updates the task list
Attachment
0
Cheetah

Cant seem to solve this wierd bug where the tasks from the tasklist disappears!

1

Comments

Cheetah
Cheetah about 1 month ago

oh yeah for all you nerds out there, i discovered that they disappeared when the window got unfocused, so i kinda just updated the list every time i focus and unfocus the window so it readds them everytime the bug is triggered

Cheetah

A Lot of tweaks of styles and the codebase including moving the usage meter section into a better looking “box” and moved them into their own file for organization

Attachment
Attachment
Attachment
0