Dev log - MikeTeok/LinuxMint-XFCE-RosePine GitHub Wiki
13 April 2025
Added music player controller to eww music bar.
Click the title to open, drag the bar to seek playtime.
12 April 2025
Adding new code to eww powerbar to provide window expand and shrink effect when revealer reveals and hide.
Adding separated powerbar_bg and animated the window expand shrinking with bash script.
Still having some artifact when spamming hover event but this is the best I got so far
5 April 2025
Today playing with theming discord through BetterDiscord.
overall transparency is achieved but have not tune small UI color yet.
Just realize the line below in gtk.css causes selection box on desktop empty space non-transparent.
removed that line, will sacrifice window manager theme list not transparent.
.view {background-color: transparent;}
2 April 2025
OMFG, blueman always cant achieve transparency, so I got help from chatGPT.
For a few round of talking rubbish, I managed to get chatGPT to root cause why blueman can't achieve transparency.
The reason is blueman doesnt support transparency in the source code.
Luckily blueman is just a python script and I can fix the source code very easily.
Path: /usr/lib/python3/dist-packages/blueman/main/Manager.py
Add the "Make the window transparent" code under do_activate().
# In Manager.py
def do_activate(self) -> None:
if not self.window:
self.window = self.builder.get_widget("manager_window", Gtk.ApplicationWindow)
self.window.set_application(self)
# Make the window transparent
screen = self.window.get_screen()
visual = screen.get_rgba_visual()
if visual and screen.is_composited():
self.window.set_visual(visual)
# Existing code...
And I added some new firefoxcss for reddit and facebook.
31 March 2025 - 1 April 2025
Making firefoxcss for reddit site and redesign newtab.
The custom image for pinned site is not working well, and after struggling for few hours, I found out I can just use CSS to specify the href link and customize the image there.
Realize the css rule below unexpectedly hide youtube caption.
* {
isolation: isolate;
}
Forgot why did I do that, so I just remove it.
Improve wifi menu. Connect known wifi without password, hide password text input for connected wifi, known wifi.
I realized when you customize firefox toolbar, you can remove titlebar and then the control button will combined with urlbar and navbar.
However, it is out of window manager control, previous css rule doesnt really applicable anymore and I can't resize the window by dragging the edge. And it looks uglier too.
Doesnt worth it, so I just switched back.
29 March 2025
Another day adding firefoxcss for chatgpt site.
Realized google.com firefoxcss cannot apply for mail.google.com or drive.google.com.
OMG very long way to go...
28 March 2025
Done more FirefoxCss for Google, and youtube.
Fix wifi icon script.
It's a very tedious job to find html element one by one and adjust the color. Progress is slow.
26 March 2025
Finally manage to get background of content transparent!
So I work on transparent on Youtube page, will check for more detail about what else need to edit in Youtube.
If there's nothing will proceed to theme google page.
25 March 2025
Started playing with FirefoxCSS. Change the transparency of the navbar and side panel.
Dont know how to combine windows top bar with nav bar. I think its impossible unless remove the window bar and create one myself.
Not the top priority, will consider to do that in future.
FirefoxCSS tutorial:
-> userChrome.css - To modify the browser
-> userContent.css - To modify content of browser, this is the focus right now, not sure how to do that, tried with body but doesn't seem working. Will figure out tomorrow.
23 March 2025
Solved the issues yesterday mentioned:
- Input can't be focused because it was located inside button widget, therefore the interaction being block by button
- all buttons expanded when one button is clicked because :space-evenly is true.
Further added function into wifi menu like
- connect wifi
- disconnect wifi
- refresh animation
- CSS enhance
I done eww bar separation, but the sidestuff kinda junky.
I had the problem when thing unhide and the bar expanded, it won't shrink back if it hid back. This is because the GTK limitation and I had to workaround it by hiding the other icon when I reveal one of them.
Music bar also separated out and monitor with a bash script that start at login, just like volume popup.
22 March 2025
I develop more for WiFi menu. Now it can list down WiFi and refresh button to rescan. Now I have a problem with revealer reveal connect button when I select WiFi. When I select a WiFi, other WiFi not being selected also expand their button even tho it’s not revealing their connect button, why?
Also input widget can’t really received input, or being focused, why?
21 March 2025
I made the volume popup vertical, please look at the Readme for picture.
I have keybind to my volume knob to control the volume with amixer command. But I realized when I spam the key, left and right volume will be out of sync. To solve this, I just switch amixer to pactl command.
Also improve volume popup bash script.
I installed fcitx5 and it works really well, I dont even need to install chinese font.
I continue to work enable wifi menu, I just dont the wifi button. Observed an interesting behavior, the button can shrink when text is shorter. but the background cant do that, people were saying its gtk limitation...
20 March 2025
Try to make wifi menu but got distracted and make volume popup.
Not getting alot of progress because the popup is not perfect.
Normally one would expect the popup shown if volume changes.
To implement this, I need to run extra bash script on background beside eww.
I could not see anyway to implement a part of eww.
I am thinking to make it vertical tmr.
19 March 2025
Trying to solve Plank issue (refer to yesterday log). With Chatgpt help, I able to find out its related to BAMF launching failure.
Plank rely on BAMF to launch properly. When I logout and login, BAMF detects it getting started too frequent too fast and causing it failed to run. By adding delay to bamfdaemon.service, this solves the issue.
ExecStartPre=/bin/sleep 2
I tried to do eww bar separation, but reveal component make it difficult.
When item gets reveal, the bar will get expended, but when its hidden again, the bar wont shrink.
This looks like a known issue and unresolve-able, I have no choice but keep them a single bar =').
Started to make wifi menu, not sure why when I tried to resize the image, the image disappeared.
I had to resize image by resizing the actual image, this will limit the image size across different resolution of screen.
Currently I only have one screen, so forget about that first.
18 March 2025
Installed Plank. Realized some problems:
- sometimes it wont show unpinned items, need to logout and login
- the auto startup sometimes open Plank late
Tried to recreate Plank with xfce-Panel but failed, xfce panel cant really differentiate between launcher and windows, pinned program = launch and opened = windows, you cant mix it like Plank.
Today I am searching for whisker-menu replacement because I dont use xfce4-panel, therefore I cant use whisker-menu. I tried jgmenu, also research on rofi, found out rofi cant be customized into something close to whisker-menu, and jgmenu way too complicated to customize. I tried to use jgmenu but the icon it uses doesnt match the icon theme I use, where whisker-menu matches.
So in the end I decided to use whisker-menu. How?
- make xfce4-panel totally transparent. also right click whisker preference and make background transparent
- download xdotool for mouse positioning
- use the command below to launch whiskermenu whenever I press Super key
xdotool getmouselocation | awk -F '[: ]+' '{print $2, $4}' | xargs -I {} sh -c 'xdotool mousemove 740 520 ; xfce4-popup-whiskermenu -p ; xdotool mousemove {}'
The command above does:
- save current cursor position
- move cursor to desired position
- open whisker-menu at cursor position
- restore cursor position
IKR, stupid whisker-menu doesnt have the capability to open it with coordinates.
17 March 2025
Today spent so much time on Music control on eww bar. Because I try to achieve:
- When music playing, show info
- When music paused, hide info but keep control up
- when music stopped, hide both info and control
I need to edit zscroll script for achieving this. So another thing to save in this repo (zscroll).
16 March 2025
I tried to install ibus or fcitx, fcitx fucked up my nerd font and display my glyph with chinese character, ibus just failed to work. I will spend more time in future. I also accidentally change to XIM and causes render glitch in gedit, spent an hour with chatgpt to fully root cause it. Timeshift doesnt help.
I went to develop eww bar, I implemented power button with logout and reboot reveal options.
I implemented time with calendar. I implemented wifi with nmtui, but not complete yet. nmtui uses bright background and no way to change that unless change colorscheme, I want to use my Rosepine color scheme.
I work on music component on eww bar, installed zscroll for scroll text. Considering implement music control on it too.
15 March 2025
Today I started to touch eww widget, understanding yuck syntax and make workspace and volume works again. I also makes the volume bar reveal and hide when hover. https://github.com/elkowar/eww
Music requires to install playerctl
Then I redesign Linux mint logo in neofetch.
I first found out there is redeisgned linuxmint logo, then I downloaded, converted to PNG, and use image to ascii art generator to generate it.
Also tried to install input method for Chinese but it screw up my nerd font, I quickly use timeshift to restore. Cause I dont know how to uninstall it.
Tweaking more Gedit GTK CSS for selected highlight, and tweaking gedit dracula colorscheme into rosepine moon colorscheme. Not perfect as I dont know how to match the color to look good, but it is fine.
OMG! I just hit into xfdesktop segmentation fault. Googling didnt help, chatgpt helped me realized its actually saved session fked up my xfdesktop. delete it from session and startup fixed it.
Also small tips: idling will have display manager open constantly, just choose None for "when new display is connected".
14 March 2025
Today I found out the brave browser crash instantly, even reinstalled it.
Then I also found out the latest Firefox already has vertical tab, I could not found the setting before this because its hidden deeply.
Setting -> Show sidebar -> customize side bar -> Vertical tab
Then I did:
- Gedit
- Firefox rosepine theme, extension
- lightdm customization
- tiling shortcut
I also tested xfce screenshooter which is a nice tool.
However picom will blur whole screen when I tried to capture screen. It's because the tool will generate a whole screen overlay, I have to disable blur for xfce4-screenshooter.
13 March 2025
Today I did:
- neofetch theme
- fish
- oh-my-posh
Nerd font is required for neofetch and oh-my-posh, because nerd font has symbols. https://www.nerdfonts.com/
I failed to open xfce terminal with GTK inspector. Tried to use xterm to open but something is wrong, it prompts GTK WARNING and did not show elements in the inspector.
So I hide the menubar instead. To access the menubar, press F10.
12 March 2025
This is third or fourth day of my ricing journey and I have decided to record it down.
Below are the things and findings I have done so far.
- Install LinuxMint XFCE
- Change wallpaper from MoonCoffee1's rice
- Install rose pine GTK theme from Fausto-Korpsvart's Rose-Pine-GTK-Theme
- Install icon pack from above
- Install ibhagwan's picom
- GTK CSS customization
Learning
- Download GTK theme from pling site because can choose style
- yshui's picom somehow doesnt have blur working, but ibhagwan's picom works fine.
- GTK CSS is saved in .config/gtk-3.0/gtk.css and can work for everything