Display the current Hijri (Islamic) date in the top panel. Also known as the Islamic calendar, Arabic date, or Muslim lunar calendar, this extension shows the traditional Islamic dating system with customization options. Features - Displays the current Hijri date in the GNOME top panel. - User-adjustable date offset to match local moon sighting (±3 days). - Color customization: Pick your preferred date color using a color picker. - Location-based sunset calculation: Provide latitude/longitude for accurate Islamic day transitions. - Panel positioning: Choose left or right side placement in the top panel. - Automatic daily update based on system time and sunset calculations. - Easy configuration through a graphical preferences dialog. Tested On GNOME Shell Version : Version 5 ---- : :(Remember this is very basic version, doesn't have any of the features above, just shows the date, if you need to adjust according to moonsighting, you can change in the code in extension.js), I will try to update the instructions in the github. - 3.36.8 ( Ubuntu 20.04 LTS ) - 3.38.1 (Fedora Linux 33 (Workstation Edition)) Version 17 ---- : : - 40.4.0 ( Ubuntu Impish Indri (development branch) ) - 41.0 (Fedora Linux 35 (Workstation Edition)) - 42.9 (Pop!_OS 22.04 LTS) - 43.0 (Fedora Linux 37 (Workstation Edition)) - 44.0 (Fedora Linux 38 (Workstation Edition))
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
Version | Status |
---|---|
17 | Active |
16 | Inactive |
15 | Rejected |
14 | Inactive |
13 | Rejected |
12 | Rejected |
11 | Inactive |
10 | Rejected |
9 | Inactive |
8 | Inactive |
7 | Inactive |
6 | Inactive |
5 | Active |
4 | Rejected |
3 | Rejected |
2 | Rejected |
1 | Rejected |
1. You cannot create objects in init (line 22 extension.js): https://gjs.guide/extensions/review-guidelines/review-guidelines.html#only-use-init-for-initialization 2. Also destroy and null out `dateLabel` in disable: https://gjs.guide/extensions/review-guidelines/review-guidelines.html#destroy-all-objects 3. You can use `y_align: Clutter.ActorAlign.CENTER` for label. No need for css to do that. 4. Use `stylesheet.css` instead of `style` (line 23 extension.js). 5. Use `42` instead of `42.5`. If you need any help with your extension you can ask us on: - [GNOME Matrix Channel](https://matrix.to/#/#extensions:gnome.org) - IRC Bridge: irc://irc.gimpnet.org/shell-extensions
When ever I try to add a css file it is not working anymore. So I rectified the 1, 2, 5 issues.
Maybe you're using the wrong property name. You should use: `style_class` Wrap it inside a container: ```js let container = new St.Bin({ style_class: 'gold', }); let label = new St.Label({ text: 'My Text', y_align: Clutter.ActorAlign.CENTER, }); container.set_child(label); Main.panel._leftBox.insert_child_at_index(container, 1); ``` Inside **stylesheet.css** file: ```css .gold { background-color: gold; } ```
const St = imports.gi.St; const Main = imports.ui.main; let dateLabel; function setDate() { const change = 0; // Change this value to 0, -1, or 1 to adjust the date const currentDate = new Date(); currentDate.setDate(currentDate.getDate() + change); const formatter = new Intl.DateTimeFormat("ar-IN-u-ca-islamic", { day: "numeric", month: "long", year: "numeric", }); const modifiedHijriDate = formatter.format(currentDate); dateLabel.set_text(`${modifiedHijriDate}`); } function init() { // Initialize the extension } function enable() { dateLabel = new St.Label({ y_align: Clutter.ActorAlign.CENTER, style_class: "hijri-date-label", }); setDate(); Main.panel._leftBox.insert_child_at_index(dateLabel, 1); Main.panel._leftBox.set_child_at_index(dateLabel, 1); } function disable() { Main.panel._leftBox.remove_child(dateLabel); dateLabel.destroy(); dateLabel = null; } is this okay now
yeah, that's ok.